changeset 111050:b23826c3d7a1

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.
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 19 Oct 2010 15:22:40 -0400
parents bd12e9f7bf79
children 111edd4c8e15
files lisp/ChangeLog lisp/cus-face.el lisp/custom.el
diffstat 3 files changed, 17 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Tue Oct 19 15:20:33 2010 -0400
+++ b/lisp/ChangeLog	Tue Oct 19 15:22:40 2010 -0400
@@ -1,3 +1,13 @@
+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.
--- a/lisp/cus-face.el	Tue Oct 19 15:20:33 2010 -0400
+++ b/lisp/cus-face.el	Tue Oct 19 15:22:40 2010 -0400
@@ -349,8 +349,6 @@
 	      (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.
--- a/lisp/custom.el	Tue Oct 19 15:20:33 2010 -0400
+++ b/lisp/custom.el	Tue Oct 19 15:22:40 2010 -0400
@@ -993,8 +993,6 @@
 	  (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 @@
     (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 @@
     ;; 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 @@
   :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