>>>>> "Manuel" == Manuel Serrano
<Manuel.Serrano(a)sophia.inria.fr> writes:
Manuel> The strings "->" and "<-" are still on the
screen. Is this
Manuel> really normal? For your information, XEmacs 21.4 removes
Manuel> the strings.
In XEmacs the overlay API is implemented using the extent primitives,
and by default new extents are "detachable":
------------------------------------------------------------------------
Detached Extents
================
A detached extent is an extent that is not attached to a buffer or
string but can be re-inserted. Detached extents have a start position
and end position of `nil'. Extents can be explicitly detached using
`detach-extent'. An extent is also detached when all of its characters
are all killed by a deletion, if its `detachable' property is set; if
this property is not set, the extent becomes a zero-length extent.
------------------------------------------------------------------------
See also C-h f set-extent-property RET.
So if you set the detachable property to nil, you should get the same
behavior as in Emacs. Depending on how you manipulate those extents
you may prefer to do
(when (featurep 'xemacs)
(set-extent-property ov 'detachable nil))
at creation rather than checking for xemacs at deletion time. This
seems to expose a bug in XEmacs's overlay handling (for zero-length
overlays), but it's irrelevant if you're just going to go ahead and
delete it anyway.
HTH
I certainly don't want the Emacs behavior!
There is something I don't understand with Emacs overlay. I put an
overlay at some location on a buffer. I put a before-string for that
overlay. Now I edit this buffer and I kill the line containing the
overlay. With Emacs the string attached to the before-string property
will stay still on the buffer and I have no way to get rid of it using
user commands. I have to use Elisp code to get rid of the before string.
To my opinion this is cumbersome (most likely I miss understand
the correct way to use overlay...).
--
Manuel