guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20/35: emacs: Add wrappers for 'history-size' and 'revert-confirm'.


From: Alex Kost
Subject: 20/35: emacs: Add wrappers for 'history-size' and 'revert-confirm'.
Date: Fri, 11 Dec 2015 11:42:37 +0000

alezost pushed a commit to branch wip-refactor-emacs-ui
in repository guix.

commit 8100e6ad7a3cc04bc3cc19569d45f0124e6e7b30
Author: Alex Kost <address@hidden>
Date:   Sat Nov 21 12:07:17 2015 +0300

    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.
---
 emacs/guix-base.el |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/emacs/guix-base.el b/emacs/guix-base.el
index b3e181b..3aaa266 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,17 +439,25 @@ 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! ',titles-var 'guix-buffer
-                          ',buffer-type ',entry-type 'titles)))))
+         (guix-alist-put!
+          ',titles-var 'guix-buffer-data
+          ',buffer-type ',entry-type 'titles)))))
 
 
 ;;; Getting and displaying info about packages and generations
@@ -573,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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]