]> git.eshelyaron.com Git - emacs.git/commitdiff
(fortran-tab-mode-default)
authorGlenn Morris <rgm@gnu.org>
Tue, 23 Oct 2007 06:51:54 +0000 (06:51 +0000)
committerGlenn Morris <rgm@gnu.org>
Tue, 23 Oct 2007 06:51:54 +0000 (06:51 +0000)
(fortran-tab-mode-string, fortran-do-indent, fortran-if-indent)
(fortran-structure-indent, fortran-continuation-indent)
(fortran-comment-indent, fortran-comment-line-extra-indent)
(fortran-comment-line-start)
(fortran-minimum-statement-indent-fixed)
(fortran-minimum-statement-indent-tab)
(fortran-comment-indent-char, fortran-line-number-indent)
(fortran-check-all-num-for-matching-do)
(fortran-blink-matching-if, fortran-continuation-string)
(fortran-comment-region, fortran-electric-line-number)
(fortran-column-ruler-fixed, fortran-column-ruler-tab)
(fortran-analyze-depth, fortran-break-before-delimiters):
Give an appropriate safe-local-variable property.

lisp/progmodes/fortran.el

index fb847d25505c7c7af2a282dfe97bfb3c8c8163bf..fe3f39c7e1810242511cb51df65edae7ef51db52 100644 (file)
@@ -85,6 +85,7 @@ A value of nil specifies that continuation lines are marked
 with a character in column 6."
   :type  'boolean
   :group 'fortran-indent)
