GNU bug report logs - #76371
31.0.50; M-% -> void variable

Previous Next

Package: emacs;

Reported by: Gerd Möllmann <gerd.moellmann <at> gmail.com>

Date: Mon, 17 Feb 2025 20:20:02 UTC

Severity: normal

Found in version 31.0.50

Fixed in version 31.1

Done: Gerd Möllmann <gerd.moellmann <at> gmail.com>

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 76371 in the body.
You can then email your comments to 76371 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#76371; Package emacs. (Mon, 17 Feb 2025 20:20:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Gerd Möllmann <gerd.moellmann <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 17 Feb 2025 20:20:03 GMT) Full text and rfc822 format available.

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

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 31.0.50; M-% -> void variable 
Date: Mon, 17 Feb 2025 21:19:32 +0100
In a build --without-ns, 

- emacs -Q
- M-% search RET 1 RET

=>

Debugger entered--Lisp error: (void-variable overriding-text-conversion-style)
  perform-replace("search" "1" t nil nil nil nil nil nil nil nil)
  query-replace("search" "1" nil nil nil nil nil)
  funcall-interactively(query-replace "search" "1" nil nil nil nil nil)
  call-interactively(query-replace nil nil)
  command-execute(query-replace)

In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin24.3.0) of 2025-02-17
 built on pro2
Repository revision: d80ac0fbaa09826342a9818014ae950acc7c0c03
Repository branch: master
System Description:  macOS 15.3.1




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76371; Package emacs. (Mon, 17 Feb 2025 21:15:02 GMT) Full text and rfc822 format available.

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

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>, 
 76371 <at> debbugs.gnu.org
Cc: Po Lu <luangruo <at> yahoo.com>
Subject: Re: bug#76371: 31.0.50; M-% -> void variable
Date: Mon, 17 Feb 2025 21:14:07 +0000
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:

> In a build --without-ns,
>
> - emacs -Q
> - M-% search RET 1 RET
>
> =>
>
> Debugger entered--Lisp error: (void-variable overriding-text-conversion-style)
>   perform-replace("search" "1" t nil nil nil nil nil nil nil nil)
>   query-replace("search" "1" nil nil nil nil nil)
>   funcall-interactively(query-replace "search" "1" nil nil nil nil nil)
>   call-interactively(query-replace nil nil)
>   command-execute(query-replace)

Could it be related to b236a2529dd?  Copying in Po Lu.

I'm also seeing these several test failures, e.g.:

