diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-02-25 21:08:51 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-02-25 21:08:51 -0800 |
commit | 86a34c5ef94fe8c6b6cb9f51cf404c8e7fa7df3f (patch) | |
tree | d479fd38fc27adcd85627836e45bd08b93b4d1b8 | |
parent | f01687cde49a376029669d2ad1551340c2a5fb95 (diff) | |
download | txr-86a34c5ef94fe8c6b6cb9f51cf404c8e7fa7df3f.tar.gz txr-86a34c5ef94fe8c6b6cb9f51cf404c8e7fa7df3f.tar.bz2 txr-86a34c5ef94fe8c6b6cb9f51cf404c8e7fa7df3f.zip |
bugfix: :key param expander -- symbol.
The -- symbol is not interned in the usr package. This
means that the keyparams.tl code is interning the symbol --
in the sys package, and look for that as a delimiter.
Application code is interning its own -- symbol,
such as pub:-- and passing that.
* lisplib.c (keyparams_set_entries): Intern the -- symbol.
-rw-r--r-- | lisplib.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -590,12 +590,17 @@ static val keyparams_set_entries(val dlt, val fun) lit("extract-keys"), nil }; + val name_noload[] = { + lit("--"), + nil + }; val key_k = intern(lit("key"), keyword_package); set_dlt_entries_sys(dlt, sys_name, fun); if (fun) sethash(dlt, key_k, fun); else remhash(dlt, key_k); + intern_only(name_noload); return nil; } |