Hello James,

James Cloos wrote on Wed, Aug 27, 2025 at 12:55:29AM -0400:

> I hope none of you are suggesting removing support for, eg:
>   man ./foo.5

We will remove exactly that.

In mandoc, i will remove that feature outright, probably later today,
because i don't really expect fallout in OpenBSD or in any other
BSD operating system, or even in any of the Linux distributions
that use mandoc by default as their man(1) implementation.

Colin, in man-db, if i understand correctly what he explained,
wants to be less aggressive and is thinking about how to devise
a method to deprecate it and slowly phase it out in a way that
minimizes disruption for users and scripts, because he suspects
that it *might* be used in a few places that need to adapt.

> or the like.  That is -- and has been -- the standard way to look
> at a man page for an uninstalled package.
> 
> it should continue to work.
> 
> at least on all of the FLO-licensed posix varieties.

It's absolutely not "the standard way".
You are talking about POSIX; here is the standard for man(1):

  https://pubs.opengroup.org/onlinepubs/9799919799/utilities/man.html

Actually, having "man ./foo.5" open the file ./foo.5 is not only
an extension to POSIX - as, for example, supporting additional
options not specified by POSIX is.  POSIX clearly says that the
argument of man(1) has to be interpreted as a "A keyword or the
name of a standard utility."  While it is a reasonable extension
to treat names of non-standard utilities in the same way, treating
the argument as a file name violates the spirit, even if not the
letter, of the standard.

What's wrong with typing

  man -l foo.5

instead, which avoids both the ambiguity in the meaning of the command
and the conflict with the POSIX standard: when supporting non-standard
options as extensions, it is common that some of the additional
options may modify the meaning of some arguments.

Even when reading "standard" in the weak sense of "universally
supported", your claim is dubious at best.  While it appears
that man-db supported the quirk since the beginning of the git
repo in 2001 and man-1.5 / man-1.6 also supported it during the
time frame 1998-2010, BSD man(1) never supported it, and mandoc
only added it in 2018, and only for man-db compatibility.

Yours,
  Ingo

Reply via email to