diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-04-10 06:47:46 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-04-10 06:47:46 -0700 |
commit | c8b4a77879213c8e3978feed1b92f3f4cdadb4d0 (patch) | |
tree | a2e98d7a0ca3b05146bee5dce01a96d49db37716 /match.c | |
parent | c739fd374884676993c88f7a8e223988d622e5d6 (diff) | |
download | txr-c8b4a77879213c8e3978feed1b92f3f4cdadb4d0.tar.gz txr-c8b4a77879213c8e3978feed1b92f3f4cdadb4d0.tar.bz2 txr-c8b4a77879213c8e3978feed1b92f3f4cdadb4d0.zip |
parser: @(if) hack in output must use usr package.
* match.c (else_s, elif_s): New symbol variables.
(syms_init): Initialize new variable with interned symbols.
* match.h (else_s, elif_s): Declared.
* parser.y (not_a_clause): Refer to if_s, else_s and elif_s,
which are symbols in the usr package, instead of intering
symbols in whatever package is current.
Diffstat (limited to 'match.c')
-rw-r--r-- | match.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -61,6 +61,7 @@ val lines_k, chars_k; val text_s, choose_s, gather_s, do_s, mdo_s, mod_s, modlast_s; val line_s, data_s, fuzz_s, load_s; val include_s, close_s, require_s, in_package_s; +val else_s, elif_s; val longest_k, shortest_k, greedy_k; val vars_k, lists_k, resolve_k; val append_k, into_k, var_k, list_k, tlist_k, string_k, env_k, counter_k; @@ -4775,6 +4776,8 @@ static void syms_init(void) close_s = intern(lit("close"), user_package); require_s = intern(lit("require"), user_package); in_package_s = intern(lit("in-package"), user_package); + else_s = intern(lit("else"), user_package); + elif_s = intern(lit("elif"), user_package); longest_k = intern(lit("longest"), keyword_package); shortest_k = intern(lit("shortest"), keyword_package); greedy_k = intern(lit("greedy"), keyword_package); |