diff options
author | Gerd Moellmann <gerd@gnu.org> | 2001-04-24 10:57:05 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2001-04-24 10:57:05 +0000 |
commit | 35f901fa576cd5950e0626ac848835c4df612329 (patch) | |
tree | b81bce8bd5849579590a65476703d02cc14b5836 /lisp/rect.el | |
parent | c7b1b508e5f614daf0a06ea15d01928d6a303517 (diff) | |
download | emacs-35f901fa576cd5950e0626ac848835c4df612329.tar.gz |
(string-rectangle): Revert to 20.x behaviour.
(replace-rectangle): Make it an alias for string-rectangle.
(string-insert-rectangle): New function.
Diffstat (limited to 'lisp/rect.el')
-rw-r--r-- | lisp/rect.el | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/lisp/rect.el b/lisp/rect.el index 302621776c3..4d9f034d9b6 100644 --- a/lisp/rect.el +++ b/lisp/rect.el @@ -1,6 +1,6 @@ ;;; rect.el --- rectangle functions for GNU Emacs. -;; Copyright (C) 1985, 1999 Free Software Foundation, Inc. +;; Copyright (C) 1985, 1999, 2000, 2001 Free Software Foundation, Inc. ;; Maintainer: Didier Verna <verna@inf.enst.fr> ;; Keywords: internal @@ -305,8 +305,7 @@ on the right side of the rectangle." (defun delete-whitespace-rectangle-line (startcol endcol fill) (when (= (move-to-column-force startcol (or fill 'coerce)) startcol) (unless (= (point) (point-at-eol)) - (delete-region (point) (progn (skip-syntax-forward " ") (point)))) - )) + (delete-region (point) (progn (skip-syntax-forward " ") (point)))))) ;;;###autoload (defalias 'close-rectangle 'delete-whitespace-rectangle) ;; Old name ;;;###autoload @@ -326,22 +325,6 @@ With a prefix (or a FILL) argument, also fill too short lines." ;; to string-rectangle-line. (defvar string-rectangle-string) -;;;###autoload -(defun string-rectangle (start end string) - "Insert STRING on each line of the region-rectangle, shifting text right. - -When called from a program the rectangle's corners are START and END. -The left edge of the rectangle specifies the column for insertion. -This command does not delete or overwrite any existing text." - (interactive "*r\nsString rectangle: ") - ;; XEmacs tests `pending-delete-mode' here, and replaces the - ;; rectangle if that's on. Using `delete-selection-mode' here would - ;; only be useful if `mark-even-if-inactive' is on since otherwise - ;; we need the mark to be active, given the interactive spec, and - ;; then we'd always delete. Maybe revisit this and consider testing - ;; `mark-even-if-inactive' too? - (apply-on-rectangle 'string-rectangle-line start end string nil)) - (defun string-rectangle-line (startcol endcol string delete) (move-to-column-force startcol) (if delete @@ -349,11 +332,26 @@ This command does not delete or overwrite any existing text." (insert string)) ;;;###autoload -(defun replace-rectangle (start end string) - "Like `string-rectangle', but replace the original region." +(defun string-rectangle (start end string) + "Replace rectangle contents with STRING on each line. +The length of STRING need not be the same as the rectangle width. + +Called from a program, takes three args; START, END and STRING." (interactive "*r\nsString rectangle: ") (apply-on-rectangle 'string-rectangle-line start end string t)) +(defalias 'replace-rectangle 'string-rectangle) + +;;;###autoload +(defun string-insert-rectangle (start end string) + "Insert STRING on each line of region-rectangle, shifting text right. + +When called from a program, the rectangle's corners are START and END. +The left edge of the rectangle specifies the column for insertion. +This command does not delete or overwrite any existing text." + (interactive "*r\nsString insert rectangle: ") + (apply-on-rectangle 'string-rectangle-line start end string nil)) + ;;;###autoload (defun clear-rectangle (start end &optional fill) "Blank out the region-rectangle. @@ -377,8 +375,7 @@ rectangle which were empty." (move-to-column-force endcol) (setq spaces (- (point) pt)) (delete-region pt (point)) - (indent-to (+ (current-column) spaces)))) - )) + (indent-to (+ (current-column) spaces)))))) (provide 'rect) |