zsh-workers
 help / color / mirror / code / Atom feed
* getopts behaviour on `-'
@ 2002-08-06 11:50 Peter Stephenson
  2002-08-06 12:05 ` Peter Stephenson
  2002-08-06 13:33 ` Philip Kizer
  0 siblings, 2 replies; 3+ messages in thread
From: Peter Stephenson @ 2002-08-06 11:50 UTC (permalink / raw)
  To: Zsh hackers list

It seems a little strange that getopts doesn't treat a `-' argument the
same way as `--', which is what builtins do.  The manual page only
mentions `--', but then it doesn't actually say what happens with `-'
which slips through the gaps in the description.  What happens is that
the `-' is treated as a regular argument, it's not skipped as `--' is.
I think they should probably be treated the same, what does anyone else
think?

What about a `+' on its own?  I feel too cowardly to handle any of `+'
`++' or `+-' specially.

-- 
Peter Stephenson <pws@csr.com>                  Software Engineer
CSR Ltd., Science Park, Milton Road,
Cambridge, CB4 0WH, UK                          Tel: +44 (0)1223 692070


**********************************************************************
The information transmitted is intended only for the person or
entity to which it is addressed and may contain confidential 
and/or privileged material. 
Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by 
persons or entities other than the intended recipient is 
prohibited.  
If you received this in error, please contact the sender and 
delete the material from any computer.
**********************************************************************


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: getopts behaviour on `-'
  2002-08-06 11:50 getopts behaviour on `-' Peter Stephenson
@ 2002-08-06 12:05 ` Peter Stephenson
  2002-08-06 13:33 ` Philip Kizer
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Stephenson @ 2002-08-06 12:05 UTC (permalink / raw)
  To: Zsh hackers list

Peter Stephenson wrote:
> It seems a little strange that getopts doesn't treat a `-' argument the
> same way as `--', which is what builtins do.  The manual page only
> mentions `--', but then it doesn't actually say what happens with `-'
> which slips through the gaps in the description.  What happens is that
> the `-' is treated as a regular argument, it's not skipped as `--' is.
> I think they should probably be treated the same, what does anyone else
> think?

I just compared with sh and bash, and they behave the way zsh currently
does, so it's probably safer to leave it.  However, it could be
documented explicitly.

Index: Doc/Zsh/builtins.yo
===================================================================
RCS file: /cvsroot/zsh/zsh/Doc/Zsh/builtins.yo,v
retrieving revision 1.47
diff -u -r1.47 builtins.yo
--- Doc/Zsh/builtins.yo	5 Aug 2002 12:33:27 -0000	1.47
+++ Doc/Zsh/builtins.yo	6 Aug 2002 12:04:37 -0000
@@ -448,6 +448,7 @@
 use the positional parameters.  A valid option argument
 begins with a `tt(PLUS())' or a `tt(-)'.  An argument not beginning with
 a `tt(PLUS())' or a `tt(-)', or the argument `tt(--)', ends the options.
+Note that a single `tt(-)' is not considered a valid option argument.
 var(optstring) contains the letters that tt(getopts)
 recognizes.  If a letter is followed by a `tt(:)', that option
 is expected to have an argument.  The options can be

-- 
Peter Stephenson <pws@csr.com>                  Software Engineer
CSR Ltd., Science Park, Milton Road,
Cambridge, CB4 0WH, UK                          Tel: +44 (0)1223 692070


**********************************************************************
The information transmitted is intended only for the person or
entity to which it is addressed and may contain confidential 
and/or privileged material. 
Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by 
persons or entities other than the intended recipient is 
prohibited.  
If you received this in error, please contact the sender and 
delete the material from any computer.
**********************************************************************


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: getopts behaviour on `-'
  2002-08-06 11:50 getopts behaviour on `-' Peter Stephenson
  2002-08-06 12:05 ` Peter Stephenson
@ 2002-08-06 13:33 ` Philip Kizer
  1 sibling, 0 replies; 3+ messages in thread
From: Philip Kizer @ 2002-08-06 13:33 UTC (permalink / raw)
  To: Zsh hackers list

Peter Stephenson <pws@csr.com> wrote:
>It seems a little strange that getopts doesn't treat a `-' argument the
>same way as `--', which is what builtins do.

I know you already found that the current behaviour is consistant with
other shells, but you might want a bit more explaination as why it shouldn't
be ignored.

Note the behavior of certain commands when a lone dash is used as an
argument.  As a useless example, try:

    uname -a | cat -n /etc/resolv.conf - /etc/zshenv
    uname -a | cat -n - /etc/resolv.conf /etc/zshenv

And see the output.  '-' is traditionally synonymous with STDIN.  Since
getopts exists to enable consistant option parsing, you need to be able to
use getopts to work with the same option sets you might use in the more
traditional commands.


-philip

-- 
Philip Kizer, Senior Lead Systems Engineer, Texas A&M University
Texas A&M CIS Operating Systems Group, Unix   <pckizer@tamu.edu>


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-08-06 13:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-06 11:50 getopts behaviour on `-' Peter Stephenson
2002-08-06 12:05 ` Peter Stephenson
2002-08-06 13:33 ` Philip Kizer

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).