Subject: flyspell-region / accept-process-output very slow
From: David Reitter <[email-masked]>
To: Bug-Gnu-Emacs <[email-masked]>
Date: Thu, 27 Aug 2009 18:15:07 -0400

ackage: emacs,ns
X-Debbugs-Cc:  nathaniel Cunningham <[email-masked]>

`flyspell-region' is slow to the point that it is unusable.

Emacs -Q
M-x flyspell-buffer

This will visibly go through the buffer while checking it.  It takes  
about 6 seconds for the three lines, so it's impossible to use for any  
reasonable document.

Now, repeat the above process but during spell-checking, move the  
mouse around.  --> Finishes in acceptable time.

Some debugging reveals that `accept-process-output' seems to be the  
culprit.  Commenting out the `with-local-quit' expression in `flyspell- 
word'  makes things go fast again.  Giving it a `0` for the just-this- 
one argument should prevent it from running timers, but that doesn't  
help.

Given the mouse behavior, I think there's something seriously wrong  
with the event loop or the process output handling in Nextstep.
  \

In GNU Emacs 23.1.1 (i386-apple-darwin9.7.0, NS apple-appkit-949.46)
  of 2009-08-01 on braeburn.aquamacs.org
Windowing system distributor `Apple', version 10.3.1038
configured using `configure  '--with-ns' '--without-x''

Important settings:
   value of $LC_ALL: nil
   value of $LC_COLLATE: en_US.us-ascii
   value of $LC_CTYPE: en_US.us-ascii
   value of $LC_MESSAGES: en_US.us-ascii
   value of $LC_MONETARY: en_US.us-ascii
   value of $LC_NUMERIC: en_US.us-ascii
   value of $LC_TIME: en_US.us-ascii
   value of $LANG: de_DE.ISO8859-15
   value of $XMODIFIERS: nil
   locale-coding-system: us-ascii-unix
   default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
   tooltip-mode: t
   mouse-wheel-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   global-auto-composition-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   line-number-mode: t
   transient-mark-mode: t

Recent input:
<up> <up> <up> <up> C-SPC <down> <down> <down> <escape>
x f l y s <tab> r e g <tab> <return> <up> <up> <up>
<down-mouse-1> <mouse-movement> <mouse-movement> <mouse-movement>
<mouse-movement> <mouse-movement> <drag-mouse-1> <escape>
x f l y s <tab> r e g <tab> <return> <escape> x <up>
<return> <down-mouse-1> <mouse-1> <menu-bar> <help-menu>
<send-emacs-bug-report>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
Starting new Ispell process [default] ...
Spell Checking completed. [3 times]