diff options
Diffstat (limited to 'Build/source/texk/web2c/synctexdir')
16 files changed, 344 insertions, 15 deletions
diff --git a/Build/source/texk/web2c/synctexdir/ChangeLog b/Build/source/texk/web2c/synctexdir/ChangeLog index dc50ff4f15e..16be9296d5a 100644 --- a/Build/source/texk/web2c/synctexdir/ChangeLog +++ b/Build/source/texk/web2c/synctexdir/ChangeLog @@ -1,3 +1,21 @@ +2011-07-04 Peter Breitenlohner <peb@mppmu.mpg.de> + + SyncTeX infrastructure for pTeX and e-pTeX. + * synctex-ptex.h, synctex-p-{mem,rec}.ch[01] (all new): + Additional files for pTeX. + * synctex-eptex.h, synctex-ep-{mem.ch[01],rec.ch1 (all new): + Additional files for e-pTeX. + * am/synctex.am: Adapt + + * synctex.c: Drop `#warning These structures MUST be kept...'. + +2011-06-30 Peter Breitenlohner <peb@mppmu.mpg.de> + + * synctex-{,e}tex.h: Drop the `#warning SyncTeX for *TeX'. + * synctex-{,e,pdf,xe}tex.h: Move the default definition of + SYNCTEX_GET_CURRENT_NAME for here ... + * synctex.c: ... to here. + 2011-06-11 Akira Kakuto <kakuto@fuk.kindai.ac.jp> * synctex_parser_utils.c: fix a typo. diff --git a/Build/source/texk/web2c/synctexdir/am/synctex.am b/Build/source/texk/web2c/synctexdir/am/synctex.am index afc6bd05667..bd7de749b46 100644 --- a/Build/source/texk/web2c/synctexdir/am/synctex.am +++ b/Build/source/texk/web2c/synctexdir/am/synctex.am @@ -1,6 +1,6 @@ ## texk/web2c/synctexdir/am/synctex.am: Makefile fragment for SyncTeX. ## -## Copyright (C) 2009 - 2011 Peter Breitenlohner <tex-live@tug.org> +## Copyright (C) 2009-2011 Peter Breitenlohner <tex-live@tug.org> ## You may freely use, modify and/or distribute this file. ## The SyncTeX tool @@ -108,6 +108,78 @@ EXTRA_DIST += \ synctexdir/synctex-e-rec.ch0 \ synctexdir/synctex-e-rec.ch1 +## SyncTeX infrastructure: pTeX + +if PTEX_SYNCTEX + +ptex_CPPFLAGS += -I$(srcdir)/synctexdir $(ZLIB_INCLUDES) + +ptex_LDADD += $(ZLIB_LIBS) +ptex_prereq += $(ZLIB_DEPEND) + +ptex_ch_synctex = \ + synctexdir/synctex-p-mem.ch0 \ + synctexdir/synctex-mem.ch0 \ + synctexdir/synctex-mem.ch1 \ + synctexdir/synctex-p-mem.ch1 \ + synctexdir/synctex-p-rec.ch0 \ + synctexdir/synctex-rec.ch0 \ + synctexdir/synctex-rec.ch1 \ + synctexdir/synctex-rec.ch2 \ + synctexdir/synctex-p-rec.ch1 + +dist_ptex_SOURCES += \ + synctexdir/synctex.c \ + synctexdir/synctex.h \ + synctexdir/synctex-common.h \ + synctexdir/synctex-ptex.h + +ptex_CPPFLAGS += -D__SyncTeX__ -DSYNCTEX_ENGINE_H=\"synctex-ptex.h\" + +endif PTEX_SYNCTEX + +EXTRA_DIST += \ + synctexdir/synctex-p-mem.ch0 \ + synctexdir/synctex-p-mem.ch1 \ + synctexdir/synctex-p-rec.ch0 \ + synctexdir/synctex-p-rec.ch1 + +## SyncTeX infrastructure: e-pTeX + +if EPTEX_SYNCTEX + +eptex_CPPFLAGS += -I$(srcdir)/synctexdir $(ZLIB_INCLUDES) + +eptex_LDADD += $(ZLIB_LIBS) +eptex_prereq += $(ZLIB_DEPEND) + +eptex_ch_synctex = \ + synctexdir/synctex-ep-mem.ch0 \ + synctexdir/synctex-mem.ch0 \ + synctexdir/synctex-mem.ch1 \ + synctexdir/synctex-e-mem.ch0 \ + synctexdir/synctex-ep-mem.ch1 \ + synctexdir/synctex-p-rec.ch0 \ + synctexdir/synctex-rec.ch0 \ + synctexdir/synctex-rec.ch1 \ + synctexdir/synctex-ep-rec.ch1 \ + synctexdir/synctex-p-rec.ch1 + +dist_eptex_SOURCES += \ + synctexdir/synctex.c \ + synctexdir/synctex.h \ + synctexdir/synctex-common.h \ + synctexdir/synctex-eptex.h + +eptex_CPPFLAGS += -D__SyncTeX__ -DSYNCTEX_ENGINE_H=\"synctex-eptex.h\" + +endif EPTEX_SYNCTEX + +EXTRA_DIST += \ + synctexdir/synctex-ep-mem.ch0 \ + synctexdir/synctex-ep-mem.ch1 \ + synctexdir/synctex-ep-rec.ch1 + ## SyncTeX infrastructure: pdfTeX if PDFTEX_SYNCTEX diff --git a/Build/source/texk/web2c/synctexdir/synctex-ep-mem.ch0 b/Build/source/texk/web2c/synctexdir/synctex-ep-mem.ch0 new file mode 100644 index 00000000000..80d71cfe1cd --- /dev/null +++ b/Build/source/texk/web2c/synctexdir/synctex-ep-mem.ch0 @@ -0,0 +1,25 @@ +@x tex.web l.2897 +@d box_node_size=8 {number of words to allocate for a box node} +@y +@d box_node_size=7 {number of words to allocate for a box node} +@z + +@x tex.web l.3937 + disp_node, +@y + disp_node: do_nothing; +@z + +@x tex.web l.4021: +disp_node, +@y +disp_node: begin r:=get_node(small_node_size); + words:=small_node_size; + end; +@z + +@x tex.web l. 24956 +@* \[54/p\TeX] System-dependent changes for p\TeX. +@y +@* \[54] System-dependent changes. +@z diff --git a/Build/source/texk/web2c/synctexdir/synctex-ep-mem.ch1 b/Build/source/texk/web2c/synctexdir/synctex-ep-mem.ch1 new file mode 100644 index 00000000000..8747294c42e --- /dev/null +++ b/Build/source/texk/web2c/synctexdir/synctex-ep-mem.ch1 @@ -0,0 +1,23 @@ +@x tex.web l.2897 +@d box_node_size=7+synctex_field_size {number of words to allocate for a box node} +@y +@d box_node_size=8+synctex_field_size {number of words to allocate for a box node} +@z + +@x tex.web l.4912 + synctex-mem.ch0 +@d REMOVE ME IF synctex_code is properly defined +@y +@z + +@x tex.web l.4960 + tex.ch +@d tex_int_pars=60 {total number of \TeX's integer parameters} +@y +@d synctex_code=60 +@d tex_int_pars=synctex_code+1 {total number of \TeX's integer parameters} +@z + +@x tex.web l. 24956 +@* \[54] System-dependent changes. +@y +@* \[54/p\TeX] System-dependent changes for p\TeX. +@z diff --git a/Build/source/texk/web2c/synctexdir/synctex-ep-rec.ch1 b/Build/source/texk/web2c/synctexdir/synctex-ep-rec.ch1 new file mode 100644 index 00000000000..8535418e19d --- /dev/null +++ b/Build/source/texk/web2c/synctexdir/synctex-ep-rec.ch1 @@ -0,0 +1,16 @@ +@x tex.web l.12378 +kern_node:cur_h:=cur_h+width(p); +@y +kern_node: begin + @<Record |kern_node| {\sl Sync\TeX} information@>; + cur_h:=cur_h+width(p); +end; +@z + +@x tex.web: Handle a math node in |hlist_out + cur_h:=cur_h+width(p); +@y + @<Record |math_node| {\sl Sync\TeX} information@>; + cur_h:=cur_h+width(p); +@z + diff --git a/Build/source/texk/web2c/synctexdir/synctex-eptex.h b/Build/source/texk/web2c/synctexdir/synctex-eptex.h new file mode 100644 index 00000000000..dbc9c872798 --- /dev/null +++ b/Build/source/texk/web2c/synctexdir/synctex-eptex.h @@ -0,0 +1,57 @@ +/* +Copyright (c) 2011 jerome DOT laurens AT u-bourgogne DOT fr + +This file is part of the SyncTeX package. + +Latest Revision: Wed Jun 30 11:00:00 UTC 2011 + +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. + +Acknowledgments: +---------------- +The author received useful remarks from the pdfTeX developers, especially Hahn The Thanh, +and significant help from XeTeX developer Jonathan Kew + +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 30 11:00:00 UTC 2011 + +*/ + +#include "eptexd.h" + +#define box_node_size (8+synchronization_field_size) + +#define rule_node 3 +#define glue_node 12 +#define kern_node 13 diff --git a/Build/source/texk/web2c/synctexdir/synctex-etex.h b/Build/source/texk/web2c/synctexdir/synctex-etex.h index 4b80f1da0bb..faca1be7a2d 100644 --- a/Build/source/texk/web2c/synctexdir/synctex-etex.h +++ b/Build/source/texk/web2c/synctexdir/synctex-etex.h @@ -48,8 +48,4 @@ Thu Jun 19 09:39:21 UTC 2008 */ -# warning SyncTeX for eTeX - -# include "etexd.h" - -#define SYNCTEX_GET_CURRENT_NAME() generic_synctex_get_current_name() +#include "etexd.h" diff --git a/Build/source/texk/web2c/synctexdir/synctex-p-mem.ch0 b/Build/source/texk/web2c/synctexdir/synctex-p-mem.ch0 new file mode 100644 index 00000000000..e4fd4a9f504 --- /dev/null +++ b/Build/source/texk/web2c/synctexdir/synctex-p-mem.ch0 @@ -0,0 +1,25 @@ +@x tex.web l.2897 +@d box_node_size=8 {number of words to allocate for a box node} +@y +@d box_node_size=7 {number of words to allocate for a box node} +@z + +@x tex.web l.3937 + disp_node, +@y + disp_node: do_nothing; +@z + +@x tex.web l.4021: +disp_node, +@y +disp_node: begin r:=get_node(small_node_size); + words:=small_node_size; + end; +@z + +@x tex.web l. 24956 +@* \[55/p\TeX] System-dependent changes for p\TeX. +@y +@* \[54] System-dependent changes. +@z diff --git a/Build/source/texk/web2c/synctexdir/synctex-p-mem.ch1 b/Build/source/texk/web2c/synctexdir/synctex-p-mem.ch1 new file mode 100644 index 00000000000..3d47ed82b3b --- /dev/null +++ b/Build/source/texk/web2c/synctexdir/synctex-p-mem.ch1 @@ -0,0 +1,23 @@ +@x tex.web l.2897 +@d box_node_size=7+synctex_field_size {number of words to allocate for a box node} +@y +@d box_node_size=8+synctex_field_size {number of words to allocate for a box node} +@z + +@x tex.web l.4912 + synctex-mem.ch0 +@d REMOVE ME IF synctex_code is properly defined +@y +@z + +@x tex.web l.4960 + tex.ch +@d int_pars=60 {total number of integer parameters} +@y +@d synctex_code=60 +@d int_pars=synctex_code+1 {total number of integer parameters} +@z + +@x tex.web l. 24956 +@* \[54] System-dependent changes. +@y +@* \[55/p\TeX] System-dependent changes for p\TeX. +@z diff --git a/Build/source/texk/web2c/synctexdir/synctex-p-rec.ch0 b/Build/source/texk/web2c/synctexdir/synctex-p-rec.ch0 new file mode 100644 index 00000000000..b2c1bf8a73c --- /dev/null +++ b/Build/source/texk/web2c/synctexdir/synctex-p-rec.ch0 @@ -0,0 +1,5 @@ +@x tex.web l.12533 +left_edge:=cur_h; cur_v:=cur_v-height(this_box); +@y +save_loc:=dvi_offset+dvi_ptr; left_edge:=cur_h; cur_v:=cur_v-height(this_box); +@z diff --git a/Build/source/texk/web2c/synctexdir/synctex-p-rec.ch1 b/Build/source/texk/web2c/synctexdir/synctex-p-rec.ch1 new file mode 100644 index 00000000000..56a63cec885 --- /dev/null +++ b/Build/source/texk/web2c/synctexdir/synctex-p-rec.ch1 @@ -0,0 +1,19 @@ +@x tex.web l.12394 + @<Record void list {\sl Sync\TeX} information@>; +@y + if type(p)<>dir_node then + @<Record void list {\sl Sync\TeX} information@>; +@z + +@x tex.web l.12533 +save_loc:=dvi_offset+dvi_ptr; left_edge:=cur_h; +@y +left_edge:=cur_h; +@z + +@x tex.web l.12569 + @<Record void list {\sl Sync\TeX} information@>; +@y + if type(p)<>dir_node then + @<Record void list {\sl Sync\TeX} information@>; +@z diff --git a/Build/source/texk/web2c/synctexdir/synctex-pdftex.h b/Build/source/texk/web2c/synctexdir/synctex-pdftex.h index cc8a5c33efa..7c7251d742b 100644 --- a/Build/source/texk/web2c/synctexdir/synctex-pdftex.h +++ b/Build/source/texk/web2c/synctexdir/synctex-pdftex.h @@ -56,4 +56,3 @@ Thu Jun 19 09:39:21 UTC 2008 * the synctex_sheet function below, in the including synctex.c file. */ # define SYNCTEX_OFFSET_IS_PDF (pdfoutputvalue>0) # define SYNCTEX_OUTPUT ((pdfoutputvalue>0)?"pdf":"dvi") -# define SYNCTEX_GET_CURRENT_NAME() generic_synctex_get_current_name() diff --git a/Build/source/texk/web2c/synctexdir/synctex-ptex.h b/Build/source/texk/web2c/synctexdir/synctex-ptex.h new file mode 100644 index 00000000000..3a67d9f210c --- /dev/null +++ b/Build/source/texk/web2c/synctexdir/synctex-ptex.h @@ -0,0 +1,57 @@ +/* +Copyright (c) 2011 jerome DOT laurens AT u-bourgogne DOT fr + +This file is part of the SyncTeX package. + +Latest Revision: Wed Jun 30 11:00:00 UTC 2011 + +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. + +Acknowledgments: +---------------- +The author received useful remarks from the pdfTeX developers, especially Hahn The Thanh, +and significant help from XeTeX developer Jonathan Kew + +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 30 11:00:00 UTC 2011 + +*/ + +#include "ptexd.h" + +#define box_node_size (8+synchronization_field_size) + +#define rule_node 3 +#define glue_node 12 +#define kern_node 13 diff --git a/Build/source/texk/web2c/synctexdir/synctex-tex.h b/Build/source/texk/web2c/synctexdir/synctex-tex.h index b026b9242c2..c1ca933c586 100644 --- a/Build/source/texk/web2c/synctexdir/synctex-tex.h +++ b/Build/source/texk/web2c/synctexdir/synctex-tex.h @@ -48,8 +48,4 @@ Thu Jun 19 09:39:21 UTC 2008 */ -# warning SyncTeX for TeX - -# include "texd.h" - -# define SYNCTEX_GET_CURRENT_NAME() generic_synctex_get_current_name() +#include "texd.h" diff --git a/Build/source/texk/web2c/synctexdir/synctex-xetex.h b/Build/source/texk/web2c/synctexdir/synctex-xetex.h index a34a5dd8ffa..9c80d259088 100644 --- a/Build/source/texk/web2c/synctexdir/synctex-xetex.h +++ b/Build/source/texk/web2c/synctexdir/synctex-xetex.h @@ -68,4 +68,3 @@ Thu Jun 19 09:39:21 UTC 2008 mem[NODE+TYPE##_node_size-synchronization_field_size].hh.lhfield # define SYNCTEX_LINE_MODEL(NODE,TYPE)\ mem[NODE+TYPE##_node_size-synchronization_field_size].hh.rh -# define SYNCTEX_GET_CURRENT_NAME() generic_synctex_get_current_name() diff --git a/Build/source/texk/web2c/synctexdir/synctex.c b/Build/source/texk/web2c/synctexdir/synctex.c index 04da2c2bb2b..6e3c457a711 100644 --- a/Build/source/texk/web2c/synctexdir/synctex.c +++ b/Build/source/texk/web2c/synctexdir/synctex.c @@ -153,7 +153,6 @@ * and *tex.web for details, the synctex_ prefix prevents name conflicts, it * is some kind of namespace */ -# warning These structures MUST be kept in synchronization with the main program /* synctexoption is a global integer variable defined in *tex.web * it is set to 1 by texmfmp.c if the command line has the '-synctex=1' * option. */ @@ -303,7 +302,7 @@ mem[NODE+TYPE##_node_size-synchronization_field_size+1].cint # define SYNCTEX_CURRENT_TAG (curinput.synctextagfield) # endif # if !defined(SYNCTEX_GET_CURRENT_NAME) -# define SYNCTEX_GET_CURRENT_NAME() (gettexstring(curinput.namefield)) +# define SYNCTEX_GET_CURRENT_NAME() generic_synctex_get_current_name() # endif # if !defined(SYNCTEX_GET_TOTAL_PAGES) # define SYNCTEX_GET_TOTAL_PAGES() (totalpages) |