+(put 'fortran-tab-mode-default 'safe-local-variable 'booleanp)
 
 ;; TODO add more detail of what tab mode is to doc string.
 (defcustom fortran-tab-mode-string
@@ -99,28 +100,31 @@ with a character in column 6."
   "String to appear in mode line in TAB format buffers."
   :type  'string
   :group 'fortran-indent)
-
 (put 'fortran-tab-mode-string 'risky-local-variable t)
 
 (defcustom fortran-do-indent 3
   "Extra indentation applied to DO blocks."
   :type  'integer
   :group 'fortran-indent)
+(put 'fortran-do-indent 'safe-local-variable 'integerp)
 
 (defcustom fortran-if-indent 3
   "Extra indentation applied to IF, SELECT CASE and WHERE blocks."
   :type  'integer
   :group 'fortran-indent)
+(put 'fortran-if-indent 'safe-local-variable 'integerp)
 
 (defcustom fortran-structure-indent 3
   "Extra indentation applied to STRUCTURE, UNION, MAP and INTERFACE blocks."
   :type  'integer
   :group 'fortran-indent)
+(put 'fortran-structure-indent 'safe-local-variable 'integerp)
 
 (defcustom fortran-continuation-indent 5
   "Extra indentation applied to continuation lines."
   :type  'integer
   :group 'fortran-indent)
+(put 'fortran-continuation-indent 'safe-local-variable 'integerp)
 
 (defcustom fortran-comment-indent-style 'fixed
   "How to indent comments.
@@ -132,12 +136,15 @@ nil forces comment lines not to be touched;
   `fortran-comment-line-extra-indent'."
   :type  '(radio (const :tag "Untouched" nil) (const fixed) (const relative))
   :group 'fortran-indent)
+(put 'fortran-comment-indent 'safe-local-variable
+     (lambda (value) (memq value '(nil fixed relative))))
 
 (defcustom fortran-comment-line-extra-indent 0
   "Amount of extra indentation for text within full-line comments."
   :type  'integer
   :group 'fortran-indent
   :group 'fortran-comment)
+(put 'fortran-comment-line-extra-indent 'safe-local-variable 'integerp)
 
 (defcustom fortran-comment-line-start "C"
   "Delimiter inserted to start new full-line comment.
@@ -145,6 +152,7 @@ You might want to change this to \"*\", for instance."
   :version "21.1"
   :type    'string
   :group   'fortran-comment)
+(put 'fortran-comment-line-start 'safe-local-variable 'stringp)
 
 ;; This used to match preprocessor lines too, but that messes up
 ;; filling and doesn't seem to be necessary.
@@ -154,6 +162,7 @@ You might want to change this to \"*\", for instance."
   :version "21.1"
   :type    'regexp
   :group   'fortran-comment)
+;; FIXME is an arbitrary regexp safe?
 
 (defcustom fortran-directive-re
   "^[ \t]*#.*"
@@ -163,16 +172,19 @@ The matching line will be given zero indentation."
   :version "22.1"
   :type    'regexp
   :group   'fortran-indent)
+;; FIXME is an arbitrary regexp safe?
 
 (defcustom fortran-minimum-statement-indent-fixed 6
   "Minimum statement indentation for fixed format continuation style."
   :type  'integer
   :group 'fortran-indent)
+(put 'fortran-minimum-statement-indent-fixed 'safe-local-variable 'integerp)
 
 (defcustom fortran-minimum-statement-indent-tab (max tab-width 6)
   "Minimum statement indentation for TAB format continuation style."
   :type  'integer
   :group 'fortran-indent)
+(put 'fortran-minimum-statement-indent-tab 'safe-local-variable 'integerp)
 
 ;; Note that this is documented in the v18 manuals as being a string
 ;; of length one rather than a single character.
@@ -182,23 +194,30 @@ The matching line will be given zero indentation."
 Normally a space."
   :type  'string
   :group 'fortran-comment)
+(put 'fortran-comment-indent-char 'safe-local-variable
+     (lambda (value) (or (char-valid-p value)
+                         (and (stringp value)
+                              (= (length value) 1)))))
 
 (defcustom fortran-line-number-indent 1
   "Maximum indentation for Fortran line numbers.
 5 means right-justify them within their five-column field."
   :type  'integer
   :group 'fortran-indent)
+(put 'fortran-line-number-indent 'safe-local-variable 'integerp)
 
 (defcustom fortran-check-all-num-for-matching-do nil
   "Non-nil causes all numbered lines to be treated as possible DO loop ends."
   :type  'boolean
   :group 'fortran)
+(put 'fortran-check-all-num-for-matching-do 'safe-local-variable 'booleanp)
 
 (defcustom fortran-blink-matching-if nil
   "Non-nil causes \\[fortran-indent-line] on ENDIF to blink on matching IF.
 Also, from an ENDDO statement blink on matching DO [WHILE] statement."
   :type  'boolean
   :group 'fortran)
+(put 'fortran-blink-matching-if 'safe-local-variable 'booleanp)
 
 (defcustom fortran-continuation-string "$"
   "Single-character string used for Fortran continuation lines.
@@ -209,17 +228,22 @@ line, it will convert the line into a continuation line of the
 appropriate style. Normally $."
   :type  'string
   :group 'fortran)
+(put 'fortran-continuation-string 'safe-local-variable
+     (lambda (value) (and (stringp value)
+                          (= (length value) 1))))
 
 (defcustom fortran-comment-region "c$$$"
   "String inserted by \\[fortran-comment-region] at start of each \
 line in region."
   :type  'string
   :group 'fortran-comment)
+(put 'fortran-comment-region 'safe-local-variable 'stringp)
 
 (defcustom fortran-electric-line-number t
   "Non-nil causes line numbers to be moved to the correct column as typed."
   :type  'boolean
   :group 'fortran)
+(put 'fortran-electric-line-number 'safe-local-variable 'booleanp)
 
 ;; TODO use fortran-line-length, somehow.
 (defcustom fortran-column-ruler-fixed
@@ -232,6 +256,7 @@ This variable is used in fixed format mode.
 See the variable `fortran-column-ruler-tab' for TAB format mode."
   :type  'string
   :group 'fortran)
+(put 'fortran-column-ruler-fixed 'safe-local-variable 'stringp)
 
 ;; TODO use fortran-line-length, somehow.
 (defcustom fortran-column-ruler-tab
@@ -244,17 +269,20 @@ This variable is used in TAB format mode.
 See the variable `fortran-column-ruler-fixed' for fixed format mode."
   :type  'string
   :group 'fortran)
+(put 'fortran-column-ruler-tab 'safe-local-variable 'stringp)
 
 (defcustom fortran-analyze-depth 100
   "Number of lines to scan to identify fixed or TAB format style."
   :type  'integer
   :group 'fortran)
+(put 'fortran-analyze-depth 'safe-local-variable 'integerp)
 
 (defcustom fortran-break-before-delimiters t
   "Non-nil causes filling to break lines before delimiters.
 Delimiters are characters matching the regexp `fortran-break-delimiters-re'."
   :type  'boolean
   :group 'fortran)
+(put 'fortran-break-before-delimiters 'safe-local-variable 'booleanp)
 
 ;; TODO 0 as no-limit, as per g77.
 (defcustom fortran-line-length 72