diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-01-20 11:01:30 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-01-20 11:01:30 +0000 |
commit | 7b16d3b1d6a8cb9b23b012e4527ee5d9e061aa04 (patch) | |
tree | c3765a705ff191a5f3ae7e367c4c7bb73ef2d083 /Build/source/texk/web2c/xetexdir/xetex.web | |
parent | 822e7e612de859b23a6aa03e2ce575696afd84c6 (diff) |
TeX & Co: New versions from Knuth (TeX tuneup of 2014)
git-svn-id: svn://tug.org/texlive/trunk@32727 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/xetexdir/xetex.web')
-rw-r--r-- | Build/source/texk/web2c/xetexdir/xetex.web | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/Build/source/texk/web2c/xetexdir/xetex.web b/Build/source/texk/web2c/xetexdir/xetex.web index d83054e2192..569d9709715 100644 --- a/Build/source/texk/web2c/xetexdir/xetex.web +++ b/Build/source/texk/web2c/xetexdir/xetex.web @@ -87,6 +87,7 @@ % Version 3.14159 allowed fontmemsize to change; bulletproofing (March 1995). % Version 3.141592 fixed \xleaders, glueset, weird alignments (December 2002). % Version 3.1415926 was a general cleanup with minor fixes (February 2008). +% Version 3.14159265 was similar (January 2014). % A reward of $327.68 will be paid to the first finder of any remaining bug. @@ -329,7 +330,7 @@ known as `\eTeX'. @d XeTeX_banner=='This is XeTeX, Version 3.1415926',eTeX_version_string,XeTeX_version_string {printed when \XeTeX\ starts} @# -@d banner=='This is TeX, Version 3.1415926' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.14159265' {printed when \TeX\ starts} @# @d TEX==XETEX {change program name into |XETEX|} @# @@ -6255,7 +6256,7 @@ procedure print_cs(@!p:integer); {prints a purported control sequence} begin if p<hash_base then {single character} if p>=single_base then if p=null_cs then - begin print_esc("csname"); print_esc("endcsname"); + begin print_esc("csname"); print_esc("endcsname"); print_char(" "); end else begin print_esc(p-single_base); if cat_code(p-single_base)=letter then print_char(" "); @@ -17478,7 +17479,7 @@ end @ The purpose of |make_scripts(q,delta)| is to attach the subscript and/or superscript of noad |q| to the list that starts at |new_hlist(q)|, -given that subscript and superscript aren't both empty. The superscript +given that the subscript and superscript aren't both empty. The superscript will appear to the right of the subscript by a given distance |delta|. We set |shift_down| and |shift_up| to the minimum amounts to shift the @@ -18733,7 +18734,7 @@ There are also a number of implicit parameters: The hlist to be broken starts at |link(head)|, and it is nonempty. The value of |prev_graf| in the enclosing semantic level tells where the paragraph should begin in the sequence of line numbers, in case hanging indentation or \.{\\parshape} -are in use; |prev_graf| is zero unless this paragraph is being continued +is in use; |prev_graf| is zero unless this paragraph is being continued after a displayed formula. Other implicit parameters, such as the |par_shape_ptr| and various penalties to use for hyphenation, etc., appear in |eqtb|. @@ -23325,6 +23326,7 @@ case is |sf_code(cur_chr)=1000|, so we want that case to be fast. The overall structure of the main loop is presented here. Some program labels are inside the individual sections. +@^inner loop@> @d adjust_space_factor==@t@>@;@/ main_s:=sf_code(cur_chr) mod @"10000; @@ -23620,6 +23622,7 @@ character~|cur_l|. A discretionary break is not inserted for an explicit hyphen when we are in restricted horizontal mode. In particular, this avoids putting discretionary nodes inside of other discretionaries. +@^inner loop@> @d pack_lig(#)== {the parameter is either |rt_hit| or |false|} begin main_p:=new_ligature(main_f,cur_l,link(cur_q)); @@ -23646,6 +23649,7 @@ nodes inside of other discretionaries. wrapup(rt_hit) @ @<If the cursor is immediately followed by the right boundary...@>= +@^inner loop@> if lig_stack=null then goto reswitch; cur_q:=tail; cur_l:=character(lig_stack); main_loop_move+1:if not is_char_node(lig_stack) then goto main_loop_move_lig; @@ -24263,8 +24267,8 @@ and `\.{\\xleaders}'. The second problem is solved by giving the command code |make_box| to all control sequences that produce a box, and by using the following |chr_code| values to distinguish between them: |box_code|, |copy_code|, |last_box_code|, -|vsplit_code|, |vtop_code|, |vtop_code+vmode|, and |vtop_code+hmode|, -where the latter two are used denote \.{\\vbox} and \.{\\hbox}, respectively. +|vsplit_code|, |vtop_code|, |vtop_code+vmode|, and |vtop_code+hmode|, where +the latter two are used to denote \.{\\vbox} and \.{\\hbox}, respectively. @d box_flag==@'10000000000 {context code for `\.{\\setbox0}'} @d global_box_flag==@'10000100000 {context code for `\.{\\global\\setbox0}'} |