groff
[Top][All Lists]
Advanced

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

Re: [Groff] First round of cleabnup patches


From: Werner LEMBERG
Subject: Re: [Groff] First round of cleabnup patches
Date: Mon, 15 Jan 2007 01:24:36 +0100 (CET)

> This is my first set of cleanup patches for the groff man pages.

Thanks!  I'm now going to add this slowly to the CVS.

> All new macros defined in these changes have two-character names,

Hmm.  Not quite correct -- see .URL and .MTO.  As written in another
mail, it's fine for to use the .UR/.UE pair, dropping .MTO since it
can be expressed with .UR.  Objections?

> I have not embedded an inclusion of an-ext.tmac in an-old.tmac
> because the file contains some policy -- see the font remappings
> near the front.

Where's the problem?

> .SY/.YS need to be hacked to properly save/restore adjustment, even
> when .SY/.YS calls are not balanced.

Done.

> I have, however, added a definition of .EX/.EE to an-ext.tmac, as
> several of the cleaned-up files make use of it.

OK.  Actually, you've added them to an-old, and I've moved them to
an-ext.

> Somebody with better macro-coding skills than I have should upgrade
> .EX to take an optional relative-indent argument.

Some comments.

  (1) We could say

        .RS n
        .EX
        ...
        .EE
        .RE

      instead of providing an optional argument.

  (2) .EX could have the same value as .TP for the default
      indentation.  Similar to .TP, all following invocations of .EX
      could use the same indentation as the last .EX with an argument
      (or the default value if there hasn't been a call to .EX with an
      argument earlier).

  (3) Same as (2), but 0 as the default indentation value.

> A definition of .DS/.DE (unfilled display with optional relative
> indent) should also be added.  If it is possible to get "keep"
> behavior without too much pain, this macro pair should do that.

Implementing a keep is rather easy (however, I'm delaying this for the
moment).  Basically, the same comments as above do apply, but...

> Also, it should be possible to nest these with the indents (if any)
> stacking.

... stacking is dependent on the implementation if you want to mix it
with other macros which change indentation!  Using .RS we completely
circumvent this problem since .RS is already defined in all `man'
macro packages.

For this reason, I prefer (1) for both .EX/.EE and .DS/.DE -- since
there aren't any other paired `environments' in man except .RS/.RE, we
would even have a consistent interface if we refrained from having an
optional parameter for indentation.

> .EX/.EE needs to be documented in groff_man(7).

Actually, *all* macros added to an-ext.tmac have to be documented.
Since macros in an-ext overwrite any platform-specific versions of
.EX/.EE we don't have to bother with different implementations.

BTW, Plan 9's .EX/.EE don't do indentation either.


    Werner




reply via email to

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