GNU bug report logs - #24356
25.1; query-replace with replace-char-fold doesn't highlight folded chars

Previous Next

Package: emacs;

Reported by: Alex <agrambot <at> gmail.com>

Date: Sat, 3 Sep 2016 03:52:01 UTC

Severity: normal

Found in version 25.1

Fixed in version 27.1

Done: charles <at> aurox.ch (Charles A. Roelli)

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 24356 in the body.
You can then email your comments to 24356 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#24356; Package emacs. (Sat, 03 Sep 2016 03:52:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Alex <agrambot <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 03 Sep 2016 03:52:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Alex <agrambot <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.1;
 query-replace with replace-char-fold doesn't highlight folded chars
Date: Fri, 02 Sep 2016 21:51:20 -0600
Recipe:

emacs -Q
M-: (setq replace-char-fold t)
C-x 8 ~ a RET
M-<
M-% a RET bbbb RET

The result of 'C-x 8 ~ a' (ã) is not highlighted as a match; it should
be, as entering '!' will indeed replace ã with bbbb.

It should be noted that isearch in char-fold mode does highlight ã.


In GNU Emacs 25.1.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.20.7)
 of 2016-08-21 built on lylat
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description:	Debian GNU/Linux testing (stretch)

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11

Important settings:
  value of $LC_CTYPE: en_CA.utf8
  value of $LANG: en_CA.utf8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.




Reply sent to charles <at> aurox.ch (Charles A. Roelli):
You have taken responsibility. (Tue, 26 Dec 2017 11:48:01 GMT) Full text and rfc822 format available.

Notification sent to Alex <agrambot <at> gmail.com>:
bug acknowledged by developer. (Tue, 26 Dec 2017 11:48:02 GMT) Full text and rfc822 format available.

Message #10 received at 24356-done <at> debbugs.gnu.org (full text, mbox):

From: charles <at> aurox.ch (Charles A. Roelli)
To: Alex <agrambot <at> gmail.com>
Cc: 24356-done <at> debbugs.gnu.org
Subject: Re: bug#24356: 25.1;
 query-replace with replace-char-fold doesn't highlight folded chars
Date: Tue, 26 Dec 2017 12:51:02 +0100
Version: 27.1

> From: Alex <agrambot <at> gmail.com>
> Date: Fri, 02 Sep 2016 21:51:20 -0600
> 
> Recipe:
> 
> emacs -Q
> M-: (setq replace-char-fold t)
> C-x 8 ~ a RET
> M-<
> M-% a RET bbbb RET
> 
> The result of 'C-x 8 ~ a' (ã) is not highlighted as a match; it should
> be, as entering '!' will indeed replace ã with bbbb.
> 
> It should be noted that isearch in char-fold mode does highlight ã.
> 
> 
> In GNU Emacs 25.1.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.20.7)
>  of 2016-08-21 built on lylat
> Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
> System Description:	Debian GNU/Linux testing (stretch)
> 
> Configured features:
> XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
> NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
> TOOLKIT_SCROLL_BARS GTK3 X11
> 
> Important settings:
>   value of $LC_CTYPE: en_CA.utf8
>   value of $LANG: en_CA.utf8
>   locale-coding-system: utf-8-unix
> 
> Major mode: Lisp Interaction
> 
> Minor modes in effect:
>   tooltip-mode: t
>   global-eldoc-mode: t
>   electric-indent-mode: t
>   mouse-wheel-mode: t
>   tool-bar-mode: t
>   menu-bar-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   blink-cursor-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>   line-number-mode: t
>   transient-mark-mode: t
> 
> Load-path shadows:
> None found.

Closing, as this should now be fixed.

commit 9f9b56b7da323bc91cdde0bcc1e1863c523e7ee3
Date:   Tue Dec 26 12:46:39 2017 +0100

  Fix highlighting in query-replace with non-nil replace-char-fold

  * lisp/replace.el (replace-highlight): Bind
  'isearch-regexp-function' in the same way that function
  'replace-search' does, so as to respect the value of
  'replace-char-fold'.  (Bug#24356)

diff --git a/lisp/replace.el b/lisp/replace.el
index 80e5845..396428f 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -2212,7 +2212,10 @@ replace-highlight
   (if query-replace-lazy-highlight
       (let ((isearch-string search-string)
 	    (isearch-regexp regexp-flag)
-	    (isearch-regexp-function delimited-flag)
+	    (isearch-regexp-function (or delimited-flag
+					 (and replace-char-fold
+					      (not regexp-flag)
+					      #'char-fold-to-regexp)))
 	    (isearch-lax-whitespace
 	     replace-lax-whitespace)
 	    (isearch-regexp-lax-whitespace




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 23 Jan 2018 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 151 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.