diff --git a/source/configure b/source/configure index d7aa0aaa8..a8f00dc0e 100755 --- a/source/configure +++ b/source/configure @@ -4040,7 +4040,7 @@ test "x$enable_web2c" = xno || { need_zlib=yes } -# $Id: web2c.ac 53078 2019-12-10 18:39:13Z karl $ +# $Id: web2c.ac 54824 2020-04-21 18:43:36Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ ## configure options for TeX and MF diff --git a/source/libs/configure b/source/libs/configure index 933d1e825..695bc63c8 100755 --- a/source/libs/configure +++ b/source/libs/configure @@ -3220,7 +3220,7 @@ test "x$enable_web2c" = xno || { need_zlib=yes } -# $Id: web2c.ac 53078 2019-12-10 18:39:13Z karl $ +# $Id: web2c.ac 54824 2020-04-21 18:43:36Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ ## configure options for TeX and MF diff --git a/source/m4/kpse-pkgs.m4 b/source/m4/kpse-pkgs.m4 index 4f0426c3f..b308851fa 100644 --- a/source/m4/kpse-pkgs.m4 +++ b/source/m4/kpse-pkgs.m4 @@ -1,4 +1,4 @@ -# $Id: kpse-pkgs.m4 49640 2019-01-08 18:57:53Z karl $ +# $Id: kpse-pkgs.m4 54824 2020-04-21 18:43:36Z lscarso $ # Private Autoconf macros for the TeX Live (TL) tree. # Copyright 2016-2019 Karl Berry # Copyright 2009-2015 Peter Breitenlohner diff --git a/source/texk/configure b/source/texk/configure index 83b417062..0d2970013 100755 --- a/source/texk/configure +++ b/source/texk/configure @@ -3220,7 +3220,7 @@ test "x$enable_web2c" = xno || { need_zlib=yes } -# $Id: web2c.ac 53078 2019-12-10 18:39:13Z karl $ +# $Id: web2c.ac 54824 2020-04-21 18:43:36Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ ## configure options for TeX and MF diff --git a/source/texk/kpathsea/ChangeLog b/source/texk/kpathsea/ChangeLog index 7e8ea6c79..1a0bc7108 100644 --- a/source/texk/kpathsea/ChangeLog +++ b/source/texk/kpathsea/ChangeLog @@ -1,3 +1,10 @@ +2020-04-26 Akira Kakuto + + * readable.c, knj.c: Support very long input path name, + longer than _MAX_PATH for Windows, if it really exists and + input name is given in full-absolute path in a command line. + (Windows only). + 2020-04-10 Karl Berry * version.ac: now 6.3.3/dev since TL'20 is released. diff --git a/source/texk/kpathsea/knj.c b/source/texk/kpathsea/knj.c index 6db626216..b4595207a 100644 --- a/source/texk/kpathsea/knj.c +++ b/source/texk/kpathsea/knj.c @@ -116,12 +116,35 @@ kpathsea_fsyscp_xfopen (kpathsea kpse, const char *filename, const char *mode) FILE *f; wchar_t *fnamew, modew[4]; int i; - + unsigned char *fnn; + unsigned char *p; assert(filename && mode); - - fnamew = get_wstring_from_mbstring(kpse->File_system_codepage, filename, fnamew=NULL); +/* + Support very long input path name, longer than _MAX_PATH for + Windows, if it really exists and input name is given in + full-absolute path in a command line. +*/ + fnn = xmalloc(strlen(filename) + 10); + if ((filename[0] == '/' && filename[1] == '/') || + (filename[0] == '\\' && filename[1] == '\\')) { + filename += 2; + strcpy (fnn, "\\\\?\\UNC\\"); + strcat (fnn, filename); + } else if (filename[1] == ':') { + strcpy (fnn, "\\\\?\\"); + strcat (fnn, filename); + } else { + strcpy (fnn, filename); + } + for (p = fnn; *p; p++) { + if (*p == '/') + *p = '\\'; + } + + fnamew = get_wstring_from_mbstring(kpse->File_system_codepage, fnn, fnamew=NULL); for(i=0; (modew[i]=(wchar_t)mode[i]); i++) {} /* mode[i] must be ASCII */ f = _wfopen(fnamew, modew); + free (fnn); if (f == NULL) FATAL_PERROR(filename); if (KPATHSEA_DEBUG_P (KPSE_DEBUG_FOPEN)) { @@ -149,12 +172,35 @@ kpathsea_fsyscp_fopen (kpathsea kpse, const char *filename, const char *mode) FILE *f; wchar_t *fnamew, modew[4]; int i; - + unsigned char *fnn; + unsigned char *p; assert(filename && mode); +/* + Support very long input path name, longer than _MAX_PATH for + Windows, if it really exists and input name is given in + full-absolute path in a command line. +*/ + fnn = xmalloc(strlen(filename) + 10); + if ((filename[0] == '/' && filename[1] == '/') || + (filename[0] == '\\' && filename[1] == '\\')) { + filename += 2; + strcpy (fnn, "\\\\?\\UNC\\"); + strcat (fnn, filename); + } else if (filename[1] == ':') { + strcpy (fnn, "\\\\?\\"); + strcat (fnn, filename); + } else { + strcpy (fnn, filename); + } + for (p = fnn; *p; p++) { + if (*p == '/') + *p = '\\'; + } - fnamew = get_wstring_from_mbstring(kpse->File_system_codepage, filename, fnamew=NULL); + fnamew = get_wstring_from_mbstring(kpse->File_system_codepage, fnn, fnamew=NULL); for(i=0; (modew[i]=(wchar_t)mode[i]); i++) {} /* mode[i] must be ASCII */ f = _wfopen(fnamew, modew); + free (fnn); if (f != NULL) { if (KPATHSEA_DEBUG_P (KPSE_DEBUG_FOPEN)) { DEBUGF_START (); diff --git a/source/texk/kpathsea/readable.c b/source/texk/kpathsea/readable.c index 2623fd2b8..2d060d08c 100644 --- a/source/texk/kpathsea/readable.c +++ b/source/texk/kpathsea/readable.c @@ -41,7 +41,33 @@ static boolean READABLE(kpathsea kpse, const_string fn, unsigned int st) { wchar_t *fnw; - fnw = get_wstring_from_mbstring(kpse->File_system_codepage, fn, fnw=NULL); + unsigned char *fnn; + unsigned char *p; + + fnn = xmalloc(strlen(fn) + 10); +/* + Support very long input path name, longer than _MAX_PATH for + Windows, if it really exists and input name is given in + full-absolute path in a command line. +*/ + if ((fn[0] == '/' && fn[1] == '/') || + (fn[0] == '\\' && fn[1] == '\\')) { + fn += 2; + strcpy (fnn, "\\\\?\\UNC\\"); + strcat (fnn, fn); + } else if (fn[1] == ':') { + strcpy (fnn, "\\\\?\\"); + strcat (fnn, fn); + } else { + strcpy (fnn, fn); + } + + for (p = fnn; *p; p++) { + if (*p == '/') + *p = '\\'; + } + + fnw = get_wstring_from_mbstring(kpse->File_system_codepage, fnn, fnw=NULL); if ((st = GetFileAttributesW(fnw)) != 0xFFFFFFFF) { /* succeeded */ errno = 0; @@ -58,6 +84,7 @@ READABLE(kpathsea kpse, const_string fn, unsigned int st) break; } } + free (fnn); if (fnw) free (fnw); return ((st != 0xFFFFFFFF) && !(st & FILE_ATTRIBUTE_DIRECTORY)); diff --git a/source/texk/web2c/ChangeLog b/source/texk/web2c/ChangeLog index b7d638f0a..f79873dc7 100644 --- a/source/texk/web2c/ChangeLog +++ b/source/texk/web2c/ChangeLog @@ -1,3 +1,13 @@ +2020-04-23 Tomas Rokicki + and Karl Berry + + * patgen.web, + * pktogf.web, + * pktype.web: fix trivial typos and clarify public domain status. + No code changes. + (These .web files are not maintained by DEK, per + https://tug.org/TUGbpat/tb35-1/tb109knut.pdf page 2.) + 2020-04-13 Andreas Scherer * ctangleboot.cin: Add comment for section 6. diff --git a/source/texk/web2c/Makefile.am b/source/texk/web2c/Makefile.am index de85479b5..a183458dc 100644 --- a/source/texk/web2c/Makefile.am +++ b/source/texk/web2c/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am 51577 2019-07-08 06:07:11Z lscarso $ +## $Id: Makefile.am 54824 2020-04-21 18:43:36Z lscarso $ ## Makefile.am for the TeX Live subdirectory texk/web2c/. ## ## Copyright 2017 Karl Berry diff --git a/source/texk/web2c/ac/web2c.ac b/source/texk/web2c/ac/web2c.ac index 91362c05e..5b76e526b 100644 --- a/source/texk/web2c/ac/web2c.ac +++ b/source/texk/web2c/ac/web2c.ac @@ -1,4 +1,4 @@ -# $Id: web2c.ac 53078 2019-12-10 18:39:13Z karl $ +# $Id: web2c.ac 54824 2020-04-21 18:43:36Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ dnl dnl Copyright 2016-2019 Karl Berry diff --git a/source/texk/web2c/configure b/source/texk/web2c/configure index 1861e7daa..2404cc1cd 100755 --- a/source/texk/web2c/configure +++ b/source/texk/web2c/configure @@ -18604,7 +18604,7 @@ fi # Include additional code for web2c. -# $Id: web2c.ac 53078 2019-12-10 18:39:13Z karl $ +# $Id: web2c.ac 54824 2020-04-21 18:43:36Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ ## configure options for TeX and MF diff --git a/source/texk/web2c/configure.ac b/source/texk/web2c/configure.ac index e055fd6e1..876907234 100644 --- a/source/texk/web2c/configure.ac +++ b/source/texk/web2c/configure.ac @@ -1,4 +1,4 @@ -dnl $Id: configure.ac 51470 2019-06-26 16:09:52Z karl $ +dnl $Id: configure.ac 54824 2020-04-21 18:43:36Z lscarso $ dnl Process this file with Autoconf to produce a configure script for Web2c. dnl dnl Copyright 2018-2019 Karl Berry diff --git a/source/texk/web2c/ctangleboot.cin b/source/texk/web2c/ctangleboot.cin index d775faa26..e5fdf4dcb 100644 --- a/source/texk/web2c/ctangleboot.cin +++ b/source/texk/web2c/ctangleboot.cin @@ -8,7 +8,7 @@ #line 83 "cwebdir/ctangle.w" /*:2*//*6:*/ -#line 111 "cwebdir/ctang-w2c.ch" +#line 52 "cwebdir/comm-w2c.h" #ifndef HAVE_GETTEXT #define HAVE_GETTEXT 0 @@ -166,7 +166,7 @@ #line 66 "cwebdir/ctangle.w" /*5:*/ -#line 111 "cwebdir/ctang-w2c.ch" +#line 37 "cwebdir/comm-w2c.h" typedef bool boolean; typedef uint8_t eight_bits; @@ -175,7 +175,7 @@ extern int program; extern int phase; /*:5*//*7:*/ -#line 111 "cwebdir/ctang-w2c.ch" +#line 86 "cwebdir/comm-w2c.h" extern char section_text[]; extern char*section_text_end; @@ -183,7 +183,7 @@ extern char*id_first; extern char*id_loc; /*:7*//*8:*/ -#line 111 "cwebdir/ctang-w2c.ch" +#line 101 "cwebdir/comm-w2c.h" extern char buffer[]; extern char*buffer_end; @@ -191,7 +191,7 @@ extern char*loc; extern char*limit; /*:8*//*9:*/ -#line 111 "cwebdir/ctang-w2c.ch" +#line 116 "cwebdir/comm-w2c.h" typedef struct name_info{ char*byte_start; @@ -225,7 +225,7 @@ extern void print_section_name(name_pointer); extern void sprint_section_name(char*,name_pointer); /*:9*//*10:*/ -#line 111 "cwebdir/ctang-w2c.ch" +#line 157 "cwebdir/comm-w2c.h" extern int history; extern int wrap_up(void); @@ -234,7 +234,7 @@ extern void fatal(const char*,const char*); extern void overflow(const char*); /*:10*//*11:*/ -#line 111 "cwebdir/ctang-w2c.ch" +#line 172 "cwebdir/comm-w2c.h" extern int include_depth; extern FILE*file[]; @@ -258,7 +258,7 @@ extern void check_complete(void); extern void reset_input(void); /*:11*//*12:*/ -#line 111 "cwebdir/ctang-w2c.ch" +#line 195 "cwebdir/comm-w2c.h" extern sixteen_bits section_count; extern boolean changed_section[]; @@ -266,14 +266,14 @@ extern boolean change_pending; extern boolean print_where; /*:12*//*13:*/ -#line 111 "cwebdir/ctang-w2c.ch" +#line 208 "cwebdir/comm-w2c.h" extern int argc; extern char**argv; extern boolean flags[]; /*:13*//*14:*/ -#line 111 "cwebdir/ctang-w2c.ch" +#line 220 "cwebdir/comm-w2c.h" extern FILE*C_file; extern FILE*tex_file; @@ -283,7 +283,7 @@ extern FILE*check_file; extern FILE*active_file; /*:14*//*15:*/ -#line 111 "cwebdir/ctang-w2c.ch" +#line 230 "cwebdir/comm-w2c.h" extern void common_init(void); extern void print_stats(void); diff --git a/source/texk/web2c/ctiedir/ChangeLog b/source/texk/web2c/ctiedir/ChangeLog index 2ce0f61df..357fa3aca 100644 --- a/source/texk/web2c/ctiedir/ChangeLog +++ b/source/texk/web2c/ctiedir/ChangeLog @@ -1,3 +1,9 @@ +2020-04-26 Andreas Scherer + + * ctie-k.ch: Fix several typos in ctie.w. + Use British English also in the changefile. + Make the result TeXable, preserving section numbers. + 2014-06-18 Peter Breitenlohner * ctie-k.ch: Avoid useless char subscript warnings. diff --git a/source/texk/web2c/ctiedir/ctie-k.ch b/source/texk/web2c/ctiedir/ctie-k.ch index 5741bb1c0..07d6bf9bc 100644 --- a/source/texk/web2c/ctiedir/ctie-k.ch +++ b/source/texk/web2c/ctiedir/ctie-k.ch @@ -35,12 +35,11 @@ int main (int argc, string *argv) @x l.105 Set up kpathsea stuff @; @y - @; + @; @; @z -These are defined by kpathsea; we replace this by the path-searching -initialisation code taken almost verbatim from comm-w2c.ch. +boolean and string are defined by kpathsea. @x l.116 @ We include the additional types |boolean| and |string|. \.{CTIE} replaces the complex \.{TIE} character set handling (based on that of @@ -54,44 +53,18 @@ so uses the |char| type for input and output. typedef int boolean; typedef char* string; @y -@ The \.{ctie} program from the original \.{CTIE} package uses the -compile-time default directory or the value of the environment -variable \.{CWEBINPUTS} as an alternative place to be searched for -files, if they could not be found in the current directory. - -This version uses the \Kpathsea/ mechanism for searching files. -The directories to be searched for come from three sources: - - (a)~a user-set environment variable \.{CWEBINPUTS} - (overriden by \.{CWEBINPUTS\_ctie});\par - (b)~a line in \Kpathsea/ configuration file \.{texmf.cnf},\hfil\break - e.g. \.{CWEBINPUTS=.:$TEXMF/texmf/cweb//} - or \.{CWEBINPUTS.ctie=.:$TEXMF/texmf/cweb//};\hangindent=2\parindent\par - (c)~compile-time default directories \.{.:$TEXMF/texmf/cweb//} - (specified in \.{texmf.in}). - -@d kpse_find_cweb(name) kpse_find_file(name, kpse_cweb_format, true) - -@ The simple file searching is replaced by the `path searching' -mechanism that the \Kpathsea/ library provides. - -We set |kpse_program_name| to |"ctie"|. This means if the variable -|CWEBINPUTS.ctie| is present in \.{texmf.cnf} (or |CWEBINPUTS_ctie| in -the environment) its value will be used as the search path for -filenames. This allows different flavors of \.{CTIE} to have -different search paths. - -@= -kpse_set_program_name(argv[0], "ctie"); - @ We include the additional types |boolean| and |string|. \.{CTIE} replaces the complex \.{TIE} character set handling (based on that of the original \.{WEB} system) with the standard \.{CWEB} behaviour, and so uses the |char| type for input and output. -The |kpathsea| library (version 3.4.5) defines the |true|, |false|, -|boolean| and |string| types in \.{kpathsea/types.h}, so we do not -actually need to define them here. +The |kpathsea| library (version 3.4.5 and higher) defines the |true|, |false|, +|boolean| and |string| types in \.{kpathsea/types.h}, so we do not actually +need to define them here. + +@s boolean int +@s string int +@s const_string int @z @x l.129 The kpathsea include files find the right header file for these. @@ -117,6 +90,12 @@ the \.{kpathsea} headers do the right thing. @d xisupper(c) (isupper((unsigned char)c)&&((unsigned char)c<0200)) @z +@x l.155 +This variable must be initialized. +@y +This variable must be initialised. +@z + @x l.173 The kpathsea include files must be first. #include @y @@ -143,6 +122,12 @@ too. @^system dependencies@> @z +@x l.190 +files) are treated the same way. To organize the +@y +files) are treated the same way. To organise the +@z + @x l.284 way too short! @d max_file_name_length 60 @y @@ -157,6 +142,12 @@ static boolean get_line (file_index i, boolean do_includes) @z +@x l.361 +replacement part of a change file, or in an incomplerte check if the +@y +replacement part of a change file, or in an incomplete check if the +@z + Handle input lines with CRLF @x l.376 @@ -165,6 +156,12 @@ Handle input lines with CRLF if ((*(k++) = c) != ' ' && c != '\r') inp_desc->limit = k; @z +@x l.386 + @limit = k; @y @@ -290,6 +287,12 @@ void pfatal_error (const char *s, const char *t) out_file=fopen(out_name, "wb"); @z +@x l.739 +@ The name of the file and the file desciptor are stored in +@y +@ The name of the file and the file descriptor are stored in +@z + @x l.747 Use the kpathsea library to do this @ For the master file we start by reading its first line into the buffer, if we could open it. @@ -498,6 +501,9 @@ print_version_and_exit (const_string name, const_string version) } @z +We use the path-searching initialisation code +taken almost verbatim from comm-w2c.ch. + @x l.1267 @* System-dependent changes. This section should be replaced, if necessary, by @@ -512,5 +518,35 @@ module number. @^system dependencies@> @y @* System-dependent changes. -There are no additional changes. +The \.{ctie} program from the original \.{CTIE} package uses the +compile-time default directory or the value of the environment +variable \.{CWEBINPUTS} as an alternative place to be searched for +files, if they could not be found in the current directory. + +This version uses the \Kpathsea/ mechanism for searching files. +The directories to be searched for come from three sources: +\smallskip +{\parindent5em +\item{(a)} a user-set environment variable \.{CWEBINPUTS} + (overridden by \.{CWEBINPUTS\_ctie}); +\item{(b)} a line in \Kpathsea/ configuration file \.{texmf.cnf},\hfil\break + e.g., \.{CWEBINPUTS=\$TEXMFDOTDIR:\$TEXMF/texmf/cweb//}\hfil\break + or \.{CWEBINPUTS.ctie=\$TEXMFDOTDIR:\$TEXMF/texmf/cweb//}; +\item{(c)} compile-time default directories (specified in + \.{texmf.in}),\hfil\break + i.e., \.{\$TEXMFDOTDIR:\$TEXMF/texmf/cweb//}.\par} + +@d kpse_find_cweb(name) kpse_find_file(name, kpse_cweb_format, true) + +@ The simple file searching is replaced by the `path searching' +mechanism that the \Kpathsea/ library provides. + +We set |kpse_program_name| to `\.{ctie}'. This means if the variable +\.{CWEBINPUTS.ctie} is present in \.{texmf.cnf} (or \.{CWEBINPUTS\_ctie} +in the environment) its value will be used as the search path for +filenames. This allows different flavors of \.{CTIE} to have +different search paths. + +@= +kpse_set_program_name(argv[0], "ctie"); @z diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h index 8e3bbb900..dbe2c11de 100644 --- a/source/texk/web2c/luatexdir/luatex_svnversion.h +++ b/source/texk/web2c/luatexdir/luatex_svnversion.h @@ -1 +1 @@ -#define luatex_svn_revision 7351 +#define luatex_svn_revision 7353 diff --git a/source/texk/web2c/omegafonts/Makefile.in b/source/texk/web2c/omegafonts/Makefile.in index 2e2dae746..2bc6e9513 100644 --- a/source/texk/web2c/omegafonts/Makefile.in +++ b/source/texk/web2c/omegafonts/Makefile.in @@ -119,6 +119,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/web2c-disable.m4 \ $(top_srcdir)/../../m4/kpse-mpfr-flags.m4 \ $(top_srcdir)/../../m4/kpse-pixman-flags.m4 \ $(top_srcdir)/../../m4/kpse-poppler-flags.m4 \ + $(top_srcdir)/../../m4/kpse-pplib-flags.m4 \ $(top_srcdir)/../../m4/kpse-ptexenc-flags.m4 \ $(top_srcdir)/../../m4/kpse-socket-libs.m4 \ $(top_srcdir)/../../m4/kpse-teckit-flags.m4 \ @@ -593,6 +594,9 @@ PKG_CONFIG = @PKG_CONFIG@ POPPLER_DEPEND = @POPPLER_DEPEND@ POPPLER_INCLUDES = @POPPLER_INCLUDES@ POPPLER_LIBS = @POPPLER_LIBS@ +PPLIB_DEPEND = @PPLIB_DEPEND@ +PPLIB_INCLUDES = @PPLIB_INCLUDES@ +PPLIB_LIBS = @PPLIB_LIBS@ PTEXENC_DEPEND = @PTEXENC_DEPEND@ PTEXENC_INCLUDES = @PTEXENC_INCLUDES@ PTEXENC_LIBS = @PTEXENC_LIBS@ diff --git a/source/texk/web2c/otps/Makefile.in b/source/texk/web2c/otps/Makefile.in index a6b63930f..cf35999da 100644 --- a/source/texk/web2c/otps/Makefile.in +++ b/source/texk/web2c/otps/Makefile.in @@ -119,6 +119,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/web2c-disable.m4 \ $(top_srcdir)/../../m4/kpse-mpfr-flags.m4 \ $(top_srcdir)/../../m4/kpse-pixman-flags.m4 \ $(top_srcdir)/../../m4/kpse-poppler-flags.m4 \ + $(top_srcdir)/../../m4/kpse-pplib-flags.m4 \ $(top_srcdir)/../../m4/kpse-ptexenc-flags.m4 \ $(top_srcdir)/../../m4/kpse-socket-libs.m4 \ $(top_srcdir)/../../m4/kpse-teckit-flags.m4 \ @@ -627,6 +628,9 @@ PKG_CONFIG = @PKG_CONFIG@ POPPLER_DEPEND = @POPPLER_DEPEND@ POPPLER_INCLUDES = @POPPLER_INCLUDES@ POPPLER_LIBS = @POPPLER_LIBS@ +PPLIB_DEPEND = @PPLIB_DEPEND@ +PPLIB_INCLUDES = @PPLIB_INCLUDES@ +PPLIB_LIBS = @PPLIB_LIBS@ PTEXENC_DEPEND = @PTEXENC_DEPEND@ PTEXENC_INCLUDES = @PTEXENC_INCLUDES@ PTEXENC_LIBS = @PTEXENC_LIBS@ diff --git a/source/texk/web2c/otps/win32/Makefile.in b/source/texk/web2c/otps/win32/Makefile.in index c7e88f6f9..f32331a73 100644 --- a/source/texk/web2c/otps/win32/Makefile.in +++ b/source/texk/web2c/otps/win32/Makefile.in @@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/web2c-disable.m4 \ $(top_srcdir)/../../m4/kpse-mpfr-flags.m4 \ $(top_srcdir)/../../m4/kpse-pixman-flags.m4 \ $(top_srcdir)/../../m4/kpse-poppler-flags.m4 \ + $(top_srcdir)/../../m4/kpse-pplib-flags.m4 \ $(top_srcdir)/../../m4/kpse-ptexenc-flags.m4 \ $(top_srcdir)/../../m4/kpse-socket-libs.m4 \ $(top_srcdir)/../../m4/kpse-teckit-flags.m4 \ @@ -347,6 +348,9 @@ PKG_CONFIG = @PKG_CONFIG@ POPPLER_DEPEND = @POPPLER_DEPEND@ POPPLER_INCLUDES = @POPPLER_INCLUDES@ POPPLER_LIBS = @POPPLER_LIBS@ +PPLIB_DEPEND = @PPLIB_DEPEND@ +PPLIB_INCLUDES = @PPLIB_INCLUDES@ +PPLIB_LIBS = @PPLIB_LIBS@ PTEXENC_DEPEND = @PTEXENC_DEPEND@ PTEXENC_INCLUDES = @PTEXENC_INCLUDES@ PTEXENC_LIBS = @PTEXENC_LIBS@ diff --git a/source/texk/web2c/tiedir/ChangeLog b/source/texk/web2c/tiedir/ChangeLog index 28d2e6b46..45b33a70d 100644 --- a/source/texk/web2c/tiedir/ChangeLog +++ b/source/texk/web2c/tiedir/ChangeLog @@ -1,6 +1,14 @@ +2020-04-26 Andreas Scherer + + * tie-w2c.ch: Fix several typos in tie.w. + +2020-04-23 Andreas Scherer + + * tie-w2c.ch: Fix typographic deviations from original tie. + 2018-01-18 Karl Berry - * tie.w (print, print_ln): printf %s instead of direct string + * tie-w2c.w (print, print_ln): printf %s instead of direct string (from Debian). 2014-02-12 Peter Breitenlohner diff --git a/source/texk/web2c/tiedir/tie-w2c.ch b/source/texk/web2c/tiedir/tie-w2c.ch index 37d5bd7b2..c5d913a43 100644 --- a/source/texk/web2c/tiedir/tie-w2c.ch +++ b/source/texk/web2c/tiedir/tie-w2c.ch @@ -17,7 +17,9 @@ typedef int boolean; typedef char* string; @y @ Furthermore we include the additional types |boolean| and |string|. -/* boolean, false, true; string; all from cpascal.h */ +/* |boolean|, |false|, |true|; |string|; all from \.{cpascal.h} */ +@s boolean int +@s string int @z @x -- we need more input files. @@ -28,13 +30,25 @@ typedef char* string; /* we don't think that anyone needs more than 32 change files, @z +@x +@d print(a) fprintf(term_out,a) /* `|print|' means write on the terminal */ +@y +@d print(a) fprintf(term_out,"%s",a) /* `|print|' means write on the terminal */ +@z + +@x +@d print_ln(v) {fprintf(term_out,v);term_new_line;} +@y +@d print_ln(v) {fprintf(term_out,"%s",v);term_new_line;} +@z + @x -- add to global includes. #include @y #include "cpascal.h" #include #include -/* Also redefine usage to avoid clash with function from lib. */ +/* Also redefine |usage| to avoid clash with function from lib. */ #define usage tieusage @z @@ -124,6 +138,12 @@ static boolean e_of_ch_preamble (file_index i) @z +@x l.1005 +a line to write and |test_input| ist set to |none|. +@y +a line to write and |test_input| is set to |none|. +@z + @x void usage() { @@ -135,6 +155,12 @@ void usage (void) print("Usage: tie -m|-c outfile master changefile(s)"); @z +@x l.1169 +change files. The names fo the file parameters will be inserted into +@y +change files. The names of the file parameters will be inserted into +@z + @x main(argc,argv) int argc; string *argv; @@ -152,6 +178,12 @@ int main (int argc, string *argv) print_ln(copyright); /* include the copyright notice */ @z +@x l.1256 +Additionaly we report the history to the user, although this may not +@y +Additionally we report the history to the user, although this may not +@z + @x {string msg; @y @@ -163,4 +195,4 @@ int main (int argc, string *argv) @y default: /* Anything except spotless, troublesome, or fatal is a bug. */ case fatal: msg="That was a fatal error, my friend"; break; -@z \ No newline at end of file +@z diff --git a/source/texk/web2c/tiedir/tie.w b/source/texk/web2c/tiedir/tie.w index e40d48735..227328b72 100644 --- a/source/texk/web2c/tiedir/tie.w +++ b/source/texk/web2c/tiedir/tie.w @@ -25,7 +25,7 @@ % also repaired loop control for end of changes test (92-09-24) % Version 2.4 included instead of when % used with ANSI-C (92-12-17) -% See ChangeLog for further changes. +% % Here is TeX material that gets inserted after \input cwebmac @@ -458,14 +458,14 @@ for terminating an output line and writing strings to the user. @^system dependencies@> @d term_out stdout -@d print(a) fprintf(term_out,"%s",a) /* `|print|' means write on the terminal */ +@d print(a) fprintf(term_out,a) /* `|print|' means write on the terminal */ @d print2(a,b) fprintf(term_out,a,b) /* same with two arguments */ @d print3(a,b,c) fprintf(term_out,a,b,c) /* same with three arguments */ @d print_c(v) fputc(v,term_out); /* print a single character */ @d new_line(v) fputc('\n',v) /* start new line */ @d term_new_line new_line(term_out) /* start new line of the terminal */ -@d print_ln(v) {fprintf(term_out,"%s",v);term_new_line;} +@d print_ln(v) {fprintf(term_out,v);term_new_line;} /* `|print|' and then start new line */ @d print2_ln(a,b) {print2(a,b);term_new_line;} /* same with two arguments */ @d print3_ln(a,b,c) {print3(a,b,c);term_new_line;} diff --git a/source/texk/web2c/window/Makefile.in b/source/texk/web2c/window/Makefile.in index 6bf0ed05e..3b8b1fab0 100644 --- a/source/texk/web2c/window/Makefile.in +++ b/source/texk/web2c/window/Makefile.in @@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/web2c-disable.m4 \ $(top_srcdir)/../../m4/kpse-mpfr-flags.m4 \ $(top_srcdir)/../../m4/kpse-pixman-flags.m4 \ $(top_srcdir)/../../m4/kpse-poppler-flags.m4 \ + $(top_srcdir)/../../m4/kpse-pplib-flags.m4 \ $(top_srcdir)/../../m4/kpse-ptexenc-flags.m4 \ $(top_srcdir)/../../m4/kpse-socket-libs.m4 \ $(top_srcdir)/../../m4/kpse-teckit-flags.m4 \ @@ -362,6 +363,9 @@ PKG_CONFIG = @PKG_CONFIG@ POPPLER_DEPEND = @POPPLER_DEPEND@ POPPLER_INCLUDES = @POPPLER_INCLUDES@ POPPLER_LIBS = @POPPLER_LIBS@ +PPLIB_DEPEND = @PPLIB_DEPEND@ +PPLIB_INCLUDES = @PPLIB_INCLUDES@ +PPLIB_LIBS = @PPLIB_LIBS@ PTEXENC_DEPEND = @PTEXENC_DEPEND@ PTEXENC_INCLUDES = @PTEXENC_INCLUDES@ PTEXENC_LIBS = @PTEXENC_LIBS@ diff --git a/source/utils/configure b/source/utils/configure index 0dfa55501..9e4fec7ab 100755 --- a/source/utils/configure +++ b/source/utils/configure @@ -3220,7 +3220,7 @@ test "x$enable_web2c" = xno || { need_zlib=yes } -# $Id: web2c.ac 53078 2019-12-10 18:39:13Z karl $ +# $Id: web2c.ac 54824 2020-04-21 18:43:36Z lscarso $ # texk/web2c/ac/web2c.ac: configure.ac fragment for the TeX Live subdirectory texk/web2c/ ## configure options for TeX and MF