Nicolas Goaziou <m...@nicolasgoaziou.fr> writes: > Kyle Meyer <k...@kyleam.com> 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