texlive/source-overflow.dif

169 lines
6.0 KiB
Plaintext

--- 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 2011-12-12 09:46:29.391146557 +0000
@@ -283,6 +283,18 @@ disp_node: begin
othercases goto next_p
@z
+@x e-pTeX: just_copy
+ 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]|}
+@y
+ dir_node,hlist_node,vlist_node: begin r:=get_node(box_node_size);
+ mem[r+7]:=mem[p+7]; mem[r+6]:=mem[p+6]; mem[r+5]:=mem[p+5];
+ {copy the last three words}
+ add_glue_ref(space_ptr(r)); add_glue_ref(xspace_ptr(r));
+ words:=5; list_ptr(r):=null; {this affects |mem[r+5]|}
+@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 ) {