diff options
author | Andreas Scherer <andreas_tex@freenet.de> | 2022-06-05 11:14:20 +0000 |
---|---|---|
committer | Andreas Scherer <andreas_tex@freenet.de> | 2022-06-05 11:14:20 +0000 |
commit | 096ba29e09882f67bdf2cb0b0dcb45121e23efa1 (patch) | |
tree | c56b2106e64259fc85104aba204d51dddc8b8e34 /Master/texmf-dist | |
parent | ca49e0c31f8da9090e8c16585be61a2c4889bdc8 (diff) |
[CWEB] Update borderline cases.
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
Diffstat (limited to 'Master/texmf-dist')
0 files changed, 0 insertions, 0 deletions