summaryrefslogtreecommitdiffstats
path: root/struct.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-08-24 05:59:09 -0700
committerKaz Kylheku <kaz@kylheku.com>2016-08-24 05:59:09 -0700
commitefddb18b323b6a239108d73da03f1fb229faa581 (patch)
treeac15813ec12a909219183d4e68726e56f0069ba6 /struct.c
parente5789459224e621a3af559802598afb9d0b904f1 (diff)
downloadtxr-efddb18b323b6a239108d73da03f1fb229faa581.tar.gz
txr-efddb18b323b6a239108d73da03f1fb229faa581.tar.bz2
txr-efddb18b323b6a239108d73da03f1fb229faa581.zip
Fix bug: global lexicals marked special anyway.
Variables defined with defvarl or defparml are being marked special, due to a mark_special call in the macro expander which existed before they were introduced. * eval.c (me_def_variable): We have to call mark_special at macro-expansion-time for defparm and defvar, rather than arrange for it to be called later, for the same reasons that the (now incorrect) mark_special call had been introduced in do_expand function for handling defvar. (do_expand): Do not call mark_special, because the symbol being handled here is defvarl: define lexical variable.
Diffstat (limited to 'struct.c')
0 files changed, 0 insertions, 0 deletions