summary refs log tree commit diff
path: root/emacs
diff options
context:
space:
mode:
Diffstat (limited to 'emacs')
-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"))