bugGNU roff - Bugs: bug #64515, [man] deprecate `SB` macro

 
 

bug #64515: [man] deprecate `SB` macro

Submitter:  G. Branden Robinson <gbranden>
Submitted:  Fri 04 Aug 2023 01:17:48 PM UTC
   
 
Category:  Macro man Severity:  1 - Wish
Item Group:  Documentation Status:  Fixed
Privacy:  Public Assigned to:  gbranden
Open/Closed:  Closed Planned Release:  1.24.0
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 09 Aug 2023 10:06:17 PM UTC, comment #2: 


commit 2a22ee31ebdaeab02a58825b3c4450c7bb70beee
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date:   Fri Aug 4 09:28:55 2023 -0500

    [man]: Deprecate `SB` macro.

    It is a SunOS 4.0 (1988) extension that in most contexts, does nothing
    you can't achieve with `SM` and `B` together (in either order).

    Study of the SunOS 4 man page corpus suggests a reason for its
    introduction of this macro: use of `SB` immediately after `TP` was
    common (610 out of 2,111 occurrences).  The problem with `TP` and the
    mechanism suggested above is that input traps in troff normally ignore
    the `\c` escape sequence, the use of which would be necessary to get the
    desired effect.  In groff since 1.22.4, the man(7) `TP` macro uses GNU
    troff's `itc` request, which _does_ respect `\c`.  (mandoc(1) behaves
    compatibly with groff man >= 1.22.4.)  Solaris 11 switched to groff as
    its troff implementation, so there is no reason for newly written or
    currently maintained man pages to employ `SB`.

    * tmac/an.tmac (SB): Throw deprecation warning.

    * tmac/groff_man.7.man.in (Description): Move macro from table to
      deprecation list.

      (Font style macros): Move description from here...
      (Deprecated features): ...to here.

      (Portability): Drop mention, since we don't encourage people to
      use it at all.

    Fixes <https://savannah.gnu.org/bugs/?64515>.


G. Branden Robinson <gbranden>
Group administrator
Fri 04 Aug 2023 01:38:42 PM UTC, comment #1: 

Fix item group.  This is not a feature change since formatting behavior will not change.  The documentation is changing, and an undocumented internal man(7) linter ("CHECKSTYLE") will complain, but that is all.

G. Branden Robinson <gbranden>
Group administrator
Fri 04 Aug 2023 01:17:48 PM UTC, original submission:  

The groff man(7) `SB` macro is a SunOS 4.0 extension reimplemented by Clark for groff back in the day.

But it was an unfortunate extension, since it did nothing that can't be accomplished with Unix Version 7 man(7) macros.

(Another SunOS 4 extension, `TX` was insufficiently flexible and it's a good thing Clark did not embrace it without reconsidering its design.)


+.\" Deprecated: Set arguments (or next input line producing written or
+.\" drawn output if none) in bold style at smaller type size.
+.\"
+.\" This is a SunOS 4.0 extension.
+.\"
+.\" Instead of
+.\"   .SB whatever
+.\" say
+.\"   .SM
+.\"   .B whatever
+.\" or
+.\"   .B
+.\"   .SM whatever
+.\" to portably get an identical effect.
+.\"
+.\" .SB [text]


G. Branden Robinson <gbranden>
Group administrator

 

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

Attach Files:
   
   
Comment:
   

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
    2023-08-09 gbranden StatusIn Progress Fixed
        Open/ClosedOpen Closed
        Planned ReleaseNone 1.24.0
    2023-08-09 gbranden Summary[man]: deprecate `SB` macro [man] deprecate `SB` macro
    2023-08-04 gbranden Item GroupFeature change Documentation

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code