summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/simple.el4
2 files changed, 8 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index cc864810c8c..26699e0ff4d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,10 @@
2014-07-08 Juri Linkov <juri@jurta.org>
+ * simple.el (transpose-chars): Don't move point into read-only area.
+ (Bug#17829)
+
+2014-07-08 Juri Linkov <juri@jurta.org>
+
* window.el (with-displayed-buffer-window): New macro.
(with-temp-buffer-window, with-current-buffer-window):
Use `macroexp-let2' to evaluate and bind variables
diff --git a/lisp/simple.el b/lisp/simple.el
index 6fd50197a10..5da662c2124 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -5934,7 +5934,9 @@ With prefix arg ARG, effect is to take character before point
and drag it forward past ARG other characters (backward if ARG negative).
If no argument and at end of line, the previous two chars are exchanged."
(interactive "*P")
- (and (null arg) (eolp) (forward-char -1))
+ (when (and (null arg) (eolp) (not (bobp))
+ (not (get-text-property (1- (point)) 'read-only)))
+ (forward-char -1))
(transpose-subr 'forward-char (prefix-numeric-value arg)))
(defun transpose-words (arg)