Subject: 30.0.50; C-x 8 e s RET persistently breaks C-x 8 e r
From: Eshel Yaron <[email-masked]>
To: [email-masked]
Date: Tue, 23 Jan 2024 11:59:41 +0100
List-Id: <debbugs-submit.debbugs.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.

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