Releases: ascherer/cweb
Releases · ascherer/cweb
CWEB — release 4.12.2
- ctangle: Purge trailing whitespace in preprocessor macros
- cweave: Warn about
@=verbatim@>material outside C part - Replace type boolean with bool
CWEB — release 4.12.1
- Fix a few sorting errors in the “Names of the sections”.
CWEB — release 4.12
The following changes are applied in TeX Live 2024:
Fixes
- Issue #48.
- do...while loops are placed separately from surrounding statements, even when CWEAVE is invoked with option
-f; this can, of course, be overwritten with@+before do and after while.
Features
- New option
-Ffor CWEAVE. - Extended
\startpdfto match page numbers in PDF bookmarks and table-of-contents - Runtime improvements in
cwebmac.texandcwebacromac.tex
CWEB — release 4.11
Features
- Factor out
cwebacromac.texwith hypertext macros; also used downstream for CTWILL - Support LuaTeX as backend engine
Fixes
- Issue #45: Consistent formatting of terminal output in cases of error
- Add long-missing grouping for progress report (harmless glitch in CWEB 2)
- Suppress reference to
l. 0in error messages (harmless glitch ab origine)
Finesses
- Revert
fputsback toprintf(with"%s") - Reuse code for
@(secondary output@>(CTANGLE) - Copy whole structures via pointers
- Disentangle local variables in
reduceandtranslate(CWEAVE/CTWILL) - Avoid shadow variables (cf.
hin WEAVE) - Updates in
cwebman.tex - Use zero-initialisation
CWEB — release 4.10
Fixes
- Fix issue #43:
out_bufoverflow on malign user input- Handle border case from bug report
- Discard rest of input lines exceeding
buf_sizecharacters (as in the original WEB) - Purge
ungetc()from the TeX part as well
- Fix a typo in
examples/wordtest.w(reported by DEK) Ilkis of type eight_bits- Avoid over-/underflow of section depth with malicious user input
Internal changes
- Unroll
init_p()helper function in COMMON- it is used for CWEAVE only (and for CTWILL downstream)
- Match common.w and common.h
- Reshuffle declarations and some code sections
- Add starred section titles
- Demote all starred sections in common.w (single star)
- Code cleanup
- Make
pop_level()a simple macro in CWEAVE - Use structure assignment (as in CTANGLE)
- More compact
stackhandling - Make use of type mode
- Purge a few goto statements (and add some others)
- Replace some
sprintfwithsnprintf - Syntactic sugar for functional macros
- Straighten
byte_startarithmetic - Desolve former section 19 of CWEAVE with internal array sizes
- Hide
print_textanalytics function from C compiler with DEBUG - Streamline
phase_twoof CTANGLE - Refurbish
phase_threeof CWEAVE
- Make
- Insert blank line after
\chin TeX output (cf. CWEB 3.0)
Macro changes
- Cleanup some
\acromacros incwebmac.tex
CWEB — release 4.9
This release
- removes the
registerspecifier for compatibility with C++17 - permits special character
$in C/C++ identifiers (ctangle) - reduces the whitespace in
@(output sections@>from a(full space) to a\,(thin space); in “inner TeX mode”, no extra whitespace is used at all (cweave) - fixes issues #41 and ascherer/cwebbin#62 and ascherer/cwebbin#64
CWEB — release 4.8.1.
This service release
- uses
iftex.styto test the TeX engine in use and uses\ifpdfinstead of\ifacro - fixes two historic bugs in
cwebmac.tex; most notably it correctly counts the number of@<named sections@>to produce ‘valid’ PDF - uses HINT's ‘infinite’ page space, so we can also show TeX code for section 31 in the Appendix of
cwebman.tex
Note that this service release was rejected by CTAN, because only cwebmac.tex mentions the updated version number. I will not touch the actual CWEB codes at this time.
CWEB — release 4.8
This new release provides the following features
@<Code sections@>can be used freely in any#if–#elif–#else–#endifpreprocessor branches without bashing the debugger- the gcc compiler can be invoked with option
-Wimplicit-fallthrough=2and 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)\,xin the woven TeX output - the HINT boolean macros are now in lowercase
and fixes
Known bug:
- issue #38
CWEB — release 4.7
This new release of CWEB adds full support for Martin Ruckert's HiTeX engine and its HINT output format.
CWEB — release 4.6.1
This is a service release of CWEB 4.6.
Several internal array dimensions were increased in order to process “TeX in CWEB” in Martin Ruckert's WEB2W project (i.e., the source file https://w3-o.cs.hm.edu/users/ruckert/public_html/web2w/ctex.w).
$ ./ctangle +s ctex
Memory usage statistics:
4142 names (out of 5000)
3240 replacement texts (out of 4000)
77633 bytes (out of 100000)
246143 tokens (out of 270000)
$ ./cweave +s ctex
Memory usage statistics:
4962 names (out of 5000)
23872 cross-references (out of 30000)
97459 bytes (out of 100000)
Parsing:
4962 scraps (out of 5000)
7860 texts (out of 8000)
21108 tokens (out of 30000)
1660 levels (out of 2000)
Sorting:
52 levels (out of 5000)