Commit 2bcfe15e authored by Stefan Monnier's avatar Stefan Monnier
Browse files

(fortran-mode): Set comment-use-syntax.

(fortran-fill-paragraph): Use fill-comment-paragraph.
parent 5b373bd3
......@@ -664,8 +664,9 @@ with no args, if that value is non-nil."
;; (concat "\\(\\)\\(![ \t]*\\|" fortran-comment-line-start-skip "\\)")
"\\(\\)\\(?:^[CcDd*]\\|!\\)\\(?:\\([^ \t\n]\\)\\2+\\)?[ \t]*")
(set (make-local-variable 'comment-padding) "$$$")
(make-local-variable 'comment-start)
(setq comment-start fortran-comment-line-start)
(set (make-local-variable 'comment-start) fortran-comment-line-start)
;; The syntax tables don't understand the column-0 comment-markers.
(set (make-local-variable 'comment-use-syntax) nil)
(make-local-variable 'require-final-newline)
(setq require-final-newline t)
(make-local-variable 'abbrev-all-caps)
......@@ -1753,43 +1754,9 @@ file before the end or the first `fortran-analyze-depth' lines."
"Fill surrounding comment block as paragraphs, else fill statement.
Intended as the value of `fill-paragraph-function'."
(interactive "P")
(if (not (looking-at fortran-comment-line-start-skip))
;; We're in a comment block. Find the start and end of a
;; paragraph, delimited either by non-comment lines or empty
;; comments. (Get positions as markers, since the
;; `indent-region' below can shift the block's end).
(let* ((non-empty-comment
(concat fortran-comment-line-start-skip "[^ \t\n]"))
(start (save-excursion
;; Find (start of) first line.
(while (and (zerop (forward-line -1))
(looking-at non-empty-comment)))
(or (looking-at non-empty-comment)
(forward-line)) ; overshot
(end (save-excursion
;; Find start of first line past region to fill.
(while (progn
(looking-at non-empty-comment)))
;; Indent the block, find the string comprising the effective
;; comment start skip and use that as a fill-prefix for
;; filling the region.
(indent-region start end nil)
(let ((paragraph-ignore-fill-prefix nil)
(fill-prefix (progn
(looking-at fortran-comment-line-start-skip)
(match-string 0))))
(let (fill-paragraph-function)
(fill-region start end justify))) ; with normal `fill-paragraph'
(set-marker start nil)
(set-marker end nil))))
(or (fill-comment-paragraph justify)
(defun fortran-fill-statement ()
"Fill a fortran statement up to `fill-column'."
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