diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2016-02-24 00:09:37 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2016-02-24 00:09:37 +0000 |
commit | 50108019f84d1c2a7f83cc165ba09f8dc3bebcf3 (patch) | |
tree | cea5c82717c8903c8c6295d2aa9d900f9dbefc48 /Build/source/texk/web2c/luatexdir/tex | |
parent | 655a66b1cc5bbf0241709ba5a1f88f7d4b7ffd9f (diff) |
web2c/luatexdir: sync with the upstream
git-svn-id: svn://tug.org/texlive/trunk@39841 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/tex')
5 files changed, 16 insertions, 10 deletions
diff --git a/Build/source/texk/web2c/luatexdir/tex/commands.w b/Build/source/texk/web2c/luatexdir/tex/commands.w index 53497af528c..4f796a7b1a7 100644 --- a/Build/source/texk/web2c/luatexdir/tex/commands.w +++ b/Build/source/texk/web2c/luatexdir/tex/commands.w @@ -115,6 +115,7 @@ void initialize_commands(void) primitive_tex("newlinechar", assign_int_cmd, int_base + new_line_char_code, int_base); primitive_tex("language", assign_int_cmd, int_base + language_code, int_base); primitive_tex("setlanguage", assign_int_cmd, int_base + cur_lang_code, int_base); + primitive_tex("firstvalidlanguage", assign_int_cmd, int_base + first_valid_language_code, int_base); primitive_tex("exhyphenchar", assign_int_cmd, int_base + ex_hyphen_char_code, int_base); primitive_tex("lefthyphenmin", assign_int_cmd, int_base + left_hyphen_min_code, int_base); primitive_tex("righthyphenmin", assign_int_cmd, int_base + right_hyphen_min_code, int_base); diff --git a/Build/source/texk/web2c/luatexdir/tex/dumpdata.w b/Build/source/texk/web2c/luatexdir/tex/dumpdata.w index 527612ba61c..c2fba1934c7 100644 --- a/Build/source/texk/web2c/luatexdir/tex/dumpdata.w +++ b/Build/source/texk/web2c/luatexdir/tex/dumpdata.w @@ -27,7 +27,7 @@ /* we start with 907: the sum of the values of the bytes of "don knuth" */ -#define FORMAT_ID (907+11) +#define FORMAT_ID (907+12) #if ((FORMAT_ID>=0) && (FORMAT_ID<=256)) #error Wrong value for FORMAT_ID. #endif diff --git a/Build/source/texk/web2c/luatexdir/tex/equivalents.h b/Build/source/texk/web2c/luatexdir/tex/equivalents.h index 7853462507b..09a63150cca 100644 --- a/Build/source/texk/web2c/luatexdir/tex/equivalents.h +++ b/Build/source/texk/web2c/luatexdir/tex/equivalents.h @@ -286,10 +286,12 @@ the |number_regs| \.{\\dimen} registers. # define math_old_code 95 /* this one is stable */ # define math_option_code 96 -# define backend_int_base (int_base+97) -# define backend_int_last (int_base+116) +# define first_valid_language_code 97 -# define tex_int_pars (117) /* total number of integer parameters */ +# define backend_int_base (int_base+98) +# define backend_int_last (int_base+117) + +# define tex_int_pars (118) /* total number of integer parameters */ # define page_direction_code (tex_int_pars) # define body_direction_code (tex_int_pars+1) diff --git a/Build/source/texk/web2c/luatexdir/tex/packaging.h b/Build/source/texk/web2c/luatexdir/tex/packaging.h index c3af41a123b..6c909d64680 100644 --- a/Build/source/texk/web2c/luatexdir/tex/packaging.h +++ b/Build/source/texk/web2c/luatexdir/tex/packaging.h @@ -87,7 +87,7 @@ extern scaled active_height[10]; /* distance from first active node to~|c extern scaled best_height_plus_depth; /* height of the best box, without stretching or shrinking */ extern halfword vert_break(halfword p, scaled h, scaled d); -extern halfword vsplit(halfword n, scaled h); /* extracts a page of height |h| from box |n| */ +extern halfword vsplit(halfword n, scaled h, int m); /* extracts a page of height |h| from box |n| */ # define box_code 0 /* |chr_code| for `\.{\\box}' */ # define copy_code 1 /* |chr_code| for `\.{\\copy}' */ diff --git a/Build/source/texk/web2c/luatexdir/tex/packaging.w b/Build/source/texk/web2c/luatexdir/tex/packaging.w index b1e8c44425e..7541339dc36 100644 --- a/Build/source/texk/web2c/luatexdir/tex/packaging.w +++ b/Build/source/texk/web2c/luatexdir/tex/packaging.w @@ -1824,7 +1824,7 @@ was, erroneously, an hlist box). @c /* extracts a page of height |h| from box |n| */ -halfword vsplit(halfword n, scaled h) +halfword vsplit(halfword n, scaled h, int m) { halfword v; /* the box to be split */ int vdir; /* the direction of the box to be split */ @@ -1889,10 +1889,13 @@ halfword vsplit(halfword n, scaled h) /* the |eq_level| of the box stays the same */ box(n) = null; } else { - box(n) = - filtered_vpackage(q, 0, additional, dimen_par(max_depth_code), split_keep_group, vdir, 0); + box(n) = filtered_vpackage(q, 0, additional, dimen_par(max_depth_code), split_keep_group, vdir, 0); + } + if (m == exactly) { + return filtered_vpackage(p, h, exactly, dimen_par(split_max_depth_code), split_off_group, vdir, 0); + } else { + return filtered_vpackage(p, 0, additional, dimen_par(max_depth_code), split_off_group, vdir, 0); } - return filtered_vpackage(p, h, exactly, dimen_par(split_max_depth_code), split_off_group, vdir, 0); } @ Now that we can see what eventually happens to boxes, we can consider the first @@ -1972,7 +1975,7 @@ void begin_box(int box_context) error(); } scan_normal_dimen(); - cur_box = vsplit(n, cur_val); + cur_box = vsplit(n, cur_val, additional); break; default: /* |