summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/synctexdir/synctex-rec.ch1
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/synctexdir/synctex-rec.ch1')
-rw-r--r--Build/source/texk/web2c/synctexdir/synctex-rec.ch192
1 files changed, 92 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/synctexdir/synctex-rec.ch1 b/Build/source/texk/web2c/synctexdir/synctex-rec.ch1
new file mode 100644
index 00000000000..b93863ac092
--- /dev/null
+++ b/Build/source/texk/web2c/synctexdir/synctex-rec.ch1
@@ -0,0 +1,92 @@
+Copyright (c) 2008 jerome DOT laurens AT u-bourgogne DOT fr
+
+This file is part of the SyncTeX package.
+
+License:
+--------
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE
+
+Except as contained in this notice, the name of the copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in this Software without prior written
+authorization from the copyright holder.
+
+Notice:
+-------
+This file contains TeX changes for synctex support.
+It implements the memory management for TeX like engines.
+It must apply after synctex-rec.ch0
+
+@x
+@p procedure vlist_out; {output a |vlist_node| box}
+@y
+@p procedure vlist_out; {output a |vlist_node| box}
+@z
+
+@x tex.web l.12533
+save_loc:=dvi_offset+dvi_ptr; left_edge:=cur_h; cur_v:=cur_v-height(this_box);
+MISSING @<Start vlist {\sl Sync\TeX} information record@> before cur_v:=cur_v-height(this_box);
+@y
+save_loc:=dvi_offset+dvi_ptr; left_edge:=cur_h;
+@<Start vlist {\sl Sync\TeX} information record@>;
+cur_v:=cur_v-height(this_box);
+@z
+
+@x tex.web l.12569
+@<Output a box in a vlist@>=
+if list_ptr(p)=null then cur_v:=cur_v+height(p)+depth(p)
+MISSING @<Record void list {\sl Sync\TeX} information@>;
+@y
+@<Output a box in a vlist@>=
+if list_ptr(p)=null then begin
+ cur_v:=cur_v+height(p);
+ @<Record void list {\sl Sync\TeX} information@>;
+ cur_v:=cur_v+depth(p);
+end
+@z
+
+@x
+ MISSING IMPLEMENTATION: 0 synctag for medium sized node at mem[t]
+@y
+ mem[t+medium_node_size-synctex_field_size].int:=0; {{\sl Sync\TeX}: do nothing, it is too late}
+@z
+
+@x
+ MISSING IMPLEMENTATION: update the synctex information for node at mem[r] with size s
+@y
+ mem[r+s-synctex_field_size].int:=synctex_tag;
+ mem[r+s-synctex_field_size+1].int:=line;
+@z
+
+@x
+MISSING IMPLEMENTATION: copy the synctex information for box node at mem[r] from node at mem[p]
+@y
+mem[r+box_node_size-synctex_field_size].int:=mem[p+box_node_size-synctex_field_size].int;
+mem[r+box_node_size-synctex_field_size+1].int:=mem[p+box_node_size-synctex_field_size+1].int;
+@z
+
+@x
+MISSING IMPLEMENTATION: copy the synctex information for glue node at mem[r] from node at mem[p]
+@y
+mem[r+medium_node_size-synctex_field_size].int:=mem[p+medium_node_size-synctex_field_size].int;
+mem[r+medium_node_size-synctex_field_size+1].int:=mem[p+medium_node_size-synctex_field_size+1].int;
+@z