[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#14192: 24.3.50; recursive edit while running ispell not working usef
From: |
Michael Heerdegen |
Subject: |
bug#14192: 24.3.50; recursive edit while running ispell not working usefully |
Date: |
Fri, 12 Apr 2013 18:51:14 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
Michael Heerdegen <michael_heerdegen@web.de> writes:
> Hi,
>
> I think the most common use of entering a recursive edit in an ispell
> session (C-r) would be to modify the checked buffer - especially, to
> substitute the currently checked word with some other text. But
> whenever I exit the recursive edit (C-M-c), the deleted text reappears
> and is highlighted again as unknown by ispell. I see this in emacs -Q,
> e.g. after M-x ispell-buffer in *scratch*.
Some comments after debugging a bit:
`ispell-process-line' sets the variable `replace' to the result of
`ispell-command-loop'. `ispell-command-loop', however, returns the
_old_ word. Why?
In `ispell-command-loop', search for the cond-clause of (= char ?\C-r).
The clause returns (list word nil), where `word' is the (old, unchanged)
current word. There is this comment at that position:
; recheck starting at this word.
If I change the clause so that it just returns nil, the bug is fixed,
but the replaced text is not being checked again (I could live with
that).
As a fix, we could try to return something reflecting the change that
was maybe made in the buffer.
Regards,
Michael.