summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
AgeCommit message (Collapse)Author
2022-06-05[CWEB] Release 4.8.Andreas Scherer
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
2022-05-28[CWEB] Improce productions 33, 118, and 153.Andreas Scherer
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
2022-05-27[CWEB] Finishing touches for 'prod.w'.Andreas Scherer
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
2022-05-26[CWEB] Unambiguous production rules 83 and 121.Andreas Scherer
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
2022-04-30[CWEB] Fix a preprocessor issue.Andreas Scherer
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
2022-03-10[CWEB] CWEAVE needs a little help.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@62588 c570f23f-e606-0410-a88d-b1316a301751
2022-03-10[CWEB] Make 'fall thru' comments active.Andreas Scherer
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
2022-02-05[CWEB] Release 4.7.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@61893 c570f23f-e606-0410-a88d-b1316a301751
2022-01-15[CWEB] Increase array sizes in CWEB 4.6.1.Andreas Scherer
Without affecting CWEB in TeX Live, various array sizes in 'original' CWEB (release 4.6.1) were increased so that both CTANGLE and CWEAVE (but unfortunately _not_ CTWILL) can process CTEX.W in Martin Ruckert's WEB2W project (https://w3-o.cs.hm.edu/users/ruckert/public_html/web2w/index.html). git-svn-id: svn://tug.org/texlive/trunk@61610 c570f23f-e606-0410-a88d-b1316a301751
2021-12-26[CWEB] New release 4.6.Andreas Scherer
Major changes since CWEB 4.5: * Restore '\T' macro backward compatibility. CWEB 4.3 introduced a major change in the '\T' macro to allow C++ 'hex exponent' notation (e.g., 0x1FFFFp10). This made CWEAVE/CTWILL mutually incompatible with non-matching versions of their set of macros and v.v. This release tries to reestablish the standard behavior at least for numeric constants. Of course, 'old' CWEAVE/CTWILL won't deliver on 'hex exponents' in the CWEB input, but those should be rare anyway. * Restore 'classic' PDF page dimensions. Heiko's PDF files of 2014 used 'Executive' page dimensions, i.e., 7.5in times 10in. C/WEB's internal inch values suggest to use those plus a 0.5in border on each side. * Revert meaning of option 'c'. 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@61411 c570f23f-e606-0410-a88d-b1316a301751
2021-10-11[CWEB] Pre-release candidate 2 for CWEB 4.6.Andreas Scherer
When the CWEB programs are called with option '-c' (the default), no intermediate output files are created at all. After thoroughly testing these programs, I'll prepare the final release of CWEB 4.6 in the coming weeks (months). git-svn-id: svn://tug.org/texlive/trunk@60728 c570f23f-e606-0410-a88d-b1316a301751
2021-09-16[CWEB] Pre-release of version 4.6.Andreas Scherer
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
2021-07-14[CWEB] New release 4.5.Andreas Scherer
This is a service release for CWEB 4.0. * Upstream CWEB 4.5 was reviewed with the 'splint' utility. This resulted in lots of cast changes and a few code improvements. * All 'length' variables are retyped to 'size_t'. * <stdbool.h> is replaced by <kpathsea/simpletypes.h> to keep CWEB compatible with antique systems that still support TeX Live. git-svn-id: svn://tug.org/texlive/trunk@59926 c570f23f-e606-0410-a88d-b1316a301751
2021-06-06[CWEB] New release 4.4.Andreas Scherer
This is yet another service release for CWEB 4.0. * Upstream CWEB 4.4 has been reset to the original buffer sizes of CWEB 3.64c. These are now also used in stand-alone CWEBbin. CWEB for TeX Live uses extended/maxed-out buffer settings. * A few minor typographical bugs were fixed. * Tons of minutiae were addressed in the 'fullmanual' documents. git-svn-id: svn://tug.org/texlive/trunk@59486 c570f23f-e606-0410-a88d-b1316a301751
2021-05-03[CWEB] New release 4.3.1.Andreas Scherer
This release is almost the same as CWEB 4.3 of 2021-04-16, but * it fixes the indexing bug in CWEAVE/CTWILL that got retracted * it extracts and collects all additions made in CTWILL, so that the section numbers of CWEAVE are retained up to §272 and new material is described in the (first) appendix, including the CTWILL user manual * it provides fully revised and (hopefully) corrected mini-indexes for CTWILL, if it is processed by itself (to be published in package 'knuth-pdf' on CTAN) git-svn-id: svn://tug.org/texlive/trunk@59061 c570f23f-e606-0410-a88d-b1316a301751
2021-05-02Revert "[CWEB] New release 4.3."Andreas Scherer
This reverts commit 3ccac2a7d0f4a19dde861c6f4c178e853d90f0cc. CWEB 4.3 is seriously broken. git-svn-id: svn://tug.org/texlive/trunk@59048 c570f23f-e606-0410-a88d-b1316a301751
2021-04-16[CWEB] New release 4.3.Andreas Scherer
This release introduces new features to CWEB 4: * Former option '-t' is now called '-c'. - New option '-t' for CWEAVE when dealing with 'typename' in C++ templates. - New option '-k' for CTANGLE to keep '-separators in numeric literals. * Support for "variadic macros" along "variadic functions". * @d is printed similar to #define (and vice versa): - '#' is no longer printed in boldface. - Spacing is similar in most cases. * Support for extended C99/C++ numeric literals: - hexadecimal, octal, and -- new! -- binary numbers. - NOTE: 'cwebmac.tex 4.3' is NOT compatible with CWEAVE 4.2 and older and vice versa. * Long parameter lists in ANSI function definitions are indented similar to old-style function parameters. - Option '-i' works similar for old-style and modern function headers. * Additional C99/C++ keywords -- from 'alignas' to 'thread_local' -- are supported internally. * '@i'nclude file 'iso_types.w' for numeric types (in addition to 'c++lib.w'). * Countless code modifications, including some corrections amd improvements. Thanks and cudos to Github user "@texdraft" for numerous contributions to this feature release! git-svn-id: svn://tug.org/texlive/trunk@58884 c570f23f-e606-0410-a88d-b1316a301751
2021-02-25restore Build,TODO from r57911Karl Berry
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
2021-02-25French translation for tlmgr updatedDenis Bitouzé
git-svn-id: svn://tug.org/texlive/trunk@57912 c570f23f-e606-0410-a88d-b1316a301751
2021-02-25[CWEB] New release 4.2.Andreas Scherer
This second service release wraps up the major code overhaul of CWEB 4.0. New features will take more time. git-svn-id: svn://tug.org/texlive/trunk@57895 c570f23f-e606-0410-a88d-b1316a301751
2021-02-24[CWEB] Code review.Andreas Scherer
Compactify single function declarations. git-svn-id: svn://tug.org/texlive/trunk@57874 c570f23f-e606-0410-a88d-b1316a301751
2021-02-20[CWEB] New release 4.1.Andreas Scherer
Enough changes have accumulated since the major release of CWEB 4.0 to warrant a new revision number. git-svn-id: svn://tug.org/texlive/trunk@57806 c570f23f-e606-0410-a88d-b1316a301751
2021-02-07CWEB – release 4.0, 2021-02-07.Andreas Scherer
In the course of the "2021 TeX tuneup", Don Knuth kindly transferred the responsibility for CWEB to me; see the original CWEB home page (https://www-cs-faculty.stanford.edu/~knuth/cweb.html), section "CWEB 4.0" and the updated CWEB development project (https://github.com/ascherer/cweb). This first new release draws heavily on the multi-decade work collected in my "CWEBbin" project (https://github.com/ascherer/cwebbin). I moved (almost) all stuff from the "*-patch.*" changefiles into the new CWEB sources and applied all of the "*-ansi.*" changes as well. Moreover, I made "common.h" the full interface of "common.w" in order to avoid code redundancy. And I tried to fix as many of the bugs reported by email to DEK and/or tex-k@tug.org. In total, "make; make cautiously; make fullmanual" runs flawlessly with GCC on Linux and with LLVM on MacOS. After the release of "CWEB 4.0", also "CWEBbin 2021" has also been fully revised. Thousands of lines of changefiles could be purged. What's left are the clearcut extensions for CWEB and the additional stuff for integration in "TeX Live 2021". git-svn-id: svn://tug.org/texlive/trunk@57658 c570f23f-e606-0410-a88d-b1316a301751
2020-07-30[CWEB] Avoid black box in CTWILL.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@55994 c570f23f-e606-0410-a88d-b1316a301751
2020-07-30[CWEB] Fix typographic inconsistency.Andreas Scherer
'Extensions' was the only major section with the 'header' separated from the first text paragraph. git-svn-id: svn://tug.org/texlive/trunk@55993 c570f23f-e606-0410-a88d-b1316a301751
2020-06-13[CWEB] Purge space from 'covernote'.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@55534 c570f23f-e606-0410-a88d-b1316a301751
2020-06-07[CWEB] Add date to table-of-contents page.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@55465 c570f23f-e606-0410-a88d-b1316a301751
2020-06-07[CWEB] Check accessibility to designated output files.Andreas Scherer
Increase 'stack_size' along 'max_scraps'. git-svn-id: svn://tug.org/texlive/trunk@55463 c570f23f-e606-0410-a88d-b1316a301751
2020-06-07More underscored index entries.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@55460 c570f23f-e606-0410-a88d-b1316a301751
2020-04-16[CWEB] Fix missing hyphen.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@54765 c570f23f-e606-0410-a88d-b1316a301751
2020-04-14[CWEB] Fix uppercase spelling of COMMON module.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@54731 c570f23f-e606-0410-a88d-b1316a301751
2020-04-13[CWEB] Purge global variable from 'main'.Andreas Scherer
In CWEAVE and CTWILL, move definition of 'use_language' to 'Extensions.' git-svn-id: svn://tug.org/texlive/trunk@54718 c570f23f-e606-0410-a88d-b1316a301751
2020-04-10[CWEB] Add new command-line option '-t'.Andreas Scherer
If disabled with '-t', the temporary output is ignored unconditionally and the final output is (re-)created irrespective of changes between runs. (Default is '+t' for CWEB={ctangle,cweave,ctwill}.) git-svn-id: svn://tug.org/texlive/trunk@54639 c570f23f-e606-0410-a88d-b1316a301751
2019-01-17TeX Live banner lines come from cweb-tl.pot.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@49737 c570f23f-e606-0410-a88d-b1316a301751
2019-01-06cwebbin for cweb, from Andreas Scherer https://github.com/ascherer/cwebbin)Karl Berry
git-svn-id: svn://tug.org/texlive/trunk@49626 c570f23f-e606-0410-a88d-b1316a301751
2018-12-30move direct %s fixes to change files (from andreas)Karl Berry
git-svn-id: svn://tug.org/texlive/trunk@49537 c570f23f-e606-0410-a88d-b1316a301751
2018-11-02avoid implicit int declaration of change_depth; from Andreas SchererKarl Berry
git-svn-id: svn://tug.org/texlive/trunk@49056 c570f23f-e606-0410-a88d-b1316a301751
2017-01-28cweb 3.64aiKarl Berry
git-svn-id: svn://tug.org/texlive/trunk@43075 c570f23f-e606-0410-a88d-b1316a301751
2014-06-18web2c/ctiedir, web2c/cwebdir: Avoid useless char subscript warningsPeter Breitenlohner
git-svn-id: svn://tug.org/texlive/trunk@34289 c570f23f-e606-0410-a88d-b1316a301751
2013-06-28Include the Autoconf generated headers always firstPeter Breitenlohner
git-svn-id: svn://tug.org/texlive/trunk@31002 c570f23f-e606-0410-a88d-b1316a301751
2012-09-05move our changes to change filesAkira Kakuto
git-svn-id: svn://tug.org/texlive/trunk@27598 c570f23f-e606-0410-a88d-b1316a301751
2012-07-09cweb: Use binary mode for output files (from W32TeX)Peter Breitenlohner
git-svn-id: svn://tug.org/texlive/trunk@26962 c570f23f-e606-0410-a88d-b1316a301751
2011-04-19Avoid Mac OS X compiler warnings, mainly 'differ in signedness'Peter Breitenlohner
git-svn-id: svn://tug.org/texlive/trunk@22123 c570f23f-e606-0410-a88d-b1316a301751
2010-01-18cleanup extern declarationsPeter Breitenlohner
git-svn-id: svn://tug.org/texlive/trunk@16772 c570f23f-e606-0410-a88d-b1316a301751
2009-11-10towards TL2010: texk/web2cPeter Breitenlohner
git-svn-id: svn://tug.org/texlive/trunk@15964 c570f23f-e606-0410-a88d-b1316a301751
2009-06-23use ANSI C function declarations, drop P?[CH] macrosPeter Breitenlohner
git-svn-id: svn://tug.org/texlive/trunk@13924 c570f23f-e606-0410-a88d-b1316a301751
2006-01-17texk 1Karl Berry
git-svn-id: svn://tug.org/texlive/trunk@1485 c570f23f-e606-0410-a88d-b1316a301751