diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-11-27 07:54:37 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-11-27 07:54:37 -0800 |
commit | 6cfa2b9042108366d248a5537dfb03802cafdad1 (patch) | |
tree | c1ffc47b885ab30ec81dfe946ac9ef614064571f /eval.c | |
parent | ecc3981b8bdee6db1571edea88e55211d8dc0390 (diff) | |
download | txr-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