From 09eb73cde9c64e6fa29cbb410b25c6dd84a8a6f2 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 27 Jan 2014 00:13:22 -0800 Subject: * lib.c (obj_print, obj_pprint): Bugfix: there may be additional expressions forms in (sys:var ) after the sym. These were not being printed. Such syntax occurs often in the TXR pattern language. --- lib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib.c') diff --git a/lib.c b/lib.c index 63d38183..ecabd77f 100644 --- a/lib.c +++ b/lib.c @@ -5049,7 +5049,7 @@ 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))) { + } else if (sym == var_s && symbolp(second(obj)) && !cdr(cdr(obj))) { put_char(chr('@'), out); obj_print(second(obj), out); } else if (sym == expr_s) { @@ -5214,7 +5214,7 @@ 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))) { + } else if (sym == var_s && symbolp(second(obj)) && !cdr(cdr(obj))) { put_char(chr('@'), out); obj_print(second(obj), out); } else if (sym == expr_s) { -- cgit v1.2.3