1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 18:40:39 -08:00

Revert 2010-07-14 change to deactivate mark; minor cleanups.

* mouse.el (mouse-drag-track): Use select-active-region.

* simple.el (select-active-region): New function.
(push-mark-command, set-mark, activate-mark)
(handle-shift-selection): Use it.
(deactivate-mark): Don't check for size of region.
This commit is contained in:
Chong Yidong 2010-07-17 16:21:51 -04:00
parent 3b8eff3233
commit 91023c68af
3 changed files with 25 additions and 15 deletions

View file

@ -3687,7 +3687,6 @@ This function also runs `deactivate-mark-hook'."
mark-active
(display-selections-p)
(x-selection-owner-p 'PRIMARY)
(not (eq (region-beginning) (region-end)))
(x-set-selection 'PRIMARY (buffer-substring-no-properties
(region-beginning) (region-end))))
(if (and (null force)
@ -3708,9 +3707,13 @@ This function also runs `deactivate-mark-hook'."
(setq mark-active t)
(unless transient-mark-mode
(setq transient-mark-mode 'lambda))
(when (and select-active-regions
(display-selections-p))
(x-set-selection 'PRIMARY (current-buffer)))))
(select-active-region)))
(defsubst select-active-region ()
"Set the PRIMARY X selection if `select-active-regions' is non-nil."
(and select-active-regions
(display-selections-p)
(x-set-selection 'PRIMARY (current-buffer))))
(defun set-mark (pos)
"Set this buffer's mark to POS. Don't use this function!
@ -3733,9 +3736,7 @@ store it in a Lisp variable. Example:
(progn
(setq mark-active t)
(run-hooks 'activate-mark-hook)
(when (and select-active-regions
(display-selections-p))
(x-set-selection 'PRIMARY (current-buffer)))
(select-active-region)
(set-marker (mark-marker) pos (current-buffer)))
;; Normally we never clear mark-active except in Transient Mark mode.
;; But when we actually clear out the mark value too, we must
@ -3819,8 +3820,7 @@ Display `Mark set' unless the optional second arg NOMSG is non-nil."
(push-mark nil nomsg t)
(setq mark-active t)
(run-hooks 'activate-mark-hook)
(and select-active-regions (display-selections-p)
(x-set-selection 'PRIMARY (current-buffer)))
(select-active-region)
(unless nomsg
(message "Mark activated")))))
@ -4008,9 +4008,12 @@ Otherwise, if the region has been activated temporarily,
deactivate it, and restore the variable `transient-mark-mode' to
its earlier value."
(cond ((and shift-select-mode this-command-keys-shift-translated)
(unless (and mark-active
(eq (car-safe transient-mark-mode) 'only))
(setq transient-mark-mode
(if (and mark-active
(eq (car-safe transient-mark-mode) 'only))
;; Another program may have grabbed the selection; make
;; sure we get it back now.
(select-active-region)
(setq transient-mark-mode
(cons 'only
(unless (eq transient-mark-mode 'lambda)
transient-mark-mode)))