summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
diff options
context:
space:
mode:
authorAndreas Scherer <andreas_tex@freenet.de>2021-09-16 11:13:15 +0000
committerAndreas Scherer <andreas_tex@freenet.de>2021-09-16 11:13:15 +0000
commit7babe2030a984be601d710791466ef924d86aa15 (patch)
tree7161702cf9a7ed3b1ed998363e62401c2dd64aee /Build/source/texk/web2c/cwebdir/cweav-w2c.ch
parent5efc5b488d9d9fba35ad0884b6a900c681945ffa (diff)
[CWEB] Pre-release of version 4.6.
This is a service update due to general demand: * Option 'c' is OFF by default to avoid spurious entries in build.log. * 'squash'/'reduce' have been straightened out for k=1,..,4. * Code beautifications for 'make fullmanual'. * Code cleanup for internal reasons. * Cleanup in 'prod.w' (indentation et al.). * New 'prod-cweave.w' (along 'prod-twill.w') for material from CWEBbin. * Fixes for option '-o' (didn't work as advertised in border cases). * New signature for the 'make_ministring' function in CTWILL. git-svn-id: svn://tug.org/texlive/trunk@60519 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/cwebdir/cweav-w2c.ch')
-rw-r--r--Build/source/texk/web2c/cwebdir/cweav-w2c.ch30
1 files changed, 23 insertions, 7 deletions
diff --git a/Build/source/texk/web2c/cwebdir/cweav-w2c.ch b/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
index b7521b74de3..6eb45064430 100644
--- a/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
+++ b/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
@@ -199,7 +199,7 @@ tricky way so that the first line of the output file will be
@<Start \TEX/...@>=
out_ptr=out_buf+1; out_line=1; active_file=tex_file;
-*out_ptr='c'; tex_printf("\\input cwebma");
+tex_printf("\\input cwebma"); *out_ptr='c';
@y
@ In particular, the |finish_line| procedure is called near the very
beginning of phase two. We initialize the output variables in a slightly
@@ -213,10 +213,11 @@ Without this option the first line of the output file will be
`\.{\\input cwebmac}'.
@<Start \TEX/...@>=
-out_ptr=out_buf+1; out_line=1; active_file=tex_file; *out_ptr='c';
+out_ptr=out_buf+1; out_line=1; active_file=tex_file;
tex_puts("\\input ");
tex_printf(use_language);
tex_puts("cwebma");
+*out_ptr='c';
@z
@x
@@ -268,6 +269,12 @@ tex_puts("cwebma");
@z
@x
+@i prod.w
+@y
+@i prod-cweave.w
+@z
+
+@x
@d inner_tok_flag (5*id_flag) /* signifies a token list in `\pb' */
@c
@@ -329,7 +336,7 @@ else if ((cat1==binop||cat1==colon) && cat2==exp && (cat3==comma ||
squash(pp,3,decl_head,-1,36);
else if (cat1==cast) squash(pp,2,decl_head,-1,37);
else if (cat1==lbrace || cat1==int_like || cat1==decl) {
- big_app(dindent); big_app1(pp); reduce(pp,1,fn_decl,0,38);
+ big_app(dindent); squash(pp,1,fn_decl,0,38);
}
else if (cat1==semi) squash(pp,2,decl,-1,39);
@y
@@ -349,8 +356,8 @@ else if ((cat1==binop||cat1==colon) && cat2==exp && (cat3==comma ||
squash(pp,3,decl_head,-1,36);
else if (cat1==cast) squash(pp,2,decl_head,-1,37);
else if (cat1==lbrace || cat1==int_like || cat1==decl) {
- if (indent_param_decl) big_app(dindent); big_app1(pp);
- reduce(pp,1,fn_decl,0,38);
+ if (indent_param_decl) big_app(dindent);
+ squash(pp,1,fn_decl,0,38);
}
else if (cat1==semi) squash(pp,2,decl,-1,39);
@z
@@ -405,6 +412,15 @@ else if (cat1==stmt) {
@z
@x
+ big_app1_insert(pp, (cat1==function || cat1==decl) ? big_force :
+ force_lines ? force : break_space); reduce(pp,2,cat1,-1,76);
+@y
+ big_app1_insert(pp, (cat1==function || cat1==decl) ? @|
+ ( order_decl_stmt ? big_force : force ) : @|
+ ( force_lines ? force : break_space ) ); reduce(pp,2,cat1,-1,76);
+@z
+
+@x
overflow("token");
@y
overflow(_("token"));
@@ -441,9 +457,9 @@ else if (cat1==stmt) {
@z
@x
- else err_print("! Double @@ should be used in strings");
+ else err_print("! Double @@ should be used in strings");
@y
- else err_print(_("! Double @@ should be used in strings"));
+ else err_print(_("! Double @@ should be used in strings"));
@z
@x