emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r117495: * lisp/xt-mouse.el (xterm-mouse-translate-1


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r117495: * lisp/xt-mouse.el (xterm-mouse-translate-1): Intern drag event.
Date: Tue, 08 Jul 2014 18:47:53 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117495
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17894
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Tue 2014-07-08 14:47:47 -0400
message:
  * lisp/xt-mouse.el (xterm-mouse-translate-1): Intern drag event.
  Remove also pointless window&mark manipulation.
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-08 16:51:35 +0000
+++ b/lisp/ChangeLog    2014-07-08 18:47:47 +0000
@@ -1,5 +1,8 @@
 2014-07-08  Stefan Monnier  <address@hidden>
 
+       * xt-mouse.el (xterm-mouse-translate-1): Intern drag event (bug#17894).
+       Remove also pointless window&mark manipulation.
+
        * progmodes/perl-mode.el: Use syntax-ppss; fix one indentation case.
        (perl-indent-line): Use syntax-ppss to detect we're in a doc-section.
        (perl-continuation-line-p): Don't skip over anything else than labels.

=== modified file 'lisp/xt-mouse.el'
--- a/lisp/xt-mouse.el  2014-07-01 16:10:02 +0000
+++ b/lisp/xt-mouse.el  2014-07-08 18:47:47 +0000
@@ -62,49 +62,44 @@
 
 (defun xterm-mouse-translate-1 (&optional extension)
   (save-excursion
-    (save-window-excursion              ;FIXME: Why?
-      (deactivate-mark)                 ;FIXME: Why?
-      (let* ((event (xterm-mouse-event extension))
-            (ev-command (nth 0 event))
-            (ev-data    (nth 1 event))
-            (ev-where   (nth 1 ev-data))
-             (vec (if (and (symbolp ev-where) (consp ev-where))
-                      ;; FIXME: This condition can *never* be non-nil!?!
-                      (vector (list ev-where ev-data) event)
-                    (vector event)))
-            (is-down (string-match "down-" (symbol-name ev-command))))
+    (let* ((event (xterm-mouse-event extension))
+          (ev-command (nth 0 event))
+          (ev-data    (nth 1 event))
+          (ev-where   (nth 1 ev-data))
+          (vec (vector event))
+          (is-down (string-match "down-" (symbol-name ev-command))))
 
-          (cond
-         ((null event) nil)           ;Unknown/bogus byte sequence!
-         (is-down
-          (setf (terminal-parameter nil 'xterm-mouse-last-down) event)
-          vec)
-         (t
-          (let* ((down (terminal-parameter nil 'xterm-mouse-last-down))
-                 (down-data (nth 1 down))
-                 (down-where (nth 1 down-data)))
-            (setf (terminal-parameter nil 'xterm-mouse-last-down) nil)
-            (cond
-             ((null down)
-              ;; This is an "up-only" event.  Pretend there was an up-event
-              ;; right before and keep the up-event for later.
-              (push event unread-command-events)
-              (vector (cons (intern (replace-regexp-in-string
-                                     "\\`\\([ACMHSs]-\\)*" "\\&down-"
-                                     (symbol-name ev-command) t))
-                            (cdr event))))
-             ((equal ev-where down-where) vec)
+      (cond
+       ((null event) nil)              ;Unknown/bogus byte sequence!
+       (is-down
+       (setf (terminal-parameter nil 'xterm-mouse-last-down) event)
+       vec)
+       (t
+       (let* ((down (terminal-parameter nil 'xterm-mouse-last-down))
+              (down-data (nth 1 down))
+              (down-where (nth 1 down-data)))
+         (setf (terminal-parameter nil 'xterm-mouse-last-down) nil)
+         (cond
+          ((null down)
+           ;; This is an "up-only" event.  Pretend there was an up-event
+           ;; right before and keep the up-event for later.
+           (push event unread-command-events)
+           (vector (cons (intern (replace-regexp-in-string
+                                  "\\`\\([ACMHSs]-\\)*" "\\&down-"
+                                  (symbol-name ev-command) t))
+                         (cdr event))))
+          ((equal ev-where down-where) vec)
            (t
-              (let ((drag (if (symbolp ev-where)
-                                 0      ;FIXME: Why?!?
-                               (list (replace-regexp-in-string
-                                      "\\`\\([ACMHSs]-\\)*" "\\&drag-"
-                                      (symbol-name ev-command) t)
-                                     down-data ev-data))))
-                (if (null track-mouse)
-                    (vector drag)
-                  (push drag unread-command-events)
-                  (vector (list 'mouse-movement ev-data)))))))))))))
+           (let ((drag (if (symbolp ev-where)
+                           0           ;FIXME: Why?!?
+                         (list (intern (replace-regexp-in-string
+                                        "\\`\\([ACMHSs]-\\)*" "\\&drag-"
+                                        (symbol-name ev-command) t))
+                               down-data ev-data))))
+             (if (null track-mouse)
+                 (vector drag)
+               (push drag unread-command-events)
+               (vector (list 'mouse-movement ev-data))))))))))))
 
 ;; These two variables have been converted to terminal parameters.
 ;;


reply via email to

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