mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 04:10:54 -08:00
(fill-rectangle) Added. Inspired by Lynn Slater's insert-box package in LCD,
but the interface and implementation are different.
This commit is contained in:
parent
b0912e2d9b
commit
131ca136d1
1 changed files with 24 additions and 0 deletions
24
lisp/rect.el
24
lisp/rect.el
|
|
@ -191,6 +191,30 @@ but instead winds up to the right of the rectangle."
|
|||
(point)))
|
||||
(indent-to column)))
|
||||
|
||||
;;;###autoload
|
||||
(defun fill-rectangle (start end text)
|
||||
"Fill each line of the rectangle with corners at point and mark with
|
||||
text, shifting text right. The text previously in the region is not
|
||||
overwritten by the blanks, but instead winds up to the right of the
|
||||
rectangle. Called from a program, takes three args; START, END and
|
||||
TEXT."
|
||||
(interactive "r\nsText:")
|
||||
(operate-on-rectangle 'fill-rectangle-line start end nil)
|
||||
(goto-char start))
|
||||
|
||||
(defun fill-rectangle-line (startpos begextra endextra)
|
||||
(let ((column (+ (current-column) begextra endextra)))
|
||||
(goto-char startpos)
|
||||
(let ((ocol (current-column)))
|
||||
(skip-chars-forward " \t")
|
||||
(setq column (+ column (- (current-column) ocol))))
|
||||
(delete-region (point)
|
||||
;; Use skip-chars-backward's LIM argument to leave
|
||||
;; characters before STARTPOS undisturbed.
|
||||
(progn (skip-chars-backward " \t" startpos)
|
||||
(point)))
|
||||
(insert text)))
|
||||
|
||||
;;;###autoload
|
||||
(defun clear-rectangle (start end)
|
||||
"Blank out rectangle with corners at point and mark.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue