Fix for C-x C-x in cua-selection-mode.

* emulation/cua-base.el (cua-exchange-point-and-mark): Just call
exchange-point-and-mark if cua-enable-cua-keys is nil.

Fixes: debbugs:11191
This commit is contained in:
Chong Yidong 2012-04-13 15:10:11 +08:00
parent 03ed9e82ad
commit 9557e2beb2
2 changed files with 19 additions and 8 deletions

View file

@ -1,3 +1,8 @@
2012-04-13 Kim F. Storm <storm@cua.dk>
* emulation/cua-base.el (cua-exchange-point-and-mark): Just call
exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191).
2012-04-12 Chong Yidong <cyd@gnu.org>
* custom.el (custom-theme-set-variables): Doc fix.

View file

@ -1002,15 +1002,21 @@ behavior, see `cua-paste-pop-rotate-temporarily'."
(setq this-command 'cua-paste-pop))))
(defun cua-exchange-point-and-mark (arg)
"Exchanges point and mark, but don't activate the mark.
Activates the mark if a prefix argument is given."
"Exchange point and mark.
Don't activate the mark if `cua-enable-cua-keys' is non-nil.
Otherwise, just activate the mark if a prefix ARG is given.
See also `exchange-point-and-mark'."
(interactive "P")
(if arg
(setq mark-active t)
(let (mark-active)
(exchange-point-and-mark)
(if cua--rectangle
(cua--rectangle-corner 0)))))
(cond ((null cua-enable-cua-keys)
(exchange-point-and-mark arg))
(arg
(setq mark-active t))
(t
(let (mark-active)
(exchange-point-and-mark)
(if cua--rectangle
(cua--rectangle-corner 0))))))
;; Typed text that replaced the highlighted region.
(defvar cua--repeat-replace-text nil)