Nicolas Goaziou <[email protected]> writes:
> Kyle Meyer <[email protected]> writes:
>
>> I think (interactive "p"), or (interactive "P\np"), would be undesirable
>> because we'd be 1) changing the call signatures in a way that's not
>> backward compatible and 2) positioning an argument that shouldn't
>> concern most users toward the front of the argument list.
>
> I don't understand this. Why would using (interactive "p") instead of
> (interactive "P") would be incompatible?
I misunderstood, thinking you wanted to add an additional argument
rather than using (interactive "p") for WITH-CASE.
> AFAIU, the only difference is how the argument value is treated within
> the callee.
Won't using a numeric prefix argument change the behavior for both
interactive and Lisp calls?
As examples,
* M-1 M-x org-sort-list is currently interpreted as a non-nil value
for WITH-CASE. Instead, it would be indistinguishable from M-x
org-sort-list.
* A Lisp caller can currently set WITH-CASE to any non-nil value.
Using (interactive "p") for WITH-CASE, how do we distinguish a
numeric argument passed for WITH-CASE from an interactive call?
Using an additional argument whose only purpose is to serve as a
interactive flag, which is what called-interactively-p's docstring
suggests, avoids these issues.
--
Kyle