Subject: bug#57241: Commit b87400c broke master

From: Jim Porter <[email-masked]>
Date: Tue, 16 Aug 2022 11:51:07 -0700

On 8/16/2022 6:42 AM, Eli Zaretskii wrote:
>> From: Dario Gjorgjevski <[email-masked]>
>> Date: Tue, 16 Aug 2022 15:23:58 +0200
>> Cc: [email-masked], [email-masked]
>>
>> On Tue, Aug 16, 2022 at 3:17 PM Eli Zaretskii <[email-masked]> wrote:>
>>> Can you (load "fringe") in such a build?  If not, a simple 'require'
>>> won't help.
>>
>> Yes, I can.
> 
> OK, I tried to fix this now.

Maybe it would make sense for fringe.el to be loaded in all builds, but 
to have more things be stub implementations like 'define-fringe-bitmap' 
is? Or maybe 'fringe-custom-set-bitmap' should just be autoloaded?

'require' works here, but if other places start using 
'fringe-custom-set-bitmap' they'll break --without-x builds too. For 
example, gdb-mi.el and edebug.el seem like good candidates for 
eventually doing something like bookmark.el does.

> Jim, I wonder whether the default value should be nil on TTY frames.

It could make sense on --without-x builds, but I don't think it should 
depend on the frame type. With the Emacs daemon, you might switch 
between TTY and GUI frames, and it would be strange if you didn't see 
the fringe indicator in a GUI frame if you had set the indicator in a 
TTY frame.

That said, on --without-x builds, setting a fringe indicator on a 
particular line of text should be safe, right? It just doesn't display 
anything, I think. Previously, I believe the code would (try to) set the 
fringe indicator on --without-x builds, and it seems to not be a 
problem, or else someone would have filed a bug about that against Emacs 28.