summaryrefslogtreecommitdiffstats
path: root/parser.y
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-07-22 07:18:58 -0700
committerKaz Kylheku <kaz@kylheku.com>2021-07-22 07:18:58 -0700
commitcddd91863740e560ae95ccdd2be5aa0e128713ed (patch)
tree5a3e8391212f63afd0366a7543e25ea5d9eaf78f /parser.y
parent8eba1ea78d3c264673b957f20013694fd77ddf07 (diff)
downloadtxr-cddd91863740e560ae95ccdd2be5aa0e128713ed.tar.gz
txr-cddd91863740e560ae95ccdd2be5aa0e128713ed.tar.bz2
txr-cddd91863740e560ae95ccdd2be5aa0e128713ed.zip
hash: change make_hash interface.
The make_hash function now takes the hash_weak_opt_t enumeration instead of a pair of flags. * hash.c (do_make_hash): Take enum argument instead of pair of flags. Just store the option; nothing to calculate. (weak_opt_from_flags): New static function. (tweak_hash): Function removed. (make_seeded_hash): Adjust to new do_make_hash interface with help from weak_opt_from_flags. (make_hash, make_eq_hash): Take enum argument instead of pair of flags. (hashv): Calculate hash_weak_opt_t enum from the extracted flags, pass down to make_eq_hash or make_hash. * hash.h (tweak_hash): Declration removed. (make_hash, make_eq_hash): Declarations updated. * eval.c (me_case, expand_switch): Update make_hash calls to new style. (eval_init): Update make_hash calls and get rid of tweak_hash calls. This renders the tweak_hash function unused. * ffi.c (make_ffi_type_enum, ffi_init): Update make_hash calls to new style. * filter.c (make_trie, trie_add, filter_init): Likewise. * lib.c (make_package_common, obj_init, obj_print): Likewise. * lisplib.c (lisplib_init): Likewise. * match.c (dir_tables_init): Likewise. * parser.c (parser_circ_def, repl, parse_init): Likewise. * parser.l (parser_l_init): Likewise. * struct.c (struct_init, get_slot_syms): Likewise. * sysif.c (get_env_hash): Likewise. * lex.yy.c.shipped, y.tab.c.shipped: Updated.
Diffstat (limited to 'parser.y')
-rw-r--r--parser.y4
1 files changed, 2 insertions, 2 deletions
diff --git a/parser.y b/parser.y
index c1cce317..9e15ca44 100644
--- a/parser.y
+++ b/parser.y
@@ -975,7 +975,7 @@ json_val : NUMBER { $$ = $1; }
rl(cons(vector_lit_s,
cons(nreverse($2), nil)),
$2)); }
- | '{' '}' { $$ = make_hash(nil, nil, t); }
+ | '{' '}' { $$ = make_hash(hash_weak_none, t); }
| '{' json_pairs '}' { $$ = if3(hashp($2),
$2,
rl(cons(hash_lit_s,
@@ -1027,7 +1027,7 @@ json_pairs : json_val json_col json_val { if (parser->quasi_level > 0 &&
unquotes_occur($3, 0)))
{ $$ = cons(list($1, $3, nao), nil); }
else
- { $$ = make_hash(nil, nil, t);
+ { $$ = make_hash(hash_weak_none, t);
sethash($$, $1, $3); } }
| json_pairs ','
json_val json_col json_val { if (consp($1))