GNU bug report logs - #47832
28.0.50; define-fringe-bitmap and emacs --daemon

Previous Next

Package: emacs;

Reported by: Gregory Heytings <gregory <at> heytings.org>

Date: Fri, 16 Apr 2021 22:23:01 UTC

Severity: normal

Tags: fixed, patch

Found in version 28.0.50

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Gregory Heytings <gregory <at> heytings.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 47832 <at> debbugs.gnu.org
Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon
Date: Sat, 17 Apr 2021 11:32:25 +0000
>>> Got it! :-)  The commit I identified is indeed the culprit.  With 
>>> USE_CAIRO, gui_init_fringe() is called in x_initialize(); without 
>>> USE_CAIRO it isn't.  And gui_init_fringe() had a bug, which should now 
>>> be fixed on Windows, too.  Patch attached.
>>
>> Thanks, but is this really all that needs to be done?  How will 
>> gui_init_fringe be called in the non-Cairo builds?  And what about NS?
>
> Answering myself: they don't need to call gui_init_fringe.
>

Indeed.

>
> Since gui_init_fringe returns immediately if the frame interface doesn't 
> provide a method for fringe initialization, I think we should call 
> gui_init_fringe unconditionally on X.
>
> And in any case, the patch for gui_init_fringe is sub-optimal: it 
> unnecessarily loops over the standard bitmaps that were superseded. It 
> is better to leave the first loop go over the standard bitmaps, whether 
> superseded or not, and the second loop go over non-standard bitmaps 
> only.
>

It is not sub-optimal, rif->define_fringe_bitmap will only be called for 
those standard bitmaps that were superseded.  For the non-superseded ones, 
fringe_bitmaps[bt] is NULL.




This bug report was last modified 3 years and 361 days ago.

Previous Next


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