Age | Commit message (Collapse) | Author |
|
git-svn-id: svn://tug.org/texlive/trunk@64172 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
|
|
git-svn-id: svn://tug.org/texlive/trunk@64155 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@64150 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@64143 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@64127 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@64064 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
|
|
git-svn-id: svn://tug.org/texlive/trunk@64060 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@64054 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@64014 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@64010 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63961 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63960 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63954 c570f23f-e606-0410-a88d-b1316a301751
|
|
'make' in 'Work/' fails.
git-svn-id: svn://tug.org/texlive/trunk@63918 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@63905 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63889 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63880 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63861 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63807 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63786 c570f23f-e606-0410-a88d-b1316a301751
|
|
More importantly: Don't forget to output the PDF bookmarks for starred
sections when using 'tex "\let\pdf+..."'.
git-svn-id: svn://tug.org/texlive/trunk@63784 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63712 c570f23f-e606-0410-a88d-b1316a301751
|
|
These are used with 'cweave -l[dfi]'.
git-svn-id: svn://tug.org/texlive/trunk@63660 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63651 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63650 c570f23f-e606-0410-a88d-b1316a301751
|
|
iftex.sty sets \ifpdf according to \pdfoutput. This can be set _before_
'\input cwebmac.tex'.
Note that you can _not use 'pdftex "\let\pdf+\pdfoutput=0\input ..."',
because \ifpdftex is always 'true' for PDFTeX.
HINT has infinite space, so we can also show TeX code for section 31.
git-svn-id: svn://tug.org/texlive/trunk@63649 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63636 c570f23f-e606-0410-a88d-b1316a301751
|
|
How did that happen?
git-svn-id: svn://tug.org/texlive/trunk@63627 c570f23f-e606-0410-a88d-b1316a301751
|
|
While '\pdftextrue' and '\pdftrue' should be mutually exclusive in
classic CWEB, this has to be programmatically expressed for the future
use of 'iftex.sty'. (Introduced 2002.)
And the 'count' attribute for the 'Names of Sections' bookmark should
not exceed the number of subentries, lest many PDF validators will
rightfully complain. So, instead of the total number of all sections,
i.e., the number of the 'Index.' section, we had better calculate the
actual number of '@<named sections@>'. (Introduced 2000.)
(And the new 'ctan' target in the 'Makefile' should prevent any future
mishaps when uploading updates of the CWEB package to CTAN.)
git-svn-id: svn://tug.org/texlive/trunk@63625 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63611 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63602 c570f23f-e606-0410-a88d-b1316a301751
|
|
Clerk Ma)
git-svn-id: svn://tug.org/texlive/trunk@63601 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63587 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63581 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63574 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63567 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63566 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63558 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63557 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63556 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63508 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63492 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
|
|
Related to the 'bug, known' in CWEAVE section 200, there's a second
known bug with the treatment of '@t TeX material @>' in a peculiar
application scenario, i.e., when you try to place a function declaration
(aka prototype) next to the function definition and separate them with a
'force' line break instead of the default 'big_force' (from production
rule 76).
For example, several codes of MMIX (mmixal.w, mmix-arith.w,
mmix-config.w, mmix-io.w, mmix-mem.w, mmix-sim.w, mmmix.w) use the
convention
void flush_listing_line @,@,@[ARGS((char*))@];@+@t}\6{@>
void flush_listing_line(s)
char *s;
{ ... }
Most likely because of the modified production rule 1, the '@t}\6{@>'
ends up _after_ the '\1\1' introduced by 'dindent' around the function
header and causes the function definition to be indented together with
the list of arguments. To avoid this bug in this particular case, you
should use '@t}\6\4\4{@>' instead. (Other non-conflicting cases of
'@t}\6{@>' work as before.)
Note that MMIX uses different conventions, too: mmotype.w does _not_
mingle with the line separation at all, leaving the CWEB default of
'big_force' intact. And mmix-pipe.w cleanly separates @<Prototypes@>
from @<Subroutines@> (both internal and external). I have not found
any other codes outside MMIX that are affected by this bug in CWEB 4.
git-svn-id: svn://tug.org/texlive/trunk@63488 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63483 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63462 c570f23f-e606-0410-a88d-b1316a301751
|