emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117458: * lisp/xt-mouse.el (turn-on-xterm-mouse-tra


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r117458: * lisp/xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal)
Date: Tue, 01 Jul 2014 16:10:10 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117458
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17857
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Tue 2014-07-01 12:10:02 -0400
message:
  * lisp/xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal)
  (turn-off-xterm-mouse-tracking-on-terminal): Don't burp if the terminal
  is suspended.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/xt-mouse.el               xtmouse.el-20091113204419-o5vbwnq5f7feedwu-905
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-07-01 14:06:11 +0000
+++ b/lisp/ChangeLog    2014-07-01 16:10:02 +0000
@@ -1,3 +1,9 @@
+2014-07-01  Stefan Monnier  <address@hidden>
+
+       * xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal)
+       (turn-off-xterm-mouse-tracking-on-terminal): Don't burp if the terminal
+       is suspended (bug#17857).
+
 2014-07-01  Michael Albinus  <address@hidden>
 
        * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
@@ -40,8 +46,7 @@
        Don't call c-parse-state when c++-template-syntax-table is active.
        * progmodes/cc-engine.el (c-guess-continued-construct CASE G)
        (c-guess-basic-syntax CASE 5D.3): Rearrange so that
-       c-syntactic-skip-backwards isn't called with the pertinent syntax
-       table.
+       c-syntactic-skip-backwards isn't called with the pertinent syntax table.
 
 2014-06-28  Stephen Berman  <address@hidden>
 

=== modified file 'lisp/xt-mouse.el'
--- a/lisp/xt-mouse.el  2014-06-21 19:45:59 +0000
+++ b/lisp/xt-mouse.el  2014-07-01 16:10:02 +0000
@@ -312,7 +312,8 @@
   "Enable xterm mouse tracking on TERMINAL."
   (when (and xterm-mouse-mode (eq t (terminal-live-p terminal))
             ;; Avoid the initial terminal which is not a termcap device.
-            ;; FIXME: is there more elegant way to detect the initial terminal?
+            ;; FIXME: is there more elegant way to detect the initial
+             ;; terminal?
             (not (string= (terminal-name terminal) "initial_terminal")))
     (unless (terminal-parameter terminal 'xterm-mouse-mode)
       ;; Simulate selecting a terminal by selecting one of its frames
@@ -320,7 +321,13 @@
       (with-selected-frame (car (frames-on-display-list terminal))
         (define-key input-decode-map "\e[M" 'xterm-mouse-translate)
         (define-key input-decode-map "\e[<" 'xterm-mouse-translate-extended))
-      (send-string-to-terminal xterm-mouse-tracking-enable-sequence terminal)
+      (condition-case err
+          (send-string-to-terminal xterm-mouse-tracking-enable-sequence
+                                   terminal)
+        ;; FIXME: This should use a dedicated error signal.
+        (error (if (equal (cadr err) "Terminal is currently suspended")
+                   nil                  ;The sequence will be sent upon resume.
+                 (signal (car err) (cdr err)))))
       (push xterm-mouse-tracking-enable-sequence
             (terminal-parameter nil 'tty-mode-set-strings))
       (push xterm-mouse-tracking-disable-sequence
@@ -338,7 +345,13 @@
     ;; command too many times (or to catch an unintended key sequence), than
     ;; to send it too few times (or to fail to let xterm-mouse events
     ;; pass by untranslated).
-    (send-string-to-terminal xterm-mouse-tracking-disable-sequence terminal)
+    (condition-case err
+        (send-string-to-terminal xterm-mouse-tracking-disable-sequence
+                                 terminal)
+      ;; FIXME: This should use a dedicated error signal.
+      (error (if (equal (cadr err) "Terminal is currently suspended")
+                 nil
+               (signal (car err) (cdr err)))))
     (setf (terminal-parameter nil 'tty-mode-set-strings)
           (remq xterm-mouse-tracking-enable-sequence
                 (terminal-parameter nil 'tty-mode-set-strings)))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]