diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-01-15 22:50:25 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-01-15 22:50:25 -0800 |
commit | aba056045000ed165027829eef93d469cc04b35d (patch) | |
tree | 2e7d03258d5d62288a4f2f62e1d11559ae81f1d0 /lib.c | |
parent | 9ba41588b1282bde4e113406923ec081124cded6 (diff) | |
download | txr-aba056045000ed165027829eef93d469cc04b35d.tar.gz txr-aba056045000ed165027829eef93d469cc04b35d.tar.bz2 txr-aba056045000ed165027829eef93d469cc04b35d.zip |
* lib.c (obj_print, obj_pprint): Convert the internal representation
of @sym and @(expr ...) syntax back to these notations instead
of leaving them as (sys:var sym) and (sys:expr expr ...).
Diffstat (limited to 'lib.c')
-rw-r--r-- | lib.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -4823,6 +4823,12 @@ val obj_print(val obj, val out) } else if (sym == splice_s) { put_string(lit(",*"), out); obj_print(second(obj), out); + } else if (sym == var_s && symbolp(second(obj))) { + put_char(chr('@'), out); + obj_print(second(obj), out); + } else if (sym == expr_s) { + put_char(chr('@'), out); + obj_print(rest(obj), out); } else { val iter; val closepar = chr(')'); @@ -4982,6 +4988,12 @@ val obj_pprint(val obj, val out) } else if (sym == splice_s) { put_string(lit(",*"), out); obj_pprint(second(obj), out); + } else if (sym == var_s && symbolp(second(obj))) { + put_char(chr('@'), out); + obj_print(second(obj), out); + } else if (sym == expr_s) { + put_char(chr('@'), out); + obj_print(rest(obj), out); } else { val iter; val closepar = chr(')'); |