Commit 7509a874 authored by Lars Magne Ingebrigtsen's avatar Lars Magne Ingebrigtsen
Browse files

Leave point at the end of the rectangle after replacing text

* rect.el (apply-on-rectangle): Return the point after the last
operation.
(string-rectangle): Go to the point after the last operation
(bug#7522).
parent 9d2dcee6
2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
* rect.el (apply-on-rectangle): Return the point after the last
operation.
(string-rectangle): Go to the point after the last operation
(bug#7522).
* simple.el (current-kill): Clarify what
`interprogram-paste-function' does (bug#7500).
......
......@@ -93,8 +93,9 @@ Point is at the end of the segment of this line within the rectangle."
"Call FUNCTION for each line of rectangle with corners at START, END.
FUNCTION is called with two arguments: the start and end columns of the
rectangle, plus ARGS extra arguments. Point is at the beginning of line when
the function is called."
(let (startcol startpt endcol endpt)
the function is called.
The final point after the last operation will be returned."
(let (startcol startpt endcol endpt final-point)
(save-excursion
(goto-char start)
(setq startcol (current-column))
......@@ -112,8 +113,9 @@ the function is called."
(goto-char startpt)
(while (< (point) endpt)
(apply function startcol endcol args)
(setq final-point (point))
(forward-line 1)))
))
final-point))
(defun delete-rectangle-line (startcol endcol fill)
(when (= (move-to-column startcol (if fill t 'coerce)) startcol)
......@@ -323,7 +325,8 @@ Called from a program, takes three args; START, END and STRING."
(or (car string-rectangle-history) ""))
nil 'string-rectangle-history
(car string-rectangle-history)))))
(apply-on-rectangle 'string-rectangle-line start end string t))
(goto-char
(apply-on-rectangle 'string-rectangle-line start end string t)))
;;;###autoload
(defalias 'replace-rectangle 'string-rectangle)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment