Age | Commit message (Collapse) | Author |
|
This new release provides the following features:
* @<Code sections@> can be used freely in any #if -- #elif -- #else --
#endif preprocessor branches without bashing the debugger
* The GCC compiler can be invoked with option -Wimplicit-fallthrough=2
on all CWEB code modules and will acknowledge /* fall through */
comments in the tangled C code
* Simple C casts like '(double)x' are formatted with non-breaking small
spaces as '(double)\,x' in the woven TeX output
* The HINT boolean macros are now in lowercase (as in ifhint.tex)
* Comma-separated lists of variable declarations are formatted in
accordance with function parameter lists and enumerations, i.e.,
comma is handled in math-mode with associated small spacing
and it fixes these bugs:
* Section @<Preprocessor definitions@> isn't overprinted (in PDF)
* Trivial CWEB code is formatted correctly (issue #36)
* Nested type definitions are recognized (issue #34)
Major remaining bug (as of CWEB 4.3.1):
* Issue #38 as described earlier
git-svn-id: svn://tug.org/texlive/trunk@63490 c570f23f-e606-0410-a88d-b1316a301751
|
|
Related to the 'bug, known' in CWEAVE section 200, there's a second
known bug with the treatment of '@t TeX material @>' in a peculiar
application scenario, i.e., when you try to place a function declaration
(aka prototype) next to the function definition and separate them with a
'force' line break instead of the default 'big_force' (from production
rule 76).
For example, several codes of MMIX (mmixal.w, mmix-arith.w,
mmix-config.w, mmix-io.w, mmix-mem.w, mmix-sim.w, mmmix.w) use the
convention
void flush_listing_line @,@,@[ARGS((char*))@];@+@t}\6{@>
void flush_listing_line(s)
char *s;
{ ... }
Most likely because of the modified production rule 1, the '@t}\6{@>'
ends up _after_ the '\1\1' introduced by 'dindent' around the function
header and causes the function definition to be indented together with
the list of arguments. To avoid this bug in this particular case, you
should use '@t}\6\4\4{@>' instead. (Other non-conflicting cases of
'@t}\6{@>' work as before.)
Note that MMIX uses different conventions, too: mmotype.w does _not_
mingle with the line separation at all, leaving the CWEB default of
'big_force' intact. And mmix-pipe.w cleanly separates @<Prototypes@>
from @<Subroutines@> (both internal and external). I have not found
any other codes outside MMIX that are affected by this bug in CWEB 4.
git-svn-id: svn://tug.org/texlive/trunk@63488 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63483 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63462 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63454 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63453 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63435 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63421 c570f23f-e606-0410-a88d-b1316a301751
|
|
Rule 33: Comma-separated lists of variables like 'int x,y,z;' had a
full blank space (see, e.g., the SGB book), in stark contrast to the
resuts of rules 4 and 14.
Rule 118: Multiple type definitions were separated by _two_ spaces,
because the type after the comma brings its own space from rule 117.
This might look better with 'app(opt); app('9');' after the comma.
Rule 153: Long lines with multiple typename declarations now have the
chance to be broken after the comma.
git-svn-id: svn://tug.org/texlive/trunk@63419 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63418 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63415 c570f23f-e606-0410-a88d-b1316a301751
|
|
Try to match CWEAVE section 111 (prod.w) with the implementation
of the production rules.
git-svn-id: svn://tug.org/texlive/trunk@63411 c570f23f-e606-0410-a88d-b1316a301751
|
|
Rule 121 is a trivial concretization.
Rule 83 is changed to correctly format 'trivial' CWEB code like
@c
#include <stdio.h>
@#
main() {}
that got clobbered as in 'queen.w' from The Stanford GraphBase.
As always, thanks to Github contributor @texdraft!
git-svn-id: svn://tug.org/texlive/trunk@63408 c570f23f-e606-0410-a88d-b1316a301751
|
|
r881, r882)
git-svn-id: svn://tug.org/texlive/trunk@63385 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63383 c570f23f-e606-0410-a88d-b1316a301751
|
|
Now 'gb_words.w' is formatted correctly again.
git-svn-id: svn://tug.org/texlive/trunk@63376 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63314 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63305 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63246 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63239 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63238 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63216 c570f23f-e606-0410-a88d-b1316a301751
|
|
In the very rare case of a multi-line preprocessor macro as in file
'gb_io.w' of The Stanford GraphBase, CWEAVE issued a spurious line
'\1\1\2\2\6' that forces an extra empty line in the TeX output.
git-svn-id: svn://tug.org/texlive/trunk@63183 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63182 c570f23f-e606-0410-a88d-b1316a301751
|
|
See
https://tug.org/pipermail/tlbuild/2022q2/005220.html
for the bug report and
https://blogs.oracle.com/solaris/post/reflink3c-what-is-it-why-do-i-care-and-how-can-i-use-it
for Oracle's rationale.
git-svn-id: svn://tug.org/texlive/trunk@63158 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63154 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63142 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63131 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63110 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63083 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63056 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63017 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63000 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62999 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62998 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62962 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62912 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62898 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62887 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62855 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62653 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62619 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62591 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62590 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62588 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62586 c570f23f-e606-0410-a88d-b1316a301751
|
|
This is specific for GCC, but totally harmless for any other C compiler:
GCC accepts 'fall thru' comments from the CWEB sources with its option
'-Wimplicit-fallthrough=2', when we push these comments over to the
tangled C code.
git-svn-id: svn://tug.org/texlive/trunk@62584 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62581 c570f23f-e606-0410-a88d-b1316a301751
|
|
K.Berry).
git-svn-id: svn://tug.org/texlive/trunk@62574 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62569 c570f23f-e606-0410-a88d-b1316a301751
|