emacs-devel
[Top][All Lists]
Advanced

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

Re: MPS: scroll-bars


From: Gerd Möllmann
Subject: Re: MPS: scroll-bars
Date: Sat, 04 May 2024 09:09:00 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> Helmut Eller <eller.helmut@gmail.com> writes:
>
>> Could we perhaps use the mark-and-sweep pool for the widget-like
>> objects, like scroll_bar and window?  That would perhaps be easier,
>> because then widgets wouldn't move and tracing would be very similar to
>> what the old GC does.  And the widgets are hardly performance critical.
>
> We could try, certainly. They say
>
>   AMS is not currently suitable for production use. However, it could be
>   developed into a solid mark-and-sweep pool. If you have a use case
>   that needs this, contact us.
>
> so we are a bit on our own, I guess.
>
> Would we then alloc struct scroll_bar in AMS? Or is it something else?
>
> (BTW, this one got me today. I couldn't find a PVEC_SCROLL_BAR and then
> this:
>
>   #define XSCROLL_BAR(vec) ((struct scroll_bar *) XVECTOR (vec))
>
> Nice, nice :-)

So, maybe this is also interesting on other platforms, who knows...

struct window has members for scroll bars, e.g.

  Lisp_Object vertical_scroll_bar;

These Lisp_Objects are either fixnums or Lisp_Misc_Ptrs (see function
xmint_ptr in lisp.h). This is a C pointer, and points, on NS, to an
EmacsScroller, which is derived from some GUI widget class.
EmacsScroller then has references to window and frame.



reply via email to

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