GNU bug report logs - #68671
30.0.50; C-x 8 e s RET persistently breaks C-x 8 e r

Previous Next

Package: emacs;

Reported by: Eshel Yaron <me <at> eshelyaron.com>

Date: Tue, 23 Jan 2024 11:01:01 UTC

Severity: normal

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

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 68671 in the body.
You can then email your comments to 68671 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#68671; Package emacs. (Tue, 23 Jan 2024 11:01:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Eshel Yaron <me <at> eshelyaron.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 23 Jan 2024 11:01:02 GMT) Full text and rfc822 format available.

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

From: Eshel Yaron <me <at> eshelyaron.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; C-x 8 e s RET persistently breaks C-x 8 e r
Date: Tue, 23 Jan 2024 11:59:41 +0100
1. emacs -Q
2. C-x 8 e s RET
   [ i.e. invoke `emoji-search` and exit with an empty minibuffer ]
3. Observe error "Wrong type argument: char-or-string-p, nil".  This
   error message could be more friendly, but that's not the issue here.
4. C-x 8 e r
5. Observe error "Wrong type argument: stringp, nil".  That's the issue.

What happens is that C-x 8 e s RET adds `nil` to the value of
`emoji--recent`, which breaks subsequent C-x 8 e r (`emoji-recent`).
This is extra troublesome because `emoji--recent` is used as a
multisession variable, so simply restarting Emacs doesn't help.

I see this also with Emacs 29.2, FWIW.


In GNU Emacs 30.0.50 (build 58, x86_64-apple-darwin23.0.0, NS
 appkit-2487.00 Version 14.0 (Build 23A344)) of 2024-01-23




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68671; Package emacs. (Sat, 27 Jan 2024 11:12:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Eshel Yaron <me <at> eshelyaron.com>
Cc: 68671 <at> debbugs.gnu.org
Subject: Re: bug#68671: 30.0.50; C-x 8 e s RET persistently breaks C-x 8 e r
Date: Sat, 27 Jan 2024 13:10:57 +0200
> Date: Tue, 23 Jan 2024 11:59:41 +0100
> From:  Eshel Yaron via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> 
> 1. emacs -Q
> 2. C-x 8 e s RET
>    [ i.e. invoke `emoji-search` and exit with an empty minibuffer ]
> 3. Observe error "Wrong type argument: char-or-string-p, nil".  This
>    error message could be more friendly, but that's not the issue here.
> 4. C-x 8 e r
> 5. Observe error "Wrong type argument: stringp, nil".  That's the issue.
> 
> What happens is that C-x 8 e s RET adds `nil` to the value of
> `emoji--recent`, which breaks subsequent C-x 8 e r (`emoji-recent`).
> This is extra troublesome because `emoji--recent` is used as a
> multisession variable, so simply restarting Emacs doesn't help.
> 
> I see this also with Emacs 29.2, FWIW.

Thanks.  Patches for fixing this will be most welcome.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68671; Package emacs. (Sat, 27 Jan 2024 13:11:02 GMT) Full text and rfc822 format available.

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

From: Eshel Yaron <me <at> eshelyaron.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 68671 <at> debbugs.gnu.org
Subject: Re: bug#68671: 30.0.50; C-x 8 e s RET persistently breaks C-x 8 e r
Date: Sat, 27 Jan 2024 14:10:15 +0100
[Message part 1 (text/plain, inline)]
Hi,

Eli Zaretskii <eliz <at> gnu.org> writes:

>> Date: Tue, 23 Jan 2024 11:59:41 +0100
>> From:  Eshel Yaron via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>>
>>
>> 1. emacs -Q
>> 2. C-x 8 e s RET
>>    [ i.e. invoke `emoji-search` and exit with an empty minibuffer ]
>> 3. Observe error "Wrong type argument: char-or-string-p, nil".  This
>>    error message could be more friendly, but that's not the issue here.
>> 4. C-x 8 e r
>> 5. Observe error "Wrong type argument: stringp, nil".  That's the issue.
>>
>> What happens is that C-x 8 e s RET adds `nil` to the value of
>> `emoji--recent`, which breaks subsequent C-x 8 e r (`emoji-recent`).
>> This is extra troublesome because `emoji--recent` is used as a
>> multisession variable, so simply restarting Emacs doesn't help.
>>
>> I see this also with Emacs 29.2, FWIW.
>
> Thanks.  Patches for fixing this will be most welcome.

I'm attaching such a patch below.  This provides better feedback when
you exit the `C-x 8 e s` minibuffer with an empty input, and avoids
adding `nil` to `emoji--recent` by bailing beforehand.

[0001-emoji-read-emoji-Signal-error-on-empty-input-Bug-686.patch (text/x-patch, attachment)]

Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 27 Jan 2024 13:55:02 GMT) Full text and rfc822 format available.

Notification sent to Eshel Yaron <me <at> eshelyaron.com>:
bug acknowledged by developer. (Sat, 27 Jan 2024 13:55:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Eshel Yaron <me <at> eshelyaron.com>
Cc: 68671-done <at> debbugs.gnu.org
Subject: Re: bug#68671: 30.0.50; C-x 8 e s RET persistently breaks C-x 8 e r
Date: Sat, 27 Jan 2024 15:53:57 +0200
> From: Eshel Yaron <me <at> eshelyaron.com>
> Cc: 68671 <at> debbugs.gnu.org
> Date: Sat, 27 Jan 2024 14:10:15 +0100
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> Date: Tue, 23 Jan 2024 11:59:41 +0100
> >> From:  Eshel Yaron via "Bug reports for GNU Emacs,
> >>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> >>
> >>
> >> 1. emacs -Q
> >> 2. C-x 8 e s RET
> >>    [ i.e. invoke `emoji-search` and exit with an empty minibuffer ]
> >> 3. Observe error "Wrong type argument: char-or-string-p, nil".  This
> >>    error message could be more friendly, but that's not the issue here.
> >> 4. C-x 8 e r
> >> 5. Observe error "Wrong type argument: stringp, nil".  That's the issue.
> >>
> >> What happens is that C-x 8 e s RET adds `nil` to the value of
> >> `emoji--recent`, which breaks subsequent C-x 8 e r (`emoji-recent`).
> >> This is extra troublesome because `emoji--recent` is used as a
> >> multisession variable, so simply restarting Emacs doesn't help.
> >>
> >> I see this also with Emacs 29.2, FWIW.
> >
> > Thanks.  Patches for fixing this will be most welcome.
> 
> I'm attaching such a patch below.  This provides better feedback when
> you exit the `C-x 8 e s` minibuffer with an empty input, and avoids
> adding `nil` to `emoji--recent` by bailing beforehand.

Thanks, installed on both emacs-29 and master branches, and closing
the bug.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 25 Feb 2024 12:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 116 days ago.

Previous Next


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