* bug#64580: 30.0.50; Comment describing Lisp_Overlay object in src/lisp.h:2590 is not current
@ 2023-07-12 12:47 Ihor Radchenko
2023-07-13 8:34 ` Eli Zaretskii
0 siblings, 1 reply; 2+ messages in thread
From: Ihor Radchenko @ 2023-07-12 12:47 UTC (permalink / raw)
To: 64580
Hi,
I am not reading lisp.h, trying to understand the Lisp object layout.
The comments are generally excellent, but I just stumbled upon
Lisp_Overlay definition, where the comment appears to be outdated and
only reflects the past times when overlays did not yet use itree:
/* START and END are markers in the overlay's buffer, and
PLIST is the overlay's property list. */
struct Lisp_Overlay
/* An overlay's real data content is:
- plist
- buffer (really there are two buffer pointers, one per marker,
and both points to the same buffer)
- insertion type of both ends (per-marker fields)
- start & start byte (of start marker)
- end & end byte (of end marker)
- next (singly linked list of overlays)
- next fields of start and end markers (singly linked list of markers).
I.e. 9words plus 2 bits, 3words of which are for external linked lists.
*/
{
union vectorlike_header header;
Lisp_Object plist;
struct buffer *buffer; /* eassert (live buffer || NULL). */
struct itree_node *interval;
} GCALIGNED_STRUCT;
START and END are no longer in the struct. NEXT fields are also no
longer applicable, even via itree_node struct.
In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.38, cairo version 1.17.8) of 2023-07-06 built on localhost
Repository revision: d97b77e6c66db46b198c696f83458aa141794727
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
System Description: Gentoo Linux
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#64580: 30.0.50; Comment describing Lisp_Overlay object in src/lisp.h:2590 is not current
2023-07-12 12:47 bug#64580: 30.0.50; Comment describing Lisp_Overlay object in src/lisp.h:2590 is not current Ihor Radchenko
@ 2023-07-13 8:34 ` Eli Zaretskii
0 siblings, 0 replies; 2+ messages in thread
From: Eli Zaretskii @ 2023-07-13 8:34 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: 64580-done
> From: Ihor Radchenko <yantar92@posteo.net>
> Date: Wed, 12 Jul 2023 12:47:30 +0000
>
> /* START and END are markers in the overlay's buffer, and
> PLIST is the overlay's property list. */
> struct Lisp_Overlay
> /* An overlay's real data content is:
> - plist
> - buffer (really there are two buffer pointers, one per marker,
> and both points to the same buffer)
> - insertion type of both ends (per-marker fields)
> - start & start byte (of start marker)
> - end & end byte (of end marker)
> - next (singly linked list of overlays)
> - next fields of start and end markers (singly linked list of markers).
> I.e. 9words plus 2 bits, 3words of which are for external linked lists.
> */
> {
> union vectorlike_header header;
> Lisp_Object plist;
> struct buffer *buffer; /* eassert (live buffer || NULL). */
> struct itree_node *interval;
> } GCALIGNED_STRUCT;
>
> START and END are no longer in the struct. NEXT fields are also no
> longer applicable, even via itree_node struct.
Thanks, fixed on the emacs-29 branch.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-07-13 8:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-12 12:47 bug#64580: 30.0.50; Comment describing Lisp_Overlay object in src/lisp.h:2590 is not current Ihor Radchenko
2023-07-13 8:34 ` Eli Zaretskii
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.