Package: dictionaries-common
Version: 1.20.5
Severity: normal

Dear Maintainer,

   * 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


-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.12-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dictionaries-common depends on:
ii  debconf [debconf-2.0]  1.5.52
ii  libtext-iconv-perl     1.7-5+b1

dictionaries-common recommends no packages.

Versions of packages dictionaries-common suggests:
ii  aspell                0.60.7~20110707-1
ii  emacsen-common        2.0.5
ii  hunspell              1.3.2-6
ii  ispell                3.3.02-6
pn  jed-extra             <none>
ii  wamerican [wordlist]  7.1-1

-- debconf information:
  dictionaries-common/old_wordlist_link: true
  dictionaries-common/invalid_debconf_value:
  dictionaries-common/move_old_usr_dict: true
  dictionaries-common/ispell-autobuildhash-message:
* dictionaries-common/default-wordlist: american (American English)
  dictionaries-common/selecting_ispell_wordlist_default:
* dictionaries-common/default-ispell: russian (Russian koi8-r)
  dictionaries-common/remove_old_usr_dict_link: false


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to