summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-11-27 07:54:37 -0800
committerKaz Kylheku <kaz@kylheku.com>2016-11-27 07:54:37 -0800
commit6cfa2b9042108366d248a5537dfb03802cafdad1 (patch)
treec1ffc47b885ab30ec81dfe946ac9ef614064571f /eval.c
parentecc3981b8bdee6db1571edea88e55211d8dc0390 (diff)
downloadtxr-6cfa2b9042108366d248a5537dfb03802cafdad1.tar.gz
txr-6cfa2b9042108366d248a5537dfb03802cafdad1.tar.bz2
txr-6cfa2b9042108366d248a5537dfb03802cafdad1.zip
Don't throw when printing (sys:quasi . atom).
We do not have perfect read/print consistency for quasiliterals. Programs can construct quasiliterals which cause the printer to throw exceptions, or which don't print such that the same object is read back. However, at least we can handle some trivial cases. In particular, the object (sys:quasi . #<function>) occurs in the system, as the top-level binding of the quasi operator. With this change, we can print that instead of throwing. * lib.c (obj_print_impl): Check that a quasiliteral or quasi-list-literal is a list with at least one argument. Don't print (sys:quasi) or (sys:quasi . non-nil-atom) in the notation.
Diffstat (limited to 'eval.c')
0 files changed, 0 insertions, 0 deletions