Test query-replace-undo-bug31073 backtrace:
  perform-replace("a" "B" t t nil)
  #f(compiled-function () #<bytecode 0x6d983bb021e82be>)()
  #f(compiled-function () #<bytecode 0x1afcd6ec31a49766>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x1afcd6ec31a49766
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name query-replace-undo-bug31073 :document
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable) (tag :n
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable) (
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test query-replace-undo-bug31073 condition:
    (void-variable overriding-text-conversion-style)
   FAILED  21/29  query-replace-undo-bug31073 (0.000058 sec) at
lisp/replace-tests.el:587




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76371; Package emacs. (Tue, 18 Feb 2025 01:06:01 GMT) Full text and rfc822 format available.

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

From: Po Lu <luangruo <at> yahoo.com>
To: Stefan Kangas <stefankangas <at> gmail.com>
Cc: Gerd Möllmann <gerd.moellmann <at> gmail.com>,
 76371 <at> debbugs.gnu.org
Subject: Re: bug#76371: 31.0.50; M-% -> void variable
Date: Tue, 18 Feb 2025 09:04:42 +0800
Stefan Kangas <stefankangas <at> gmail.com> writes:

> Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
>
>> In a build --without-ns,
>>
>> - emacs -Q
>> - M-% search RET 1 RET
>>
>> =>
>>
>> Debugger entered--Lisp error: (void-variable overriding-text-conversion-style)
>>   perform-replace("search" "1" t nil nil nil nil nil nil nil nil)
>>   query-replace("search" "1" nil nil nil nil nil)
>>   funcall-interactively(query-replace "search" "1" nil nil nil nil nil)
>>   call-interactively(query-replace nil nil)
>>   command-execute(query-replace)
>
> Could it be related to b236a2529dd?  Copying in Po Lu.
>
> I'm also seeing these several test failures, e.g.:
>
> Test query-replace-undo-bug31073 backtrace:
>   perform-replace("a" "B" t t nil)
>   #f(compiled-function () #<bytecode 0x6d983bb021e82be>)()
>   #f(compiled-function () #<bytecode 0x1afcd6ec31a49766>)()
>   handler-bind-1(#f(compiled-function () #<bytecode 0x1afcd6ec31a49766
>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>   ert-run-test(#s(ert-test :name query-replace-undo-bug31073 :document
>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>   ert-run-tests((not (or (tag :expensive-test) (tag :unstable) (tag :n
>   ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable) (
>   ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
>   eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
>   command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
>   command-line()
>   normal-top-level()
> Test query-replace-undo-bug31073 condition:
>     (void-variable overriding-text-conversion-style)
>    FAILED  21/29  query-replace-undo-bug31073 (0.000058 sec) at
> lisp/replace-tests.el:587

Please test:

diff --git a/lisp/replace.el b/lisp/replace.el
index b1b417b226f..8c7b3095219 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -2880,7 +2880,9 @@ perform-replace
          (region-filter nil)
 
          ;; Disable text conversion during the replacement operation.
-         (old-text-conversion-style overriding-text-conversion-style)
+         (old-text-conversion-style
+          (and (boundp 'overriding-text-conversion-style)
+               overriding-text-conversion-style))
          overriding-text-conversion-style
 
          ;; Data for the next match.  If a cons, it has the same format as




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76371; Package emacs. (Tue, 18 Feb 2025 03:53:02 GMT) Full text and rfc822 format available.

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

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Po Lu <luangruo <at> yahoo.com>
Cc: Stefan Kangas <stefankangas <at> gmail.com>, 76371 <at> debbugs.gnu.org
Subject: Re: bug#76371: 31.0.50; M-% -> void variable
Date: Tue, 18 Feb 2025 04:52:02 +0100
Po Lu <luangruo <at> yahoo.com> writes:

> Please test:
>
> diff --git a/lisp/replace.el b/lisp/replace.el
> index b1b417b226f..8c7b3095219 100644
> --- a/lisp/replace.el
> +++ b/lisp/replace.el
> @@ -2880,7 +2880,9 @@ perform-replace
>           (region-filter nil)
>  
>           ;; Disable text conversion during the replacement operation.
> -         (old-text-conversion-style overriding-text-conversion-style)
> +         (old-text-conversion-style
> +          (and (boundp 'overriding-text-conversion-style)
> +               overriding-text-conversion-style))
>           overriding-text-conversion-style
>  
>           ;; Data for the next match.  If a cons, it has the same format as

Could we have a defvar somewhere, for the case textconv.c isn't
compiled?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76371; Package emacs. (Tue, 18 Feb 2025 12:59:01 GMT) Full text and rfc822 format available.

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

From: Po Lu <luangruo <at> yahoo.com>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: Stefan Kangas <stefankangas <at> gmail.com>, 76371 <at> debbugs.gnu.org
Subject: Re: bug#76371: 31.0.50; M-% -> void variable
Date: Tue, 18 Feb 2025 20:58:37 +0800
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:

> Po Lu <luangruo <at> yahoo.com> writes:
>
>> Please test:
>>
>> diff --git a/lisp/replace.el b/lisp/replace.el
>> index b1b417b226f..8c7b3095219 100644
>> --- a/lisp/replace.el
>> +++ b/lisp/replace.el
>> @@ -2880,7 +2880,9 @@ perform-replace
>>           (region-filter nil)
>>  
>>           ;; Disable text conversion during the replacement operation.
>> -         (old-text-conversion-style overriding-text-conversion-style)
>> +         (old-text-conversion-style
>> +          (and (boundp 'overriding-text-conversion-style)
>> +               overriding-text-conversion-style))
>>           overriding-text-conversion-style
>>  
>>           ;; Data for the next match.  If a cons, it has the same format as
>
> Could we have a defvar somewhere, for the case textconv.c isn't
> compiled?

No idea.  I've just checked in a different fix that won't pollute
o-t-c-s with a binding.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76371; Package emacs. (Tue, 18 Feb 2025 14:00:02 GMT) Full text and rfc822 format available.

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

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Po Lu <luangruo <at> yahoo.com>
Cc: Stefan Kangas <stefankangas <at> gmail.com>, 76371 <at> debbugs.gnu.org
Subject: Re: bug#76371: 31.0.50; M-% -> void variable
Date: Tue, 18 Feb 2025 14:59:45 +0100
Po Lu <luangruo <at> yahoo.com> writes:

> Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
>
>> Po Lu <luangruo <at> yahoo.com> writes:
>>
>>> Please test:
>>>
>>> diff --git a/lisp/replace.el b/lisp/replace.el
>>> index b1b417b226f..8c7b3095219 100644
>>> --- a/lisp/replace.el
>>> +++ b/lisp/replace.el
>>> @@ -2880,7 +2880,9 @@ perform-replace
>>>           (region-filter nil)
>>>  
>>>           ;; Disable text conversion during the replacement operation.
>>> -         (old-text-conversion-style overriding-text-conversion-style)
>>> +         (old-text-conversion-style
>>> +          (and (boundp 'overriding-text-conversion-style)
>>> +               overriding-text-conversion-style))
>>>           overriding-text-conversion-style
>>>  
>>>           ;; Data for the next match.  If a cons, it has the same format as
>>
>> Could we have a defvar somewhere, for the case textconv.c isn't
>> compiled?
>
> No idea.  I've just checked in a different fix that won't pollute
> o-t-c-s with a binding.

Interestingly, there is already

tool-bar.el:
  430 
  431 (defvar overriding-text-conversion-style)

No idea what that is for and if it's present when building without
window-system.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76371; Package emacs. (Tue, 18 Feb 2025 14:27:02 GMT) Full text and rfc822 format available.

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

From: Po Lu <luangruo <at> yahoo.com>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: Stefan Kangas <stefankangas <at> gmail.com>, 76371 <at> debbugs.gnu.org
Subject: Re: bug#76371: 31.0.50; M-% -> void variable
Date: Tue, 18 Feb 2025 22:26:19 +0800
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:

> No idea what that is for and if it's present when building without
> window-system.

That just declares the variable's presence to the byte-compiler, so that
the compiler may not issue warnings regarding its absence.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76371; Package emacs. (Tue, 18 Feb 2025 14:39:01 GMT) Full text and rfc822 format available.

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

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Po Lu <luangruo <at> yahoo.com>
Cc: Stefan Kangas <stefankangas <at> gmail.com>, 76371 <at> debbugs.gnu.org
Subject: Re: bug#76371: 31.0.50; M-% -> void variable
Date: Tue, 18 Feb 2025 15:38:13 +0100

> On 18. Feb 2025, at 15:26, Po Lu <luangruo <at> yahoo.com> wrote:
> 
> Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
> 
>> No idea what that is for and if it's present when building without
>> window-system.
> 
> That just declares the variable's presence to the byte-compiler, so that
> the compiler may not issue warnings regarding its absence.

Ah, right. Thanks!



Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76371; Package emacs. (Tue, 18 Feb 2025 15:58:03 GMT) Full text and rfc822 format available.

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

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Po Lu <luangruo <at> yahoo.com>
Cc: Stefan Kangas <stefankangas <at> gmail.com>, 76371 <at> debbugs.gnu.org
Subject: Re: bug#76371: 31.0.50; M-% -> void variable 
Date: Tue, 18 Feb 2025 16:57:14 +0100
Po Lu <luangruo <at> yahoo.com> writes:

> Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
>
>> Po Lu <luangruo <at> yahoo.com> writes:
>>
>>> Please test:
>>>
>>> diff --git a/lisp/replace.el b/lisp/replace.el
>>> index b1b417b226f..8c7b3095219 100644
>>> --- a/lisp/replace.el
>>> +++ b/lisp/replace.el
>>> @@ -2880,7 +2880,9 @@ perform-replace
>>>           (region-filter nil)
>>>  
>>>           ;; Disable text conversion during the replacement operation.
>>> -         (old-text-conversion-style overriding-text-conversion-style)
>>> +         (old-text-conversion-style
>>> +          (and (boundp 'overriding-text-conversion-style)
>>> +               overriding-text-conversion-style))
>>>           overriding-text-conversion-style
>>>  
>>>           ;; Data for the next match.  If a cons, it has the same format as
>>
>> Could we have a defvar somewhere, for the case textconv.c isn't
>> compiled?
>
> No idea.  I've just checked in a different fix that won't pollute
> o-t-c-s with a binding.

Thanks, works for me, closing.




bug marked as fixed in version 31.1, send any further explanations to 76371 <at> debbugs.gnu.org and Gerd Möllmann <gerd.moellmann <at> gmail.com> Request was from Gerd Möllmann <gerd.moellmann <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 18 Feb 2025 15:58:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 19 Mar 2025 11:24:23 GMT) Full text and rfc822 format available.

This bug report was last modified 94 days ago.

Previous Next


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