A longstanding complaint of mine regarding Linux man pages is that they
frequently have broken SEE ALSO references.  I wonder if there's not
something the groff project could do to encourage packaging systems to
avoid such errors.  

Today's page in question is edltline(3), the BSD complement to
readline.  On my Ubuntu page, SEE ALSO says:

> .Sh SEE ALSO
> .Xr mg 1 ,
> .Xr vi 1 ,
> .Xr editline 3edit ,
> .Xr el_wgets 3 ,
> .Xr el_wpush 3 ,
> .Xr el_wset 3 ,
> .Xr editrc 5edit

What, I wonder, is "mg"?  

        $ man mg
        No manual entry for mg

Feh.  

What Linux lacks here is a cross-reference cross-reference: a way for
the package installer (the program) to delete cross-references for
packages not installed, and to re-insert latent cross-reference after
the referenced package is installed.  

For example, the above section could read

        .ig mg.1
        .Xr mg 1 ,
        mg.1

Upon installation of /usr/share/man/man1/mg.1 , the installer could
remove the .ig and restore the cross-reference.  

I guess my goal is to have groff include/offer a tool that an installer
could use to apply changes like that.  The tool wouldn't require the
packager (person or software) to know anthing about mdoc or man or
groff.  It would just list the pages being added/deleted, and the tool
would rummage around updating SEE ALSO accordingly, perhaps aided by an
index. 

Surely I'm not the first to think of this.  Does anyone here have a war
story of any similar attempt? 

--jkl

Reply via email to