GNU bug report logs -
#16800
24.3; flyspell works slow on very short words at the end of big file
Previous Next
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
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Fri, 6 Mar 2015 22:46:59 +0100
with message-id <CAKy3oZo-5YD9qQVHv_0B36Wj4OOLOpVAwZu_VwwMXbR=FwRzAw <at> mail.gmail.com>
and subject line Re: bug#16800: 24.3; flyspell works slow on very short words at the end of big file
has caused the debbugs.gnu.org bug report #16800,
regarding 24.3; flyspell works slow on very short words at the end of big file
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
16800: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16800
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Package: emacs
Version: 24.3
Severity: normal
Dear Maintainers,
It is a copy of bug #739412 in Debian. Debian uses bug tracker
similar to this one. The bug on web:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739412
Address to continue thread there:
739412 <at> bugs.debian.org
* What led up to the situation?
I faced a problem editing my big .org file (2mb+) with flyspell-mode
enabled. I edit it every day, regularly mistype and get words of one
or two letters that are wrong in Russian and cause flyspell work slow.
This one-liner produces "good" file to reproduce the bug.
perl -e 'print(((join " ", ("met and") x 10) . "\n") x 30000)' > t.txt
Typing "nd" at the end of file gives a huge pause even on a fast
computer. But "mw" or "md" does not give pauses because they are not
substrings in this file. It is repeatable with emacs -Q.
* What exactly did you do (or not do) that was effective (or
ineffective)?
So exact sequence is
$ emacs --version
GNU Emacs 24.3.1
$ emacs23 --version
GNU Emacs 23.4.1
$ perl -e 'print(((join " ", ("met and") x 10) . "\n") x 30000)' > t.txt
$ LANG=C emacs -Q t.txt
Then in emacs:
M-x flyspell-mode RET
M->
nd SPC
'emacs23 -Q t.txt' works the same way. LANG=C affects regular words
because default dictionary is Russian on my system so without LANG=C
all words ("met" and "and") are considered misspelled. But it does not
affect huge pause at the end.
* What was the outcome of this action?
Huge pause when emacs does not react on keys except C-g. Word "nd" is
colored as misspelled after the pause. C-g stops emacs internal
thinking and I could work without waiting but word "nd" is not colored
as misspelled word.
* What outcome did you expect instead?
I expect it to work as fast as with other words like "md" or "mw" that
does not produce a pause and are colored immediately.
I tried to patch flyspell-word-search-backward and
flyspell-word-search-forward functions from flyspell.el replacing
search-backward with word-search-backward and search-forward with
word-search-forward (perl -pe 's/\(search-/(word-search-/' ). It
solved the problem but I do not know what it broke.
I expect problems with this solution because I do not know if
flyspell's meaning of word is the same as emacs' one. I think it is
described in flyspell-get-word function that is called after search-*
in the patched functions.
flyspell-duplicate-distance variable on its own could mitigate the
problem but it changes the behaviour so I do not want to use this
variable.
Thanks!
--
Regards,
Aleksey Cherepanov
In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.8.6)
of 2013-12-23 on brahms, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11405000
System Description: Debian GNU/Linux testing (jessie)
Configured using:
`configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
'--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
'--localstatedir=/var/lib' '--infodir=/usr/share/info'
'--mandir=/usr/share/man' '--with-pop=yes'
'--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
'--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
'--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars'
'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
'LDFLAGS=-Wl,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2''
Important settings:
value of $LANG: ru_RU.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
default enable-multibyte-characters: t
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Version: 24.5
2014-03-09 18:25 GMT+01:00 Agustin Martin <agustimartin <at> gmail.com>:
>
> I do not expect to have time to check everything shortly. Also, note that
> Emacs 24.4 is on the way, so trunk is frozen for anything potentially
> problematic. Unless I consider the code absolutely rock solid, I'd prefer
> to wait until 24.4 is released.
>
Hi,
emacs24 was released, fix committed to emacs-24 branch and merged into
trunk.
It is time to close this bug report.
Thanks for your contribution to the project. Best regards,
--
Agustin
[Message part 5 (text/html, inline)]
This bug report was last modified 10 years and 138 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.