emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: More problems with flyspell


From: Stefan Monnier
Subject: Re: More problems with flyspell
Date: Mon, 09 Jan 2006 23:16:05 -0500
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

>> Looking at this patch, I feel like my flyspell-last-buffer should probably
>> be moved from flyspell.el to ispell.el (and renamed ispell-last-buffer).

> If I am not wrong nothing in ispell.el really needs it, is (flyspell-word)
> in a loop what needs it.  If patch is correct, it will only be set if
> flyspell.el is loaded, so flyspell.el seems not that a bad place.  And it
> indeed shows name of last buffer accessed by a flyspell operation.
> Its presence in ispell.el is a bit surprising, but harmless when
> flyspell.el is not loaded.

ispell.el is not just an end-user package: it's also a library that provides
services for flyspell.  The flyspell-last-buffer variable was introduced to
optimize a particular operation because flyspell needs that optimization,
but the right place to put that optimization is in the ispell.el library,
even if the ispell.el end-user commands don't directly benefit from it.

>> PS: Maybe the same should be done with flyspell-word-cache-word, of course,
>> but I'm not familiar enough with it.

> That is flyspell only, stores last word checked by (flyspell-word), so
> flyspell-word is not called again unless cursor goes to a different word.
> However is good to have it cleared when dict is changed to force re-checking
> of current word, and the dict change is done from ispell.el. I think this
> one should not be moved.

Then maybe rather than move flyspell-last-buffer and
flyspell-word-cache-word to ispell.el, ispell.el should provide an
ispell-start-process-hook or ispell-change-dict-hook that flyspell could use
to reset those vars.

Doing a (featurep 'flyspell) test is just really ugly.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]