summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
diff options
context:
space:
mode:
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