Age | Commit message (Collapse) | Author |
|
git-svn-id: svn://tug.org/texlive/trunk@66702 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@65831 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@65813 c570f23f-e606-0410-a88d-b1316a301751
|
|
a (valid) compiler warning about assigning |write_stream(tail):=null|
git-svn-id: svn://tug.org/texlive/trunk@65806 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@65655 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@65544 c570f23f-e606-0410-a88d-b1316a301751
|
|
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
|
|
git-svn-id: svn://tug.org/texlive/trunk@65380 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@65338 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@65331 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@64547 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@64276 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@64168 c570f23f-e606-0410-a88d-b1316a301751
|
|
Option 'ctangle +u' extends the transliteration mechanism for ``poor
man's UTF-8'. Instead of extending the 'translit' table (or replacing it
with a dynamic data structure), CTANGLE skips all but the last of a
sequence of high-bit bytes representing a single UTF-8 character. Only
the last high-bit byte is used as the index into 'translit' as before.
Example: In ``classic ASCII'', the German word 'grün' was transformed
into 'gruen' with the transliteration '@l fc ue' (from the Western
European codepage ISO/IEC 8859-1; see file cweb_ecma94.w for context).
With UTF-8 encoded input and 'ctangle +u', the first (starter) byte 'c3'
(1100.0011) is skipped and the second (continuing) byte 'bc' is used to
look up the transliteration for 'ü' (latin small letter u with diaeresis),
so '@l bc ue' can be used to get 'gruen' in the C output.
Note that this is not a general UTF-8 transliteration because there are
tons of possible collisions, e.g., '¼' (vulgar fraction one quarter) is
'c2 bc' in UTF-8 and would be transformed into 'ue' as well.
git-svn-id: svn://tug.org/texlive/trunk@64157 c570f23f-e606-0410-a88d-b1316a301751
|
|
The original special case 'squash(..,1,..)' was /not/ a combination of
'app1()' and 'reduce(..,1,..)' as advertised in section 148; instead, it
was an ultra-compact variant of 'reduce'.
Moving the special case 'k==1' from 'sq' to 'red' as separate case
'k==0' makes 'squash(..,k,..)' consistent for 'k=1,2,3' (and it makes
use of the otherwise abandoned 'confusion' macro). Curiously enough,
now there's no 'squash(..,1,..)' anymore, but CWEAVE has at least two
rules that apply this case (and it even works for 'k=4').
git-svn-id: svn://tug.org/texlive/trunk@64063 c570f23f-e606-0410-a88d-b1316a301751
|
|
https://tex.stackexchange.com/questions/609423
git-svn-id: svn://tug.org/texlive/trunk@63916 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63557 c570f23f-e606-0410-a88d-b1316a301751
|
|
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
|
|
git-svn-id: svn://tug.org/texlive/trunk@63238 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@62962 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@62855 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
|
|
If TANGLE creates a pool file at all, this will always be placed next to
the Pascal file, irrespective whether a full output path was specified
for the third file argument on the commandline. (If no Pascal file name
is given, both the Pascal output file and the associated pool file will
be created in the 'current' directory, with names derived from the Web
input file.)
git-svn-id: svn://tug.org/texlive/trunk@62367 c570f23f-e606-0410-a88d-b1316a301751
|
|
The original WEB programs had fixed arguments on the commandline, i.e.,
you had to invoke TANGLE with four file name arguments and WEAVE with
three (where '/dev/null' was permitted as an empty file).
This change makes the WEB programs a little bit like the CWEB programs
by allowing an optional third file name argument for the main output
file (the name of the .pool file still is created from the .web file).
And '-' is interpreted as an empty change file.
git-svn-id: svn://tug.org/texlive/trunk@62337 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62168 c570f23f-e606-0410-a88d-b1316a301751
|
|
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
|
|
git-svn-id: svn://tug.org/texlive/trunk@62035 c570f23f-e606-0410-a88d-b1316a301751
|
|
Some people incorporate '@<Section code@>' in preprocessor #if-blocks.
(AFAIKS, DEK did this exactly _once_ in his 'reflect.w' example code,
but never in any larger system program.) This adds material (lines of
code) in the ctangle'd C code wrapped in '#line' directives for the
benefit of the compiler/debugger/w.h.y. Depending on the #if-condition,
the #line directives in the #if-block get eliminated and the resulting
status from previous #line directives kicks the compiler (__LINE__ and
possibly __FILE__) and the debugger (e.g., gdb, MSVS) off the track.
git-svn-id: svn://tug.org/texlive/trunk@62021 c570f23f-e606-0410-a88d-b1316a301751
|
|
The math expression in module name 173 gets wrangled in and out of math
mode by WEAVE and the two arguments of '\max' are incorrectly spaced at
the comma.
git-svn-id: svn://tug.org/texlive/trunk@61978 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@61893 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@61786 c570f23f-e606-0410-a88d-b1316a301751
|
|
Kitagawa et al.)
For better support of LaTeX3 (expl3).
More details in TUGboat 41(2):329--334, 2020.
git-svn-id: svn://tug.org/texlive/trunk@61692 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@61680 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@61643 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@61639 c570f23f-e606-0410-a88d-b1316a301751
|
|
"pdftex.web + pdftex-final.ch" requires more than $2\times65336$ bytes
of memory when processed by WEAVE.
git-svn-id: svn://tug.org/texlive/trunk@61622 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@61619 c570f23f-e606-0410-a88d-b1316a301751
|
|
All C/WEB prograns but TANGLE used 'hash_size=8501'.
In WEAVE, 'max_modules' is _not_ limited by '10240', but '4000' is more
than enough anyway (and similarly used as 'max_sections' in CWEAVE).
git-svn-id: svn://tug.org/texlive/trunk@61612 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@61589 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@61577 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@61575 c570f23f-e606-0410-a88d-b1316a301751
|
|
We also rename the macros to 'twimac-web.tex' in order
to distinguish them from DEK's original 'twimac.tex' on CTAN
(https://mirrors.ctan.org/systems/knuth/local/lib/twimac.tex),
which is specifically designed for Volumes B and D of
"Computers & Typesetting".
git-svn-id: svn://tug.org/texlive/trunk@61546 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@61519 c570f23f-e606-0410-a88d-b1316a301751
|
|
See 'git log' in https://github.com/ascherer/twill (now 'archived') and
in https://github.com/ascherer/web (both branches 'master' and
'adapt-twill-for-texlive') for details of this impromptu project.
git-svn-id: svn://tug.org/texlive/trunk@61509 c570f23f-e606-0410-a88d-b1316a301751
|
|
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
|
|
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
|