Subject: Re: bug#54804: 29.0.50; zap-to-char: case sensitive for upper-case letter

From: Eli Zaretskii <[email-masked]>
Date: Tue, 17 May 2022 15:41:53 +0300

> From: Tino Calancha <[email-masked]>
> Cc: [email-masked],  [email-masked],[email-masked],
>  <[email-masked]>, [email-masked]
> Date: Tue, 17 May 2022 14:34:06 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> I have added Stefan, who suggests using the interactive arg (see
> explanation below).
> I have also added Juri, who is expert on isearch.
> 
> >> From: Tino Calancha <[email-masked]>
> >>     * lisp/misc.el (zap-up-to-char): Add an optional arg INTERACTIVE.
> >>     Perform a case-sensitive search when INTERACTIVE is non-nil and
> >>     CHAR is an upper-case character.
> >
> > I don't understand why the need for the new INTERACTIVE argument.
> 
> > And, as mentioned above, I don't think I understand why we need to do
> > this only in interactive calls.  Non-interactive invocations already
> > have a way to request case-sensitivity, by let-binding
> > case-fold-search, right?
> 
> I'll try to explain this.
> 
> This is what Emacs does for isearch/search.

Search is a much more complex set of features and commands in Emacs.
These two commands are much simpler, and I see no reason to try to be
compatible with search commands, since these two commands don't search
anything.

> I want the analog behavior for zap-to... commands: automatic
> case sensitivity when the char is uppercase.
> I want this behavior on interactive calls only, for instance when users
> do `M-z'.

As I said I disagree: these are DWIMish features that are best
reserved for interactive invocation.  In calls from Lisp, it is
confusing to have the behavior change so drastically depending on the
letter-case of an argument.