[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) |
URL:
<https://savannah.gnu.org/bugs/?62726>
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>
doc/meintro.me.in
<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.
doc/meref.me.in
<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:
<https://savannah.gnu.org/bugs/?62726>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [bug #62726] [me] intro manual: clarify available user namespace,
Dave <=