mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-27 07:37:33 +00:00
(customize-changed-options): New function.
(customize-version-lessp): New function.
This commit is contained in:
parent
a32d7856d3
commit
f50dc5d269
@ -855,6 +855,39 @@ are shown; the contents of those subgroups are initially hidden."
|
||||
(format "*Customize Option: %s*"
|
||||
(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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user