Subject: bug#56820: outline-minor-mode replacing the first character with an arrow

From: Eli Zaretskii <[email-masked]>
Date: Sat, 10 Sep 2022 09:21:54 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked],
>   [email-masked]
> Date: Sat, 10 Sep 2022 06:36:07 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> I meant whether we could get rid of the current fringe implementation
> >> (which doesn't allow displaying normal images) and just use the margin
> >> code for the fringes instead.
> >
> > We could, but why would we want to?  If we want to display other types
> > of (small) images on the fringes, it should be almost straightforward
> > to implement.  The actual code that draws the bitmaps on the fringes
> > is specific to the terminal, and we have separate implementations for
> > X, w32, Cairo, etc.  It shouldn't be too hard to support other images
> > there.
> 
> If it's easier to extend the image support in the fringe code instead,
> then that's fine.  It'd be nice to have the entire image/face machinery
> working, though, so we'd be able to specify colours (for SVGs, for
> instance) in the same way we do everywhere else.

I'm saying we should keep both.  Fringes are fine for displaying small
images, and look well on display.  They are also familiar to anyone
who used some other IDE.  Larger images and more complex stuff should
use the margins.  Having both gives us certain flexibility.

Using margins for everything has the disadvantage that other features
will have trouble using the margins at the same time (which reminds me
that we still lack a protocol for sharing the margins between several
Lisp programs).