emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r117459: * lisp/simple.el (deactivate-mark, set-mark


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r117459: * lisp/simple.el (deactivate-mark, set-mark-command, handle-shift-selection):
Date: Tue, 01 Jul 2014 18:13:35 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117459
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6316
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Tue 2014-07-01 14:13:28 -0400
message:
  * lisp/simple.el (deactivate-mark, set-mark-command, handle-shift-selection):
  Don't keep transient-mark-mode buffer-local when not needed.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/simple.el                 simple.el-20091113204419-o5vbwnq5f7feedwu-403
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-07-01 16:10:02 +0000
+++ b/lisp/ChangeLog    2014-07-01 18:13:28 +0000
@@ -1,5 +1,8 @@
 2014-07-01  Stefan Monnier  <address@hidden>
 
+       * simple.el (deactivate-mark, set-mark-command, handle-shift-selection):
+       Don't keep transient-mark-mode buffer-local when not needed (bug#6316).
+
        * 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).

=== modified file 'lisp/simple.el'
--- a/lisp/simple.el    2014-06-23 20:23:33 +0000
+++ b/lisp/simple.el    2014-07-01 18:13:28 +0000
@@ -4527,9 +4527,11 @@
     (when mark-active (force-mode-line-update)) ;Refresh toolbar (bug#16382).
     (cond
      ((eq (car-safe transient-mark-mode) 'only)
-      (setq transient-mark-mode (cdr transient-mark-mode)))
+      (setq transient-mark-mode (cdr transient-mark-mode))
+      (if (eq transient-mark-mode (default-value 'transient-mark-mode))
+          (kill-local-variable 'transient-mark-mode)))
      ((eq transient-mark-mode 'lambda)
-      (setq transient-mark-mode nil)))
+      (kill-local-variable 'transient-mark-mode)))
     (setq mark-active nil)
     (run-hooks 'deactivate-mark-hook)
     (redisplay--update-region-highlight (selected-window))))
@@ -4756,7 +4758,7 @@
 purposes.  See the documentation of `set-mark' for more information."
   (interactive "P")
   (cond ((eq transient-mark-mode 'lambda)
-        (setq transient-mark-mode nil))
+        (kill-local-variable 'transient-mark-mode))
        ((eq (car-safe transient-mark-mode) 'only)
         (deactivate-mark)))
   (cond
@@ -4894,6 +4896,8 @@
            (push-mark nil nil t)))
         ((eq (car-safe transient-mark-mode) 'only)
          (setq transient-mark-mode (cdr transient-mark-mode))
+         (if (eq transient-mark-mode (default-value 'transient-mark-mode))
+             (kill-local-variable 'transient-mark-mode))
          (deactivate-mark))))
 
 (define-minor-mode transient-mark-mode


reply via email to

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