From: Reiner Steib Date: Thu, 6 Apr 2006 19:20:38 +0000 (+0000) Subject: * subr.el (string-or-null-p): New function. X-Git-Tag: emacs-pretest-22.0.90~3298 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/3e45722587c5b1e9ccd306d073a1141e44a98263?hp=077b72a485911714fc9b30fd7f76e8ffc6b3842e * subr.el (string-or-null-p): New function. * textmodes/paragraphs.el (sentence-end): Use string-or-null-p. * textmodes/ispell.el (ispell-local-dictionary): Use string-or-null-p. * files.el: Update comment about safe-local-variable declarations. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a0d8e64a1f..f914e5dbc4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,14 @@ +2006-04-06 Reiner Steib + + * subr.el (string-or-null-p): New function. + + * textmodes/paragraphs.el (sentence-end): Use string-or-null-p. + + * textmodes/ispell.el (ispell-local-dictionary): Use + string-or-null-p. + + * files.el: Update comment about safe-local-variable declarations. + 2006-04-06 J.D. Smith * progmodes/idlwave.el: Updated to IDLWAVE version 6.0. See diff --git a/lisp/files.el b/lisp/files.el index 7ab7d593e4..2ca497e09b 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2322,13 +2322,22 @@ asking you for confirmation." ;; Safe local variables: ;; -;; For variables defined by minor modes, put the safety declarations -;; here, not in the file defining the minor mode (when Emacs visits a -;; file specifying that local variable, the minor mode file may not be -;; loaded yet). For variables defined by major modes, the safety -;; declarations can go into the major mode's file, since that will be -;; loaded before file variables are processed. +;; For variables defined by major modes, the safety declarations can go into +;; the major mode's file, since that will be loaded before file variables are +;; processed. +;; +;; For variables defined by minor modes, put the safety declarations in the +;; file defining the minor mode after the defcustom/defvar using an autoload +;; cookie, e.g.: +;; +;; ;;;###autoload(put 'variable 'safe-local-variable 'stringp) +;; +;; Otherwise, when Emacs visits a file specifying that local variable, the +;; minor mode file may not be loaded yet. +;; +;; For variables defined in the C source code the declaration should go here: +;; FIXME: Some variables should be moved according to the rules above. (let ((string-or-null (lambda (a) (or (stringp a) (null a))))) (eval `(mapc (lambda (pair) @@ -2340,15 +2349,15 @@ asking you for confirmation." (c-file-style . stringp) (c-indent-level . integerp) (comment-column . integerp) - (compile-command . ,string-or-null) + (compile-command . string-or-null-p) (fill-column . integerp) - (fill-prefix . ,string-or-null) + (fill-prefix . string-or-null-p) (indent-tabs-mode . t) (kept-new-versions . integerp) (left-margin . t) (no-byte-compile . t) (no-update-autoloads . t) - (outline-regexp . ,string-or-null) + (outline-regexp . string-or-null-p) (tab-width . integerp) ;; C source code (truncate-lines . t) ;; C source code (version-control . t))))) diff --git a/lisp/subr.el b/lisp/subr.el index f515b6b375..9aba619581 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1916,6 +1916,12 @@ a system-dependent default device name is used." "\\" (substring argument end (1+ end))) start (1+ end))) (concat result (substring argument start))))))) + +(defun string-or-null-p (object) + "Return t if OBJECT is a string or nil. +Otherwise, return nil." + (or (stringp object) (null object))) + ;;;; Support for yanking and text properties. diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index 8a08f9dd07..da77508dce 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -462,7 +462,7 @@ is automatically set when defined in the file with either :type '(choice string (const :tag "default" nil)) :group 'ispell) -;;;###autoload(put 'ispell-local-dictionary 'safe-local-variable (lambda (a) (or (stringp a) (null a)))) +;;;###autoload(put 'ispell-local-dictionary 'safe-local-variable 'string-or-null-p) (make-variable-buffer-local 'ispell-local-dictionary) diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el index c62f337e45..6693be4e0c 100644 --- a/lisp/textmodes/paragraphs.el +++ b/lisp/textmodes/paragraphs.el @@ -163,7 +163,7 @@ function `sentence-end'. You should always use this function to obtain the value of this variable." :group 'paragraphs :type '(choice regexp (const :tag "Use default value" nil))) -;;;###autoload(put 'sentence-end 'safe-local-variable (lambda (a) (or (stringp a) (null a)))) +;;;###autoload(put 'sentence-end 'safe-local-variable 'string-or-null-p) (defcustom sentence-end-base "[.?!][]\"'$B!I$,1r}(B)}]*" "*Regexp matching the basic end of a sentence, not including following space."