Subject: bug#40940: 27.0.91; project-query-replace-regexp stops too early

From: Eli Zaretskii <[email-masked]>
Date: Sat, 02 May 2020 09:44:30 +0300

> Cc: [email-masked], [email-masked], [email-masked]
> From: Dmitry Gutov <[email-masked]>
> Date: Sat, 2 May 2020 02:21:57 +0300
> 
> >> Sorry if that was unclear: I think we'd need to update the docstring of
> >> fileloop-initialize-replace. Which doesn't offer any hints that the
> >> logic of isearch-no-upper-case-p will be employed.
> > 
> > Ah, okay.  Agreed.
> 
> Should I leave that to you? At least the "updated docstring" part.

I can update the doc string, yes.  But I don't think it's a good idea
to divide the coding part between us, though.  So please show the
code, and I will suggest the doc change.

> >> Since we bind search-upper-case to nil in this patch, perform-replace
> >> won't try to alter the value of case-fold-search internally.
> > 
> > But that's contrary to how query-replace works, isn't it?
> 
> I suppose. But query-replace documents that aspects of its behavior:
> 
>    Matching is independent of case if `case-fold-search' is non-nil and
>    FROM-STRING has no uppercase letters.

Sure.  Wouldn't users of project-query-replace-regexp expect the same?

> Though it doesn't mention the search-upper-case variable.

Ugh!  That should be fixed, of course.