aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorCameron Desautels2014-12-14 06:49:06 -0500
committerTed Zlatanov2014-12-14 06:51:17 -0500
commit4c4f970c8d10b346acc6d231f3755c1d1f5827fb (patch)
tree201898796452a831786f584abfe67dd54ed42365 /lisp
parentf7572b72fd448c8ab6002bc6a545dfb765bbc520 (diff)
downloademacs-4c4f970c8d10b346acc6d231f3755c1d1f5827fb.tar.gz
emacs-4c4f970c8d10b346acc6d231f3755c1d1f5827fb.zip
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)
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/cus-edit.el29
2 files changed, 29 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 75e84765320..f97a887b821 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12014-12-14 Cameron Desautels <camdez@gmail.com>
2
3 * cus-edit.el (custom-prompt-customize-unsaved-options): Add a
4 mechanism for prompting user about unsaved customizations.
5 (Bug#19328)
6
12014-12-14 Dmitry Gutov <dgutov@yandex.ru> 72014-12-14 Dmitry Gutov <dgutov@yandex.ru>
2 8
3 * fringe.el (fringe-bitmap-p): Fix 2014-12-05 breakage. 9 * fringe.el (fringe-bitmap-p): Fix 2014-12-05 breakage.
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index c8e9b90437d..a6da50e13ae 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -1356,12 +1356,10 @@ suggest to customize that face, if it's customizable."
1356 (or (face-at-point t t) "all faces") t))) 1356 (or (face-at-point t t) "all faces") t)))
1357 (customize-face face t)) 1357 (customize-face face t))
1358 1358
1359(defalias 'customize-customized 'customize-unsaved) 1359(defun custom-unsaved-options ()
1360 1360 "List of options and faces set in this session but not saved.
1361;;;###autoload 1361Each entry is of the form (SYMBOL TYPE), where TYPE is one of the
1362(defun customize-unsaved () 1362symbols `custom-face' or `custom-variable'."
1363 "Customize all options and faces set in this session but not saved."
1364 (interactive)
1365 (let ((found nil)) 1363 (let ((found nil))
1366 (mapatoms (lambda (symbol) 1364 (mapatoms (lambda (symbol)
1367 (and (or (get symbol 'customized-face) 1365 (and (or (get symbol 'customized-face)
@@ -1372,6 +1370,15 @@ suggest to customize that face, if it's customizable."
1372 (get symbol 'customized-variable-comment)) 1370 (get symbol 'customized-variable-comment))
1373 (boundp symbol) 1371 (boundp symbol)
1374 (push (list symbol 'custom-variable) found)))) 1372 (push (list symbol 'custom-variable) found))))
1373 found))
1374
1375(defalias 'customize-customized 'customize-unsaved)
1376
1377;;;###autoload
1378(defun customize-unsaved ()
1379 "Customize all options and faces set in this session but not saved."
1380 (interactive)
1381 (let ((found (custom-unsaved-options)))
1375 (if (not found) 1382 (if (not found)
1376 (error "No user options are set but unsaved") 1383 (error "No user options are set but unsaved")
1377 (custom-buffer-create (custom-sort-items found t nil) 1384 (custom-buffer-create (custom-sort-items found t nil)
@@ -1477,6 +1484,16 @@ If TYPE is `groups', include only groups."
1477 (interactive (list (apropos-read-pattern "groups"))) 1484 (interactive (list (apropos-read-pattern "groups")))
1478 (customize-apropos regexp 'groups)) 1485 (customize-apropos regexp 'groups))
1479 1486
1487;;;###autoload
1488(defun custom-prompt-customize-unsaved-options ()
1489 "Prompt user to customize any unsaved customization options.
1490Return non-nil if user chooses to customize, for use in
1491`kill-emacs-query-functions'."
1492 (not (and (custom-unsaved-options)
1493 (yes-or-no-p "Some customized options have not been saved; Examine? ")
1494 (customize-unsaved)
1495 t)))
1496
1480;;; Buffer. 1497;;; Buffer.
1481 1498
1482(defcustom custom-buffer-style 'links 1499(defcustom custom-buffer-style 'links