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

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

bug#75199: 30.0.93; Emacs crashes when completing with corfu


From: Daniel Mendler
Subject: bug#75199: 30.0.93; Emacs crashes when completing with corfu
Date: Mon, 30 Dec 2024 19:43:34 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Daniel Mendler <mail@daniel-mendler.de>
>> Cc: Eli Zaretskii <eliz@gnu.org>,  luangruo@yahoo.com,  75199@debbugs.gnu.org
>> Date: Mon, 30 Dec 2024 19:00:45 +0100
>> 
>> Zhengyi Fu <i@fuzy.me> writes:
>> 
>> > On 2024-12-30 23:24, Eli Zaretskii wrote:
>> >
>> >> Earlier you wrote:
>> >> 
>> >>> The error is probably caused by the width value of 0 passed to
>> >>> XCreatePixmapFromBitmapData().
>> >>> It seems gui_intersect_rectangles() returns true even if the resulted
>> >>> rectangle is empty.  Is that correct behavior?
>> >> Can you tell how this happens?  Is corfu doing something special with
>> >> the fringes?
>> >
>> > I noticed the following calls in corfu--popup-show before the error:
>> >
>> > * define-fringe-bitmap(corfu--bar [-241] 1 8 (top periodic))
>> > * define-fringe-bitmap(corfu--nil [])
>> 
>> I've adjusted the second call to the following, also for compatibility
>> with older Emacs versions.
>> 
>> (define-fringe-bitmap 'corfu--nil [0] 1 1)
>
> Doesn't
>
>   (define-fringe-bitmap 'corfu--nil [0])
>
> work as well?  If it doesn't, I guess the doc string is inaccurate?

Yes. If I understand [info:elisp#Customizing Bitmaps] correctly, in this
case the HEIGHT would be 1, but the WIDTH would be 8. This is slightly
different from the above, but it should work just as well given that the
bitmap is all zero. The corfu--nil bitmap is just a placeholder for the
empty fringe.

Daniel





reply via email to

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