+2010-10-19 Chong Yidong <cyd@stupidchicken.com>
+
+ * 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 <julien@danjou.info>
* bindings.el: Remove end dashes in default mode-line-format.
(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.
(and (or now (default-boundp symbol))
(put symbol 'variable-comment comment)))))))
-(put 'custom-theme-set-variables 'safe-function t)
-
\f
;;; Defining themes.
(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
;; 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
: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