summaryrefslogtreecommitdiffstats
path: root/lisplib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-02-25 21:08:51 -0800
committerKaz Kylheku <kaz@kylheku.com>2019-02-25 21:08:51 -0800
commitd10f45d341838491de5771d0e903820eba6fdbdd (patch)
treed479fd38fc27adcd85627836e45bd08b93b4d1b8 /lisplib.c
parentd20c46f806889739a9ecdc7df56897db77d61544 (diff)
downloadtxr-d10f45d341838491de5771d0e903820eba6fdbdd.tar.gz
txr-d10f45d341838491de5771d0e903820eba6fdbdd.tar.bz2
txr-d10f45d341838491de5771d0e903820eba6fdbdd.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.
Diffstat (limited to 'lisplib.c')
-rw-r--r--lisplib.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lisplib.c b/lisplib.c
index 5772845d..0ef52934 100644
--- a/lisplib.c
+++ b/lisplib.c
@@ -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;
}