diff options
author | Alex Kost <alezost@gmail.com> | 2015-11-21 12:07:17 +0300 |
---|---|---|
committer | Alex Kost <alezost@gmail.com> | 2016-01-02 17:25:35 +0300 |
commit | c8e2666a8a6f0c96f389f8775f1d8dbad38153c1 (patch) | |
tree | d47f8a5857ad6f34554356fe0c41f176c556cbfb /emacs/guix-base.el | |
parent | 574f6727b061e2b58b23cb9b75a75d03822f5d08 (diff) | |
download | gnu-guix-c8e2666a8a6f0c96f389f8775f1d8dbad38153c1.tar gnu-guix-c8e2666a8a6f0c96f389f8775f1d8dbad38153c1.tar.gz |
emacs: Add wrappers for 'history-size' and 'revert-confirm'.
* emacs/guix-base.el (guix-buffer-history-size): New procedure.
(guix-buffer-define-interface): Use it in the mode definition.
(guix-buffer-revert-confirm?): New procedure.
(guix-revert-buffer): Use it.
Diffstat (limited to 'emacs/guix-base.el')
-rw-r--r-- | emacs/guix-base.el | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/emacs/guix-base.el b/emacs/guix-base.el index f75624c6c9..3aaa2665c0 100644 --- a/emacs/guix-base.el +++ b/emacs/guix-base.el @@ -275,6 +275,14 @@ This alist is filled by `guix-buffer-define-interface' macro.") param)) (guix-symbol-title param))) +(defun guix-buffer-history-size (buffer-type entry-type) + "Return history size for BUFFER-TYPE/ENTRY-TYPE." + (guix-buffer-value buffer-type entry-type 'history-size)) + +(defun guix-buffer-revert-confirm? (buffer-type entry-type) + "Return 'revert-confirm' value for BUFFER-TYPE/ENTRY-TYPE." + (guix-buffer-value buffer-type entry-type 'revert-confirm)) + (defvar guix-root-map (let ((map (make-sparse-keymap))) (define-key map (kbd "l") 'guix-history-back) @@ -431,13 +439,20 @@ If non-nil, ask to confirm for reverting `%S' buffer." :type 'boolean :group ',group) + (guix-alist-put! + '((history-size . ,history-size-var) + (revert-confirm . ,revert-confirm-var)) + 'guix-buffer-data ',buffer-type ',entry-type) + (define-derived-mode ,mode ,parent-mode ,(concat "Guix-" Buffer-type-str) ,(concat "Major mode for displaying information about " entry-str ".\n\n" "\\{" mode-map-str "}") (setq-local revert-buffer-function 'guix-revert-buffer) - (setq-local guix-history-size ,history-size-var) + (setq-local guix-history-size + (guix-buffer-history-size + ',buffer-type ',entry-type)) (and (fboundp ',mode-init-fun) (,mode-init-fun))))) (guix-alist-put! @@ -574,9 +589,8 @@ If NO-DISPLAY is non-nil, do not switch to the buffer." The function is suitable for `revert-buffer-function'. See `revert-buffer' for the meaning of NOCONFIRM." (when (or noconfirm - (symbol-value - (guix-get-symbol "revert-no-confirm" - guix-buffer-type guix-entry-type)) + (guix-buffer-revert-confirm? guix-buffer-type + guix-entry-type) (y-or-n-p "Update current information? ")) (let* ((search-type guix-search-type) (search-vals guix-search-vals) |