1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-29 07:58:28 +00:00

Make undo' of C-x r t' put point where it should be

* lisp/rect.el (string-rectangle): Make `undo' of a this
command put point back where it was (bug#7522).
This commit is contained in:
Lars Ingebrigtsen 2016-04-28 01:15:16 +02:00
parent 388bb723fa
commit 8c3245ef01

View File

@ -476,10 +476,15 @@ Called from a program, takes three args; START, END and STRING."
#'rectangle--string-erase-preview nil t)
(add-hook 'post-command-hook
#'rectangle--string-preview nil t))
(read-string (format "String rectangle (default %s): "
(or (car string-rectangle-history) ""))
nil 'string-rectangle-history
(read-string (format "String rectangle (default %s): "
(or (car string-rectangle-history) ""))
nil 'string-rectangle-history
(car string-rectangle-history)))))))
;; If we undo this change, we want to have the point back where we
;; are now, and not after the first line in the rectangle (which is
;; the first line to be changed by the following command).
(unless (eq buffer-undo-list t)
(push (point) buffer-undo-list))
(goto-char
(apply-on-rectangle 'string-rectangle-line start end string t)))