Commit 4c4f970c authored by Cameron Desautels's avatar Cameron Desautels Committed by Ted Zlatanov

Provide custom-prompt-customize-unsaved-options.

* doc/emacs/custom.texi (Saving Customizations): Mention
`custom-prompt-customize-unsaved-options'.

* etc/NEWS: Mention `custom-prompt-customize-unsaved-options'.

* etc/TODO: Remove its entry.

* lisp/cus-edit.el (custom-prompt-customize-unsaved-options): Add a
mechanism for prompting user about unsaved customizations.
(Bug#19328)
parent f7572b72
2014-12-14 Cameron Desautels <camdez@gmail.com>
* custom.texi (Saving Customizations): Mention
`custom-prompt-customize-unsaved-options'.
2014-12-08 Lars Magne Ingebrigtsen <larsi@gnus.org>
* misc.texi (Network Security): Mention the new protocol-level
......
......@@ -405,6 +405,16 @@ customizations in your initialization file. This is because saving
customizations from such a session would wipe out all the other
customizations you might have on your initialization file.
Please note that any customizations you have not chosen to save for
future sessions will be lost when you terminate Emacs. If you'd like
to be prompted about unsaved customizations at termination time, add
the following to your initialization file:
@example
(add-hook 'kill-emacs-query-functions
'custom-prompt-customize-unsaved-options)
@end example
@node Face Customization
@subsection Customizing Faces
@cindex customizing faces
......
2014-12-14 Cameron Desautels <camdez@gmail.com>
* NEWS: Mention `custom-prompt-customize-unsaved-options'.
* TODO: Remove its entry.
2014-12-13 Paul Eggert <eggert@cs.ucla.edu>
Convert Czech and Slovakian refcards to UTF-8
......
......@@ -54,6 +54,9 @@ so if you want to use it, you can always take a copy from an older Emacs.
* Changes in Emacs 25.1
** New function `custom-prompt-customize-unsaved-options' checks for
unsaved customizations and prompts user to customize (if found).
+++
** Network security (TLS/SSL certificate validity and the like) is
added via the new Network Security Manager (NSM) and controlled via
......
......@@ -419,12 +419,6 @@ rather than interactively. This a trivial one-liner in easy-mode.el.
** Make byte-optimization warnings issue accurate line numbers.
** A function to check for customizable options that have been
set but not saved, and ask the user whether to save them.
This could go in kill-emacs-query-functions, to remind people
to save their changes. If the user says yes, show them
in a Custom buffer using customize-customized.
** Record the sxhash of the default value for customized variables
and notify the user (maybe by adding a menu item or toolbar button,
as the detection can occur during autoload time) when the default
......
2014-12-14 Cameron Desautels <camdez@gmail.com>
* cus-edit.el (custom-prompt-customize-unsaved-options): Add a
mechanism for prompting user about unsaved customizations.
(Bug#19328)
2014-12-14 Dmitry Gutov <dgutov@yandex.ru>
* fringe.el (fringe-bitmap-p): Fix 2014-12-05 breakage.
......
......@@ -1356,12 +1356,10 @@ suggest to customize that face, if it's customizable."
(or (face-at-point t t) "all faces") t)))
(customize-face face t))
(defalias 'customize-customized 'customize-unsaved)
;;;###autoload
(defun customize-unsaved ()
"Customize all options and faces set in this session but not saved."
(interactive)
(defun custom-unsaved-options ()
"List of options and faces set in this session but not saved.
Each entry is of the form (SYMBOL TYPE), where TYPE is one of the
symbols `custom-face' or `custom-variable'."
(let ((found nil))
(mapatoms (lambda (symbol)
(and (or (get symbol 'customized-face)
......@@ -1372,6 +1370,15 @@ suggest to customize that face, if it's customizable."
(get symbol 'customized-variable-comment))
(boundp symbol)
(push (list symbol 'custom-variable) found))))
found))
(defalias 'customize-customized 'customize-unsaved)
;;;###autoload
(defun customize-unsaved ()
"Customize all options and faces set in this session but not saved."
(interactive)
(let ((found (custom-unsaved-options)))
(if (not found)
(error "No user options are set but unsaved")
(custom-buffer-create (custom-sort-items found t nil)
......@@ -1477,6 +1484,16 @@ If TYPE is `groups', include only groups."
(interactive (list (apropos-read-pattern "groups")))
(customize-apropos regexp 'groups))
;;;###autoload
(defun custom-prompt-customize-unsaved-options ()
"Prompt user to customize any unsaved customization options.
Return non-nil if user chooses to customize, for use in
`kill-emacs-query-functions'."
(not (and (custom-unsaved-options)
(yes-or-no-p "Some customized options have not been saved; Examine? ")
(customize-unsaved)
t)))
;;; Buffer.
(defcustom custom-buffer-style 'links
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment