summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPer Abrahamsen <abraham@dina.kvl.dk>2003-03-10 14:06:57 +0000
committerPer Abrahamsen <abraham@dina.kvl.dk>2003-03-10 14:06:57 +0000
commit963c2e09c084d528cd0432eb7c039c374816df3c (patch)
tree6aef687eceb4be231e243f17ecea7f8e15b1f324
parent089bc712c0d71f238435f95b44b3ad391e9c92f9 (diff)
downloademacs-963c2e09c084d528cd0432eb7c039c374816df3c.tar.gz
2003-03-10 Per Abrahamsen <abraham@dina.kvl.dk>
* cus-edit.el (customize-rogue): New command.
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/cus-edit.el21
2 files changed, 24 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e986c6604b6..1eb657773cd 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2003-03-10 Per Abrahamsen <abraham@dina.kvl.dk>
+
+ * cus-edit.el (customize-rogue): New command.
+
2003-03-10 Andreas Schwab <schwab@suse.de>
* info.el (Info-extract-menu-node-name)
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index c85b2a67ac9..18059fcd85b 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -1,6 +1,6 @@
;;; cus-edit.el --- tools for customizing Emacs and Lisp packages
;;
-;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Maintainer: FSF
@@ -1086,6 +1086,25 @@ suggest to customized that face, if it's customizable."
"*Customize Customized*"))))
;;;###autoload
+(defun customize-rogue ()
+ "Customize all user variable modified outside customize."
+ (interactive)
+ (let ((found nil))
+ (mapatoms (lambda (symbol)
+ (let ((cval (or (get symbol 'customized-value)
+ (get symbol 'saved-value)
+ (get symbol 'standard-value))))
+ (when (and cval ;Declared with defcustom.
+ (default-boundp symbol) ;Has a value.
+ (not (equal (eval (car cval))
+ ;; Which does not match customize.
+ (default-value symbol))))
+ (push (list symbol 'custom-variable) found)))))
+ (if (not found)
+ (error "No rogue user options")
+ (custom-buffer-create (custom-sort-items found t nil)
+ "*Customize Rogue*"))))
+;;;###autoload
(defun customize-saved ()
"Customize all already saved user options."
(interactive)