Commit 88a2603a authored by Richard M. Stallman's avatar Richard M. Stallman

(indent-region): Rename arg ARG to COLUMN.

Don't add fill-prefix to empty line.
Don't change whitespace in empty line.
parent 69b4bf37
...@@ -85,36 +85,39 @@ Called from a program, takes three arguments, START, END and ARG." ...@@ -85,36 +85,39 @@ Called from a program, takes three arguments, START, END and ARG."
"Function which is short cut to indent region using indent-according-to-mode. "Function which is short cut to indent region using indent-according-to-mode.
A value of nil means really run indent-according-to-mode on each line.") A value of nil means really run indent-according-to-mode on each line.")
(defun indent-region (start end arg) (defun indent-region (start end column)
"Indent each nonblank line in the region. "Indent each nonblank line in the region.
With no argument, indent each line using indent-according-to-mode. With no argument, indent each line using `indent-according-to-mode',
\(If there is a fill prefix, make each line start with the fill prefix.) or use `indent-region-function' to do the whole region if that's non-nil.
If there is a fill prefix, make each line start with the fill prefix.
With argument COLUMN, indent each line to that column. With argument COLUMN, indent each line to that column.
Called from a program, takes three args: START, END and COLUMN." Called from a program, takes three args: START, END and COLUMN."
(interactive "r\nP") (interactive "r\nP")
(if (null arg) (if (null column)
(if fill-prefix (if fill-prefix
(save-excursion (save-excursion
(goto-char end) (goto-char end)
(setq end (point-marker)) (setq end (point-marker))
(goto-char start) (goto-char start)
(let ((regexp (regexp-quote fill-prefix))) (let ((regexp (regexp-quote fill-prefix)))
(while (< (point) end) (while (< (point) end)
(or (looking-at regexp) (or (looking-at regexp)
(insert fill-prefix)) (and (bolp) (eolp))
(forward-line 1)))) (insert fill-prefix))
(forward-line 1))))
(if indent-region-function (if indent-region-function
(funcall indent-region-function start end) (funcall indent-region-function start end)
(save-excursion (save-excursion
(goto-char end) (goto-char end)
(setq end (point-marker)) (setq end (point-marker))
(goto-char start) (goto-char start)
(or (bolp) (forward-line 1)) (or (bolp) (forward-line 1))
(while (< (point) end) (while (< (point) end)
(funcall indent-line-function) (or (and (bolp) (eolp)))
(forward-line 1)) (funcall indent-line-function))
(move-marker end nil)))) (forward-line 1))
(setq arg (prefix-numeric-value arg)) (move-marker end nil))))
(setq column (prefix-numeric-value column))
(save-excursion (save-excursion
(goto-char end) (goto-char end)
(setq end (point-marker)) (setq end (point-marker))
...@@ -123,7 +126,7 @@ Called from a program, takes three args: START, END and COLUMN." ...@@ -123,7 +126,7 @@ Called from a program, takes three args: START, END and COLUMN."
(while (< (point) end) (while (< (point) end)
(delete-region (point) (progn (skip-chars-forward " \t") (point))) (delete-region (point) (progn (skip-chars-forward " \t") (point)))
(or (eolp) (or (eolp)
(indent-to arg 0)) (indent-to column 0))
(forward-line 1)) (forward-line 1))
(move-marker end nil)))) (move-marker end nil))))
......
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