summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/emulation/cua-base.el22
2 files changed, 19 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f7469ddb015..4b031a5dfe9 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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.
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index a918f298a4e..c31f634dd5c 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -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)