[Top][All Lists]

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

[bug #62726] [me] intro manual: clarify available user namespace

From: Dave
Subject: [bug #62726] [me] intro manual: clarify available user namespace
Date: Fri, 8 Jul 2022 20:27:15 -0400 (EDT)


                 Summary: [me] intro manual: clarify available user namespace
                 Project: GNU troff
               Submitter: barx
               Submitted: Fri 08 Jul 2022 07:27:13 PM CDT
                Category: Macro me
                Severity: 1 - Wish
              Item Group: Documentation
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None


Follow-up Comments:

Date: Fri 08 Jul 2022 07:27:13 PM CDT By: Dave <barx>
<http://git.savannah.gnu.org/cgit/groff.git/tree/doc/meintro.me.in> gives this
advice about naming user-defined macros: "In order to avoid conflicts with
names in -me, always use upper case letters as names.  The only names to avoid
are *TS*, *TH*, *TE*, *EQ*, and *EN*."

This is less than half the set of two-uppercase-letter macros -me defines, but
expanding the sentence to read "avoid EQ, EN, TS, TH, TE, PS, PE, PF, IS, IE,
IF, GS, GE, and GF; and also HX, LK, HR, LI, and DC if generating HTML output"
is awfully cumbersome.

<http://git.savannah.gnu.org/cgit/groff.git/tree/doc/meref.me.in> sidesteps
such a list by recommending any name containing at least one uppercase letter,
with the additional caveat "The names employed by any preprocessors in use
should also not be repurposed."  This simplifies the wording, but places more
burden on the user to know all the names used by his preprocessors, or even
that a preprocesor is invoked at all with -Thtml output.

This slight additional burden seems appropriate for readers of the reference
manual, but the intro manual targets novice users and should probably make no
assumptions about their level of knowledge.  So the full list of conflicting
names might make some sense here.  But it sure is ugly.

One could argue that a user using tbl will surely be aware of the small number
of tbl macros, and a user not using tbl should feel free to clobber them.  But
I feel that even novice users ought to be steered away from macros that have
established meanings, as that will make their documents easier for others (or
future, more knowledgeable versions of themselves) to later expand. 
(http://lists.gnu.org/r/groff/2013-09/msg00022.html has a cautionary tale
relevant to this.)

I'm open to suggestions on how to best handle this.  If no one (including my
future self) has any, I'll write a patch that will probably just have
meintro.me.in list all 19 claimed names.


Reply to this item at:


Message sent via Savannah

reply via email to

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