Comment 6 for bug 271606

Revision history for this message
Jonathan Marsden (jmarsden) wrote :

> "Normally, multiple arguments that use a single - can be used together..."

Only if you happen to define "normally" as "those switches which do not have arguments". This is just the way option switches with arguments work. And have worked for many years.

This is not specific to sed. Perl has a similar -i option, its man page does not go out of its way to remind people that switches which take arguments can't be combined like that (example: perl -pie "s/a/b/" somefile.txt does not do what you seem to think is "normal"). cp does not point this out for the -S switch in its man page, for another example (example: touch junk junk2 ; cp -bSp junk junk2 does not do what you think is "normal" either). These are very common, very well known programs. Perhaps more commonly used that sed!

It seems peculiar to me to to ask that the sed man page should be "fixed" to "have attention brought to" this behaviour, without being consistent, and requiring this change for all affected man pages. This behaviour is not at all sed-specific, it is simply the way getopt parsing works when single character switches have arguments.

On that basis, I do not see how this (the omission of general info about how single character switches with arguments cannot be combined except as the last switch in such a combination) can really be considered a bug in the sed man page.

As I see it, either:

  (a) this is the expected behaviour of getopt for switches with arguments, and so is not a bug, or
  (b) this is unexpected behaviour, so getopt should not allow such option switches at all, or
  (c) this is unexpected behaviour, but is useful, so every single man page where such a switch is used needs to be sure to "bring attention to" this.

Of those possibilities, I'll vote for (a) :)