Subject: Re: bug#62207: 29.0.60; Trying to remove non-existent key binding instead adds a binding

From: Eli Zaretskii <[email-masked]>
Date: Wed, 15 Mar 2023 19:13:20 +0200

> From: Jonas Bernoulli <[email-masked]>
> Date: Wed, 15 Mar 2023 17:07:42 +0100
> 
> However if you try to remove a binding that does not actually exist,
> then the opposite happens, a "nil binding" is *added*:
> 
>   (let ((map (make-sparse-keymap)))
>     (keymap-unset map "i" t)
>     map)
>   => (keymap (105))

The same happens when you call define-key with REMOVE non-nil.
keymap-unset just calls define-key, and does little else.

Stefan, it sounds like the part of store_in_keymap after the label
keymap_end should do nothing if REMOVE is non-zero, am I right?