From 7fd8732d2e6f45077fe496bc36838b1b86a3171d Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 19 Oct 2010 15:22:40 -0400 Subject: [PATCH] Revert 2010-10-18 change; use safe-functions instead. * cus-face.el (custom-theme-set-faces): Revert 2010-10-18 change. Don't mark as safe. * custom.el (custom-theme-set-variables): Likewise. (load-theme): Add custom-theme-set-faces and custom-theme-set-variables to safe-functions while loading. (custom-enabled-themes): Mark as risky. --- lisp/ChangeLog | 10 ++++++++++ lisp/cus-face.el | 2 -- lisp/custom.el | 9 +++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index aae1e0e81c0..14691b44373 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,13 @@ +2010-10-19 Chong Yidong + + * cus-face.el (custom-theme-set-faces): Revert 2010-10-18 change. + Don't mark as safe. + + * custom.el (custom-theme-set-variables): Likewise. + (load-theme): Add custom-theme-set-faces and + custom-theme-set-variables to safe-functions while loading. + (custom-enabled-themes): Mark as risky. + 2010-10-18 Julien Danjou * bindings.el: Remove end dashes in default mode-line-format. diff --git a/lisp/cus-face.el b/lisp/cus-face.el index fd6db787d32..ebb20012afa 100644 --- a/lisp/cus-face.el +++ b/lisp/cus-face.el @@ -349,8 +349,6 @@ FACE's list property `theme-face' \(using `custom-push-theme')." (put face 'face-override-spec nil) (face-spec-set face spec t)))))))) -(put 'custom-theme-set-faces 'safe-function t) - ;; XEmacs compability function. In XEmacs, when you reset a Custom ;; Theme, you have to specify the theme to reset it to. We just apply ;; the next theme. diff --git a/lisp/custom.el b/lisp/custom.el index 8a7739d1be4..bcb78e46a3c 100644 --- a/lisp/custom.el +++ b/lisp/custom.el @@ -993,8 +993,6 @@ in SYMBOL's list property `theme-value' \(using `custom-push-theme')." (and (or now (default-boundp symbol)) (put symbol 'variable-comment comment))))))) -(put 'custom-theme-set-variables 'safe-function t) - ;;; Defining themes. @@ -1107,6 +1105,8 @@ property `theme-feature' (which is usually a symbol created by (let ((custom-enabling-themes t)) (enable-theme 'user)))) +(defvar safe-functions) ; From unsafep.el + (defun load-theme (theme &optional no-enable) "Load a theme's settings from its file. Normally, this also enables the theme; use `disable-theme' to @@ -1135,7 +1135,11 @@ the theme." ;; Instead of simply loading the theme file, read it manually. (with-temp-buffer (insert-file-contents fn) + (require 'unsafep) (let ((custom--inhibit-theme-enable no-enable) + (safe-functions (append '(custom-theme-set-variables + custom-theme-set-faces) + safe-functions)) form scar) (while (setq form (let ((read-circle nil)) (condition-case nil @@ -1234,6 +1238,7 @@ and always takes precedence over other Custom Themes." :group 'customize :type '(repeat symbol) :set-after '(custom-theme-directory custom-theme-load-path) + :risky t :set (lambda (symbol themes) ;; Avoid an infinite loop when custom-enabled-themes is ;; defined in a theme (e.g. `user'). Enabling the theme sets -- 2.39.5