public inbox for linux-man@vger.kernel.org
 help / color / mirror / Atom feed
From: Alejandro Colomar <alx.manpages@gmail.com>
To: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Cc: Ingo Schwarze <schwarze@usta.de>,
	linux-man <linux-man@vger.kernel.org>,
	Colin Watson <cjwatson@debian.org>, groff <groff@gnu.org>
Subject: Re: All caps .TH page title
Date: Fri, 22 Jul 2022 01:16:49 +0200	[thread overview]
Message-ID: <1e1f9197-a013-0d6b-6bfa-853fe28102cf@gmail.com> (raw)
In-Reply-To: <20220721183620.hdvgwwef66hmrgln@illithid>


[-- Attachment #1.1: Type: text/plain, Size: 4527 bytes --]

Hi Branden,

On 7/21/22 20:36, G. Branden Robinson wrote:
> Hi Alex,
> 
> At 2022-07-21T16:29:21+0200, Alejandro Colomar wrote:
>> I've never been convinced about the page title being in all caps in
>> the .TH line.  From recent groff@ discussions, I guess that neither of
>> you are either.
> 
> Well, Ingo was more comfortable with it than I was.
> 
>> I'd like to know why this has been the case historically, and any
>> opinions you might have about me changing the man-pages to use the
>> same caps as the actual identifier that I'm documenting (most of the
>> time that would mean lowercase).  Basically, the same rules as within
>> .SH NAME.
> 
> I've read every edition of the Unix manual from Version 1 (1971) to
> Version 7 (1979) and my surmise is that it was sheer inertia.  The
> Teletype machines that were used to set the original versions of the
> manual--remember, this is before troff even existed--might have been
> capable of boldface through overstriking, but was not used this way as
> far as I can tell in the V1 through V3 manual.
> 
> So this means that, for emphasis, you had regular type and underlined
> type and that was it.
> 
> Under such limitations, the use of full capitals for emphasis is not
> surprising.

That makes sense.

> 
> After that--the V4 manual was the first to be typeset with troff--the
> practice of full-capping the page titles in the headers was retained.
> 
> How deliberate a choice this was is not something I can answer.  The
> decision was made in 1972.  You could ask some of the surviving
> principal Bell Labs CSRC figures on the TUHS mailing list.

Is Doug one of them?  I've seem him on the groff@ list from time to 
time.  I added the groff@ list, in case this is of interest to someone 
there.

> 
>> Also, does it have any functional implications?  I'm especially
>> interested in knowing if that may affect in any way the ability of
>> man(1) to find a page when invoked as `man TIMESPEC` for example.
> 
> My understanding is that mandb(8) indexes based solely on the second
> argument to the `TH` macro call and (what it interprets as) the contents
> of the "Name" (or "NAME") section of the page.  It parses *roff itself
> as best it can to determine this.  So the fact that the _first_ argument
> to `TH` might be in full caps doesn't deter it.  (It might in fact have
> made mandb(8) authors' job easier if an "honest lettercase" practice had
> arisen back in the day--but it didn't).

Okay.

> 
> Since he's a mandb(8) author/maintainer, I would again defer to Colin
> Watson's knowledge and expertise in this area.

Added to CC, in case he wants to intervene.

> 
>> I'm not saying necessarily that I'd like to keep that behavior.  I
>> wouldn't mind breaking it, if it means that users will be able to
>> differentiate upper- and lowercase pages.  We're not in Windows (nor
>> MacOS), anyway.
> 
> True, although I would take a jaundiced view toward any software project
> that distinguished its man page names, whether internally or from
> others' solely by a difference in lettercase.

Heh!  You've never tried to clone the Linux man-pages in Windows or 
MacOS, it seems :p

$ find man* -type f \
   | tr '[:upper:]' '[:lower:]' \
   | sort \
   | uniq -d \
   | while read f; do
	find man* -type f \
	| grep -i $f;
   done;
man2/_Exit.2
man2/_exit.2
man3/nan.3
man3/NAN.3


$ find man* -type f \
   | tr '[:upper:]' '[:lower:]' \
   | sort \
   | uniq -d \
   | while read f; do
	find man* -type f \
	| grep -i $f;
   done \
   | while read f; do
	echo ===$f===;
	head -n1 $f;
   done;
===man2/_Exit.2===
.so man2/_exit.2
===man2/_exit.2===
.\" This manpage is Copyright (C) 1992 Drew Eckhardt;
===man3/nan.3===
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
===man3/NAN.3===
.so man3/INFINITY.3


At least, _Exit(2) and _exit(2) point to the same page.  nan(3) and 
NAN(3) don't, though!

We can't blame the writers, since the identifiers have those names in C. 
  Luckily, man(1) shows you the right page if you specify the right string.


I feel a need to fix this lack of precision in the page titles.  Unless 
someone opposes to it with some strong reason, which I don't expect.

It'll take some time to do it, but if no-one speaks in a reasonable 
time, I'll start doing it :).

Cheers,

Alex

> 
> Regards,
> Branden

-- 
Alejandro Colomar
<http://www.alejandro-colomar.es/>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2022-07-21 23:17 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-21 14:29 All caps .TH page name Alejandro Colomar
2022-07-21 18:36 ` G. Branden Robinson
2022-07-21 23:16   ` Alejandro Colomar [this message]
2022-07-22  0:22     ` All caps .TH page title Colin Watson
2022-07-22  1:34       ` G. Branden Robinson
2022-07-22  4:07         ` G. Branden Robinson
2022-07-22 14:44       ` Ingo Schwarze
2022-07-22  2:14     ` G. Branden Robinson
2022-07-22 10:35       ` Alejandro Colomar (man-pages)
2022-07-22 11:46         ` Alejandro Colomar
2022-07-22 19:03           ` G. Branden Robinson
2022-07-22 22:20             ` Alejandro Colomar
2022-07-23 19:29           ` Ingo Schwarze
2022-07-24 11:20             ` Alejandro Colomar (man-pages)
2022-07-24 14:57               ` Ingo Schwarze
2022-07-24 15:44                 ` G. Branden Robinson
2022-07-24 17:07                   ` FHS and packaging (was: All caps .TH page title) Alejandro Colomar
2022-07-27 16:05                   ` All caps .TH page title Ingo Schwarze
2022-07-29 11:33                     ` man0, man3head (was: All caps .TH page title) Alejandro Colomar
2022-07-29 12:31                       ` Ingo Schwarze
2022-07-29 11:43                     ` BSD and GPL " Alejandro Colomar
2022-07-24 16:17                 ` man -M tcl " Alejandro Colomar
2022-07-27 15:32                   ` Ingo Schwarze
2022-07-29 12:03                     ` Alejandro Colomar
2022-07-29 13:22                       ` Ingo Schwarze
2022-07-29 13:27                         ` Alejandro Colomar
2022-07-22 16:19   ` All caps .TH page name Ingo Schwarze

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1e1f9197-a013-0d6b-6bfa-853fe28102cf@gmail.com \
    --to=alx.manpages@gmail.com \
    --cc=cjwatson@debian.org \
    --cc=g.branden.robinson@gmail.com \
    --cc=groff@gnu.org \
    --cc=linux-man@vger.kernel.org \
    --cc=schwarze@usta.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox