File source-overflow.dif of Package texlive-bin

--- texk/web2c/synctexdir/synctex-e-rec.ch0	(revision 23678)
+++ texk/web2c/synctexdir/synctex-e-rec.ch0	(revision 23688)
@@ -82,21 +82,11 @@
 link(prev_p):=p;
 @z
 
-@x etex.ch l.4126
-  if is_char_node(p) then r:=get_avail
-  else case type(p) of
+@x etex.ch l.4186
   hlist_node,vlist_node: begin r:=get_node(box_node_size);
-    mem[r+6]:=mem[p+6]; mem[r+5]:=mem[p+5]; {copy the last two words}
-    words:=5; list_ptr(r):=null; {this affects |mem[r+5]|}
-    end;
 @y
-  if is_char_node(p) then r:=get_avail
-  else case type(p) of
   hlist_node,vlist_node: begin r:=get_node(box_node_size);
     @<Copy the box {\sl Sync\TeX} information@>;
-    mem[r+6]:=mem[p+6]; mem[r+5]:=mem[p+5]; {copy the last two words}
-    words:=5; list_ptr(r):=null; {this affects |mem[r+5]|}
-    end;
 @z
 
 @x synctex-e-mem.ch0 l.100
--- texk/web2c/eptexdir/eptex.ech	(revision 23678)
+++ texk/web2c/eptexdir/eptex.ech	(revision 23688)
@@ -283,6 +283,19 @@
 othercases goto next_p
 @z
 
+@x e-pTeX: just_copy
+  hlist_node,vlist_node: begin r:=get_node(box_node_size);
+@y
+  dir_node,
+  hlist_node,vlist_node: begin r:=get_node(box_node_size);
+@z
+@x e-pTeX: just_copy
+    words:=5; list_ptr(r):=null; {this affects |mem[r+5]|}
+@y
+    words:=5; list_ptr(r):=null; {this affects |mem[r+5]|}
+    add_glue_ref(space_ptr(r)); add_glue_ref(xspace_ptr(r));
+@z
+
 @x e-pTeX: ifcsname l.28620
   buffer[m]:=info(p) mod @'400; incr(m); p:=link(p);
 @y
--- texk/web2c/xetexdir/xetex.ch	(revision 23186)
+++ texk/web2c/xetexdir/xetex.ch	(revision 24314)
@@ -328,7 +328,7 @@ for i:=@'177 to @'377 do xchr[i]:=i;
 {Initialize enc\TeX\ data.}
 for i:=0 to 255 do mubyte_read[i]:=null;
 for i:=0 to 255 do mubyte_write[i]:=0;
-for i:=0 to 128 do mubyte_cswrite[i]:=null;
+for i:=0 to 127 do mubyte_cswrite[i]:=null;
 mubyte_keep := 0; mubyte_start := false;
 write_noexpanding := false; cs_converting := false;
 special_printing := false; message_printing := false;
--- texk/web2c/enctex.ch	(revision 23186)
+++ texk/web2c/enctex.ch	(revision 24314)
@@ -42,14 +42,14 @@ for i:=@'177 to @'377 do xchr[i]:=i;
 {Initialize enc\TeX\ data.}
 for i:=0 to 255 do mubyte_read[i]:=null;
 for i:=0 to 255 do mubyte_write[i]:=0;
-for i:=0 to 128 do mubyte_cswrite[i]:=null;
+for i:=0 to 127 do mubyte_cswrite[i]:=null;
 mubyte_keep := 0; mubyte_start := false;
 write_noexpanding := false; cs_converting := false;
 special_printing := false; message_printing := false;
 no_convert := false; active_noconvert := false;
 @z
 
-@x [5.59] l.1508FIXME -- enc\TeX\ modifications of |print|.
+@x [5.59] l.1508 FIXME -- enc\TeX\ modifications of |print|.
   else begin if selector>pseudo then
       begin print_char(s); return; {internal strings are not expanded}
       end;
--- texk/web2c/ptexdir/ptex-base.ch  2011/08/18 10:21:01
+++ texk/web2c/ptexdir/ptex-base.ch  2011/08/18 13:52:11
@@ -46,6 +46,7 @@
 % (31/12/2010) AK  Bug fix and accent Kanji by Hironori Kitagawa.
 % (19/01/2011) PB  Let \lastkern etc act through disp node.
 % (15/04/2011) PB  pTeX p3.2 Add \ifdbox and \ifddir
