summaryrefslogtreecommitdiffstats
path: root/match.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-04-10 06:47:46 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-04-10 06:47:46 -0700
commitc8b4a77879213c8e3978feed1b92f3f4cdadb4d0 (patch)
treea2e98d7a0ca3b05146bee5dce01a96d49db37716 /match.c
parentc739fd374884676993c88f7a8e223988d622e5d6 (diff)
downloadtxr-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.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/match.c b/match.c
index 15bb7e79..3a1024e9 100644
--- a/match.c
+++ b/match.c
@@ -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);