groff
[Top][All Lists]
Advanced

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

Re: [Groff] Status of the portability work, and plans for the future


From: Eric S. Raymond
Subject: Re: [Groff] Status of the portability work, and plans for the future
Date: Tue, 9 Jan 2007 05:57:03 -0500
User-agent: Mutt/1.4.2.2i

Werner LEMBERG <address@hidden>:
> 
> > >   U+23A2 LEFT SQUARE BRACKET EXTENSION
> > >   U+23A5 RIGHT SQUARE BRACKET EXTENSION
> > 
> > W00t!  I googled for that and I think I found matches for *all* of
> > them nearby, here:
> 
> Yep.  I think I have all of them in groff_char.

Yes, I think you do.  That sequence of bracket characters starting with \bv 
is new to me -- I gather that has been introduced in CVS recently?

I'm now supporting all the troff classic bracket-pile characters.  I'll
add the groff ones with long names when I clean up groff_char.7.
 
> You've forgotten to store something in register `a'.

On reflection, I think that should probably be ".ad b".  It's supposed to
be restoring the normal adjustment mode for a man page.
 
> > .de OP
> > .ie \\n(.$-1 .RI "[\fB\\$1\fP" " \\$2" "]"
> > .el .RB "[" "\\$1" "]"
> > ..
> 
> I prefer that the argument of a flag is tied to the flag itself.
> 
>   .de OP
>   .  ie \\n(.$-1 \
>   .    RI "[\fB\\$1\fP" "\ \\$2" "]"
>   .  el \
>   .    RB "[" "\\$1" "]"
>   ..

I'm fine with that.  I'm not experienced enough at macro coding to have 
stylistic opinions at that level.
 
> What about faking an italic correction (this is, inserting `\|') right
> before the closing bracket?

A typographic detail I totally don't care about, so add it for all o' me.

If you take that header, tinker it as you like, and put it in the tmac
directory of the CVS repo and tell me what the name is, I'll just "cvs
up" and start including it with .mso rather than dropping a copy in
each file I simplify.  I'd do the add myself but I don't have write
access yet.

You might want to add the TQ (TP continuation macro) that's used 
in a lot of these files.  Sometimes it's called TP+, but that's a
bad idea as some third-party viewer out there is sure to get the
lexical analysis of "TP+" wrong.

My procedure, BTW, is:

1. Eyeball the page so I know what it ought to look like.

2. Rip out as much of the local macro stuff as I can replace 
   with .SY/.OP/.YS.

3. Also rip out inclusions of the www and ttychar macro files.
   The code in those is totally nonportable.  

4. make install.

5. Eyeball the page to make sure I haven't scrambled it.

6. Run doclifter to make sure it lifts clean.  This is also
   a portability check.  And if I ever run into a file that
   actually *needs* the www and ttychar inclusions, doclifter
   will complain about undefined requests/glyphs.

I just fixed up ditroff.man.  This is going fairly smoothly so far.
Your past macro coders have had bad cases of "ooh! nifty feature! 
must use!", but despite that the code is pretty readable.
-- 
                <a href="http://www.catb.org/~esr/";>Eric S. Raymond</a>




reply via email to

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