diff options
Diffstat (limited to 'Build/source/texk/web2c/tiedir/tie-w2c.ch')
-rw-r--r-- | Build/source/texk/web2c/tiedir/tie-w2c.ch | 505 |
1 files changed, 0 insertions, 505 deletions
diff --git a/Build/source/texk/web2c/tiedir/tie-w2c.ch b/Build/source/texk/web2c/tiedir/tie-w2c.ch deleted file mode 100644 index 3227479598b..00000000000 --- a/Build/source/texk/web2c/tiedir/tie-w2c.ch +++ /dev/null @@ -1,505 +0,0 @@ -% Changes to adapt tie to web2c. -% Created 2001 by Olaf Weber -% Updated 2020 by Andreas Scherer -% This file is in the Public Domain. - -Limbo - -@x l.42 - \centerline{(CWEB Version 2.4)} -@y - \centerline{(CWEB Version 2.4 [\TeX~Live])} -@z - -@x l.44 -- reformat 'covernote' on table-of-contents page -\def\botofcontents{ -\null\vfill -\item{$\copyright$}1989, 1992 - by Technische Hochschule Darmstadt,\hfill\break -Fachbereich Informatik, Institut f\"ur Theoretische Informatik\hfill\break -All rights reserved.\hfill\break -This program is distributed WITHOUT ANY WARRANTY, express or implied. -\hfill\break -Permission is granted to make and distribute verbatim copies of this -program provided that the copyright notice and this permission notice -are preserved on all copies. -\hfill\break -Permission is granted to copy and distribute modified versions of this -program under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. -} -@y -\let\maybe=\iftrue -\def\covernote{\vbox{\noindent -Copyright \copyright~1989, 1992 - by Technische Hochschule Darmstadt,\hfill\break -Fachbereich Informatik, Institut f\"ur Theoretische Informatik -\smallskip\noindent -All rights reserved. -\bigskip\noindent -This program is distributed WITHOUT ANY WARRANTY, express or implied. -\smallskip\noindent -Permission is granted to make and distribute verbatim copies of this -program provided that the copyright notice and this permission notice -are preserved on all copies. -\smallskip\noindent -Permission is granted to copy and distribute modified versions of this -program under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. -}} -\datecontentspage -@z - -Section 1. - -@x l.96 -E.g.\ it will not use the |enum| type declarations. -@y -@z - -@x l.105 -@d banner "This is TIE, CWEB Version 2.4." -@y -@d banner "This is TIE, CWEB Version 2.4." - /* will be extended by the \TeX~Live |versionstring| */ -@z - -Section 2 - -@x l.113 -- improve typography -@<Global |#include|s@>@; -@y -@<Global \&{\#include}s@>@; -@z - -Section 3 - -@x l.123 -- Already in cpascal.h. -@d incr(v) v+=1 /* increase a variable by unity */ -@d decr(v) v-=1 /* decrease a variable by unity */ -@y -@z - -Section 4 - -@x l.130 -@ Furthermore we include the additional types |boolean| and |string|. -@d false 0 -@d true 1 -@<Global types@>= -typedef int boolean; -typedef char* string; -@y -@ The types |@!boolean| (with values |@!false| and |@!true|) and -|@!string| come from \.{<kpathsea/simpletypes.h>}. -@s boolean int -@s string int -@z - -Section 5 - -@x l.144 -- we need more input files. -#define max_file_index 9 -/* we don't think that anyone needs more than 9 change files, -@y -#define max_file_index 32 -/* we don't think that anyone needs more than 32 change files, -@z - -Section 6 - -l.155 -@x -- replace preprocessor macros -@d spotless 0 -@d troublesome 1 -@d fatal 2 - -@<Global variables@>= -static int history=spotless; -@y -@<Global variables@>= -typedef enum { - @!spotless, - @!troublesome, - @!fatal } return_code; -static return_code history=spotless; -@z - -Section 15 - -@x l.461 -@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 l.463 -- function used only for error messages -@d print3(a,b,c) fprintf(term_out,a,b,c) /* same with three arguments */ -@y -@d print3(a,b,c) fprintf(stderr,a,b,c) /* same with three arguments */ -@z - -@x l.468 -@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 l.471 -- used only for error reporting -@d print3_ln(a,b,c) {print3(a,b,c);term_new_line;} -@y -@d print3_ln(a,b,c) {print3(a,b,c);new_line(stderr);} -@z - -@x l.478 -- add to global includes. -@<Global |#include|s@>= -#include <stdio.h> -@y -@<Global \&{\#include}s@>= -#include "cpascal.h" /* |@!decr| and |@!incr| */ -#include <kpathsea/kpathsea.h> -#define usage tieusage /* Also redefine |usage| to avoid clash with function from lib. */ -@z - -Section 16 - -@x l.483 -- Remove redundant #include directives. -This should cause no trouble in any \Cl\ program. -@^system dependencies@> - -@<Global |#include|s@>= -#ifdef __STDC__ -#include <stdlib.h> -#else -#include <malloc.h> -#endif -@y -This should cause no trouble in any \Cl\ program. -The \.{kpathsea} include files handle the definition of |@!malloc|, too. -@^system dependencies@> -@z - -Sections 18 and 19: use enum as requested in tie.w - -@x l.522 -\leavevmode |file_types| is used to describe whether a file -@y -\leavevmode \&{file\_types} is used to describe whether a file -@z - -@x l.526 Fix case glitch. -the kind of output. (this would even be necessary if we -@y -the kind of output. (This would even be necessary if we -@z - -@x l.530 -#define search 0 -#define test 1 -#define reading 2 -#define ignore 3 -typedef int in_file_modes; /* should be |enum(search,test,reading,ignore)| */ -#define unknown 0 -#define master 1 -#define chf 2 -typedef int file_types; /* should be |enum(unknown,master,chf)| */ -@y -typedef enum { - @!search, - @!test, - @!reading, - @!ignore } in_file_modes; -typedef enum { - @!unknown, - @!master, - @!chf } file_types; -@z - -@x l.541 -@ A variable of type |out_md_type| will tell us in what state the output -@y -@ A variable of type \&{out\_md\_type} will tell us in what state the output -@z - -@x l.548 -#define normal 0 -#define pre 1 -#define post 2 -typedef int out_md_type; /* should be |enum(normal,pre,post)| */ -@y -typedef enum { - @!normal, - @!pre, - @!post } out_md_type; -@z - -Section 24 - -@x l.617 -void get_line(i) - file_index i; -@y -static void -get_line (file_index i) -@z - -Section 27 - -@x l.650 -- fix typo -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 - -@x l.667 - if (c!=@' ' && c!=tab_mark) -@y - if (c!=@' ' && c!=tab_mark && c!=@'\r') -@z - -Section 31 - -@x l.742 -- print errors on 'stderr' -@d err_print(m) { @+ print_nl(m); error_loc -@y -@d err_print(m) { @+ new_line(stderr); fprintf(stderr,"%s",m); error_loc -@z - -@x l.745 -void err_loc(i) /* prints location of error */ - int i; -@y -static void -err_loc (int i) /* prints location of error */ -@z - -Section 32 - -@x l.761 -- print errors on 'stderr' - print(m); print_c('.'); history=fatal; - term_new_line; jump_out(); -@y - fprintf(stderr,"%s",m); - fputc('.',stderr); history=fatal; - new_line(stderr); jump_out(); -@z - -Section 33 - -@x l.774 -@d jump_out() exit(1) -@y -@d jump_out() exit(EXIT_FAILURE) -@z - -Section 34 - -@x l.790 Use binary mode for output files - out_file=fopen(out_name,"w"); -@y - out_file=fopen(out_name,"wb"); -@z - -Section 36 - -@x l.811 - fopen(input_organization[0]->name_of_file,"r"); -@y - kpse_open_file(input_organization[0]->name_of_file, kpse_web_format); -@z - -Section 37 - -@x l.830 - fopen(input_organization[i]->name_of_file,"r"); -@y - kpse_open_file(input_organization[i]->name_of_file, kpse_web_format); -@z - -Section 38 - -@x l.851 -boolean lines_dont_match(i,j) - file_index i,j; -@y -static boolean -lines_dont_match (file_index i, file_index j) -@z - -Section 39 - -@x l.872 -void init_change_file(i,b) - file_index i; boolean b; -@y -static void -init_change_file (file_index i, boolean b) -@z - -Section 42 - -@x l.919 -void put_line(j) - file_index j; -@y -static void -put_line (file_index j) -@z - -Section 43 - -@x l.935 -boolean e_of_ch_module(i) - file_index i; -@y -static boolean -e_of_ch_module (file_index i) -@z - -Section 44 - -@x l.955 -boolean e_of_ch_preamble(i) - file_index i; -@y -static boolean -e_of_ch_preamble (file_index i) -@z - -Section 47 - -@x l.1005 -- fix typo -a line to write and |test_input| ist set to |none|. -@y -a line to write and |test_input| is set to |none|. -@z - -Section 48: fix indentation of nested loop. - -@x l.1044 -if (prod_chf==chf) { - loop @+ { - @<Test for normal, |break| when done@>@; - @<Test for pre, |break| when done@>@; - @<Test for post, |break| when done@>@; - } -} else -@y -if (prod_chf==chf) - loop @+ { - @<Test for normal, |break| when done@>@; - @<Test for pre, |break| when done@>@; - @<Test for post, |break| when done@>@; - } -else -@z - -Section 55 - -@x l.1158 -void usage() -{ - print("Usage: tie -[mc] outfile master changefile(s)"); -@y -static -void usage (void) -{ - print("Usage: tie -m|-c outfile master changefile(s)"); -@z - -Section 56 - -@x l.1169 -- fix typo -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 - -Section 59 - -@x l.1233 -\noindent Here is where \.{TIE} starts, and where it ends. -@y -\noindent Here is where \.{TIE} starts, and where it ends. -\def\Kpathsea/{{\mc KPATHSEA\spacefactor1000}} - -This version of the \.{TIE} program uses the \Kpathsea/ library for searching -files. Firstly, we use the |kpse_web_format| when opening input files, which -triggers the inspection of the \.{WEBINPUTS} environment variable. Secondly, -we set |kpse_program_name| to `\.{tie}'. This means if the variable -\.{WEBINPUTS.tie} is present in \.{texmf.cnf} (or \.{WEBINPUTS\_tie} in the -environment) its value will be used as the search path for filenames. This -allows different flavors of \.{TIE} (or other \.{WEB} programs) to have -different search paths.@.WEBINPUTS@> In all, the directories to be searched for -come from at least two sources: -\smallskip -{\parindent1.5em -\item{(a)} a user-set environment variable \.{WEBINPUTS} - (overridden by \.{WEBINPUTS\_tie}); -\item{(b)} a line in \Kpathsea/ configuration file \.{texmf.cnf},\hfil\break - e.g., \.{WEBINPUTS=\$TEXMFDOTDIR:\$TEXMF/texmf/web//}\hfil\break - or \.{WEBINPUTS.tie=\$TEXMFDOTDIR:\$TEXMF/texmf/web//}.\par} -\smallskip -Note that, although \.{WEBINPUTS} might suggest otherwise, \.{TIE} is more or -less language-agnostic and that it is perfectly capable of handling \.{CWEB} -files as input as well, as long as the ``change files'' adhere to the general -\.{@@x}, \.{@@y}, \.{@@z} convention. -@z - -@x l.1236 -main(argc,argv) - int argc; string *argv; -@y -int main (int argc, string *argv) -@z - -@x l.1241 - print_ln(banner); /* print a ``banner line'' */ - print_ln(copyright); /* include the copyright notice */ -@y - kpse_set_program_name(argv[0], "tie"); - print(banner); /* print a ``banner line'' */ - print_ln(versionstring); /* Web2C version */ - print_ln(copyright); /* include the copyright notice */ -@z - -Section 60 - -@x l.1256 -- fix typo -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 l.1261 -- rewrite error reporting -@<Print the job |history|@>= -{string msg; - switch (history) { - case spotless: msg="No errors were found"; break; - case troublesome: msg="Pardon me, but I think I spotted something wrong."; - break; - case fatal: msg="That was a fatal error, my friend"; break; - } /* there are no other cases */ - print2_nl("(%s.)",msg); term_new_line; - exit ( history == spotless ? 0 : 1 ); -} -@y -@<Print the job |history|@>= -{ - switch (history) { - case spotless: print2_nl("(%s.)", "No errors were found"); - term_new_line; break; - case troublesome: new_line(stderr); fprintf(stderr, - "(Pardon me, but I think I spotted something wrong.)"); - new_line(stderr); break; - case fatal: - default: /* Anything except spotless, troublesome, or fatal is a bug. */ - new_line(stderr); - fprintf(stderr, "(That was a fatal error, my friend.)"); - new_line(stderr); break; - } - exit ( history == spotless ? EXIT_SUCCESS : EXIT_FAILURE ); -} -@z |