summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/cwebboot.cin
AgeCommit message (Collapse)Author
2023-11-18[CWEB] Use zero-initialisation.Andreas Scherer
This trick works, because 'ignore' and 'NULL' are in fact '0'. git-svn-id: svn://tug.org/texlive/trunk@68894 c570f23f-e606-0410-a88d-b1316a301751
2023-09-25[CWEB] Check for available input.Andreas Scherer
If, for example, the name of a changefile is misspelled, you'd get '(l. 0)' and an extra linebreak. git-svn-id: svn://tug.org/texlive/trunk@68365 c570f23f-e606-0410-a88d-b1316a301751
2023-09-24[CWEB] Avoid shadow variables.Andreas Scherer
There are far too many single-character variables around. Sigh! (See also https://github.com/ascherer/mmix/commit/ed0c894d09df3b35479fdd18c8f5564f0b8bf691 for a similar situation in MMIX, where such global (sic!) variables weren't even put in the index across module borders.) git-svn-id: svn://tug.org/texlive/trunk@68358 c570f23f-e606-0410-a88d-b1316a301751
2023-09-20[CWEB] Factor out cwebacromac.tex.Andreas Scherer
Extract common macros from cwebmac.tex and the PDF variants of the CTWILL macros. Update cwebman.tex accordingly. Fixes in CWEB code: - Consistent formatting of terminal output in cases of error - Revert fputs back to printf - Add curly braces for progress report (harmless glitch in CWEB 2.0) git-svn-id: svn://tug.org/texlive/trunk@68327 c570f23f-e606-0410-a88d-b1316a301751
2023-08-18[CWEB] Update section/line references in change files.Andreas Scherer
Hopefully, after almost 100 commits since May 2023, the next step will be the new 4.10 version number and a possible release. git-svn-id: svn://tug.org/texlive/trunk@67968 c570f23f-e606-0410-a88d-b1316a301751
2023-08-16[CWEB] Section 36 of COMMON is system-dependent.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@67943 c570f23f-e606-0410-a88d-b1316a301751
2023-08-13[CWEB] Move 'print_stats' prototype in common.h.Andreas Scherer
It is used in 'wrap_up'. Also, add a comment for 'cb_show_banner'. git-svn-id: svn://tug.org/texlive/trunk@67906 c570f23f-e606-0410-a88d-b1316a301751
2023-08-07[CWEB] Code cleanup in COMMON and CTANGLE.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@67830 c570f23f-e606-0410-a88d-b1316a301751
2023-08-01[CWEB] Squeeze section 51 to preserve page count.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@67786 c570f23f-e606-0410-a88d-b1316a301751
2023-07-30[CWEB] Straighten 'byte_start' arithmetic."Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@67770 c570f23f-e606-0410-a88d-b1316a301751
2023-07-29[CWEB] Syntactic sugar.Andreas Scherer
See 'too_long()' macro in common.w. git-svn-id: svn://tug.org/texlive/trunk@67762 c570f23f-e606-0410-a88d-b1316a301751
2023-07-29[CWEB] Ilk is of type eight_bis.Andreas Scherer
See signatures of id_lookup and names_match. git-svn-id: svn://tug.org/texlive/trunk@67760 c570f23f-e606-0410-a88d-b1316a301751
2023-07-28[CWEB] Format 'common' with 'ctwill'.Andreas Scherer
$ ctie -m common-twill.w common.w comm-{w2c,mini}.ch $ mv common-twill.w common.w $ ctwill -f -lpdf common (twice) $ pdftex common $ ctwill-refsort < common.ref > common.sref $ pdftex common TODO: Study the application of 'ctwill-twinx' and create a general index for COMMON and CTWILL. git-svn-id: svn://tug.org/texlive/trunk@67749 c570f23f-e606-0410-a88d-b1316a301751
2023-07-26[CWEB] Purge 'init_p'.Andreas Scherer
This helper function had a non-trivial implementation in CWEAVE only. The extra stuff for CTWILL is moved to 'init_node' with special provisions for the 'name_dir' pointer. git-svn-id: svn://tug.org/texlive/trunk@67734 c570f23f-e606-0410-a88d-b1316a301751
2023-07-22[CWEB] Purge empty line in comm-w2c.h.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@67701 c570f23f-e606-0410-a88d-b1316a301751
2023-07-21[CWEB] Match common.w with common.h.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@67688 c570f23f-e606-0410-a88d-b1316a301751
2023-07-18[CWEB] Discard rest of overfull input lines.Andreas Scherer
In the context of the recent bug fix, I noticed that CWEAVE produced significantly different output than WEAVE from my test case for overfull lines, which -- in part -- had to be broken. Although I am aware that Silvio Levy changed CWEAVE's behaviour already in CWEB 0.5 (1987), I apply this new change in order to revert to DEK's idea in WEAVE. Now the resulting TeX output has correctly placed comment markers at the beginning of the broken lines. (To date, CWEAVE issued material beyond 'buf_size' in overfull lines without such '%' markers.) Of course, the resulting TeX output might not be processed as expected because of the discarded material beyond 'buf_size', but the user has been warned accordingly. :o). git-svn-id: svn://tug.org/texlive/trunk@67662 c570f23f-e606-0410-a88d-b1316a301751
2023-07-09[CWEB] Don't create index/section file names.Andreas Scherer
Make section 79 more symmetric with respect to 'dot_pos==NULL'. In any case no index/section file names are created if option '-x' is used. git-svn-id: svn://tug.org/texlive/trunk@67589 c570f23f-e606-0410-a88d-b1316a301751
2023-06-23[CWEB] Flip two variables.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@67448 c570f23f-e606-0410-a88d-b1316a301751
2023-06-21[CWEB] Move variables to better placesAndreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@67424 c570f23f-e606-0410-a88d-b1316a301751
2023-06-20[CWEB] Use 'kpse_find_file' for '*.bux' files.Andreas Scherer
In addition to '*.aux' files that CTWILL creates dynamically on the first run ("Prime the pump"), it uses several '*.bux' files to resolve external definitions, e.g., in other CWEB modules or in system headers. The '*.aux' file(s) are always created in the "current" directory, but the auxiliary '*.bux' file(s) can reside elsewhere in the file system. Just like other '@i'nclude files, these '*.bux' files can be addressed through the CWEBINPUTS environment variable. git-svn-id: svn://tug.org/texlive/trunk@67416 c570f23f-e606-0410-a88d-b1316a301751
2023-01-08[CWEB] C++17 has removed 'register' storage class.Andreas Scherer
Locally, I compile CWEB amd other C sources with 'g++'. Recently, I upgraded to Kubuntu 22.04.1 LTS that ships with g++ 11.3.0. This seems to default to the C++17 standard. git-svn-id: svn://tug.org/texlive/trunk@65488 c570f23f-e606-0410-a88d-b1316a301751
2022-03-10[CWEB] Another 'fall thru' comment.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@62586 c570f23f-e606-0410-a88d-b1316a301751
2022-02-18[CWEB] Avoid preprocessor calamities.Andreas Scherer
Trying to fix all loopholes in weird stuff like https://github.com/ascherer/cweb/blob/cweb-4.8-dev/if.w by repeating '#line' directives after all '#elif', '#else', and '#endif' preprocessor statements. In almost all cases this information is redundant, but in the past years people have come up with the idea to jump to '@<code sections@>' in '#if' blocks. git-svn-id: svn://tug.org/texlive/trunk@62066 c570f23f-e606-0410-a88d-b1316a301751
2022-02-15[CWEB] Rebuild the CWEB boot sources.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@62035 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-11-14[CWEB] More generic point of interest.Andreas Scherer
Instead of to the tex-k mail address, we direct the CWEB user to the package home page on CTAN, where more detailed information is listed. git-svn-id: svn://tug.org/texlive/trunk@61053 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-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-24[CWEB] Fine print for single '@' characters in TeX text.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@57870 c570f23f-e606-0410-a88d-b1316a301751
2021-02-22[CWEB] Code review.Andreas Scherer
* Decouple CTANGLE and CWEAVE from COMMON by using 'static' variables. * Reshuffle variable declarations in 'common.h' to match the definitions in 'common.w'. * Eliminate some unused stuff in CTWILL. git-svn-id: svn://tug.org/texlive/trunk@57841 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-19[CWEB] Replace 'boolean' values in 'fullmanual'.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@57796 c570f23f-e606-0410-a88d-b1316a301751
2021-02-19[CWEB] Replace 'boolean' values upstream.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@57795 c570f23f-e606-0410-a88d-b1316a301751
2021-02-16[CWEB] Reshuffle byte_mem pointer.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@57763 c570f23f-e606-0410-a88d-b1316a301751
2021-02-08[CWEB] Don't repeat yourself.Andreas Scherer
Purge repeated lines in *.w by uncommenting line in common.h. Unfortunately, this shifts all #line numbers. ;o) git-svn-id: svn://tug.org/texlive/trunk@57676 c570f23f-e606-0410-a88d-b1316a301751
2021-02-07CWEB development has moved to another level.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@57661 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] 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-07-15[CWEB] Clearer exposition re external type definitions.Andreas Scherer
A few underlined index entries added and one index entry removed. git-svn-id: svn://tug.org/texlive/trunk@55841 c570f23f-e606-0410-a88d-b1316a301751
2020-07-08[CWEB] Add '-dN' to 'help' message and in 'cwebman.pdf'.Andreas Scherer
See section 92 of 'common-changes.pdf' created with 'comm-w2c.ch'. git-svn-id: svn://tug.org/texlive/trunk@55782 c570f23f-e606-0410-a88d-b1316a301751
2020-06-20[CWEB] Clarify triple responsibility of COMMON.Andreas Scherer
git-svn-id: svn://tug.org/texlive/trunk@55603 c570f23f-e606-0410-a88d-b1316a301751