diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-12-31 13:12:45 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-12-31 13:12:45 -0800 |
commit | 398b5e506ae146d3bc63882343b40a46185fdade (patch) | |
tree | 57f0be24c9c7ad3e114bd59bb3df188c45a4abdd /eval.c | |
parent | d62c9544d7aa667939c853ac668116270bc7a2a7 (diff) | |
download | txr-398b5e506ae146d3bc63882343b40a46185fdade.tar.gz txr-398b5e506ae146d3bc63882343b40a46185fdade.tar.bz2 txr-398b5e506ae146d3bc63882343b40a46185fdade.zip |
Bugfix: quasilit var read-print consistency.
The problem is that objects like `@{foo:bar} @{*xyz*}` are
printing as `@foo:bar @*xyz*` without the required braces.
This changes the meaning, as in @foo:bar which is @foo
followed by the text :bar, or creates a syntax error,
as in @*xyz*.
* lib.c (out_quasi_str): When printing a var, first convert
it to a string form by printing to a string stream. Then
if the string form consists of anything other than letters,
digits and underscores, mark it as needing braces,
in addition to the existing conditions.
Diffstat (limited to 'eval.c')
0 files changed, 0 insertions, 0 deletions