trying to improve mandoc Solaris support

Joerg Schilling via buildfarm buildfarm at lists.opencsw.org
Thu Mar 19 18:54:28 CET 2015


Ingo Schwarze <schwarze at usta.de> wrote:

> According to Cynthia, three noteworthy versions existed:
>
>  * mdoc(7) version 1 was never checked into version control, never
>    published, and the source code is probably lost.  It was what
>    Cynthia used when starting the work.
>
>  * mdoc(7) version 2 is still available here:
>    http://svnweb.freebsd.org/csrg/share/tmac/tmac.doc.old
>    That version was short-lived:  It was only contained
>    in 4.3BSD-Reno and 4.3BSD-Net/2, but in Reno, only a small
>    number of manuals was converted to mdoc(7), most were still
>    shipped in the old man(7) format, and in Net/2, conversion
>    to version 3 had already started.
>    
>  * mdoc(7) version 3 is available here:
>    http://svnweb.freebsd.org/csrg/share/tmac/doc
>    (and the doc-* files in the same directory)
>    That's the version used in all variants of 4.4BSD,
>    and the only one people usually have in mind when talking
>    about "mdoc(7)" today.

OK, I am using a file based on:

	CSRG/CSRG_Archive_3/4.4/usr/share/tmac/tmac.doc

I have no idea how this is related to the svn conversion.

> > If there are improvements, please keep me informed.
>
> You should probably just follow
>
>   https://github.com/n-t-roff/heirloom-doctools/

I would need to download this as the web interface is not nice to compare such 
things.

> Carsten also announces releases on <groff at gnu.org>.
>
> I'm not directly involved with Heirloom troff development,
> so i'm not the ideal person to keep people informed about it.

So is the development of this decoupled from Gunnar Ritter?


> > Are there *BSD man pages that go beyond the official 6 argument
> > limit for troff macros?
>
> Yes, we dropped that restriction in OpenBSD about four years ago,
> and i doubt that FreeBSD and NetBSD still abide by it.
>
> > From my interpretation, using such features is not a good idea if you 
> > intend to create portable man pages.
>
> Well, portable to what?  Historic systems?

I create portable software and I assume that my software also works on HP-UX 
and AIX. 

> > For this reason I decided not to enhance the Solaris man macros
> > to support more than 6 arguments, just to be sure to 
> > detect problems early if I write or enhance man pages.
>
> I'm not sure that's a wise choice.  Probably, the only effect is
> that Solaris may be the only modern system out there that has
> problems rendering modern manuals (admittedly, i didn't try, but
> that's what i would expect).  Maybe, when i'm bored, i might
> copy the OpenBSD manuals to the OpenCSW cluster and have a look...

I am sure there are other systems with this restriction.

> Performance very much depends on the language (mdoc(7) vs. man(7),
> and possibly tbl(7) and eqn(7)) and the size of the page in
> question, so giving a single number does not tell me very much.
> In general, performance differs more for mdoc(7) than for man(7)
> and more for smaller pages than for larger ones.

As I fixed the Solaris man pages (Sun did destroy them when converting them to 
sgxml for a Framemaker plugin and later back to troff. You can have a look at 
the current state of the man pages in the Mercurial of SchilliX-ON and HTML 
converted at:

	http://schillix.sourceforge.net/man/

As the conversion could do bad thingd and as (unlike illumos) I have quality 
standards for the man pages, I do a 100% check for all man pages after each 
conversion step. I used a similar script to roff all Solaris man pages using 
troff, groff and mandoc and I compared the time. 


> [...]
> > My impression with the mdoc() macro set is that it mainly tries
> > to provide new macros for use cases that work with classical
> > man(5) macros if you know that there is \c to innterupt line
> > processing with [nt]roff.
>
> Not at all.  The point of mdoc(7) is semantic markup, while man(7)
> is purely presentational markup.  So the two languages serve
> completely different purposes.

Where/how does this help?

> [...]
> > I did not yet check the quality of Heirloom troff.  I know however
> > that there is not much maintenance for all the projects in Heirloom
> > that I checked before.
>
> Heirloom troff is now maintained seperately from the rest of the
> Heirloom tools.

Is there a place where I can read something about the background for this 
project?


> > BTW: One reason is line formatting.  I prefer full justification
> > before left aligned text.
>
> That's indeed a matter of taste.  The vast majority of OpenBSD
> developers prefer flush-left, and i don't remeber hearing complaints
> about it from FreeBSD, NetBSD, DragonFly, illumos or any of the
> Linux ports either.  Implementing .ad would not be that difficult,
> but demand is tiny, so i'm treating it as a low-priority task.

Then it would look like classical man pages. 

Jörg

-- 
 EMail:joerg at schily.net                    (home) Jörg Schilling D-13353 Berlin
       joerg.schilling at fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/
 URL:  http://cdrecord.org/private/ http://sourceforge.net/projects/schilytools/files/'


More information about the buildfarm mailing list