changeset 50077:21135e13f9cd

2003-03-10 Per Abrahamsen <abraham@dina.kvl.dk> * cus-edit.el (customize-rogue): New command.
author Per Abrahamsen <abraham@dina.kvl.dk>
date Mon, 10 Mar 2003 14:06:57 +0000
parents a3f6f7daf7e3
children 1b6393475a9b
files lisp/ChangeLog lisp/cus-edit.el
diffstat 2 files changed, 24 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Mar 10 13:30:22 2003 +0000
+++ b/lisp/ChangeLog	Mon Mar 10 14:06:57 2003 +0000
@@ -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)
--- a/lisp/cus-edit.el	Mon Mar 10 13:30:22 2003 +0000
+++ b/lisp/cus-edit.el	Mon Mar 10 14:06:57 2003 +0000
@@ -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 @@
 			    "*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)