Aleksej Saushev wrote:
> The main part isn't about POSIX, it is about POLA.
> You "gratuitously" break long established practice, which lasts for a
> very long time (since 4.3BSD at least, which makes 25 years, a generation).
>
>
For the record, maxima has never recognized -abc as -a -b -c.
And I'm old enough to remember long options were sometimes written
--long-opt or -long-opt or +long-opt, so maybe --long-opt violates POLA?
And POLA (Principle of Least Astonishment?) seems to really mean
maintaining what you're familiar with. If you're used to a(n) meaning
n'th element of an array a, should you astonished that a(n) doesn't mean
that in Maxima? Does that mean Maxima should change because of POLA?
Anyway, I've hacked on Kevin's getopt some and it seems like it will
work and (gasp!) recognize -abc as -a -b -c.
However, the list of options is somewhat incompatible because getopt
wants unique abbreviations. We currently have -b, --batch, --batch-lisp,
and --batch-string. Getopt won't recognize -b as equivalent to --batch
because it's not a unique abbreviation. And --batch will never be
recognized because it's not a unique abbreviation of --batch-lisp and
--batch-string.
To continue with getopt, we'd have to rename many of the options. I
don't see much point in that. People will be astonished that options
that used to work no longer do, so we'd violate POLA.
Perhaps some other command-line parsing package will work. Or maybe just
leave the status quo.
Ray
P.S. Why don't I get my own messages mailed back to me? This used to
work, and my config says I want to receive my own messages.