[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
24/35: emacs: Improve messages for packages found by ID.
From: |
Alex Kost |
Subject: |
24/35: emacs: Improve messages for packages found by ID. |
Date: |
Fri, 11 Dec 2015 11:42:38 +0000 |
alezost pushed a commit to branch wip-refactor-emacs-ui
in repository guix.
commit 443a4bd368b742656c014b8ffabe3b93c2a8a5b9
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))
- 13/35: emacs: list: Add 'guix-list-mode-initialize'., (continued)
- 13/35: emacs: list: Add 'guix-list-mode-initialize'., Alex Kost, 2015/12/11
- 08/35: emacs: Add 'guix-keyword-args-let'., Alex Kost, 2015/12/11
- 12/35: emacs: list: Generalize 'sort-key' code., Alex Kost, 2015/12/11
- 15/35: emacs: list: Factorize "edit package" commands., Alex Kost, 2015/12/11
- 10/35: emacs: list: Generalize 'marks' code., Alex Kost, 2015/12/11
- 11/35: emacs: list: Generalize 'describe' code., Alex Kost, 2015/12/11
- 14/35: emacs: list: Split 'guix-list-format' variable., Alex Kost, 2015/12/11
- 20/35: emacs: Add wrappers for 'history-size' and 'revert-confirm'., Alex Kost, 2015/12/11
- 03/35: emacs: Add API for 'guix-entry'., Alex Kost, 2015/12/11
- 19/35: emacs: Split 'guix-param-titles' variable., Alex Kost, 2015/12/11
- 24/35: emacs: Improve messages for packages found by ID.,
Alex Kost <=
- 21/35: emacs: Split 'guix-root-map' keymap., Alex Kost, 2015/12/11
- 23/35: emacs: Generalize buffer reverting., Alex Kost, 2015/12/11
- 25/35: emacs: info: Buttonize package name heading., Alex Kost, 2015/12/11
- 22/35: emacs: Generalize buffer redisplaying., Alex Kost, 2015/12/11
- 27/35: emacs: info: Get rid of syntactic fontification., Alex Kost, 2015/12/11
- 18/35: emacs: info: Split 'guix-info-format' variable., Alex Kost, 2015/12/11
- 17/35: emacs: Factorize macros for defining interfaces., Alex Kost, 2015/12/11
- 29/35: emacs: Reorganize 'readers' code., Alex Kost, 2015/12/11
- 31/35: emacs: Add 'list-single' variables., Alex Kost, 2015/12/11
- 33/35: emacs: Return nil instead of "" in completing readers., Alex Kost, 2015/12/11