Subject: bug#13737: Add -h option to 'users'

From: Jim Meyering <[email-masked]>
Date: Mon, 18 Feb 2013 19:33:24 +0100

Eric Blake wrote:
> On 02/18/2013 12:31 AM, anatoly techtonik wrote:
>> I don't understand your argument about "unique combination". The main issue
>> is that people like me expect -h to work as a --help shortcut. They don't
>> have a chance to know "--h" without reading the docs, so --h is not useful.
>> And by the way - this --h is not documented.
>
> We HAVE documented it.  We document that ALL long options can be
> represented by an unambiguous prefix, so --h is an unambiguous prefix of
> --help if there are no other long options beginning with h.
>
>> The bar for adding new short options to the utilities is very high.
>>>
>>
>> Sorry, but it is an argument. It will be interesting to know why though.
>
> We are reluctant to burn a short option letter on any utility
> standardized by POSIX unless there are other non-GNU implementations
> that have also burned the same letter for the same purpose.  Prematurely
> burning a short option hinders an effort to enhance the standard;
> whereas existing practice is a strong argument for implementing
> something to make it easier to use GNU as a drop-in replacement that
> gives the user freedom over the existing implementation.
>
>> To confirm that argument we'd have to run the poll - if the users expect -h
>> to work as --help by default.
>
> Not generally.  The GNU coding standards mandate '--help', they do NOT
> mandate '-h'.  More GNU users are used to '--help' than they are for any
> short option name.
>
> I am against adding -h as a short option without a lot more
> justification than just a single user, since we have had so few requests
> for a short option -h over the years.

Thanks for replying, Eric and Bob.
One more point: a long time ago, I too thought about adding -h
as an alias for --help for these 100-or-so programs, but even then,
there were numerous commands for which -h was already accepted,
but with a different meaning.

This command shows the affected programs:

    $ grep -le -h, *.c
    chcon.c
    chgrp.c
    chown-core.c
    chown.c
    df.c
    du.c
    ls.c
    nl.c
    pr.c
    sort.c
    touch.c

Thus, we cannot do it across the board, and
that was another reason not to do it.