Mercurial > emacs
changeset 20444:a9fbb6791eb7
(customize-changed-options): New function.
(customize-version-lessp): New function.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 09 Dec 1997 21:41:33 +0000 |
parents | 76ea51acad22 |
children | 20ff88ac8cc2 |
files | lisp/cus-edit.el |
diffstat | 1 files changed, 33 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/cus-edit.el Tue Dec 09 21:34:50 1997 +0000 +++ b/lisp/cus-edit.el Tue Dec 09 21:41:33 1997 +0000 @@ -856,6 +856,39 @@ (custom-unlispify-tag-name symbol)))) ;;;###autoload +(defun customize-changed-options (since-version) + "Customize all user option variables whose default values changed recently. +This means, in other words, variables defined with a `:new' option." + (interactive "sCustomize options changed, since version (default all versions): ") + (if (equal since-version "") + (setq since-version nil)) + (let ((found nil)) + (mapatoms (lambda (symbol) + (and (boundp symbol) + (let ((version (get symbol 'custom-version))) + (and version + (or (null since-version) + (customize-version-lessp since-version version)))) + (setq found + (cons (list symbol 'custom-variable) found))))) + (if (not found) + (error "No user options have changed defaults in recent Emacs versions") + (custom-buffer-create (custom-sort-items found t nil) + "*Customize Changed Options*")))) + +(defun customize-version-lessp (version1 version2) + (let (major1 major2 minor1 minor2) + (string-match "\\([0-9]+\\)[.]\\([0-9]+\\)" version1) + (setq major1 (read (match-string 1 version1))) + (setq minor1 (read (match-string 2 version1))) + (string-match "\\([0-9]+\\)[.]\\([0-9]+\\)" version2) + (setq major2 (read (match-string 1 version2))) + (setq minor2 (read (match-string 2 version2))) + (or (< major1 major2) + (and (= major1 major2) + (< minor1 minor2))))) + +;;;###autoload (defalias 'customize-variable-other-window 'customize-option-other-window) ;;;###autoload