;; (as opposed to the *-font-lock-keywords-* variables) since the old
;; values work fairly well anyway.
+(defun c-list-of-strings (obj)
+ "Return non-nil when OBJ is a list of strings (including the empty list)."
+ (and
+ (listp obj)
+ (catch 'check
+ (dolist (elt obj)
+ (when (not (stringp elt))
+ (throw 'check nil)))
+ t)))
+
(defcustom c-font-lock-extra-types
'("\\sw+_t"
;; Defined in C99:
"For example, a value of (\"FILE\" \"\\\\sw+_t\") means the word \"FILE\"
and words ending in \"_t\" are treated as type names.")
:type 'c-extra-types-widget
+ :safe #'c-list-of-strings
:group 'c)
+;;;###autoload (put 'c-font-lock-extra-types 'safe-local-variable #'c-list-of-strings)
+
(defcustom c++-font-lock-extra-types
'("\\sw+_t"
;; C library types (except those matched by the _t pattern):
"For example, a value of (\"string\") means the word \"string\" is treated
as a type name.")
:type 'c-extra-types-widget
+ :safe #'c-list-of-strings
:group 'c)
+;;;###autoload (put 'c++-font-lock-extra-types 'safe-local-variable #'c-list-of-strings)
+
(defcustom objc-font-lock-extra-types nil
(c-make-font-lock-extra-types-blurb "ObjC" "objc-mode" (concat
"For example, a value of (\"[" c-upper "]\\\\sw*[" c-lower "]\\\\sw*\") means
lower case char is to avoid recognizing all-caps macro and constant
names)."))
:type 'c-extra-types-widget
+ :safe #'c-list-of-strings
:group 'c)
+;;;###autoload (put 'objc-font-lock-extra-types 'safe-local-variable #'c-list-of-strings)
+
(defcustom java-font-lock-extra-types
(list (concat "[" c-upper "]\\sw*[" c-lower "]\\sw"))
(c-make-font-lock-extra-types-blurb "Java" "java-mode" (concat
capitalized words are treated as type names (the requirement for a
lower case char is to avoid recognizing all-caps constant names)."))
:type 'c-extra-types-widget
+ :safe #'c-list-of-strings
:group 'c)
+;;;###autoload (put 'java-font-lock-extra-types 'safe-local-variable #'c-list-of-strings)
+
(defcustom idl-font-lock-extra-types nil
(c-make-font-lock-extra-types-blurb "IDL" "idl-mode" "")
:type 'c-extra-types-widget
+ :safe #'c-list-of-strings
:group 'c)
+;;;###autoload (put 'idl-font-lock-extra-types 'safe-local-variable #'c-list-of-strings)
+
(defcustom pike-font-lock-extra-types
(list (concat "[" c-upper "]\\sw*[" c-lower "]\\sw*"))
(c-make-font-lock-extra-types-blurb "Pike" "pike-mode" (concat
lower case char is to avoid recognizing all-caps macro and constant
names)."))
:type 'c-extra-types-widget
+ :safe #'c-list-of-strings
:group 'c)
+;;;###autoload (put 'pike-font-lock-extra-types 'safe-local-variable #'c-list-of-strings)
+
(defcustom c-asymmetry-fontification-flag t
"Whether to fontify certain ambiguous constructs by white space asymmetry.