summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/synctexdir/synctex-mem.ch0
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/synctexdir/synctex-mem.ch0')
-rw-r--r--Build/source/texk/web2c/synctexdir/synctex-mem.ch044
1 files changed, 27 insertions, 17 deletions
diff --git a/Build/source/texk/web2c/synctexdir/synctex-mem.ch0 b/Build/source/texk/web2c/synctexdir/synctex-mem.ch0
index 0f433728777..bdb585bee7a 100644
--- a/Build/source/texk/web2c/synctexdir/synctex-mem.ch0
+++ b/Build/source/texk/web2c/synctexdir/synctex-mem.ch0
@@ -1,7 +1,9 @@
-Copyright (c) 2008 jerome DOT laurens AT u-bourgogne DOT fr
+Copyright (c) 2008, 2009 jerome DOT laurens AT u-bourgogne DOT fr
This file is part of the SyncTeX package.
+Latest Revision: Wed Jul 1 11:17:37 UTC 2009
+
License:
--------
Permission is hereby granted, free of charge, to any person
@@ -40,12 +42,12 @@ Nota Bene:
If you include or use a significant part of the synctex package into a software,
I would appreciate to be listed as contributor and see "SyncTeX" highlighted.
-Version 1
-Thu Jun 19 09:39:21 UTC 2008
-
Notice:
-------
+- Fixing the bug pointed out by Hahn The Thanh during the discussion started by Reinhard Kotucha at
+ http://www.ntg.nl/pipermail/ntg-pdftex/2009-May/003786.html.
+
The |synctex_field_size| depends on the TeX implementation.
pdfTeX uses 2 additional words whereas XeTeX will only use one,
because it naturally has bigger words of memory.
@@ -70,7 +72,7 @@ because it naturally has bigger words of memory.
@y
@d small_node_size=2 {number of words to allocate for most node types}
@d medium_node_size=small_node_size+synctex_field_size {number of words to
- allocate for synchronized node types like math, kern and glue nodes}
+ allocate for synchronized node types like math, kern, glue and penalty nodes}
@z
@x tex.web l.3090
@@ -122,6 +124,18 @@ begin p:=get_node(small_node_size); type(p):=kern_node;
begin p:=get_node(medium_node_size); type(p):=kern_node;
@z
+@x tex.web l.3259
+@p function new_penalty(@!m:integer):pointer;
+@y
+@p function new_penalty(@!m:integer):pointer;
+@z
+
+@x
+begin p:=get_node(small_node_size); type(p):=penalty_node;
+@y
+begin p:=get_node(medium_node_size); type(p):=penalty_node;
+@z
+
@x
@p procedure flush_node_list(@!p:pointer); {erase list of nodes starting at |p|}
@y
@@ -140,39 +154,35 @@ begin p:=get_node(medium_node_size); type(p):=kern_node;
end;
@z
-@x
+@x tex.web l.3937: free nodes with proper size
kern_node,math_node,penalty_node: do_nothing;
@y
- kern_node,math_node:begin
+ kern_node,math_node,penalty_node:begin
free_node(p, medium_node_size);
goto done;
end;
- penalty_node: do_nothing;
@z
-@x tex.web l.4018:
+@x tex.web l.4002:
@ @<Case statement to copy...@>=
@y
@ @<Case statement to copy...@>=
@z
-@x
+@x tex.web l.4018:
glue_node: begin r:=get_node(small_node_size); add_glue_ref(glue_ptr(p));
@y
glue_node: begin r:=get_node(medium_node_size); add_glue_ref(glue_ptr(p));
@z
-@x
+@x tex.web l.4021:
kern_node,math_node,penalty_node: begin r:=get_node(small_node_size);
words:=small_node_size;
end;
@y
-kern_node,math_node: begin r:=get_node(medium_node_size);
+kern_node,math_node,penalty_node: begin r:=get_node(medium_node_size);
words:=medium_node_size;
end;
-penalty_node: begin r:=get_node(small_node_size);
- words:=small_node_size;
- end;
@z
@x tex.web l.4912
@@ -211,13 +221,13 @@ penalty_node: begin r:=get_node(small_node_size);
@d synctex_tag==cur_input.synctex_tag_field {{\sl Sync\TeX} tag of the current file}
@z
-@x
+@x tex.web l. 14185
@<Simplify a trivial box@>=
@y
@<Simplify a trivial box@>=
@z
-@x tex.web l. 14189
+@x tex.web l. 14191
begin free_node(r,small_node_size); link(q):=null;
@y
begin free_node(r,medium_node_size); link(q):=null;