bugGNU troff - Bugs: bug #61422, [ms] make .DS mean ".DS...


bug #61422: [ms] make .DS mean ".DS L"

Submitted by:  G. Branden Robinson <gbranden>
Submitted on:  Wed 03 Nov 2021 04:43:17 PM UTC
Category:  Macro ms Severity:  3 - Normal
Item Group:  Incorrect behaviour Status:  Wont Fix
Privacy:  Public Assigned to:  gbranden
Open/Closed:  Closed Planned Release:  None
* Mandatory Fields

Add a New Comment (Rich Markup)

Comment Type & Canned Response:
       No canned response available


Fri 05 Nov 2021 04:56:47 AM UTC, comment #3: 

Nope.  I changed my mind on this.

It breaks fidelity with the original Volume 2 ms corpus (from the V7 source distribution, in usr/doc) too much.

I had only occasionally formatted those, and my sampling had gotten me discouraged by what appear to be errors in the original sources (for instance, in Kernighan's "Advanced Editing Guide", there is an ".if n" conditional that messes up line spacing, not visible in typeset output).

But now that I sample some more of these I see that many of them format nicely, and even without many warnings when '-w all' is given.

I'm withdrawing this ticket.

G. Branden Robinson <gbranden>
Project Administrator
Wed 03 Nov 2021 05:35:08 PM UTC, comment #2: 

Sorry, bad regex.  Same result.

$ grep -r 'DS[[:space:]]*[.0-9]' . || echo nothing

G. Branden Robinson <gbranden>
Project Administrator
Wed 03 Nov 2021 05:32:53 PM UTC, comment #1: 

I would add that '.DS $indent' does not appear to be an established usage that is worth recognizing for the sake of rendering old AT&T troff documents with less effort.

According to my grep of the Version 7 Unix Volume 2 manual sources (excluding the C Reference Manual which has been suppressed by Prentice-Hall), such a construction was never used.

$ pwd
$ grep -r 'DS[ \t][.0-9]' . || echo nothing

Spot checking of my claim can be done via the following URL, and various sites have an archive of the full V7 sources.


G. Branden Robinson <gbranden>
Project Administrator
Wed 03 Nov 2021 04:43:17 PM UTC, original submission:  


Left-aligned paragraph.
This is my display.
.nr DI 2n
Here's an explicitly left-aligned display.
And another default one\[em]convinced yet?

groff 1.22.4 output:

$ nroff -Tascii -ms EXPERIMENTS/ds.ms | cat -s

Left-aligned paragraph.

     This is my display.

Here's an explicitly left-aligned display.

  And another default one--convinced yet?

I propose to make the behavior match the documentation we've had in Git for over a year.

Nothing in the groff 1.22.4 documentation actually says which display type is the default; it doesn't even suggest that .DS can be called without arguments.  Larry Kollar's ms.ms taught me that groff's default for DS is "DS L", so I got a surprise when I tried it for myself.

I reason that "DS L" is indeed the better default because it's simpler--people often want to turn off fill mode, and this will do it for them.  If they want more functionality, a more expressive macro call (like "DS I" or "DS C") gets it.

Probably want to mention this in NEWS; it's got to be on par with the mm ".MT 5" thing.

G. Branden Robinson <gbranden>
Project Administrator


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by gbranden (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.





    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2021-11-05 gbranden StatusIn Progress => Wont Fix
        Open/ClosedOpen => Closed
        Summary[ms] .DS means ".DS I" after all, contradicting forthcoming documentation => [ms] make .DS mean ".DS L"
    2021-11-04 gbranden StatusNone => In Progress
        Assigned toNone => gbranden

    Back to the top

    Powered by Savane 3.9