]> code.delx.au - gnu-emacs/blobdiff - lisp/rect.el
*** empty log message ***
[gnu-emacs] / lisp / rect.el
index 3c5ea78a36ff04d030804021c8537bffe4425648..e53198bc75356139571834f3f69f1fdce394ef97 100644 (file)
 
 ;;;###autoload
 (defun move-to-column-force (column &optional flag)
-  "Obsolete.  Use `move-to-column'.
-If COLUMN is within a multi-column character, replace it by spaces and tab.
+  "If COLUMN is within a multi-column character, replace it by spaces and tab.
 As for `move-to-column', passing anything but nil or t in FLAG will move to
 the desired column only if the line is long enough."
   (move-to-column column (or flag t)))
-(make-obsolete 'move-to-column-force "move-to-column" "21.2")
+
+;;;###autoload
+(make-obsolete 'move-to-column-force 'move-to-column "21.2")
 
 ;; not used any more --dv
 ;; extract-rectangle-line stores lines into this list
@@ -126,14 +127,14 @@ the function is called."
     ))
 
 (defun delete-rectangle-line (startcol endcol fill)
-  (when (= (move-to-column startcol (or fill 'coerce)) startcol)
+  (when (= (move-to-column startcol (if fill t 'coerce)) startcol)
     (delete-region (point)
                   (progn (move-to-column endcol 'coerce)
                          (point)))))
 
 (defun delete-extract-rectangle-line (startcol endcol lines fill)
   (let ((pt (point-at-eol)))
-    (if (< (move-to-column startcol (or fill 'coerce)) startcol)
+    (if (< (move-to-column startcol (if fill t 'coerce)) startcol)
        (setcdr lines (cons (spaces-string (- endcol startcol))
                            (cdr lines)))
       ;; else
@@ -186,7 +187,7 @@ the function is called."
        (setq val (concat "        " val)
              n (- n 8)))
       (concat val (aref spaces-strings n)))))
-    
+
 ;;;###autoload
 (defun delete-rectangle (start end &optional fill)
   "Delete (don't save) text in the region-rectangle.
@@ -265,7 +266,7 @@ and point is at the lower right corner."
           (or (bolp) (insert ?\n))
           (move-to-column insertcolumn t)))
       (setq first nil)
-      (insert (car lines))
+      (insert-for-yank (car lines))
       (setq lines (cdr lines)))))
 
 ;;;###autoload
@@ -283,17 +284,19 @@ on the right side of the rectangle."
   (goto-char start))
 
 (defun open-rectangle-line (startcol endcol fill)
-  (when (= (move-to-column startcol (or fill 'coerce)) startcol)
+  (when (= (move-to-column startcol (if fill t 'coerce)) startcol)
     (unless (and (not fill)
                 (= (point) (point-at-eol)))
       (indent-to endcol))))
 
 (defun delete-whitespace-rectangle-line (startcol endcol fill)
-  (when (= (move-to-column startcol (or fill 'coerce)) startcol)
+  (when (= (move-to-column startcol (if fill t 'coerce)) startcol)
     (unless (= (point) (point-at-eol))
       (delete-region (point) (progn (skip-syntax-forward " ") (point))))))
 
-;;;###autoload (defalias 'close-rectangle 'delete-whitespace-rectangle) ;; Old name
+;;;###autoload
+(defalias 'close-rectangle 'delete-whitespace-rectangle) ;; Old name
+
 ;;;###autoload
 (defun delete-whitespace-rectangle (start end &optional fill)
   "Delete all whitespace following a specified column in each line.
@@ -318,7 +321,6 @@ With a prefix (or a FILL) argument, also fill too short lines."
   (insert string))
 
 ;;;###autoload
-
 (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.
@@ -335,6 +337,7 @@ Called from a program, takes three args; START, END and STRING."
                        (car string-rectangle-history)))))
   (apply-on-rectangle 'string-rectangle-line start end string t))
 
+;;;###autoload
 (defalias 'replace-rectangle 'string-rectangle)
 
 ;;;###autoload
@@ -367,19 +370,19 @@ rectangle which were empty."
   (apply-on-rectangle 'clear-rectangle-line start end fill))
 
 (defun clear-rectangle-line (startcol endcol fill)
-  (let ((pt (point-at-eol))
-       spaces)
-    (when (= (move-to-column startcol (or fill 'coerce)) startcol)
+  (let ((pt (point-at-eol)))
+    (when (= (move-to-column startcol (if fill t 'coerce)) startcol)
       (if (and (not fill)
               (<= (save-excursion (goto-char pt) (current-column)) endcol))
          (delete-region (point) pt)
        ;; else
        (setq pt (point))
        (move-to-column endcol t)
-       (setq spaces (- (point) pt))
+       (setq endcol (current-column))
        (delete-region pt (point))
-       (indent-to (+ (current-column) spaces))))))
+       (indent-to endcol)))))
 
 (provide 'rect)
 
+;;; arch-tag: 178847b3-1f50-4b03-83de-a6e911cc1d16
 ;;; rect.el ends here