diff options
Diffstat (limited to 'source/luametatex/source/tex/texequivalents.h')
-rw-r--r-- | source/luametatex/source/tex/texequivalents.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/source/luametatex/source/tex/texequivalents.h b/source/luametatex/source/tex/texequivalents.h index af3d98000..19c6959b7 100644 --- a/source/luametatex/source/tex/texequivalents.h +++ b/source/luametatex/source/tex/texequivalents.h @@ -240,13 +240,19 @@ n= 65496 cs=46426 indirect=14512 \stoptyping + We don't use the 85% prime (and we % the accumulated hash. Somehow this also performs better, + but of course I migbe be wrong. + */ -// # define hash_size 65536 -// # define hash_prime 65497 +//define hash_size 65536 +//define hash_prime 65497 # define hash_size 131072 /*tex 128K */ -# define hash_prime 131041 /*tex Plenty of room for the frozen. */ +# define hash_prime 131041 /*tex not the 85% prime */ + +//define hash_size 262144 /*tex 256K */ +//define hash_prime 262103 /*tex not the 85% prime */ # define null_cs 1 /*tex equivalent of |\csname\| |\endcsname| */ # define hash_base (null_cs + 1) /*tex beginning of region 2, for the hash table */ @@ -265,6 +271,7 @@ typedef enum deep_frozen_cs_codes { deep_frozen_cs_relax_code, /*tex permanent |\relax| */ deep_frozen_cs_end_write_code, /*tex permanent |\endwrite| */ deep_frozen_cs_dont_expand_code, /*tex permanent |\notexpanded:| */ + deep_frozen_cs_keep_constant_code, /*tex permanent |\notexpanded:| */ deep_frozen_cs_null_font_code, /*tex permanent |\nullfont| */ deep_frozen_cs_undefined_code, } deep_frozen_cs_codes; @@ -1282,7 +1289,9 @@ typedef enum flag_bit { inline static singleword tex_flags_to_cmd(int flags) { - if (is_tolerant(flags)) { + if (is_constant(flags)) { + return constant_call_cmd; + } else if (is_tolerant(flags)) { return is_protected (flags) ? tolerant_protected_call_cmd : (is_semiprotected(flags) ? tolerant_semi_protected_call_cmd : tolerant_call_cmd); } else { |