GNU bug report logs - #16800
24.3; flyspell works slow on very short words at the end of big file

Previous Next

Package: emacs;

Reported by: Aleksey Cherepanov <aleksey.4erepanov <at> gmail.com>

Date: Tue, 18 Feb 2014 20:59:02 UTC

Severity: normal

Found in version 24.3

Fixed in version 24.5

Done: Agustin Martin <agustin6martin <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #35 received at 16800 <at> debbugs.gnu.org (full text, mbox):

From: Aleksey Cherepanov <aleksey.4erepanov <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 16800 <at> debbugs.gnu.org, agustin.martin <at> hispalinux.es
Subject: Re: bug#16800: 24.3;	flyspell works slow on very short words at
 the end of big file
Date: Sun, 23 Feb 2014 00:16:50 +0400
On Sat, Feb 22, 2014 at 10:55:11PM +0400, Aleksey Cherepanov wrote:
> On Sat, Feb 22, 2014 at 06:41:08PM +0200, Eli Zaretskii wrote:
> > > Date: Sat, 22 Feb 2014 20:02:17 +0400
> > > From: Aleksey Cherepanov <aleksey.4erepanov <at> gmail.com>
> > > Cc: agustin.martin <at> hispalinux.es, 16800 <at> debbugs.gnu.org
> > > 
> > > > Your setup _might_ work the same, especially if you don't mix
> > > > different languages in the same buffer.  But in general, your change
> > > > does affect behavior.
> > > 
> > > I mix languages. I am pretty sure that my setup works the same.
> > 
> > Not in general, it isn't.  See below.
> 
> I agree.
> 
> Oh, not even for my setup. But for my setup together with my files.
> I've got an example.
> 
> > > BTW solution around reduction of jump points does not not affect
> > > faces: "nd" or "badnd" at the end of "good badnd good " does not call
> > > spell check on the first "badnd".
> > 
> > Not sure I understand what you are saying here.  What "first badnd"?
> > you have only one in this example.
> 
> "nd" does not cause spell check of "badnd". Another "badnd" at the end
> does not cause spell check of the first "badnd".
> 
> > > Emacs words are language sensitive too.
> > 
> > But not in the same way as ispell/flyspell is.  The CASECHARS,
> > NON-CASECHARS, and OTHERCHARS parameters of the dictionary are only
> > taken into account by ispell/flyspell.
> 
> I think one could define a dictionary like: ("my" "[a]" "[^a]" "" ...)
> So the only letter for flyspell words is "a". That way "qqaaqqaaqq" is
> one word for emacs and two words with garbage around for flyspell. I
> think my solution fails in such case.
> 
> So flyspell's set should be consisted of full emacs categories to make
> my solution work. Code for emacs word boundaries is in category.h,
> macro WORD_BOUNDARY_P. We could use regular search for bad setups and
> word search for good setups. Though it does not seem trivial to check
> if flyspell's dictionary setup is good for my solution.
> 
> Russian alphabet is not a full emacs (Unicode, I guess) category. The
> full category is Cyrillic script (or even wider). My solution does not
> work if there is a letter from the complement (for instance, Lje
> 02131) right near my mis-spelling word. So I was wrong about the
> behaviour: it is not the same, I just do not see differences in my
> files.

Oh, my setup is wrong. Default setup uses
"[[:alpha:]]"  ; casechars
"[^[:alpha:]]" ; not-casechars
due to ispell-set-spellchecker-params function:
    ;; If Emacs flavor supports [:alpha:] use it for global dicts.  If
    ;; spellchecker also supports UTF-8 via command-line option use it
    ;; in communication.  This does not affect definitions in your
    ;; init file.

My solution should work well with such setup.

Thanks!

-- 
Regards,
Aleksey Cherepanov




This bug report was last modified 10 years and 137 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.