From: Karl Heuer Date: Tue, 1 Mar 1994 06:19:22 +0000 (+0000) Subject: (picture-forward-column, picture-backward-column): Allow backward motion X-Git-Tag: emacs-19.34~9732 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ad8fb8aec74d7361695f84e89d6ffce47f480bf1;p=emacs.git (picture-forward-column, picture-backward-column): Allow backward motion across multi-column characters. --- diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el index 878161da481..72c7125593d 100644 --- a/lisp/textmodes/picture.el +++ b/lisp/textmodes/picture.el @@ -76,13 +76,19 @@ If scan reaches end of buffer, stop there without error." "Move cursor right, making whitespace if necessary. With argument, move that many columns." (interactive "p") - (move-to-column-force (+ (current-column) arg))) + (let ((target-column (+ (current-column) arg))) + (move-to-column-force target-column) + ;; Picture mode isn't really suited to multi-column characters, + ;; but we might as well let the user move across them. + (and (< arg 0) + (> (current-column) target-column) + (forward-char -1)))) (defun picture-backward-column (arg) "Move cursor left, making whitespace if necessary. With argument, move that many columns." (interactive "p") - (move-to-column-force (- (current-column) arg))) + (picture-forward-column (- arg))) (defun picture-move-down (arg) "Move vertically down, making whitespace if necessary.