]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix xt-mouse-tests.el in interactive mode
authorMichael Albinus <michael.albinus@gmx.de>
Sat, 14 Dec 2024 08:37:17 +0000 (09:37 +0100)
committerEshel Yaron <me@eshelyaron.com>
Sun, 15 Dec 2024 16:39:24 +0000 (17:39 +0100)
* test/lisp/xt-mouse-tests.el (with-xterm-mouse-mode): Run only
when noninteractive.

(cherry picked from commit 83245d2269be357db2fff8baa17adb4b05f97aed)

test/lisp/xt-mouse-tests.el

index f64b3aed73e838d50018901edcff303704fc3211..0610b6f94c5acc0bef00756b3a0fac819ba1e9d6 100644 (file)
 (defmacro with-xterm-mouse-mode (&rest body)
   "Run BODY with `xterm-mouse-mode' temporarily enabled."
   (declare (indent 0))
-  `(let ((width (frame-width))
-         (height (frame-height)))
-     (unwind-protect
-         (progn
-           ;; Make the frame huge so that the test input events below
-           ;; don't hit the menu bar.
-           (set-frame-width nil (max width 2000))
-           (set-frame-height nil (max height 2000))
-           (cl-letf (;; Reset XTerm parameters so that the tests don't
-                     ;; get confused.
-                     ((terminal-parameter nil 'xterm-mouse-x) nil)
-                     ((terminal-parameter nil 'xterm-mouse-y) nil)
-                     ((terminal-parameter nil 'xterm-mouse-last-down) nil)
-                     ((terminal-parameter nil 'xterm-mouse-last-click) nil))
-             (unwind-protect
-                 (progn
-                   ;; `xterm-mouse-mode' doesn't work in the initial
-                   ;; terminal.  Since we can't create a second
-                   ;; terminal in batch mode, fake it temporarily.
-                   (cl-letf (((symbol-function 'terminal-name)
-                              (lambda (&optional _terminal) "fake-terminal")))
-                     (xterm-mouse-mode 1))
-                   ,@body)
-               (xterm-mouse-mode 0))))
-       (set-frame-width nil width)
-       (set-frame-height nil height))))
+  (when noninteractive
+    `(let ((width (frame-width))
+           (height (frame-height)))
+       (unwind-protect
+           (progn
+             ;; Make the frame huge so that the test input events below
+             ;; don't hit the menu bar.
+             (set-frame-width nil (max width 2000))
+             (set-frame-height nil (max height 2000))
+             (cl-letf (;; Reset XTerm parameters so that the tests don't
+                       ;; get confused.
+                       ((terminal-parameter nil 'xterm-mouse-x) nil)
+                       ((terminal-parameter nil 'xterm-mouse-y) nil)
+                       ((terminal-parameter nil 'xterm-mouse-last-down) nil)
+                       ((terminal-parameter nil 'xterm-mouse-last-click) nil))
+               (unwind-protect
+                   (progn
+                     ;; `xterm-mouse-mode' doesn't work in the initial
+                     ;; terminal.  Since we can't create a second
+                     ;; terminal in batch mode, fake it temporarily.
+                     (cl-letf (((symbol-function 'terminal-name)
+                                (lambda (&optional _terminal) "fake-terminal")))
+                       (xterm-mouse-mode 1))
+                     ,@body)
+                 (xterm-mouse-mode 0))))
+         (set-frame-width nil width)
+         (set-frame-height nil height)))))
 
 (ert-deftest xt-mouse-tracking-basic ()
   (should (equal (xterm-mouse-tracking-enable-sequence)