Subject: 24.2.50; NS: mouse movement causes hang during scroll benchmark
From: YAMAMOTO Mitsuharu <[email-masked]>
To: [email-masked]
Date: Sat, 08 Sep 2012 17:36:22 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Steps to Reproduce:

1. $ .../Emacs.app/Contents/MacOS/Emacs -Q &
2. Evaluate the following expression:

;; Scroll benchmark from
;; http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00411.html
(defun scroll-benchmark () 
   (interactive) 
   (let ((oldgc gcs-done) 
         (oldtime (float-time))) 
     (condition-case nil (while t (scroll-up) (redisplay)) 
       (error (message "GCs: %d Elapsed time: %f seconds" 
                       (- gcs-done oldgc) (- (float-time) oldtime)))))) 

3. Evaluate the following expression:

(progn
  (find-file (expand-file-name "src/xdisp.c" source-directory))
  (goto-char (point-min))
  (redisplay)
  (scroll-benchmark))

4. Wait for the benchmark to finish.
5. Repeat Step 3.
6. Before the second benchmark run completes, move the mouse pointer.

Then, we can observe the followings until the benchmark finishes.

  - The scroll bar thumb stops moving.
  - The mouse pointer turns into the "spinning rainbow".
  - C-g cannot quit the benchmark.

This does not happen on X11 builds or the Mac port.

See also
http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00469.html .

				     YAMAMOTO Mitsuharu
				[email-masked]

In GNU Emacs 24.2.50.1 (x86_64-apple-darwin12.1.0, NS apple-appkit-1187.00)
 of 2012-09-08 on YAMAMOTO-no-iMac.local
Bzr revision: 109934 [email-masked]
Windowing system distributor `Apple', version 10.3.1187
Configured using:
 `configure '--with-ns''

Important settings:
  value of $LANG: ja_JP.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

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