bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#68213: 30.0.50; completion-preview-tests failure in --without-x buil


From: Eshel Yaron
Subject: bug#68213: 30.0.50; completion-preview-tests failure in --without-x build
Date: Wed, 03 Jan 2024 19:45:39 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Eshel Yaron <me@eshelyaron.com>
>>
>> john muhl <jm@pub.pink> writes:
>>
>> > Eshel Yaron <me@eshelyaron.com> writes:
>> >
>> >> FWIW, I was going to suggest the attached patch, following how
>> >> flymake.el handles this.  But if the current solution works, that seems
>> >> just as good.
>> >>
>> >   lisp/completion-preview-tests.el:23:2: Error: Duplicate
>> >   definition for key: "<mouse-5>" (keymap (mouse-5 .
>> >   completion-preview-prev-candidate) (down-mouse-2 .
>> >   completion-at-point) (C-down-mouse-1 . completion-at-point)
>> >   (down-mouse-1 . completion-preview-insert))
>>
>> Ah I can see that, thanks.  IMO `defvar-keymap` is too strict in this
>> case: the "duplicate" definition is not erroneous, it just happens to be
>> redundant with some values of the `mwheel` variables.  There's been some
>> discussion around that in bug#56873, FWIW.  So ISTM that the best way
>> forward would be to make `defvar-keymap` more lax, perhaps optionally
>> with a `:lax` keyword argument or some such.  Any other ideas?
>
> Please tell more, as I don't think I follow.

Sure,

> Specifically:
>
>   . does the problem happen only in a --without-x build?
>   . what "duplicate" definitions do we have there and why?

The definition of `completion-preview--mouse-map` binds the events
specified by both `mouse-wheel-up-event` and
`mouse-wheel-up-alternate-event` to `completion-preview-prev-candidate`
(using `defvar-keymap`).  When these two variables have the same value,
as apparently happens in John's `--without-x` build but could probably
also occur in other setups, `defvar-keymap` complains (signals an error)
about a duplicate definition.  The duplication itself is harmless in
this case, but there doesn't seem to be a way to tell `defvar-keymap`
not to worry about it.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]