Mercurial > emacs
changeset 111604:149090e9b891
* lisp/files.el (safe-local-variable-p): Gracefully handle errors.
* lisp/emacs-lisp/bytecomp.el (byte-compile-warnings): Simplify the
safety predicate.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 11 Nov 2010 17:19:01 -0500 |
parents | c901fac3b428 |
children | ca8b605ca70f |
files | lisp/ChangeLog lisp/emacs-lisp/bytecomp.el lisp/files.el |
diffstat | 3 files changed, 13 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Thu Nov 11 00:08:25 2010 -0500 +++ b/lisp/ChangeLog Thu Nov 11 17:19:01 2010 -0500 @@ -1,5 +1,10 @@ 2010-11-11 Stefan Monnier <monnier@iro.umontreal.ca> + * emacs-lisp/bytecomp.el (byte-compile-warnings): Simplify the + safety predicate. + + * files.el (safe-local-variable-p): Gracefully handle errors. + * emacs-lisp/smie.el (smie-rule-parent, smie-indent--rule): Use smie-indent-virtual when indenting relative to an opener. (smie-rule-separator): Use smie-rule-parent.
--- a/lisp/emacs-lisp/bytecomp.el Thu Nov 11 00:08:25 2010 -0500 +++ b/lisp/emacs-lisp/bytecomp.el Thu Nov 11 17:19:01 2010 -0500 @@ -294,21 +294,12 @@ (set :menu-tag "Some" ,@(mapcar (lambda (x) `(const ,x)) byte-compile-warning-types)))) -;;;###autoload(put 'byte-compile-warnings 'safe-local-variable 'byte-compile-warnings-safe-p) ;;;###autoload -(defun byte-compile-warnings-safe-p (x) - "Return non-nil if X is valid as a value of `byte-compile-warnings'." - (or (booleanp x) - (and (listp x) - (if (eq (car x) 'not) (setq x (cdr x)) - t) - (equal (mapcar - (lambda (e) - (when (memq e byte-compile-warning-types) - e)) - x) - x)))) +(put 'byte-compile-warnings 'safe-local-variable + (lambda (v) + (or (symbolp v) + (null (delq nil (mapcar (lambda (x) (not (symbolp x))) v)))))) (defun byte-compile-warning-enabled-p (warning) "Return non-nil if WARNING is enabled, according to `byte-compile-warnings'."
--- a/lisp/files.el Thu Nov 11 00:08:25 2010 -0500 +++ b/lisp/files.el Thu Nov 11 17:19:01 2010 -0500 @@ -3134,7 +3134,10 @@ evaluates to a non-nil value with VAL as an argument." (or (member (cons sym val) safe-local-variable-values) (let ((safep (get sym 'safe-local-variable))) - (and (functionp safep) (funcall safep val))))) + (and (functionp safep) + ;; If the function signals an error, that means it + ;; can't assure us that the value is safe. + (with-demoted-errors (funcall safep val)))))) (defun risky-local-variable-p (sym &optional ignored) "Non-nil if SYM could be dangerous as a file-local variable.