summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Kost <alezost@gmail.com>2016-04-15 21:43:13 +0300
committerAlex Kost <alezost@gmail.com>2016-04-18 10:09:02 +0300
commit8934c3b60f2d8438dca0e513b286e11cd2adb096 (patch)
tree3ad9d7de2a57c0937e444d453478e1d3f04af798
parent27986d7b192f23eb4185d5ff0135d0a0470cd86a (diff)
downloadguix-8934c3b60f2d8438dca0e513b286e11cd2adb096.tar.gz
emacs: Display message if license not found.
* emacs/guix-ui-license.el (guix-license-message): New procedure.
(guix-license-info-message-function): Use it.
(guix-license-list-message-function): Likewise.
-rw-r--r--emacs/guix-ui-license.el11
1 files changed, 11 insertions, 0 deletions
diff --git a/emacs/guix-ui-license.el b/emacs/guix-ui-license.el
index c5e642f606..ab1d25bfd2 100644
--- a/emacs/guix-ui-license.el
+++ b/emacs/guix-ui-license.el
@@ -44,12 +44,22 @@ SEARCH-TYPE may be one of the following symbols: `all', `id', `name'."
   (apply #'guix-list-get-display-entries
          'license search-type args))
 
+(defun guix-license-message (entries search-type &rest args)
+  "Display a message after showing license ENTRIES."
+  ;; Some objects in (guix licenses) module are procedures (e.g.,
+  ;; 'non-copyleft' or 'x11-style').  Such licenses cannot be "described".
+  (when (null entries)
+    (if (cdr args)
+        (message "Unknown licenses.")
+      (message "Unknown license."))))
+
 
 ;;; License 'info'
 
 (guix-info-define-interface license
   :buffer-name "*Guix License Info*"
   :get-entries-function 'guix-license-get-entries
+  :message-function 'guix-license-message
   :format '((name ignore (simple guix-info-heading))
             ignore
             guix-license-insert-packages-button
@@ -86,6 +96,7 @@ SEARCH-TYPE may be one of the following symbols: `all', `id', `name'."
   :buffer-name "*Guix Licenses*"
   :get-entries-function 'guix-license-get-entries
   :describe-function 'guix-license-list-describe
+  :message-function 'guix-license-message
   :format '((name nil 40 t)
             (url guix-list-get-url 50 t))
   :titles '((name . "License"))