1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-24 14:30:43 -08:00

(center-line): New arg NLINES.

Do nothing for lines that are too wide.
This commit is contained in:
Richard M. Stallman 1995-09-10 17:44:25 +00:00
parent 90b777c546
commit aaf6c7ef84

View file

@ -141,20 +141,32 @@ See `center-line' for more info."
(center-line))
(forward-line 1)))))
(defun center-line ()
(defun center-line (&optional nlines)
"Center the line point is on, within the width specified by `fill-column'.
This means adjusting the indentation so that it equals
the distance between the end of the text and `fill-column'."
(interactive)
(save-excursion
(let ((lm (current-left-margin))
line-length)
(beginning-of-line)
(delete-horizontal-space)
(end-of-line)
(delete-horizontal-space)
(setq line-length (current-column))
(indent-line-to
(+ lm (/ (- fill-column lm line-length) 2))))))
the distance between the end of the text and `fill-column'.
The argument NLINES says how many lines to center."
(interactive "P")
(if nlines (setq nlines (prefix-numeric-value nlines)))
(while (not (eq nlines 0))
(save-excursion
(let ((lm (current-left-margin))
line-length)
(beginning-of-line)
(delete-horizontal-space)
(end-of-line)
(delete-horizontal-space)
(setq line-length (current-column))
(if (> (- fill-column lm line-length) 0)
(indent-line-to
(+ lm (/ (- fill-column lm line-length) 2))))))
(cond ((null nlines)
(setq nlines 0))
((> nlines 0)
(setq nlines (1- nlines))
(forward-line 1))
((< nlines 0)
(setq nlines (1+ nlines))
(forward-line -1)))))
;;; text-mode.el ends here