From 963c2e09c084d528cd0432eb7c039c374816df3c Mon Sep 17 00:00:00 2001 From: Per Abrahamsen Date: Mon, 10 Mar 2003 14:06:57 +0000 Subject: [PATCH] 2003-03-10 Per Abrahamsen * cus-edit.el (customize-rogue): New command. --- lisp/ChangeLog | 4 ++++ lisp/cus-edit.el | 21 ++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) 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 + + * cus-edit.el (customize-rogue): New command. + 2003-03-10 Andreas Schwab * 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 ;; 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) -- 2.39.2