Hi all
I have encountered an issue with respect to compatibility between
Emacs overlays and our extents. Here's what the GNU Emacs List
Reference Manual says:
“The arguments front-advance and rear-advance specify the marker
insertion type for the start of the overlay and for the end of the
overlay, respectively. See Marker Insertion Types. If they are both
nil, the default, then the overlay extends to include any text
inserted at the beginning, but not text inserted at the end.”
This appears to be the same as with extents.
However, when creating an overlay in Emacs that has identical start
and end positions and the default endpoint properties, then deleting
characters at that position does not delete the overlay.
In XEmacs 21.5.34 doing the same with an extent
(start-closed/end-open) removes the extent from the buffer.
“Deletion of a character on a side of a zero-length extent whose
corresponding endpoint is closed causes the extent to be detached if
its `detachable' property is set; if the corresponding endpoint is
open, the extent remains in the buffer, moving as necessary.”
What exactly does “a character on a side” mean. I can only delete a
character “at” the extent. In which case the start-closed seems to
have a higher priority.
In the case at hand this is easy enough to work around, but I am
wondering if that difference is deliberate, whether it may make sense
to change the behavior or whether to tell authors to not rely on
either behavior since it is a nasty corner case scenario anyway.
Thanks
Marcus
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta