[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-stri
From: |
Stefan Monnier |
Subject: |
Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-string |
Date: |
Mon, 28 Jan 2002 09:55:50 -0500 |
> > I don't know what happens in XEmacs--I only work on Emacs.
> >
> > The code you sent creates overlays. They would continue to exist and
> > be displayed until something removes them with delete-overlay. There
> > seems to be code in flyspell.el that tries to delete them, so the
> > question is why it does not delete these overlays.
> >
> > Manuel, could you debug it?
> I still think the problem is in Emacs or in the documentation about
> overlay. In the section "Overlays properties" it is said:
>
> -----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
> `before-string'
> This property's value is a string to add to the display at the
> beginning of the overlay. The string does not appear in the
> buffer in any sense--only on the screen.
>
> `after-string'
> This property's value is a string to add to the display at the end
> of the overlay. The string does not appear in the buffer in any
> sense--only on the screen.
> -----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
>
> So, I would have guessed that when a region using an overlay with
> a before-string and an after-string properties is deleted, the before-string
> and after-string disappear of the screen. That is, I have tried:
>
> -----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
> (require 'flyspell)
>
> (defvar ov nil)
>
> (defun add-ov (beg end)
> (setq ov (make-overlay beg end nil t nil))
> (overlay-put ov 'face 'flyspell-incorrect-face)
> (overlay-put ov 'mouse-face 'highlight)
> (overlay-put ov 'before-string "->")
> (overlay-put ov 'after-string "<-"))
>
> (defun del-ov ()
> (delete-overlay ov))
> -----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
>
> Then, on a random buffer:
>
> -----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
> (add-ov 1 4)
> (delete-region 1 4)
> -----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
>
> The strings "->" and "<-" are still on the screen. Is this really normal?
Check out the `evaporate' property of overlays.
You could set it to t so that your overlays get automatically
deleted when their size gets down to 0.
Stefan
- [Manuel Serrano <address@hidden>] Re: flyspell before and after-string, Mario Lang, 2002/01/25
- Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-string, Richard Stallman, 2002/01/26
- Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-string, Manuel Serrano, 2002/01/28
- Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-string, Stephen J. Turnbull, 2002/01/28
- Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-string, Manuel Serrano, 2002/01/28
- Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-string, Stephen J. Turnbull, 2002/01/28
- Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-string,
Stefan Monnier <=
- Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-string, Stephen J. Turnbull, 2002/01/28
- Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-string, Manuel Serrano, 2002/01/28
- Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-string, Richard Stallman, 2002/01/29
- Re: [Manuel Serrano <address@hidden>] Re: flyspell before and after-string, Pavel JanÃk, 2002/01/29