guix-commits
[Top][All Lists]
Advanced

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

24/38: emacs: Improve messages for packages found by ID.


From: Alex Kost
Subject: 24/38: emacs: Improve messages for packages found by ID.
Date: Sat, 02 Jan 2016 14:27:24 +0000

alezost pushed a commit to branch master
in repository guix.

commit fc7a28897c454d1404e1af793b553ccb2c25ac24
Author: Alex Kost <address@hidden>
Date:   Sun Nov 22 14:28:01 2015 +0300

    emacs: Improve messages for packages found by ID.
    
    * emacs/guix-messages.el (guix-message-packages-by-id): New procedure.
      (guix-messages): Use it.
---
 emacs/guix-messages.el |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/emacs/guix-messages.el b/emacs/guix-messages.el
index 2bf99de..eb2a76e 100644
--- a/emacs/guix-messages.el
+++ b/emacs/guix-messages.el
@@ -31,9 +31,8 @@
 (defvar guix-messages
   `((package
      (id
-      (0 "Packages not found.")
-      (1 "")
-      (many "%d packages." count))
+      ,(lambda (_ entries ids)
+         (guix-message-packages-by-id entries 'package ids)))
      (name
       ,(lambda (_ entries names)
          (guix-message-packages-by-name entries 'package names)))
@@ -67,9 +66,8 @@
 
     (output
      (id
-      (0 "Package outputs not found.")
-      (1 "")
-      (many "%d package outputs." count))
+      ,(lambda (_ entries ids)
+         (guix-message-packages-by-id entries 'output ids)))
      (name
       ,(lambda (_ entries names)
          (guix-message-packages-by-name entries 'output names)))
@@ -147,6 +145,22 @@
                (guix-message-string-entry-type
                 entry-type 'plural)))))
 
+(defun guix-message-packages-by-id (entries entry-type ids)
+  "Display a message for packages or outputs searched by IDS."
+  (let* ((count (length entries))
+         (str-beg (guix-message-string-entries count entry-type))
+         (str-end (if (> count 1)
+                      (concat "with the following IDs: "
+                              (mapconcat #'guix-get-string ids ", "))
+                    (concat "with ID " (guix-get-string (car ids))))))
+    (if (zerop count)
+        (message "%s %s.
+Most likely, Guix REPL was restarted, so IDs are not actual
+anymore, because they live only during the REPL process.
+Try \"M-x guix-search-by-name\"."
+                 str-beg str-end)
+      (message "%s %s." str-beg str-end))))
+
 (defun guix-message-packages-by-name (entries entry-type names)
   "Display a message for packages or outputs searched by NAMES."
   (let* ((count (length entries))



reply via email to

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