From 8bafa5e975dfea96d4a5ee575206e38c7199399b Mon Sep 17 00:00:00 2001 From: Andreas Scherer Date: Wed, 24 Feb 2021 13:49:18 +0000 Subject: [CWEB] Fine print for single '@' characters in TeX text. git-svn-id: svn://tug.org/texlive/trunk@57870 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/cwebboot.cin | 20 ++++++++++---------- Build/source/texk/web2c/cwebdir/ChangeLog | 6 ++++++ Build/source/texk/web2c/cwebdir/common.w | 2 +- Build/source/texk/web2c/cwebdir/ctangle.w | 4 ++-- Build/source/texk/web2c/cwebdir/cweave.w | 2 +- 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/Build/source/texk/web2c/cwebboot.cin b/Build/source/texk/web2c/cwebboot.cin index 4e1eda44868..f455693f118 100644 --- a/Build/source/texk/web2c/cwebboot.cin +++ b/Build/source/texk/web2c/cwebboot.cin @@ -23,7 +23,7 @@ #include /*:3*//*89:*/ -#line 710 "cwebdir/comm-w2c.ch" +#line 709 "cwebdir/comm-w2c.ch" #if HAVE_GETTEXT #include @@ -34,7 +34,7 @@ #endif /*:89*//*91:*/ -#line 757 "cwebdir/comm-w2c.ch" +#line 756 "cwebdir/comm-w2c.ch" typedef bool boolean; #define HAVE_BOOLEAN @@ -44,7 +44,7 @@ typedef bool boolean; #include /*:91*//*94:*/ -#line 796 "cwebdir/comm-w2c.ch" +#line 795 "cwebdir/comm-w2c.ch" #define CWEB #include "help.h" @@ -482,7 +482,7 @@ static int section_name_cmp(char**,int,name_pointer); static void scan_args(void); /*:75*//*96:*/ -#line 809 "cwebdir/comm-w2c.ch" +#line 808 "cwebdir/comm-w2c.ch" static void cb_usage(const_string str); static void cb_usagehelp(const_string*message,const_string bug_email); @@ -515,7 +515,7 @@ for(h= hash;h<=hash_end;*h++= NULL); #line 78 "cwebdir/comm-w2c.ch" /*92:*/ -#line 771 "cwebdir/comm-w2c.ch" +#line 770 "cwebdir/comm-w2c.ch" kpse_set_program_name(argv[0],"cweb"); @@ -524,7 +524,7 @@ kpse_set_program_name(argv[0],"cweb"); #line 85 "cwebdir/comm-w2c.ch" /*90:*/ -#line 719 "cwebdir/comm-w2c.ch" +#line 718 "cwebdir/comm-w2c.ch" setlocale(LC_MESSAGES,setlocale(LC_CTYPE,"")); texmf_locale= kpse_var_expand("${TEXMFLOCALEDIR}"); @@ -1427,7 +1427,7 @@ if((**(++argv)=='-'||**argv=='+')&&*(*argv+1))/*80:*/ if(strcmp("-help",*argv)==0||strcmp("--help",*argv)==0) /*95:*/ -#line 800 "cwebdir/comm-w2c.ch" +#line 799 "cwebdir/comm-w2c.ch" cb_usagehelp(program==ctangle?CTANGLEHELP: program==cweave?CWEAVEHELP:CTWILLHELP,NULL); @@ -1439,7 +1439,7 @@ program==cweave?CWEAVEHELP:CTWILLHELP,NULL); if(strcmp("-version",*argv)==0||strcmp("--version",*argv)==0) /*98:*/ -#line 847 "cwebdir/comm-w2c.ch" +#line 846 "cwebdir/comm-w2c.ch" printversionandexit(cb_banner, program==ctwill?"Donald E. Knuth":"Silvio Levy and Donald E. Knuth", @@ -1618,7 +1618,7 @@ cb_usage(program==ctangle?"ctangle":program==cweave?"cweave":"ctwill"); #line 496 "cwebdir/comm-w2c.ch" /*:76*//*97:*/ -#line 813 "cwebdir/comm-w2c.ch" +#line 812 "cwebdir/comm-w2c.ch" static void cb_usage(const_string str) { @@ -1651,7 +1651,7 @@ history= spotless;exit(wrap_up()); } /*:97*//*99:*/ -#line 855 "cwebdir/comm-w2c.ch" +#line 854 "cwebdir/comm-w2c.ch" void cb_show_banner(void) { diff --git a/Build/source/texk/web2c/cwebdir/ChangeLog b/Build/source/texk/web2c/cwebdir/ChangeLog index 9fd5e609075..d873c6244fe 100644 --- a/Build/source/texk/web2c/cwebdir/ChangeLog +++ b/Build/source/texk/web2c/cwebdir/ChangeLog @@ -1,3 +1,9 @@ +2021-02-24 Andreas Scherer + + * common.w, + * ctangle.w, + * cweave.w: Fine print for single '@' characters in TeX text. + 2021-02-24 Andreas Scherer * cweave.w: Fix output format when 'tracing @2'. diff --git a/Build/source/texk/web2c/cwebdir/common.w b/Build/source/texk/web2c/cwebdir/common.w index 85188f4e405..2b90275437d 100644 --- a/Build/source/texk/web2c/cwebdir/common.w +++ b/Build/source/texk/web2c/cwebdir/common.w @@ -289,7 +289,7 @@ prepares to read the next line from |change_file|. When a match is found, the current section is marked as changed unless the first line after the \.{@@x} and after the \.{@@y} both start with -either |'@@*'| or |'@@ '| (possibly preceded by whitespace). +either `\.{@@*}' or `\.{@@\ }' (possibly preceded by whitespace). This procedure is called only when |buffer@; + @@; a=cur_section_name-name_dir; app_repl((a / 0400)+0250); app_repl(a % 0400); @@ -1263,7 +1263,7 @@ case definition: case format_code: case begin_C: if (t!=section_name) goto done; } case new_section: goto done; -@ @= { +@ @= { char *try_loc=loc; while (*try_loc==' ' && try_loclimit && get_line()==false) return; *(limit+1)='@@'; - while (*loc!='@@') loc++; /* look for '@@', then skip two chars */ + while (*loc!='@@') loc++; /* look for `\.{@@}', then skip two chars */ if (loc++ <=limit) { int c=ccode[(eight_bits)*loc++]; if (c==new_section) return; if (c==noop) skip_restricted(); -- cgit v1.2.3