From 35f901fa576cd5950e0626ac848835c4df612329 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Tue, 24 Apr 2001 10:57:05 +0000 Subject: [PATCH] (string-rectangle): Revert to 20.x behaviour. (replace-rectangle): Make it an alias for string-rectangle. (string-insert-rectangle): New function. --- lisp/ChangeLog | 6 ++++++ lisp/rect.el | 43 ++++++++++++++++++++----------------------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 86e4a9d6154..cdeb09ada96 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2001-04-24 Gerd Moellmann + + * rect.el (string-rectangle): Revert to 20.x behaviour. + (replace-rectangle): Make it an alias for string-rectangle. + (string-insert-rectangle): New function. + 2001-04-23 John Wiegley * eshell/em-unix.el (eshell/diff): Fixed problems that were 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 ;; 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) -- 2.39.2