groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Groff] missing transparent-for-end-of-sentence character


From: Dave Kemper
Subject: [Groff] missing transparent-for-end-of-sentence character
Date: Fri, 26 Sep 2014 13:45:24 -0500

Hi,

I can open a bug report for this, but this seems like a change someone familiar 
with the code could do in a few minutes, so I'm not sure it's worth the 
overhead.

The problem:

Section 5.1.3 of groff info lists the input characters that by default are 
considered transparent when determining the end of a sentence: ", ', ), ], *, 
\[dg], \[rq]

Missing from this list is \[cq].  Groff regards this as a distinct input 
character from ', even though ' and \[cq] usually (always?) output the same 
glyph.  \[cq] is semantically the more correct way to indicate the closing 
single quote that should be ignored in end-of-sentence detection.


The solution:

In my superficial analysis, the code fix would seem to involve simply adding an 
additional "set_flags(charinfo::TRANSPARENT)" line with the other such lines in 
src/roff/troff/input.cpp.

The documentation would have to be updated to match.  The set of transparent 
characters is listed twice in doc/groff.texinfo (the regular expression dg.*rq 
is an easy way to find the two places).  To me, the info file fix actually 
looks trickier than the code fix, as there are @cindex lines that would have to 
be added in addition to the change in the running text.  The set is also listed 
in man/groff_diff.man.  It may be documented other places that I am unaware of.

It would be easy for me to create a patch with the above changes, but the fix 
would be better done by someone more familiar with the source code, who would 
better know if I am overlooking something or doing something wrong.  (Or, 
perhaps, by someone looking to become more familiar with the source, who could 
do a more thorough analysis than I have.)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]