On 06/07/2011 08:03, Ingo Schwarze wrote: > Hi Kristaps, > > Kristaps Dzonsons wrote on Tue, Jul 05, 2011 at 02:43:38PM +0200: >> Ingo Schwarze wrote: > >> I'm not able to reproduce some of these. > >>> i'm currently syncing from bsd.lv to openbsd.org. >>> The code looks good, and in the output, i see many improvements, >>> so i will now commit the sync. >>> >>> >>> However, there are also a three tiny regressions: >>> >>> cvs(1) contains this code: >>> >>> .TP 1i >>> \fB?\fP \fIfile\fP >>> \fIfile\fP is in your working directory, but does not correspond to >>> anything in the source repository, and is not in the list of files >>> for \fBcvs\fP to ignore (see the description of the \fB\-I\fP option). >>> .PP >>> .RS .5i >>> .sp >>> Use the >>> .B \-A >>> option to reset any sticky tags, dates, or >>> .B \-k >>> options. (If you get a working copy of a file by using one of the >>> >>> Now doubtless, .PP .RS .sp in a row is horrible. >>> However, with groff and old mandoc, that gave one blank line. >>> Now there are two. > >> This is not the case with my machine (groff 1.19.2). >> >> The following: >> >> .TH FOO 1 >> .SH NAME >> foo - bar >> .SH DESCRIPTION >> hi. >> .PP >> .RS .5i >> .sp >> Use the >> >> Has two spaces between the "hi" and "Use the" with both groff and >> mandoc (using nroff -mandoc and groff -Tascii -mandoc). > > That looks like a bug in groff-1.19 that has been fixed in 1.21. > With groff-1.21 and your test code, i get one blank line between > "hi" and "Use the", which makes more sense given the general > tendency of roff to compress multiple blank lines to one. > >>> lynx(1) contains this code: >>> >>> .TP >>> .B \-cookie_file\fR=\fIFILENAME >>> specifies a file to use to read cookies. >>> >>> In groff and old mandoc, the indent of "specifies" relative to "-cookie" >>> was 7, now it is 5. > >> Are you sure? I just ran this code and had both mandoc and groff >> align "specifies" under the underscore, i.e., 7 spaces. > > Yes, with both OpenBSD and bsd.lv mandoc, i get the "specifies" > aligned under the "i" in "-cookie_file". I'm just noticing > that the change in alignment happens about two dozen lines above, > below "-cmd_script". The "comment beginning with..." is still > aligned at 7 (below the 'r'), the "exit" is aligned at 5 (below > the 's'). Ingo, this was a bit tricky. It seems I've neglected that `RS' saves the current default-left-margin, restoring it on output. The enclosed patch introduces a stack of `RS' default-left-margins. The stack overflows neatly: if there are too many nested `RS' scopes, it stops nesting but keeps track of what the stack would be. When the stack drops below overflow, nesting is reenabled. I set the current max stack to 64. This should clean up output a great deal when the `RS' is used with embedded paragraphs. Thoughts? Kristaps