aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/textmodes/picture.el28
1 files changed, 15 insertions, 13 deletions
diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el
index 393e5883538..e3a5a89f079 100644
--- a/lisp/textmodes/picture.el
+++ b/lisp/textmodes/picture.el
@@ -104,14 +104,15 @@ If scan reaches end of buffer, stop there without error."
104 "Move cursor right, making whitespace if necessary. 104 "Move cursor right, making whitespace if necessary.
105With argument, move that many columns." 105With argument, move that many columns."
106 (interactive "p\nd") 106 (interactive "p\nd")
107 (picture-update-desired-column interactive) 107 (let (deactivate-mark)
108 (setq picture-desired-column (max 0 (+ picture-desired-column arg))) 108 (picture-update-desired-column interactive)
109 (let ((current-column (move-to-column picture-desired-column t))) 109 (setq picture-desired-column (max 0 (+ picture-desired-column arg)))
110 (if (and (> current-column picture-desired-column) 110 (let ((current-column (move-to-column picture-desired-column t)))
111 (< arg 0)) 111 (if (and (> current-column picture-desired-column)
112 ;; It seems that we have just tried to move to the right 112 (< arg 0))
113 ;; column of a multi-column character. 113 ;; It seems that we have just tried to move to the right
114 (forward-char -1)))) 114 ;; column of a multi-column character.
115 (forward-char -1)))))
115 116
116(defun picture-backward-column (arg &optional interactive) 117(defun picture-backward-column (arg &optional interactive)
117 "Move cursor left, making whitespace if necessary. 118 "Move cursor left, making whitespace if necessary.
@@ -124,11 +125,12 @@ With argument, move that many columns."
124 "Move vertically down, making whitespace if necessary. 125 "Move vertically down, making whitespace if necessary.
125With argument, move that many lines." 126With argument, move that many lines."
126 (interactive "p") 127 (interactive "p")
127 (picture-update-desired-column nil) 128 (let (deactivate-mark)
128 (picture-newline arg) 129 (picture-update-desired-column nil)
129 (let ((current-column (move-to-column picture-desired-column t))) 130 (picture-newline arg)
130 (if (> current-column picture-desired-column) 131 (let ((current-column (move-to-column picture-desired-column t)))
131 (forward-char -1)))) 132 (if (> current-column picture-desired-column)
133 (forward-char -1)))))
132 134
133(defvar picture-vertical-step 0 135(defvar picture-vertical-step 0
134 "Amount to move vertically after text character in Picture mode.") 136 "Amount to move vertically after text character in Picture mode.")