Mercurial > emacs
changeset 13802:8107433d6a22
(lisp-fill-paragraph): Several changes.
Change how to recognize partial comment lines,
how to find start of region to fill. Use fill-region.
Use tabs when making comment-fill-prefix.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Thu, 21 Dec 1995 17:54:46 +0000 |
parents | b400658e8735 |
children | e0bae9f528fe |
files | lisp/emacs-lisp/lisp-mode.el |
diffstat | 1 files changed, 16 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/emacs-lisp/lisp-mode.el Thu Dec 21 17:54:34 1995 +0000 +++ b/lisp/emacs-lisp/lisp-mode.el Thu Dec 21 17:54:46 1995 +0000 @@ -698,16 +698,21 @@ ;; A line with some code, followed by a comment? Remember that the ;; semi which starts the comment shouldn't be part of a string or ;; character. - ((progn - (while (not (looking-at ";\\|$")) - (skip-chars-forward "^;\n\"\\\\?") - (cond - ((eq (char-after (point)) ?\\) (forward-char 2)) - ((memq (char-after (point)) '(?\" ??)) (forward-sexp 1)))) - (looking-at ";+[\t ]*")) + ((condition-case nil + (save-restriction + (narrow-to-region (point-min) + (save-excursion (end-of-line) (point))) + (while (not (looking-at ";\\|$")) + (skip-chars-forward "^;\n\"\\\\?") + (cond + ((eq (char-after (point)) ?\\) (forward-char 2)) + ((memq (char-after (point)) '(?\" ??)) (forward-sexp 1)))) + (looking-at ";+[\t ]*")) + (error nil)) (setq has-comment t) (setq comment-fill-prefix - (concat (make-string (current-column) ? ) + (concat (make-string (/ (current-column) 8) ?\t) + (make-string (% (current-column) 8) ?\ ) (buffer-substring (match-beginning 0) (match-end 0))))))) (if (not has-comment) @@ -715,13 +720,14 @@ ;; Narrow to include only the comment, and then fill the region. (save-restriction + (beginning-of-line) (narrow-to-region ;; Find the first line we should include in the region to fill. (save-excursion (while (and (zerop (forward-line -1)) (looking-at "^[ \t]*;"))) ;; We may have gone to far. Go forward again. - (or (looking-at "^[ \t]*;") + (or (looking-at ".*;") (forward-line 1)) (point)) ;; Find the beginning of the first line past the region to fill. @@ -734,7 +740,7 @@ (let ((paragraph-start (concat paragraph-start "\\|[ \t;]*$")) (paragraph-separate (concat paragraph-start "\\|[ \t;]*$")) (fill-prefix comment-fill-prefix)) - (fill-paragraph justify)))) + (fill-region (point-min) (point-max) justify t)))) t))