+% (2011-08-18) PB  Bug fix by Hironori Kitagawa.
 %
 @x [1.2] l.200 - pTeX:
 @d banner==TeX_banner
@@ -5848,6 +5849,9 @@
 var @!jc:KANJI_code; {temporary register for KANJI}
 @!sp,@!mp,@!ep:pointer;
 begin@/
+if f=null_font then
+  begin get_jfm_pos:=kchar_type(null_font)(0); return;
+  end;
 jc:=toDVI(kcode);
 sp:=1; { start position }
 ep:=font_num_ext[f]-1; { end position }
@@ -6677,11 +6681,13 @@
 goto main_loop_j+3;
 @#
 main_loop_j+1: space_factor:=1000;
-  fast_get_avail(main_p); font(main_p):=main_f; character(main_p):=cur_l;
-  link(tail):=main_p; tail:=main_p; last_jchr:=tail;
-  fast_get_avail(main_p); info(main_p):=KANJI(cur_chr);
-  link(tail):=main_p; tail:=main_p;
-  cx:=cur_chr; @<Insert kinsoku penalty@>;
+  if main_f<>null_font then
+    begin fast_get_avail(main_p); font(main_p):=main_f; character(main_p):=cur_l;
+    link(tail):=main_p; tail:=main_p; last_jchr:=tail;
+    fast_get_avail(main_p); info(main_p):=KANJI(cur_chr);
+    link(tail):=main_p; tail:=main_p;
+    cx:=cur_chr; @<Insert kinsoku penalty@>;
+  end;
   ins_kp:=false;
 again_2:
   get_next;
@@ -6717,7 +6723,10 @@
 @#
 main_loop_j+3:
   if ins_kp=true then @<Insert |pre_break_penalty| of |cur_chr|@>;
-  @<Look ahead for glue or kerning@>;
+  if main_f<>null_font then 
+    begin @<Look ahead for glue or kerning@>;
+    end
+  else inhibit_glue_flag:=false;
   if ins_kp=false then begin { Kanji -> Kanji }
     goto main_loop_j+1;
   end else if ins_kp=true then begin { Kanji -> Ascii }

--- texk/dvipsk/dospecial.c	2010-05-10 17:47:35.000000000 +0200
+++ texk/dvipsk/dospecial.c	2011-10-19 14:29:46.323146222 +0200
@@ -112,7 +112,7 @@ static void
 fgetboundingbox(char *f, float *llx_p, float *lly_p, float *urx_p, float *ury_p)
 {
    FILE *fp;
-   char buf[BUFSIZ];
+   char buf[BUFSIZ+1];
 
    fp = search(figpath, f, READ);
    if (fp == 0)
--- texk/web2c/luatexdir/luafontloader/fontforge/fontforge/psread.c	2010-04-04 15:55:46.000000000 +0200
+++ texk/web2c/luatexdir/luafontloader/fontforge/fontforge/psread.c	2011-10-20 10:14:41.851646143 +0200
@@ -385,7 +385,7 @@ return;
     wrapper->top = io;
 }
 
-static int ioescapestopped(IO *wrapper, struct psstack *stack, int sp) {
+static int ioescapestopped(IO *wrapper, struct psstack *stack, int sp, const size_t bsize) {
     _IO *io = wrapper->top, *iop;
     int wasstopped;
 
@@ -396,7 +396,7 @@ static int ioescapestopped(IO *wrapper,
 	free(io);
 	if ( wasstopped ) {
 	    wrapper->top = iop;
-	    if ( sp<(int)(sizeof(stack)/sizeof(stack[0])) ) {
+	    if ( sp<(int)bsize ) {
 		stack[sp].type = ps_bool;
 		stack[sp++].u.tf = true;
 	    }
@@ -1609,7 +1609,7 @@ static void _InterpretPS(IO *wrapper, En
 	    }
 	  break;
 	  case pt_stop:
-	    sp = ioescapestopped(wrapper,stack,sp);
+	    sp = ioescapestopped(wrapper,stack,sp,sizeof(stack)/sizeof(stack[0]));
 	  break;
 	  case pt_load:
 	    if ( sp>=1 && stack[sp-1].type==ps_lit ) {
openSUSE Build Service is sponsored by