groff
[Top][All Lists]
Advanced

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

Re: [Groff] Hygienic mode design


From: Ingo Schwarze
Subject: Re: [Groff] Hygienic mode design
Date: Wed, 5 Mar 2014 05:20:28 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

Hi Eric,

Eric S. Raymond wrote on Tue, Mar 04, 2014 at 10:16:15PM -0500:
> Ingo Schwarze <address@hidden>:

> > OK, so i'm using a macro set -mstrict that uses .hygiene
> > and doesn't declare the roff .dirty request as hygienic.
> > 
> > Now i make up my mind that using .dirty inside my document
> > would really be convenient.  Here is how i do it:
> > 
> >   .de clean
> >   .dirty
> >   ..
> >   .clean
> 
> What makes you sure .de will be enabled?

I concluded that because you answered this to Ralph:

: Ralph Corderoy <address@hidden>:
:
:> What about the case of one main macro package and several helper ones
:> that do a small thing well but aren't specific to ms, mm, mom, etc?  Is
:> the invoker to know which padlocks the minibar and that it must be
:> specified last?
:
: Most cases would be easily handled with this sequence:
:
: .hygienic hygiene
: .hygiene
:
: This would leave groff in a state where a repetition of the sequence is
: guaranteed legal.

Right now, i don't quite see how the second macro set to be loaded
could possibly profit from the chance to issue more .hygienic and
another .hygiene request if it were forbidden to use .de, or, more
generally, how loading more than one macro set might work if the
first one would already disable .de.

> I expect it won't be, normally.
> It's not required for man pages,

While i agree that .de is bad style in both mdoc(7) and man(7)
manuals and asking people to not use it there makes sense, i'm not
so sure that abolishing .ds is useful as well.  However, strings
defined with .ds can be (ab)used as macros:

  $ cat | groff -Tascii 
  .ds mybr .b
  first line
  .mybr
  r
  second line
  ^D
  first line
  second line

[...]
>> It looks like you are trying to solve a social problem -
>> design your documents in a responsible way, think about
>> which low-level features you are using and what the consequences
>> are - using technical means, i.e. actually technically preventing
>> authors from using stuff.

> I take this criticism seriously.  You may be right.
> But I'm going to finish sketching and testing a design and present
> it for review anyway.  We may be able to develop something with
> a useful set of properties even if is not a perfect solution.

Yes.  Evaluating a specific proposal is much easier than judging
the potential of a vague idea, and the evaluation of a specific
proposal may inspire suggestions for improvement.

I think i see your point why you want to press package maintainers
a bit harder now, given what you already did so far.  That's
admittedly hard to do when expecting authors to add .hygiene
to their documents, as i suggested in my other posting.

Yours,
  Ingo



reply via email to

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