summaryrefslogtreecommitdiffstats
path: root/ChangeLog-2009-2015
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-11-18 06:15:40 -0800
committerKaz Kylheku <kaz@kylheku.com>2016-11-18 06:15:40 -0800
commit0bfa413c5c5c61d48e94a46e48e52fed46c5860a (patch)
tree04b37db4de76140529109fb2053b4f5cc62a17bd /ChangeLog-2009-2015
parentdc84927c791873508f473f1d5679550882f86e91 (diff)
downloadtxr-0bfa413c5c5c61d48e94a46e48e52fed46c5860a.tar.gz
txr-0bfa413c5c5c61d48e94a46e48e52fed46c5860a.tar.bz2
txr-0bfa413c5c5c61d48e94a46e48e52fed46c5860a.zip
Adding a tagbody macro to the language.
This is a "disciplined goto" feature of Common Lisp. This uses a new sys:switch operator, which could also be used for optimizing case and cond forms. * eval.c (switch_s): New symbol variable. (op_switch, expand_list_of_form_lists, expand_switch): New static functions. (do_expand): Hook in the expansion of the sys:switch operator. (eval_init): Initialize switch_s special variable to sys:switch symbol. Register sys:switch special op. * lisplib.c (tagbody_set_entries, tagbody_instantiate): New static functions. (lisplib_init): Register autoloading of tagbody module via new functions. * share/txr/stdlib/tagbody.tl: New file. * txr.1: Documented.
Diffstat (limited to 'ChangeLog-2009-2015')
0 files changed, 0 insertions, 0 deletions