+
Skip to content

Releases: ascherer/cweb

CWEB — release 4.12.2

27 Jul 13:50

Choose a tag to compare

  • 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

01 Jan 13:43

Choose a tag to compare

  • Fix a few sorting errors in the “Names of the sections”.

CWEB — release 4.12

18 Apr 12:25

Choose a tag to compare

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 -F for CWEAVE.
  • Extended \startpdf to match page numbers in PDF bookmarks and table-of-contents
  • Runtime improvements in cwebmac.tex and cwebacromac.tex

CWEB — release 4.11

03 Dec 12:31

Choose a tag to compare

Features

  • Factor out cwebacromac.tex with 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. 0 in error messages (harmless glitch ab origine)

Finesses

  • Revert fputs back to printf (with "%s")
  • Reuse code for @(secondary output@> (CTANGLE)
  • Copy whole structures via pointers
  • Disentangle local variables in reduce and translate (CWEAVE/CTWILL)
  • Avoid shadow variables (cf. h in WEAVE)
  • Updates in cwebman.tex
  • Use zero-initialisation

CWEB — release 4.10

19 Aug 14:11

Choose a tag to compare

Fixes

  • Fix issue #43: out_buf overflow on malign user input
    • Handle border case from bug report
    • Discard rest of input lines exceeding buf_size characters (as in the original WEB)
    • Purge ungetc() from the TeX part as well
  • Fix a typo in examples/wordtest.w (reported by DEK)
  • Ilk is 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 stack handling
    • Make use of type mode
    • Purge a few goto statements (and add some others)
    • Replace some sprintf with snprintf
    • Syntactic sugar for functional macros
    • Straighten byte_start arithmetic
    • Desolve former section 19 of CWEAVE with internal array sizes
    • Hide print_text analytics function from C compiler with DEBUG
    • Streamline phase_two of CTANGLE
    • Refurbish phase_three of CWEAVE
  • Insert blank line after \ch in TeX output (cf. CWEB 3.0)

Macro changes

  • Cleanup some \acro macros in cwebmac.tex

CWEB — release 4.9

15 May 15:14

Choose a tag to compare

This release

  • removes the register specifier 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.

26 Jun 17:02

Choose a tag to compare

This service release

  • uses iftex.sty to test the TeX engine in use and uses \ifpdf instead 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

05 Jun 14:38

Choose a tag to compare

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 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

and fixes

  • section @<Preprocessor definitions@> isn't overprinted (in PDF)
  • issues #33, #34, #36, and #37

Known bug:

CWEB — release 4.7

05 Feb 13:31

Choose a tag to compare

This new release of CWEB adds full support for Martin Ruckert's HiTeX engine and its HINT output format.

CWEB — release 4.6.1

15 Jan 12:11

Choose a tag to compare

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)
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载