diff options
author | Case Duckworth | 2022-04-01 18:56:05 -0500 |
---|---|---|
committer | Case Duckworth | 2022-04-01 18:56:05 -0500 |
commit | a44a825f2c934615fb8761f305509190729ac861 (patch) | |
tree | 67470571516ecda571d86070dc97d23a3dfed115 /lisp/user-save.el | |
parent | Only load notmuch tab-bar if notmuch is in $PATH (diff) | |
parent | Merge branch 'main' of tildegit.org:acdw/emacs (diff) | |
download | emacs-a44a825f2c934615fb8761f305509190729ac861.tar.gz emacs-a44a825f2c934615fb8761f305509190729ac861.zip |
Merge branch 'main' of tildegit.org:acdw/emacs
Diffstat (limited to 'lisp/user-save.el')
-rw-r--r-- | lisp/user-save.el | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lisp/user-save.el b/lisp/user-save.el index 8e01af1..33b6f4c 100644 --- a/lisp/user-save.el +++ b/lisp/user-save.el | |||
@@ -8,6 +8,8 @@ | |||
8 | 8 | ||
9 | ;;; Code: | 9 | ;;; Code: |
10 | 10 | ||
11 | (require 'cl-lib) | ||
12 | |||
11 | (defgroup user-save nil | 13 | (defgroup user-save nil |
12 | "Group for `user-save-mode' customizations." | 14 | "Group for `user-save-mode' customizations." |
13 | :group 'emacs | 15 | :group 'emacs |
@@ -19,11 +21,16 @@ This option is only useful is `user-save-mode' is active when | |||
19 | Emacs is killed." | 21 | Emacs is killed." |
20 | :type 'boolean) | 22 | :type 'boolean) |
21 | 23 | ||
24 | (defcustom user-save-inhibit '(special-mode) | ||
25 | "List of modes to inhibit `user-save-mode' from activation in." | ||
26 | :type '(repeat symbol)) | ||
27 | |||
22 | (defvar user-save-hook nil | 28 | (defvar user-save-hook nil |
23 | "Hook to run when the user, not Emacs, saves the buffer.") | 29 | "Hook to run when the user, not Emacs, saves the buffer.") |
24 | 30 | ||
25 | (defvar user-save-mode-map (let ((map (make-sparse-keymap))) | 31 | (defvar user-save-mode-map (let ((map (make-sparse-keymap))) |
26 | (define-key map (kbd "C-x C-s") #'user-save-buffer) | 32 | (define-key map (kbd "C-x C-s") #'user-save-buffer) |
33 | (define-key map (kbd "C-x s") #'user-save-some-buffers) | ||
27 | map) | 34 | map) |
28 | "Keymap for `user-save-mode'. | 35 | "Keymap for `user-save-mode'. |
29 | This map shadows the default map for `save-buffer'.") | 36 | This map shadows the default map for `save-buffer'.") |
@@ -81,7 +88,16 @@ whether the buffer needs to be saved." | |||
81 | (user-save-mode -1)) | 88 | (user-save-mode -1)) |
82 | 89 | ||
83 | ;;;###autoload | 90 | ;;;###autoload |
84 | (define-globalized-minor-mode user-save-global-mode user-save-mode user-save-mode | 91 | (defun user-save-mode-in-some-buffers () |
92 | "Enable `user-save-mode', but only in some buffers. | ||
93 | The mode will not be enabled in buffers derived from modes in | ||
94 | `user-save-inhibit', or in the minibuffer." | ||
95 | (unless (or (cl-some #'derived-mode-p user-save-inhibit) | ||
96 | (minibufferp)) | ||
97 | (user-save-mode +1))) | ||
98 | |||
99 | ;;;###autoload | ||
100 | (define-globalized-minor-mode user-save-global-mode user-save-mode user-save-mode-in-some-buffers | ||
85 | (if user-save-global-mode | 101 | (if user-save-global-mode |
86 | (when user-save-hook-into-kill-emacs | 102 | (when user-save-hook-into-kill-emacs |
87 | (add-hook 'kill-emacs-hook #'user-save-some-buffers)) | 103 | (add-hook 'kill-emacs-hook #'user-save-some-buffers)) |