bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: option abbreviation exceptions


From: Eric Blake
Subject: Re: option abbreviation exceptions
Date: Thu, 08 Jan 2009 07:16:10 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.19) Gecko/20081209 Thunderbird/2.0.0.19 Mnenhy/0.7.5.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Jim Meyering on 12/29/2008 10:22 AM:
>> Would this usage text be acceptable at better describing the situation?
>>
>> Usage: /bin/echo [SHORT-OPTION]... [STRING]...
>>   or:  /bin/echo LONG-OPTION
> 
> Sure.

Here's a first patch that solves the issues that we agreed were trivial.
OK to commit, or should I just push them to the next branch until we've
had a day to think about it?  I need to put more time into the other
issues we discussed, such as:

> Making [ accept no abbreviations does seem like it'd be an improvement.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAklmCqkACgkQ84KuGfSFAYDdRgCfSK5XFHU2CTHRhXjlM8RlcBPp
vmIAnAptf8cU+wM2ZtyAxddTp2YaVhDU
=r4kg
-----END PGP SIGNATURE-----
From b1e1758b82550c4ee339e21d7a2763c160c24692 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Thu, 8 Jan 2009 06:33:16 -0700
Subject: [PATCH] option handling: make exceptions more consistent

* doc/coreutils.texi (Common options): Not all utilities reject
option abbreviations.
* src/chroot.c (main): Report correct name on failure.
* src/echo.c (usage): Clarify long option usage.
* src/setuidgid.c (usage): Likewise.
* src/hostid.c (usage): Condense.
---
 doc/coreutils.texi |    2 +-
 src/chroot.c       |    5 +++--
 src/echo.c         |    7 +++++--
 src/hostid.c       |    5 ++---
 src/setuidgid.c    |    6 +++---
 5 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/doc/coreutils.texi b/doc/coreutils.texi
index 51145de..1cc237c 100644
--- a/doc/coreutils.texi
+++ b/doc/coreutils.texi
@@ -681,7 +681,7 @@ Common options
 
 Some of these programs recognize the @option{--help} and @option{--version}
 options only when one of them is the sole command line argument.  For
-these programs, abbreviations of the long options are not recognized.
+these programs, abbreviations of the long options are not always recognized.
 
 @table @samp
 
diff --git a/src/chroot.c b/src/chroot.c
index 1eb443c..6d3fddf 100644
--- a/src/chroot.c
+++ b/src/chroot.c
@@ -1,5 +1,5 @@
 /* chroot -- run command or shell with special root directory
-   Copyright (C) 95, 96, 1997, 1999-2004, 2007-2008
+   Copyright (C) 95, 96, 1997, 1999-2004, 2007-2009
    Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -83,7 +83,8 @@ main (int argc, char **argv)
     }
 
   if (chroot (argv[optind]) != 0)
-    error (EXIT_FAILURE, errno, _("cannot change root directory to %s"), 
argv[1]);
+    error (EXIT_FAILURE, errno, _("cannot change root directory to %s"),
+          argv[optind]);
 
   if (chdir ("/"))
     error (EXIT_FAILURE, errno, _("cannot chdir to root directory"));
diff --git a/src/echo.c b/src/echo.c
index d549cda..c4b7ca9 100644
--- a/src/echo.c
+++ b/src/echo.c
@@ -1,5 +1,5 @@
 /* echo.c, derived from code echo.c in Bash.
-   Copyright (C) 87,89, 1991-1997, 1999-2005, 2007-2008 Free Software
+   Copyright (C) 87,89, 1991-1997, 1999-2005, 2007-2009 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -41,7 +41,10 @@ usage (int status)
             program_name);
   else
     {
-      printf (_("Usage: %s [OPTION]... [STRING]...\n"), program_name);
+      printf (_("\
+Usage: %s [SHORT-OPTION]... [STRING]...\n\
+  or:  %s LONG-OPTION\n\
+"), program_name, program_name);
       fputs (_("\
 Echo the STRING(s) to standard output.\n\
 \n\
diff --git a/src/hostid.c b/src/hostid.c
index f3cabc4..4482bd5 100644
--- a/src/hostid.c
+++ b/src/hostid.c
@@ -1,6 +1,6 @@
 /* print the hexadecimal identifier for the current host
 
-   Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2007-2008 Free
+   Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2007-2009 Free
    Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -42,8 +42,7 @@ usage (int status)
   else
     {
       printf (_("\
-Usage: %s\n\
-  or:  %s OPTION\n\
+Usage: %s [OPTION]\n\
 Print the numeric identifier (in hexadecimal) for the current host.\n\
 \n\
 "),
diff --git a/src/setuidgid.c b/src/setuidgid.c
index 057002c..beff04a 100644
--- a/src/setuidgid.c
+++ b/src/setuidgid.c
@@ -1,5 +1,5 @@
 /* setuidgid - run a command with the UID and GID of a specified user
-   Copyright (C) 2003-2008 Free Software Foundation, Inc.
+   Copyright (C) 2003-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -48,8 +48,8 @@ usage (int status)
   else
     {
       printf (_("\
-Usage: %s OPTION USER COMMAND [ARGUMENT]...\n\
-  or:  %s OPTION\n\
+Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n\
+  or:  %s LONG-OPTION\n\
 "),
               program_name, program_name);
 
-- 
1.6.0.4


reply via email to

[Prev in Thread] Current Thread [Next in Thread]