diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-04-06 06:44:28 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-04-06 06:44:28 -0700 |
commit | 668b7ab58822dd14ac54061373a09a1311748acf (patch) | |
tree | 9d73d49dc8cee5adfba4551f9229ea7f1e5a9635 /lisplib.c | |
parent | 0955e45650c166de341ed789885dff318e6c3d63 (diff) | |
download | txr-668b7ab58822dd14ac54061373a09a1311748acf.tar.gz txr-668b7ab58822dd14ac54061373a09a1311748acf.tar.bz2 txr-668b7ab58822dd14ac54061373a09a1311748acf.zip |
autoload: add more missing symbols.
If user code interns these symbols before the autoload takes
place, things will misbehave. For instance if user code
interns a symbol called "rng" in its own package, not usr,
and then awk is loaded, then using (rng ...) in that awk macro
won't work.
* lisplib.c (ifa_set_entries): Add the it symbol.
(awk_set_entries): Add numerous symbols to the intern list:
all of the awk special variables and awk functions/macros.
Diffstat (limited to 'lisplib.c')
-rw-r--r-- | lisplib.c | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -125,7 +125,7 @@ static val ver_instantiate(val set_fun) static val ifa_set_entries(val dlt, val fun) { val name[] = { - lit("ifa"), lit("whena"), lit("conda"), lit("condlet"), nil + lit("ifa"), lit("whena"), lit("conda"), lit("condlet"), lit("it"), nil }; set_dlt_entries(dlt, name, fun); return nil; @@ -384,7 +384,18 @@ static val awk_set_entries(val dlt, val fun) val name[] = { lit("awk"), nil }; + val name_noload[] = { + lit("rec"), lit("orec"), lit("f"), lit("nf"), lit("nr"), lit("fnr"), + lit("arg"), lit("fname"), lit("rs"), lit("krs"), lit("fs"), lit("ft"), + lit("fw"), lit("kfs"), lit("ofs"), lit("ors"), lit("next"), lit("again"), + lit("next-file"), lit("rng"), lit("-rng"), lit("rng-"), lit("-rng-"), + lit("--rng"), lit("--rng-"), lit("rng+"), lit("-rng+"), lit("--rng+"), + lit("ff"), lit("f"), lit("mf"), lit("fconv"), lit("->"), lit("->>"), + lit("<-"), lit("!>"), lit("<!"), lit("prn"), nil + }; + set_dlt_entries(dlt, name, fun); + intern_only(name_noload); return nil; } |