emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/progmodes/fortran.el


From: Glenn Morris
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/fortran.el
Date: Tue, 14 May 2002 19:12:41 -0400

Index: emacs/lisp/progmodes/fortran.el
diff -c emacs/lisp/progmodes/fortran.el:1.94 
emacs/lisp/progmodes/fortran.el:1.95
*** emacs/lisp/progmodes/fortran.el:1.94        Sun May 12 13:28:43 2002
--- emacs/lisp/progmodes/fortran.el     Tue May 14 19:12:41 2002
***************
*** 139,147 ****
    :type 'regexp
    :group 'fortran-comment)
  
! (defcustom fortran-preprocessor-re
    "^[ \t]*#.*"
!   "*Regexp to match the whole of a preprocessor line."
    :version "21.4"
    :type 'regexp
    :group 'fortran-indent)
--- 139,149 ----
    :type 'regexp
    :group 'fortran-comment)
  
! (defcustom fortran-directive-re
    "^[ \t]*#.*"
!   "*Regexp to match a directive line.
! The matching text will be fontified with `font-lock-keyword-face'.
! The matching line will be given zero indentation."
    :version "21.4"
    :type 'regexp
    :group 'fortran-indent)
***************
*** 376,382 ****
         (list
          ;; cpp stuff (ugh)
  ;;;     '("^# *[a-z]+" . font-lock-keyword-face))
!           `(,fortran-preprocessor-re (0 font-lock-keyword-face t)))
           ;; The list `fortran-font-lock-keywords-2' less that for types
           ;; (see above).
           (cdr (nthcdr (length fortran-font-lock-keywords-1)
--- 378,384 ----
         (list
          ;; cpp stuff (ugh)
  ;;;     '("^# *[a-z]+" . font-lock-keyword-face))
!           `(,fortran-directive-re (0 font-lock-keyword-face t)))
           ;; The list `fortran-font-lock-keywords-2' less that for types
           ;; (see above).
           (cdr (nthcdr (length fortran-font-lock-keywords-1)
***************
*** 980,1000 ****
    "Move point to beginning of the previous Fortran statement.
  Returns 'first-statement if that statement is the first
  non-comment Fortran statement in the file, and nil otherwise.
! Preprocessor lines are treated as comments."
    (interactive)
    (let (not-first-statement continue-test)
      (beginning-of-line)
      (setq continue-test
          (and
           (not (looking-at fortran-comment-line-start-skip))
!            (not (looking-at fortran-preprocessor-re))
           (or (looking-at
                (concat "[ \t]*"
                        (regexp-quote fortran-continuation-string)))
               (looking-at " \\{5\\}[^ 0\n]\\|\t[1-9]"))))
      (while (and (setq not-first-statement (= (forward-line -1) 0))
                (or (looking-at fortran-comment-line-start-skip)
!                     (looking-at fortran-preprocessor-re)
                    (looking-at "[ \t]*$\\| \\{5\\}[^ 0\n]\\|\t[1-9]")
                    (looking-at (concat "[ \t]*" comment-start-skip)))))
      (cond ((and continue-test
--- 982,1002 ----
    "Move point to beginning of the previous Fortran statement.
  Returns 'first-statement if that statement is the first
  non-comment Fortran statement in the file, and nil otherwise.
! Directive lines are treated as comments."
    (interactive)
    (let (not-first-statement continue-test)
      (beginning-of-line)
      (setq continue-test
          (and
           (not (looking-at fortran-comment-line-start-skip))
!            (not (looking-at fortran-directive-re))
           (or (looking-at
                (concat "[ \t]*"
                        (regexp-quote fortran-continuation-string)))
               (looking-at " \\{5\\}[^ 0\n]\\|\t[1-9]"))))
      (while (and (setq not-first-statement (= (forward-line -1) 0))
                (or (looking-at fortran-comment-line-start-skip)
!                     (looking-at fortran-directive-re)
                    (looking-at "[ \t]*$\\| \\{5\\}[^ 0\n]\\|\t[1-9]")
                    (looking-at (concat "[ \t]*" comment-start-skip)))))
      (cond ((and continue-test
***************
*** 1009,1015 ****
    "Move point to beginning of the next Fortran statement.
  Returns 'last-statement if that statement is the last
  non-comment Fortran statement in the file, and nil otherwise.
! Preprocessor lines are treated as comments."
    (interactive)
    (let (not-last-statement)
      (beginning-of-line)
--- 1011,1017 ----
    "Move point to beginning of the next Fortran statement.
  Returns 'last-statement if that statement is the last
  non-comment Fortran statement in the file, and nil otherwise.
! Directive lines are treated as comments."
    (interactive)
    (let (not-last-statement)
      (beginning-of-line)
***************
*** 1017,1023 ****
                      (and (= (forward-line 1) 0)
                           (not (eobp))))
                (or (looking-at fortran-comment-line-start-skip)
!                     (looking-at fortran-preprocessor-re)
                    (looking-at "[ \t]*$\\|     [^ 0\n]\\|\t[1-9]")
                    (looking-at (concat "[ \t]*" comment-start-skip)))))
      (if (not not-last-statement)
--- 1019,1025 ----
                      (and (= (forward-line 1) 0)
                           (not (eobp))))
                (or (looking-at fortran-comment-line-start-skip)
!                     (looking-at fortran-directive-re)
                    (looking-at "[ \t]*$\\|     [^ 0\n]\\|\t[1-9]")
                    (looking-at (concat "[ \t]*" comment-start-skip)))))
      (if (not not-last-statement)
***************
*** 1357,1362 ****
--- 1359,1367 ----
      (save-excursion
        (beginning-of-line)
        (cond ((looking-at "[ \t]*$"))
+             ;; Check for directive before comment, so as not to indent.
+           ((looking-at fortran-directive-re)
+            (setq fortran-minimum-statement-indent 0 icol 0))
            ((looking-at fortran-comment-line-start-skip)
             (cond ((eq fortran-comment-indent-style 'relative)
                    (setq icol (+ icol fortran-comment-line-extra-indent)))
***************
*** 1369,1376 ****
                                      fortran-continuation-string)))
                 (looking-at " \\{5\\}[^ 0\n]\\|\t[1-9]"))
             (setq icol (+ icol fortran-continuation-indent)))
-           ((looking-at fortran-preprocessor-re) ; Check for cpp directive.
-            (setq fortran-minimum-statement-indent 0 icol 0))
            (first-statement)
            ((and fortran-check-all-num-for-matching-do
                  (looking-at "[ \t]*[0-9]+")
--- 1374,1379 ----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]