On Tue, Sep 6, 2016, 7:22 AM Andreas Röhler <andreas.roehler@easy-emacs.de>
wrote:
But let's go back to the simplest case of lower p in interactive spec:
What is easier to read/grasp
(setq counter (or arg 1)
or
(setq counter (prefix-numeric-value arg))
IOW: in favor of avoiding these complex, tricky things. Let's have the
code as explicit as possible.
Those 2 forms are not 100℅ equivalent. The equivalence goes only as far as
setting the default value of counter.
If the user used (interactive "p"), counter need to be set to 4 regardless
of whether the user used "C-4" as prefix or "C-u". In the former case, arg
would be "4", but in the latter case, it would be "(4)", I.e. a list, not a
number. Your simpler representation would not take care of the C-u case. If
the counter variable is used where a numeric arg is strictly required, you
will get an error. Here, prefix-numeric-value returns "4" when arg is
"(4)".
--