From patchwork Mon Mar 3 02:09:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 39630 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 8B7BF27BBEA; Mon, 3 Mar 2025 02:10:30 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A07AD27BBE2 for ; Mon, 3 Mar 2025 02:10:28 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tovG7-00037m-Rn; Sun, 02 Mar 2025 21:10:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tovFq-0002yx-UV for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:04 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tovFq-0000sH-Ae for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=45fsWkc7+n1aPvL/vXdURyyOwUBZUpeQl0KoPz+CsW8=; b=C2FMaSfOKJAUf0rYhWVicB0uxlPTALxV5exmWBVnBMYGJCSVDZrjNOhvaWN0RurywkrrMshNRGr1wnrGpVKp0nNpZQA6rWgXWk0xJPudtLjs2vq4YKQIlyTO/XLlAUngGUQdcEZOwIM/Em3m2zrYEw6tcIU1wB5BQeYjDYsCiYjOlgUAScRL1OAG1Z/MBpEHHrAcQvOGndKeG8X+E9ZoX9GOwR9Uy2rHuzzok7elvk6qp4AXTgQmUdLT+5bMZbbp8f6IJvCX6Sh3kzTzjivmHj1O+Dv+qa45PB//U3VA1ASJpQoqoOpyi1H+U0obHjbzRtJ1wnJeur70vA2/01ZyrA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tovFq-0007eK-56 for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76699] [PATCH 2/5] Improve most docstrings Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 03 Mar 2025 02:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76699 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76699@debbugs.gnu.org Cc: Nicolas Graves Received: via spool by 76699-submit@debbugs.gnu.org id=B76699.174096778329252 (code B ref 76699); Mon, 03 Mar 2025 02:10:02 +0000 Received: (at 76699) by debbugs.gnu.org; 3 Mar 2025 02:09:43 +0000 Received: from localhost ([127.0.0.1]:40743 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tovFX-0007bk-KH for submit@debbugs.gnu.org; Sun, 02 Mar 2025 21:09:43 -0500 Received: from 16.mo561.mail-out.ovh.net ([188.165.56.217]:35453) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tovFU-0007b0-8J for 76699@debbugs.gnu.org; Sun, 02 Mar 2025 21:09:40 -0500 Received: from director5.ghost.mail-out.ovh.net (unknown [10.108.25.209]) by mo561.mail-out.ovh.net (Postfix) with ESMTP id 4Z5j1Z2M2xz1RNC for <76699@debbugs.gnu.org>; Mon, 3 Mar 2025 02:09:38 +0000 (UTC) Received: from ghost-submission-5b5ff79f4f-5dcn8 (unknown [10.111.182.7]) by director5.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 9EC731FE5B; Mon, 3 Mar 2025 02:09:37 +0000 (UTC) Received: from ngraves.fr ([37.59.142.108]) by ghost-submission-5b5ff79f4f-5dcn8 with ESMTPSA id WNwVD2EPxWdiWAAA6Nx3uQ (envelope-from ); Mon, 03 Mar 2025 02:09:37 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-108S00257c8b350-2e9f-44db-9e00-565ff73b0854, 3FD0527DE2CE9D3C35B0E9483E243F320C79A24B) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.92.117.144 Date: Mon, 3 Mar 2025 03:09:17 +0100 Message-ID: <20250303020932.4194-2-ngraves@ngraves.fr> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250303020932.4194-1-ngraves@ngraves.fr> References: <20250303020932.4194-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 1108448459141866210 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeljeekjecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecunecujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepvddvgeefiefhledugfdtkeefieekiefgtddtjeetfffhhefgkeduteehhfetudffnecuffhomhgrihhnpegvlhdrihhnpdhgnhhurdhorhhgpdhnohhtrggsuhhgrdhorhhgnecukfhppeduvdejrddtrddtrddupdeltddrledvrdduudejrddugeegpdefjedrheelrddugedvrddutdeknecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpehnghhrrghvvghssehnghhrrghvvghsrdhfrhdpnhgspghrtghpthhtohepuddprhgtphhtthhopeejieeileelseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehiedumgdpmhhouggvpehsmhhtphhouhht DKIM-Signature: a=rsa-sha256; bh=45fsWkc7+n1aPvL/vXdURyyOwUBZUpeQl0KoPz+CsW8=; c=relaxed/relaxed; d=ngraves.fr; h=From; s=ovhmo4487190-selector1; t=1740967778; v=1; b=uaFcIchqxlhDmdk/LEXWmPZdiu4YWctIs5qAKIdVnc3peGJfSOovoKi0tsTeCVgfqakFEq7T h4OgueBMvYsEdyUQzwNHeq0v/lEluPa5N6d2ic4FVbaG0JaxKURQMGVucAYN6qjmCbpJgL7VZvW uXV4a93HaMsMtJw1liZwJutyYYsYlZob65ifmlsn/65ZNiiqnBtXdcIfRJZqYLm9GDvrq4ToYS2 Y8l3dpbO1bjfGB8uhWek+kdbYiP2YQk3Xzs7FVf3g3fDeIcWQXE9W1j3wTddYLkzBd8pe6f4FrD Q9TGH0d9XiQb/K/+MwXleE4P2QlxdsGXm7c+IWNYMQm9w== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches This is to decrease the number of flymake warnings and better address serious warnings. --- elisp/guix-about.el | 2 +- elisp/guix-build-config.el.in | 7 ++- elisp/guix-build-log.el | 28 ++++----- elisp/guix-command.el | 58 +++++++++---------- elisp/guix-config.el | 2 +- elisp/guix-default-config.el | 2 +- elisp/guix-external.el | 12 ++-- elisp/guix-geiser.el | 9 +-- elisp/guix-graph.el | 2 +- elisp/guix-guile.el | 6 +- elisp/guix-help-vars.el | 37 ++++++------ elisp/guix-help.el | 12 ++-- elisp/guix-license.el | 3 +- elisp/guix-misc.el | 24 ++++---- elisp/guix-package.el | 2 +- elisp/guix-pcomplete.el | 15 ++--- elisp/guix-prettify.el | 4 +- elisp/guix-profiles.el | 32 +++++------ elisp/guix-read.el | 8 ++- elisp/guix-repl.el | 37 ++++++------ elisp/guix-ui-generation.el | 61 ++++++++++++-------- elisp/guix-ui-license.el | 18 +++--- elisp/guix-ui-lint-checker.el | 15 +++-- elisp/guix-ui-messages.el | 16 ++++-- elisp/guix-ui-package-location.el | 6 +- elisp/guix-ui-package.el | 92 ++++++++++++++++-------------- elisp/guix-ui-profile.el | 37 +++++++----- elisp/guix-ui-service-location.el | 6 +- elisp/guix-ui-service.el | 32 +++++++---- elisp/guix-ui-store-item.el | 46 +++++++++------ elisp/guix-ui-system-generation.el | 24 +++++--- elisp/guix-ui-system.el | 17 ++++-- elisp/guix-ui.el | 16 +++--- elisp/guix-utils.el | 91 ++++++++++++++--------------- 34 files changed, 430 insertions(+), 349 deletions(-) diff --git a/elisp/guix-about.el b/elisp/guix-about.el index e0de219..6e1168a 100644 --- a/elisp/guix-about.el +++ b/elisp/guix-about.el @@ -107,7 +107,7 @@ Return nil if the image cannot be found." (bui-newline))))))) (defun guix-about-insert-content () - "Insert Emacs-Guix 'about' info into the current buffer." + "Insert Emacs-Guix \\='about\\=' info into the current buffer." (guix-insert-logo) (apply #'fancy-splash-insert guix-about-specifications) (goto-char (point-min)) diff --git a/elisp/guix-build-config.el.in b/elisp/guix-build-config.el.in index a32059a..af21dc8 100644 --- a/elisp/guix-build-config.el.in +++ b/elisp/guix-build-config.el.in @@ -18,6 +18,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with Emacs-Guix. If not, see . +;;; Commentary: + ;;; Code: (defconst guix-config-name "@PACKAGE_NAME@" @@ -65,8 +67,7 @@ "Directory with Guix compiled (*.go) files.") (defconst guix-config-guile-program "@GUILE@" - "Name of the 'guile' executable defined at configure time.") + "Name of the \\='guile\\=' executable defined at configure time.") (provide 'guix-build-config) - -;;; guix-build-config.el ends here +;;; guix-build-config.el.in ends here diff --git a/elisp/guix-build-log.el b/elisp/guix-build-log.el index 7d2bce5..ac4f428 100644 --- a/elisp/guix-build-log.el +++ b/elisp/guix-build-log.el @@ -93,12 +93,12 @@ (defface guix-build-log-phase-success '((t)) - "Face for the 'succeeded' word of a phase line." + "Face for the \"succeeded\" word of a phase line." :group 'guix-build-log-faces) (defface guix-build-log-phase-fail '((t :inherit error)) - "Face for the 'failed' word of a phase line." + "Face for the \"failed\" word of a phase line." :group 'guix-build-log-faces) (defface guix-build-log-phase-seconds @@ -116,7 +116,7 @@ (defvar guix-build-log-phase-start-regexp (concat "^starting phase " guix-build-log-phase-name-regexp) - "Regexp for the start line of a 'build' phase.") + "Regexp for the start line of a \\='build\\=' phase.") (defvar guix-build-log-imenu-generic-expression `((nil ,guix-build-log-phase-start-regexp 1)) @@ -125,8 +125,8 @@ (defun guix-build-log-title-regexp (&optional state) "Return regexp for the log title. STATE is a symbol denoting a state of the title. It should be -`start', `fail', `success' or `nil' (for a regexp matching any -state)." +\\='start\\=', \\='fail\\=', \\='success\\=' or \\='nil\\=' (for a +regexp matching any state)." (let* ((word-rx (rx (1+ (any word "-")))) (state-rx (cond ((eq state 'start) (concat word-rx "started")) ((eq state 'success) (concat word-rx "succeeded")) @@ -137,9 +137,10 @@ state)." t))) (defun guix-build-log-phase-end-regexp (&optional state) - "Return regexp for the end line of a 'build' phase. + "Return regexp for the end line of a \\='build\\=' phase. STATE is a symbol denoting how a build phase was ended. It should be -`fail', `success' or `nil' (for a regexp matching any state)." +\\='fail\\=', \\='success\\=' or \\='nil\\=' (for a regexp matching +any state)." (let ((state-rx (cond ((eq state 'success) "succeeded") ((eq state 'fail) "failed") (t (regexp-opt '("succeeded" "failed")))))) @@ -153,7 +154,7 @@ STATE is a symbol denoting how a build phase was ended. It should be ;; For efficiency, it is better to have a regexp for the general line ;; of the phase end, then to call the function all the time. (guix-build-log-phase-end-regexp) - "Regexp for the end line of a 'build' phase.") + "Regexp for the end line of a \\='build\\=' phase.") (defvar guix-build-log-font-lock-keywords `((,(guix-build-log-title-regexp 'start) @@ -192,9 +193,9 @@ STATE is a symbol denoting how a build phase was ended. It should be (define-key map (kbd "") 'guix-build-log-phase-toggle-all) (define-key map [(shift tab)] 'guix-build-log-phase-toggle-all) map) - "Parent keymap for 'build-log' buffers. + "Parent keymap for \\='build-log\\=' buffers. For `guix-build-log-mode' this map is used as is. -For `guix-build-log-minor-mode' this map is prefixed with 'C-c'.") +For `guix-build-log-minor-mode' this map is prefixed with \`C-c'.") (defvar guix-build-log-mode-map (let ((map (make-sparse-keymap))) @@ -214,8 +215,9 @@ For `guix-build-log-minor-mode' this map is prefixed with 'C-c'.") (defun guix-build-log-phase-start (&optional with-header?) "Return the start point of the current build phase. -If WITH-HEADER? is non-nil, do not skip 'starting phase ...' header. -Return nil, if there is no phase start before the current point." +If WITH-HEADER? is non-nil, do not skip \\='starting phase ...\\=' +header. Return nil, if there is no phase start before the current +point." (save-excursion (end-of-line) (when (re-search-backward guix-build-log-phase-start-regexp nil t) @@ -343,7 +345,7 @@ When Guix Build Log minor mode is enabled, it highlights build log in the current buffer. This mode can be enabled programmatically using hooks, like this: - (add-hook 'shell-mode-hook 'guix-build-log-minor-mode) + (add-hook \\='shell-mode-hook \\='guix-build-log-minor-mode) \\{guix-build-log-minor-mode-map}" :init-value nil diff --git a/elisp/guix-command.el b/elisp/guix-command.el index affda4e..a205418 100644 --- a/elisp/guix-command.el +++ b/elisp/guix-command.el @@ -80,7 +80,7 @@ (defvar guix-command-complex-with-shared-arguments '("potluck" "system") "List of guix commands which have subcommands with shared options. -I.e., 'guix foo --help' is the same as 'guix foo bar --help'.") +I.e., \\='guix foo --help\\=' is the same as \\='guix foo bar --help\\='.") (defun guix-command-action-name (&optional commands &rest name-parts) "Return name of action function for guix COMMANDS." @@ -484,7 +484,7 @@ to be modified." argument)) (defun guix-command-improve-arguments (arguments commands) - "Return ARGUMENTS for 'guix COMMANDS ...' modified for transient interface." + "Return ARGUMENTS for \\='guix COMMANDS ...\\=' modified for transient interface." (let ((improvers (cons 'guix-command-improve-common-argument (bui-assoc-value guix-command-argument-improvers commands)))) @@ -493,7 +493,7 @@ to be modified." arguments))) (defun guix-command-parse-arguments (&optional commands) - "Return a list of parsed 'guix COMMANDS ...' arguments." + "Return a list of parsed \\='guix COMMANDS ...\\=' arguments." (with-temp-buffer (insert (guix-help-string commands)) (let (args) @@ -585,7 +585,7 @@ to be modified." :doc "build inputs of the specified packages" :fun 'guix-read-package-names-string))) "Alist of guix commands and additional arguments for them. -These are 'fake' arguments that are not presented in 'guix' shell +These are \\='fake\\=' arguments that are not presented in \\='guix\\=' shell commands.") (defun guix-command-additional-arguments (&optional commands) @@ -601,7 +601,7 @@ commands.") ;; commands. (defun guix-command--all-arguments (&optional commands) - "Return list of all arguments for 'guix COMMANDS ...'." + "Return list of all arguments for \\='guix COMMANDS ...\\='." (let ((parsed (guix-command-parse-arguments commands))) (append (guix-command-improve-arguments parsed commands) (guix-command-additional-arguments commands)))) @@ -612,7 +612,7 @@ commands.") (defun guix-command-all-arguments (&optional commands) ;; Note: `guix-command-arguments' name cannot be used because function ;; with this name is generated by `transient-define-prefix'. - "Return list of arguments for 'guix COMMANDS ...'." + "Return list of arguments for \\='guix COMMANDS ...\\='." (let ((command (car commands))) (if (member command guix-command-complex-with-shared-arguments) @@ -700,7 +700,7 @@ Each function is called on the returned arguments in turn.") (defvar guix-command-rest-arg-regexp (rx string-start "-- " (group (+ any))) - "Regexp to match a string with the 'rest' arguments.") + "Regexp to match a string with the \\='rest\\=' arguments.") (defun guix-command-replace-args (args predicate modifier) "Replace arguments matching PREDICATE from ARGS. @@ -740,39 +740,37 @@ arguments into multiple subarguments." :group 1)) (defun guix-command-post-process-rest-multiple (args) - "Modify ARGS by splitting '-- ARG ...' into multiple subarguments -and moving them to the end of ARGS list. -Remove '-- ' string." + "Modify ARGS and remove '-- ' string. +Do that by splitting \\='-- ARG ...\\=' into multiple subarguments +and moving them to the end of ARGS list." (guix-command-post-process-matching-args args guix-command-rest-arg-regexp :group 1 :split? t)) (defun guix-command-post-process-rest-multiple-leave (args) - "Modify ARGS by splitting '-- ARG ...' into multiple subarguments -and moving them to the end of ARGS list. -Leave '--' string as a separate argument." + "Modify ARGS and leave '--' string as a separate argument. +Do that by splitting \\='-- ARG ...\\=' into multiple subarguments +and moving them to the end of ARGS list." (guix-command-post-process-matching-args args guix-command-rest-arg-regexp :split? t)) (defun guix-command-post-process-package-args (args) - "Adjust transient ARGS for 'guix package' command." + "Adjust transient ARGS for \\='guix package\\=' command." (guix-command-post-process-matching-args args (rx string-start (or "--install " "--remove ") (+ any)) :split? t)) (defun guix-command-post-process-environment-packages (args) - "Adjust transient ARGS for specified packages of 'guix environment' -command." + "Adjust ARGS for specified packages of \\='guix environment\\=' command." (guix-command-post-process-matching-args args (rx string-start "++packages " (group (+ any))) :group 1 :split? t)) (defun guix-command-post-process-environment-ad-hoc (args) - "Adjust transient ARGS for '--ad-hoc' argument of 'guix environment' -command." + "Adjust ARGS for '--ad-hoc' argument of \\='guix environment\\=' command." (guix-command-post-process-matching-args args (rx string-start "--ad-hoc " (+ any)) :split? t)) @@ -799,7 +797,7 @@ command." :name "shell" :char ?s :doc "Run in shell") (guix-command-make-argument :name "copy" :char ?c :doc "Copy command line")) - "List of default 'execute' action arguments.") + "List of default \\='execute\\=' action arguments.") (defvar guix-command-additional-execute-arguments (let ((graph-arg (guix-command-make-argument @@ -813,10 +811,10 @@ command." :name "view" :char ?v :doc "View map")) (("system" "shepherd-graph") ,graph-arg) (("system" "extension-graph") ,graph-arg))) - "Alist of guix commands and additional 'execute' action arguments.") + "Alist of guix commands and additional \\='execute\\=' action arguments.") (defun guix-command-execute-arguments (commands) - "Return a list of 'execute' action arguments for COMMANDS." + "Return a list of \\='execute\\=' action arguments for COMMANDS." (mapcar (lambda (arg) (guix-command-modify-argument arg :action? t @@ -856,7 +854,7 @@ See also `guix-command-default-executors'.") (bui-assoc-value guix-command-default-executors name))) (defun guix-run-environment-command-in-repl (args) - "Run 'guix ARGS ...' environment command in Guix REPL." + "Run \\='guix ARGS ...\\=' environment command in Guix REPL." ;; As 'guix environment' usually tries to run another process, it may ;; be fun but not wise to run this command in Geiser REPL. (when (or (member "--dry-run" args) @@ -871,7 +869,7 @@ Do you really want to execute this command in Geiser REPL? " (guix-run-command-in-repl args))) (defun guix-run-pull-command-in-repl (args) - "Run 'guix ARGS ...' pull command in Guix REPL. + "Run \\='guix ARGS ...\\=' pull command in Guix REPL. Perform pull-specific actions after operation, see `guix-after-pull-hook' and `guix-update-after-pull'." (guix-eval-in-repl @@ -882,8 +880,8 @@ Perform pull-specific actions after operation, see 'pull))) (defun guix-run-view-build-log (args) - "Add --log-file to ARGS, run 'guix ARGS ...' build command, and -open the log file(s)." + "Add --log-file to ARGS, run \\='guix ARGS ...\\=' build command. +Then open the log file(s)." (let* ((args (if (member "--log-file" args) args (cl-list* (car args) "--log-file" (cdr args)))) @@ -895,7 +893,7 @@ open the log file(s)." (declare-function guix-make-view-graph "guix-graph" t) (defun guix-run-view-graph (args) - "Run 'guix ARGS ...' graph command, make the image and open it." + "Run \\='guix ARGS ...\\=' graph command, make the image and open it." (require 'guix-graph) (guix-make-view-graph (if (member "--backend=d3js" args) "d3js" "graphviz") @@ -909,7 +907,7 @@ open the log file(s)." 'guix-output-to-file args graph-file))))))) (defun guix-run-view-size-map (args) - "Run 'guix ARGS ...' size command, and open the map file." + "Run \\='guix ARGS ...\\=' size command, and open the map file." (let* ((wished-map-file (cl-some (lambda (arg) (and (string-match "--map-file=\\(.+\\)" arg) @@ -955,7 +953,7 @@ EXECUTOR function is called with the current command line arguments." ',commands (transient-args (transient-current-command)))))))) (defun guix-command-generate-popup-actions (actions &optional commands) - "Generate 'popup' commands from ACTIONS arguments for guix COMMANDS." + "Generate \\='popup\\=' commands from ACTIONS arguments for guix COMMANDS." (dolist (action actions) (let ((fun (guix-command-argument-fun action))) (unless (fboundp fun) @@ -964,7 +962,7 @@ EXECUTOR function is called with the current command line arguments." (list (guix-command-argument-name action))))))))) (defun guix-command-generate-execute-actions (actions &optional commands) - "Generate 'execute' commands from ACTIONS arguments for guix COMMANDS." + "Generate \\='execute\\=' commands from ACTIONS arguments for guix COMMANDS." (dolist (action actions) (let ((fun (guix-command-argument-fun action))) (unless (fboundp fun) @@ -974,7 +972,7 @@ EXECUTOR function is called with the current command line arguments." ,commands)))))) (defun guix-command-generate-prefix (name &optional commands) - "Define NAME prefix with 'guix COMMANDS ...' interface." + "Define NAME prefix with \\='guix COMMANDS ...\\=' interface." (let* ((command (car commands)) (man-page (concat "guix" (and command (concat "-" command)))) (doc (format "Transient for '%s' command." diff --git a/elisp/guix-config.el b/elisp/guix-config.el index 4506958..8cc1f6a 100644 --- a/elisp/guix-config.el +++ b/elisp/guix-config.el @@ -59,7 +59,7 @@ nil)) "Directory with Scheme files for Emacs-Guix package. It should be a directory where Guile modules are placed, i.e. a -directory with 'emacs-guix' sub-directory.") +directory with \\='emacs-guix\\=' sub-directory.") (defvar guix-image-directory (or guix-config-image-directory diff --git a/elisp/guix-default-config.el b/elisp/guix-default-config.el index 77ffc83..4ec7a1c 100644 --- a/elisp/guix-default-config.el +++ b/elisp/guix-default-config.el @@ -59,7 +59,7 @@ "Directory with Guix compiled (*.go) files.") (defconst guix-config-guile-program nil - "Name of the 'guile' executable defined at configure time.") + "Name of the \\='guile\\=' executable defined at configure time.") (provide 'guix-default-config) diff --git a/elisp/guix-external.el b/elisp/guix-external.el index c7e123b..d470c36 100644 --- a/elisp/guix-external.el +++ b/elisp/guix-external.el @@ -38,7 +38,7 @@ ;; Avoid auto-compilation as it is slow and error-prone: ;; . "--no-auto-compile") - "Name of the 'guile' executable used for Guix REPL. + "Name of the \\='guile\\=' executable used for Guix REPL. May be either a string (the name of the executable) or a list of strings of the form: @@ -50,18 +50,18 @@ Where ARGS is a list of arguments to the guile program." (defcustom guix-dot-program (executable-find "dot") - "Name of the 'dot' executable." + "Name of the \\='dot\\=' executable." :type 'string :group 'guix-external) (defcustom guix-dot-default-arguments '("-Tpng") - "Default arguments for 'dot' program." + "Default arguments for \\='dot\\=' program." :type '(repeat string) :group 'guix-external) (defcustom guix-dot-file-name-function #'guix-png-file-name - "Function used to define a file name of a temporary 'dot' file. + "Function used to define a file name of a temporary \\='dot\\=' file. The function is called without arguments." :type '(choice (function-item guix-png-file-name) (function :tag "Other function")) @@ -82,11 +82,11 @@ If ARGS is nil, use `guix-dot-default-arguments'." (funcall guix-dot-file-name-function)) (defun guix-png-file-name () - "Return '.png' file name in the `guix-temporary-directory'." + "Return '.png' file name in the variable `guix-temporary-directory'." (guix-temporary-file-name "graph-" ".png")) (defun guix-html-file-name () - "Return '.html' file name in the `guix-temporary-directory'." + "Return '.html' file name in the variable `guix-temporary-directory'." (guix-temporary-file-name "graph-" ".html")) (provide 'guix-external) diff --git a/elisp/guix-geiser.el b/elisp/guix-geiser.el index 7b503e5..8d96035 100644 --- a/elisp/guix-geiser.el +++ b/elisp/guix-geiser.el @@ -53,7 +53,7 @@ Return a list of strings with result values of evaluation." Sorry, the evaluation is aborted because it has taken too much time. Try to increase the value of `guix-geiser-connection-timeout' variable if you have a slow machine, or please report if you -think this command takes unreasonably long time to run.")) +think this command takes unreasonably long time to run")) (if (geiser-eval--retort-error res) (error "Error in evaluating guile expression: %s" (geiser-eval--retort-output res)) @@ -76,9 +76,10 @@ If NO-DISPLAY is non-nil, do not switch to the REPL buffer." (defun guix-geiser-eval-in-repl-synchronously (str &optional repl no-history no-display) - "Evaluate STR in Geiser REPL synchronously, i.e. wait until the -REPL operation will be finished. -See `guix-geiser-eval-in-repl' for the meaning of arguments." + "Evaluate STR in Geiser REPL synchronously. +The evaluation is blocked until the REPL operation completes. +See `guix-geiser-eval-in-repl' for the meaning of arguments NO-HISTORY +and NO-DISPLAY." (let* ((repl (if repl (get-buffer repl) (guix-geiser-repl))) (running? nil) (filter (lambda (output) diff --git a/elisp/guix-graph.el b/elisp/guix-graph.el index c7c703a..ee910f4 100644 --- a/elisp/guix-graph.el +++ b/elisp/guix-graph.el @@ -52,7 +52,7 @@ See `guix-graph-backend->graph-type' for the meaning of GRAPH-TYPE." (browse-url (browse-url-file-url graph-file))))) (defun guix-make-view-graph (backend graph-maker) - "Make graph using GRAPH-MAKER procedure and view it. + "Make graph with BACKEND using GRAPH-MAKER procedure and view it. GRAPH-MAKER is called with GRAPH-TYPE and GRAPH-FILE arguments. It should return non-nil on success. See `guix-graph-backend->graph-type' for the meaning of GRAPH-TYPE." diff --git a/elisp/guix-guile.el b/elisp/guix-guile.el index d56701e..da3859b 100644 --- a/elisp/guix-guile.el +++ b/elisp/guix-guile.el @@ -105,7 +105,7 @@ PROC and ARGS should be strings." (string-match-p geiser-guile--debugger-prompt-regexp string))) (defun guix-guile-read () - "Read guile code from the current buffer and 'transform' it into elisp. + "Read guile code from the current buffer and \\='transform\\=' it into elisp. The contents of the current buffer may be modified." (goto-char (point-min)) (cond @@ -120,13 +120,13 @@ The contents of the current buffer may be modified." (read (current-buffer))))) (defun guix-guile-read-from-file (file-name) - "Read guile code from FILE-NAME and 'transform' it into elisp." + "Read guile code from FILE-NAME and \\='transform\\=' it into elisp." (with-temp-buffer (insert-file-contents file-name) (guix-guile-read))) (defun guix-guile-read-from-string (string) - "Read guile code from string and 'transform' it into elisp." + "Read guile code from STRING and \\='transform\\=' it into elisp." (with-temp-buffer (insert string) (guix-guile-read))) diff --git a/elisp/guix-help-vars.el b/elisp/guix-help-vars.el index 0dc0bc6..17f033f 100644 --- a/elisp/guix-help-vars.el +++ b/elisp/guix-help-vars.el @@ -69,8 +69,7 @@ guix subcommand, system action, importer, etc.") "Regexp used to find various lists (lint checkers, graph types).") (defvar guix-help-parse-regexp-group 1 - "Parenthesized expression of regexps used to find commands and -options.") + "Parenthesized expression of regexps to find commands and options.") ;;; Non-receivable lists @@ -85,7 +84,7 @@ options.") (defvar guix-help-refresh-subsets '("core" "non-core") - "List of supported 'refresh' subsets.") + "List of supported \\='refresh\\=' subsets.") (defvar guix-help-key-policies '("interactive" "always" "never") @@ -93,7 +92,7 @@ options.") (defvar guix-help-verify-options '("repair" "contents") - "List of supported 'verify' options") + "List of supported \\='verify\\=' options.") (defvar guix-help-elpa-archives '("gnu" "melpa" "melpa-stable") @@ -101,66 +100,66 @@ options.") (defvar guix-help-size-sort-keys '("closure" "self") - "List of supported sort keys for 'guix size' command.") + "List of supported sort keys for \\='guix size\\=' command.") (defvar guix-help-search-paths-types '("exact" "prefix" "suffix") - "List of supported search-paths types for 'guix package' command.") + "List of supported search-paths types for \\='guix package\\=' command.") (defvar guix-help-repl-types '("guile" "machine") - "List of supported types for 'guix repl' command.") + "List of supported types for \\='guix repl\\=' command.") (defvar guix-help-describe-formats '("human" "channels" "json" "recutils") - "List of supported formats for 'guix describe' command.") + "List of supported formats for \\='COMMAND describe\\=' command.") (defvar guix-help-on-error-strategies '("nothing-special" "backtrace" "debug") - "List of on-error strategies for 'guix system' command.") + "List of on-error strategies for \\='guix system\\=' command.") ;;; Default values of various options (defvar guix-default-hash-format "nix-base32" - "Default format for 'guix hash' command.") + "Default format for \\='guix hash\\=' command.") (defvar guix-default-key-policy "interactive" - "Default key download policy used by 'guix refresh' command.") + "Default key download policy used by \\='guix refresh\\=' command.") (defvar guix-default-elpa-archive "gnu" - "Default ELPA archive for 'guix import elpa' command.") + "Default ELPA archive for \\='guix import elpa\\=' command.") (defvar guix-default-size-sort-key "closure" - "Default sort key for 'guix size' command.") + "Default sort key for \\='guix size\\=' command.") (defvar guix-default-search-paths-type "exact" - "Default search-paths type for 'guix package' command.") + "Default search-paths type for \\='guix package\\=' command.") (defvar guix-default-repl-type "guile" - "Default type for 'guix repl' command.") + "Default type for \\='guix repl\\=' command.") (defvar guix-default-describe-format "human" - "Default format for 'guix describe' command.") + "Default format for \\='guix describe\\=' command.") (defvar guix-default-graph-backend "graphviz" - "Default backend for 'guix graph' command.") + "Default backend for \\='guix graph\\=' command.") (defvar guix-default-graph-node-type "package" - "Default node type for 'guix graph' command.") + "Default node type for \\='guix graph\\=' command.") (defvar guix-default-on-error-strategy "nothing-special" - "Default on-error strategy for 'guix system' command.") + "Default on-error strategy for \\='guix system\\=' command.") (provide 'guix-help-vars) diff --git a/elisp/guix-help.el b/elisp/guix-help.el index d4aa472..53ccd3a 100644 --- a/elisp/guix-help.el +++ b/elisp/guix-help.el @@ -48,7 +48,7 @@ If ARG is non-nil (interactively with prefix), show Guix info manual." :group 'guix-help) (defcustom guix-help-doc-column 40 - "Column at which 'doc' button is inserted." + "Column at which \\='doc\\=' button is inserted." :type 'integer :group 'guix-help) @@ -186,7 +186,7 @@ COMMAND-NAME is a symbol. COMMAND-BUTTON? is a boolean value; it defines whether COMMAND-NAME is buttonized or not. -INFO-BUTTON? is a boolean value; it defines whether 'info' button +INFO-BUTTON? is a boolean value; it defines whether \\='info\\=' button should be displayed or not.") (defvar guix-help-mode-map @@ -229,7 +229,7 @@ INFO-NODE is the name passed to `info' function." 'symbol symbol)) (defun guix-insert-command-button (command) - "Insert button to run 'M-x COMMAND'." + "Insert button to run \\[COMMAND]." (let ((command-string (symbol-name command))) (bui-insert-button command-string 'button @@ -255,8 +255,8 @@ INFO-NODE is the name passed to `info' function." (guix-goto-index-topic "Command Index" topic)) (defun guix-help-insert-doc-buttons (command &optional info-button?) - "Insert 'doc' button for COMMAND at `guix-help-doc-column'. -If INFO-BUTTON? is non-nil, insert 'info' button as well." + "Insert \\='doc\\=' button for COMMAND at `guix-help-doc-column'. +If INFO-BUTTON? is non-nil, insert \\='info\\=' button as well." (indent-to guix-help-doc-column 2) (guix-insert-doc-button "doc" command) (when info-button? @@ -309,7 +309,7 @@ See `guix-help-specifications' for the meaning of SPEC." (funcall content-function))) (defun guix-help-make-revert-function (content-function) - "Return a revert function for `revert-buffer-function'." + "Return a revert CONTENT-FUNCTION for `revert-buffer-function'." (lambda (_ignore-auto noconfirm) (when (or noconfirm (y-or-n-p (format "Revert %s buffer? " (buffer-name)))) diff --git a/elisp/guix-license.el b/elisp/guix-license.el index 50cbd2a..43ff1e1 100644 --- a/elisp/guix-license.el +++ b/elisp/guix-license.el @@ -29,7 +29,8 @@ (defun guix-license-file (&optional directory) "Return name of the file with license definitions. -DIRECTORY is a directory with Guix source (`guix-directory' by default)." +DIRECTORY is a directory with Guix source (variable`guix-directory' +by default)." (expand-file-name "guix/licenses.scm" (or directory (guix-directory)))) diff --git a/elisp/guix-misc.el b/elisp/guix-misc.el index f4a7aaa..4d88c5c 100644 --- a/elisp/guix-misc.el +++ b/elisp/guix-misc.el @@ -56,7 +56,7 @@ "If non-nil, do not perform the real actions, just simulate.") (defvar guix-temp-buffer-name " *Guix temp*" - "Name of a buffer used for displaying info before executing operation.") + "Name of a buffer used to display info before executing operation.") (defvar guix-operation-option-true-string "yes" "String displayed in the mode-line when operation option is t.") @@ -130,7 +130,8 @@ Ask a user with PROMPT for continuing an operation." (message ""))))) (defun guix-operation-prompt-1 (prompt keys) - "This function is internal for `guix-operation-prompt'." + "This function is internal for `guix-operation-prompt'. +See its documentation for meaning of PROMPT and KEYS." (guix-operation-set-mode-line) (let ((key (read-char-choice prompt (cons ?\C-g keys) t))) (cl-case key @@ -163,7 +164,7 @@ Ask a user with PROMPT for continuing an operation." ;;;###autoload (defun guix-apply-manifest (profile file &optional operation-buffer) "Apply manifest from FILE to PROFILE. -This function has the same meaning as 'guix package --manifest' command. +This function has the same meaning as \\='guix package --manifest\\=' command. See Info node `(guix) Invoking guix package' for details. Interactively, use the current profile and prompt for manifest @@ -189,12 +190,13 @@ FILE. With a prefix argument, also prompt for PROFILE." operation-buffer))) (defcustom guix-search-paths-buffer-name "*Guix Search Paths*" - "Name of a buffer for displaying 'search paths' environment variables." + "Name of a buffer to display \\='search paths\\=' environment variables." :type 'string :group 'guix) (defun guix-show-search-paths (profiles &optional type) - "Display 'search paths' environment variables for PROFILES." + "Display \\='search paths\\=' environment variables for PROFILES. +TYPE defaults to \\='exact\\='." (let* ((profiles (mapcar #'guix-package-profile profiles)) (type (or type "exact")) (type-symbol (intern type)) @@ -230,7 +232,7 @@ PROFILE can be a named profile (like '~/.guix-profile', store, like GUIX_ENVIRONMENT variable (see Info node `(guix) Invoking guix environment' for details). -If PROFILE is nil, use `guix-current-profile'." +If PROFILE is nil, use variable `guix-current-profile'." (interactive (list (guix-read-profile))) (let ((specs (guix-eval-read (guix-make-guile-expression @@ -283,18 +285,18 @@ The function is called with a single argument - a command line string." (eshell-send-input)) (defun guix-run-command-in-shell (args) - "Execute 'guix ARGS ...' command in a shell buffer." + "Execute \\='guix ARGS ...\\=' command in a shell buffer." (funcall guix-run-in-shell-function (guix-command-string args))) (defun guix-run-command-in-repl (args) - "Execute 'guix ARGS ...' command in Guix REPL." + "Execute \\='guix ARGS ...\\=' command in Guix REPL." (guix-eval-in-repl (apply #'guix-make-guile-expression 'guix-command args))) (defun guix-command-output (args) - "Return string with 'guix ARGS ...' output." + "Return string with \\='guix ARGS ...\\=' output." (cl-multiple-value-bind (output error) (guix-eval (apply #'guix-make-guile-expression 'guix-command-output args)) @@ -303,7 +305,7 @@ The function is called with a single argument - a command line string." (read output))) (defun guix-help-string (&optional commands) - "Return string with 'guix COMMANDS ... --help' output." + "Return string with \\='guix COMMANDS ... --help\\=' output." (guix-eval-read (apply #'guix-make-guile-expression 'help-string commands))) @@ -358,7 +360,7 @@ If VERBOSE is non-nil (with prefix argument), produce verbose output." ;;;###autoload (defun guix-report-bug (subject) "Report GNU Guix bug. -Prompt for bug subject and open a mail buffer." +Prompt for bug SUBJECT and open a mail buffer." (interactive "sBug Subject: ") (compose-mail guix-bug-address subject)) diff --git a/elisp/guix-package.el b/elisp/guix-package.el index 414e465..f4d11df 100644 --- a/elisp/guix-package.el +++ b/elisp/guix-package.el @@ -73,7 +73,7 @@ 'package-store-path package-id))) (defvar guix-after-source-download-hook nil - "Hook run after successful performing a 'source-download' operation.") + "Hook run after successful performing a \\='source-download\\=' operation.") (defun guix-package-source-build-derivation (package-id &optional prompt) "Build source derivation of a package PACKAGE-ID. diff --git a/elisp/guix-pcomplete.el b/elisp/guix-pcomplete.el index a393a0f..1ea65e1 100644 --- a/elisp/guix-pcomplete.el +++ b/elisp/guix-pcomplete.el @@ -38,7 +38,7 @@ (defun guix-pcomplete-search-in-help (regexp &optional group &rest args) - "Search for REGEXP in 'guix ARGS... --help' output. + "Search for REGEXP in \\='guix ARGS... --help\\=' output. Return a list of strings matching REGEXP. GROUP specifies a parenthesized expression used in REGEXP." (with-temp-buffer @@ -53,9 +53,10 @@ GROUP specifies a parenthesized expression used in REGEXP." "Define function NAME to receive guix options and commands. The defined function takes rest COMMANDS argument. This function -will search for REGEXP in 'guix COMMANDS... --help' output (or -'guix --help' if COMMANDS is nil) using -`guix-pcomplete-search-in-help' and will return its result. +will search for REGEXP in \\='guix COMMANDS... --help\\=' output (or +\\='guix --help\\=' if COMMANDS is nil) using +`guix-pcomplete-search-in-help' and will return its result. The +function is defined with DOCSTRING. If FILTER is specified, it should be a function. The result is passed to this FILTER as argument and the result value of this @@ -72,15 +73,15 @@ function call is returned." (guix-pcomplete-define-options-finder guix-pcomplete-commands "If COMMANDS is nil, return a list of available guix commands. If COMMANDS is non-nil (it should be a list of strings), return -available subcommands, actions, etc. for 'guix COMMANDS'." +available subcommands, actions, etc. for \\='guix COMMANDS\\='." guix-help-parse-command-regexp) (guix-pcomplete-define-options-finder guix-pcomplete-long-options - "Return a list of available long options for 'guix COMMANDS'." + "Return a list of available long options for \\='guix COMMANDS\\='." guix-help-parse-long-option-regexp) (guix-pcomplete-define-options-finder guix-pcomplete-short-options - "Return a string with available short options for 'guix COMMANDS'." + "Return a string with available short options for \\='guix COMMANDS\\='." guix-help-parse-short-option-regexp (lambda (list) (guix-concat-strings list ""))) diff --git a/elisp/guix-prettify.el b/elisp/guix-prettify.el index a253879..9268959 100644 --- a/elisp/guix-prettify.el +++ b/elisp/guix-prettify.el @@ -25,7 +25,7 @@ ;; replaced with '/gnu/store/…-foo-0.1' in the current buffer. There is ;; also `global-guix-prettify-mode' for global prettifying. -;; To install, add the following to your emacs init file: +;; To install, add the following to your Emacs init file: ;; ;; (add-to-list 'load-path "/path/to/dir-with-guix-prettify") ;; (autoload 'guix-prettify-mode "guix-prettify" nil t) @@ -166,7 +166,7 @@ file names (see `guix-prettify-regexp') are displayed as This mode can be enabled programmatically using hooks: - (add-hook 'shell-mode-hook 'guix-prettify-mode) + (add-hook \\='shell-mode-hook \\='guix-prettify-mode) It is possible to enable the mode in any buffer, however not any buffer's highlighting may survive after adding new elements to diff --git a/elisp/guix-profiles.el b/elisp/guix-profiles.el index a176815..7ac46a2 100644 --- a/elisp/guix-profiles.el +++ b/elisp/guix-profiles.el @@ -57,7 +57,7 @@ (expand-file-name "guix/current" (or (getenv "XDG_CONFIG_HOME") (expand-file-name "~/.config"))) - "Profile populated by 'guix pull' command.") + "Profile populated by \\='guix pull\\=' command.") (defvar guix-default-user-profile (or (file-symlink-p guix-user-profile) @@ -71,7 +71,7 @@ also contain profile generations.") (or (file-symlink-p guix-pulled-profile) (expand-file-name "current-guix" (guix-user-profiles-directory))) - "Default profile populated by 'guix pull' command. + "Default profile populated by \\='guix pull\\=' command. Unlike `guix-pulled-profile', directory with this profile should also contain profile generations.") @@ -96,7 +96,7 @@ It is used by various commands as the default working profile.") (rx-to-string `(or ,guix-pulled-profile ,guix-default-pulled-profile) t) - "Regexp matching 'guix pull'-ed profile.") + "Regexp matching \\='guix pull\\='-ed profile.") (defvar guix-generation-file-name-regexp (rx (group (one-or-more any)) @@ -105,7 +105,7 @@ It is used by various commands as the default working profile.") The first parenthesized group should match profile file name.") (defun guix-current-profile? (profile) - "Return non-nil, if PROFILE is `guix-current-profile'." + "Return non-nil, if PROFILE is the variable `guix-current-profile'." (string= (guix-profile profile) (guix-profile guix-current-profile))) @@ -118,7 +118,7 @@ The first parenthesized group should match profile file name.") (string-match-p guix-home-profile-regexp profile)) (defun guix-pulled-profile? (profile) - "Return non-nil, if PROFILE is populated by 'guix pull'." + "Return non-nil, if PROFILE is populated by \\='guix pull\\='." (string-match-p guix-pulled-profile-regexp profile)) (defun guix-assert-non-system-profile (profile) @@ -126,7 +126,7 @@ The first parenthesized group should match profile file name.") (when (guix-system-profile? profile) (user-error "\ Packages cannot be installed or removed to/from profile '%s'. -Use 'guix system reconfigure' shell command to modify a system profile." +Use 'guix system reconfigure' shell command to modify a system profile" profile))) (defun guix-generation-file (profile generation) @@ -155,15 +155,15 @@ and `guix-default-user-profile' instead of `guix-user-profile'." (defun guix-generation-profile (profile &optional generation) "Return file name of PROFILE or its GENERATION. -The returned file name is the one that have generations in the -same parent directory. + +The returned file name is the one that have generations in the same +parent directory. If PROFILE matches `guix-system-profile-regexp' or -`guix-home-profile-regexp', then it is considered to be a system -or home profile. Unlike usual profiles, for a system/home -profile, packages are placed in 'profile' sub-directory, so the -returned file name does not contain this potential trailing -'/profile'." +`guix-home-profile-regexp', then it is considered to be a system or +home profile. Unlike usual profiles, for a system/home profile, +packages are placed in \\='profile\\=' sub-directory, so the returned +file name does not contain this potential trailing \\='/profile\\='." (let* ((profile (guix-profile profile)) (profile (if (and (or (guix-system-profile? profile) (guix-home-profile? profile)) @@ -234,7 +234,7 @@ is not a guix profile)." (defun guix-read-profile (&optional default) "Prompt for profile and return it. Use DEFAULT as a start directory. If it is nil, use -`guix-current-profile'." +the variable `guix-current-profile'." (guix-read-file-name "Profile: " (file-name-directory (or default guix-current-profile)))) @@ -252,13 +252,13 @@ See `guix-read-profile' for the meaning of DEFAULT, and (guix-generation-profile (guix-read-profile default))) (defun guix-read-manifest-file-name (&optional prompt) - "Prompt for a manifest file name and return it." + "PROMPT for a manifest file name and return it." (guix-read-file-name (or prompt "File with manifest: "))) ;;;###autoload (defun guix-set-current-profile (file-name) - "Set `guix-current-profile' to FILE-NAME. + "Set the variable `guix-current-profile' to FILE-NAME. Interactively, prompt for FILE-NAME. With prefix, use `guix-user-profile'." (interactive diff --git a/elisp/guix-read.el b/elisp/guix-read.el index e903a43..e88fb35 100644 --- a/elisp/guix-read.el +++ b/elisp/guix-read.el @@ -129,7 +129,9 @@ initial-contents." (defun guix-read-package-name-at-point (&optional prompt initial-contents) "Read symbol at point and if it is a package name, return it. If it is not a package name or if current command has a prefix -argument, read the name from minibuffer." +argument, read the name from minibuffer. +See `guix-read-package-name-default' for the meaning of options PROMPT +and INITIAL-CONTENTS." (if current-prefix-arg (guix-read-package-name-default prompt initial-contents) (let* ((at-point (thing-at-point 'symbol)) @@ -142,7 +144,9 @@ argument, read the name from minibuffer." initial-contents))))) (defun guix-read-package-name (&optional prompt initial-contents) - "Read a package name using `guix-read-package-name-function'." + "Read a package name using `guix-read-package-name-function'. +See the value of `guix-read-package-name-function' for the meaning of +options PROMPT and INITIAL-CONTENTS." (funcall guix-read-package-name-function prompt initial-contents)) diff --git a/elisp/guix-repl.el b/elisp/guix-repl.el index bf1dc82..846db60 100644 --- a/elisp/guix-repl.el +++ b/elisp/guix-repl.el @@ -59,13 +59,12 @@ (require 'guix-utils) (defvar guix-load-path nil - "Directory or a list of directories prepended to Guile's -`%load-path' when Guix REPL is started. + "Directory or a list of directories prepended to Guile's `%load-path'. -These directories take precedence over any other -directory (including Guile modules of Emacs-Guix and Guix -itself). So this variable may be useful if you prefer to use -guix from a git checkout: +These directories are prepended when Guix REPL is started. They take +precedence over any other directory (including Guile modules of +Emacs-Guix and Guix itself). So this variable may be useful if you +prefer to use guix from a git checkout: (setq guix-load-path \"/path/to/guix-from-git\") @@ -73,10 +72,10 @@ These directories are also prepended to `%load-compiled-path' unless `guix-load-compiled-path' is specified.") (defvar guix-load-compiled-path nil - "List of directories prepended to Guile's `%load-compiled-path' -when Guix REPL is started. + "List of directories prepended to Guile's `%load-compiled-path'. -See `guix-load-path' for details.") +These directories are prepended when Guix REPL is started. See +`guix-load-path' for details.") ;;; REPL @@ -108,9 +107,9 @@ If you have a slow system, try to increase this time." 'guix-repl-use-server "0.2") (defcustom guix-repl-use-server t - "If non-nil, start guile with '--listen' argument. + "If non-nil, start guile with \\='--listen\\=' argument. This allows to receive information about packages using an -additional (so called 'internal') REPL while some packages are +additional (so called \\='internal\\=') REPL while some packages are being installed/removed in the main Guix REPL." :type 'boolean :group 'guix-repl) @@ -181,8 +180,8 @@ executed after the current operation succeeds. See `guix-eval-in-repl' for details.") (defvar guix-repl-max-returned-list-size 10 - "Maximal length of a list that is passed from the Guile side to -the Emacs side directly through Geiser. + "Maximal length of a list passed from Guile to Emacs side. +This list is passed directly through Geiser. This is a performance variable: passing big chunks of data through Geiser may be slow, so to improve the speed, the Guile @@ -191,7 +190,7 @@ file, and then this file is read directly by Emacs. So if a list is lesser than the value of this variable, it is passed through Geiser. If it is bigger, it is written to a -file (in `guix-temporary-directory'). +file (variable `guix-temporary-directory'). Set this variable to nil, if you want to pass a list of any size through Geiser (not recommended). @@ -336,7 +335,7 @@ this address (it should be defined by geiser-repl-query-on-kill-p))))) (defun guix-repl-output-filter (str) - "Filter function suitable for `comint-output-filter-functions'. + "Filter STR for `comint-output-filter-functions'. This is a replacement for `geiser-repl--output-filter'." (cond ((string-match-p geiser-guile--prompt-regexp str) @@ -431,7 +430,7 @@ automatically when needed. However, you can still set it if you really want; your value will not be overwritten.") (defun guix-directory () - "Set if needed and return `guix-directory'." + "Set if needed and return the variable `guix-directory'." (or guix-directory (let* ((guix.scm (guix-eval-read "(%search-load-path \"guix\")")) (dir (and guix.scm @@ -439,7 +438,7 @@ really want; your value will not be overwritten.") (setq guix-directory dir)))) (defun guix-read-directory () - "Return `guix-directory' or prompt for it. + "Return the variable `guix-directory' or prompt for it. This function is intended for using in `interactive' forms." (if current-prefix-arg (read-directory-name "Directory with Guix modules: " @@ -450,7 +449,7 @@ This function is intended for using in `interactive' forms." ;; compatibility (in the past "guix pull" populated ;; "~/.config/guix/latest"). (defun guix-latest-directory () - "Return 'guix pull'-ed directory or nil if it does not exist." + "Return \\='guix pull\\='-ed directory or nil if it does not exist." (let* ((config-dir (or (getenv "XDG_CONFIG_HOME") (expand-file-name "~/.config"))) (latest-dir (expand-file-name "guix/latest" config-dir))) @@ -511,7 +510,7 @@ If MODES is nil, use modes for Guix package management." (defun guix-operation-buffers (&optional modes) "Return a list of all buffers with major modes derived from MODES. -If MODES is nil, return list of all Guix 'list' and 'info' buffers." +If MODES is nil, return list of all Guix \\='list\\=' and \\='info\\=' buffers." (--filter (guix-operation-buffer? it modes) (buffer-list))) diff --git a/elisp/guix-ui-generation.el b/elisp/guix-ui-generation.el index 6cff2fc..7d10d90 100644 --- a/elisp/guix-ui-generation.el +++ b/elisp/guix-ui-generation.el @@ -1,4 +1,4 @@ -;;; guix-ui-generation.el --- Interface for displaying generations -*- lexical-binding: t -*- +;;; guix-ui-generation.el --- Interface to display generations -*- lexical-binding: t -*- ;; Copyright © 2014–2018 Alex Kost @@ -19,7 +19,7 @@ ;;; Commentary: -;; This file provides an interface for displaying profile generations in +;; This file provides an interface to display profile generations in ;; 'list' and 'info' buffers, and commands for working with them. ;;; Code: @@ -42,9 +42,9 @@ (defun guix-generation-get-entries (proc profile search-type search-values params) - "Return 'generation' or 'system-generation' entries. -PROC is the name of a Scheme procedure (either 'generation-sexps' -or 'system-generation-sexps')." + "Return \\='generation\\=' or \\='system-generation\\=' entries. +PROC is the name of a Scheme procedure (either \\='generation-sexps\\=' +or \\='system-generation-sexps\\=')." (apply #'guix-modify-objects (guix-eval-read (guix-make-guile-expression proc profile search-type search-values params)) @@ -63,10 +63,8 @@ or 'system-generation-sexps')." (defun guix-generation-get-display (profile search-type &rest search-values) "Search for generations and show results. -If PROFILE is nil, use `guix-current-profile'. - -See `guix-ui-get-entries' for the meaning of SEARCH-TYPE and -SEARCH-VALUES." +If PROFILE is nil, use the variable `guix-current-profile'. +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (apply #'bui-list-get-display-entries 'guix-generation (or profile guix-current-profile) @@ -91,7 +89,9 @@ Each element from GENERATIONS is a generation number." (defun guix-switch-to-generation (profile generation &optional operation-buffer) - "Switch PROFILE to GENERATION." + "Switch PROFILE to GENERATION. + +Argument OPERATION-BUFFER is passed to `guix-eval-in-repl'." (when (or (not guix-operation-confirm) (y-or-n-p (format "Switch profile '%s' to generation %d? " profile generation))) @@ -101,8 +101,9 @@ Each element from GENERATIONS is a generation number." operation-buffer))) (defun guix-generation-current-package-profile (&optional generation) - "Return a directory where packages are installed for the -current profile's GENERATION." + "Return a directory where packages are installed. + +If GENERATION is provided, do that for the current profile's GENERATION." (guix-package-profile (guix-ui-current-profile) generation)) @@ -146,7 +147,9 @@ current profile's GENERATION." (defun guix-generation-info-get-entries (profile search-type &rest search-values) - "Return 'generation' entries for displaying them in 'info' buffer." + "Return PROFILE \\='generation\\=' entries to display them in `info' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (guix-generation-get-entries 'generation-sexps profile search-type search-values @@ -182,7 +185,7 @@ current profile's GENERATION." (bui-newline))) (defun guix-generation-info-insert-previous (prev-number entry) - "Insert PREV-NUMBER and button to compare generations." + "Insert PREV-NUMBER and button in ENTRY to compare generations." (bui-format-insert prev-number) (bui-insert-indent) (when (> prev-number 0) @@ -201,7 +204,7 @@ current profile's GENERATION." 'number number)))) (defun guix-generation-info-insert-packages (number entry) - "Insert the NUMBER of packages and button to display packages." + "Insert the NUMBER of packages and button in ENTRY to display packages." (bui-format-insert number) (bui-insert-indent) (let ((number (bui-entry-non-void-value entry 'number))) @@ -216,7 +219,9 @@ current profile's GENERATION." 'number number))) (defun guix-generation-info-insert-current (val entry) - "Insert boolean value VAL showing whether this generation is current." + "Insert in ENTRY the boolean value VAL. + +This value shows whether this generation is current." (if val (bui-info-insert-value-format "Yes" 'guix-generation-info-current) (bui-info-insert-value-format "No" 'guix-generation-info-not-current) @@ -302,7 +307,9 @@ If nothing is marked, return a list with generation at point." (defun guix-generation-list-get-entries (profile search-type &rest search-values) - "Return 'generation' entries for displaying them in 'list' buffer." + "Return \\='generation\\=' entries to display them in \\='list\\=' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information for PROFILE." (guix-generation-get-entries 'generation-sexps profile search-type search-values @@ -333,8 +340,10 @@ VAL is a boolean value." 'installed)) (defun guix-generation-list-show-search-paths (&optional type) - "Display 'search paths' environment variables for the marked generations. -If nothing is marked, use generation on the current line." + "Display \\='search paths\\=' environment variables for the marked generations. + +If nothing is marked, use generation on the current line. +Optionally get the search-path TYPE interactively." (interactive (list (guix-read-search-paths-type))) (guix-show-search-paths (guix-generation-list-marked-file-names) @@ -487,20 +496,22 @@ and its store file name." (string< (car a) (car b))))) (defun guix-generation-packages-buffer-name-default (profile generation) - "Return name of a buffer for displaying GENERATION's package outputs. + "Return name of a buffer to display GENERATION's package outputs. Use base name of PROFILE file name." (let ((profile-name (file-name-base (guix-file-name profile)))) (format "*Guix %s: generation %s*" profile-name generation))) (defun guix-generation-packages-buffer-name-long (profile generation) - "Return name of a buffer for displaying GENERATION's package outputs. + "Return name of a buffer to display GENERATION's package outputs. Use the full PROFILE file name." (format "*Guix generation %s (%s)*" generation profile)) (defun guix-generation-packages-buffer-name (profile generation) - "Return name of a buffer for displaying GENERATION's package outputs." + "Return name of a buffer to display GENERATION's package outputs. + +This is done for PROFILE." (funcall guix-generation-packages-buffer-name-function profile generation)) @@ -554,7 +565,7 @@ GENERATION is a generation number of the current profile." ;;;###autoload (defun guix-generations (&optional profile) "Display information about all generations. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use the variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (guix-ui-read-generation-profile))) (let ((profile (guix-profile profile))) @@ -565,7 +576,7 @@ Interactively with prefix, prompt for PROFILE." ;;;###autoload (defun guix-last-generations (number &optional profile) "Display information about last NUMBER generations. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use the variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (read-number "The number of last generations: ") @@ -579,7 +590,7 @@ Interactively with prefix, prompt for PROFILE." (defun guix-generations-by-time (from to &optional profile) "Display information about generations created between FROM and TO. FROM and TO should be time values. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use the variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (guix-read-date "Find generations (from): ") diff --git a/elisp/guix-ui-license.el b/elisp/guix-ui-license.el index 9b50034..93cfcdb 100644 --- a/elisp/guix-ui-license.el +++ b/elisp/guix-ui-license.el @@ -1,4 +1,4 @@ -;;; guix-ui-license.el --- Interface for displaying licenses -*- lexical-binding: t -*- +;;; guix-ui-license.el --- Interface to display licenses -*- lexical-binding: t -*- ;; Copyright © 2016–2017 Alex Kost @@ -19,7 +19,7 @@ ;;; Commentary: -;; This file provides 'list'/'info' interface for displaying licenses of +;; This file provides 'list'/'info' interface to display licenses of ;; Guix packages. ;;; Code: @@ -38,14 +38,18 @@ :titles '((url . "URL"))) (defun guix-license-get-entries (search-type &rest args) - "Receive 'license' entries. -SEARCH-TYPE may be one of the following symbols: `all', `id', `name'." + "Receive \\='license\\=' entries. + +SEARCH-TYPE may be one of the following symbols: \\='all\\=',\\='id\\=', +\\='name\\='. ARGS are passed to `guix-make-guile-expression'." (guix-eval-read (apply #'guix-make-guile-expression 'license-sexps search-type args))) (defun guix-license-get-display (search-type &rest args) - "Search for licenses and show results." + "Search for licenses and show results. + +SEARCH-TYPE and ARGS are passed to `bui-list-get-display-entries'." (apply #'bui-list-get-display-entries 'guix-license search-type args)) @@ -87,7 +91,7 @@ SEARCH-TYPE may be one of the following symbols: `all', `id', `name'." (bui-newline)) (defun guix-license-insert-comment (entry) - "Insert 'comment' of a license ENTRY." + "Insert \\='comment\\=' of a license ENTRY." (let ((comment (bui-entry-value entry 'comment))) (if (and comment (string-match-p "^http" comment)) @@ -97,7 +101,7 @@ SEARCH-TYPE may be one of the following symbols: `all', `id', `name'." (bui-newline)) (defun guix-license-insert-file (entry) - "Insert button to open license definition." + "Insert button to open license definition of ENTRY." (let ((license (bui-entry-value entry 'name))) (bui-insert-button (guix-license-file) 'bui-file diff --git a/elisp/guix-ui-lint-checker.el b/elisp/guix-ui-lint-checker.el index 2878efb..293374c 100644 --- a/elisp/guix-ui-lint-checker.el +++ b/elisp/guix-ui-lint-checker.el @@ -1,4 +1,4 @@ -;;; guix-ui-lint-checker.el --- Interface for displaying package lint checkers -*- lexical-binding: t -*- +;;; guix-ui-lint-checker.el --- Interface to display package lint checkers -*- lexical-binding: t -*- ;; Copyright © 2019 Alex Kost @@ -39,20 +39,23 @@ :message-function 'guix-lint-checker-message) (defun guix-lint-checker-get-entries (search-type &rest args) - "Receive 'lint-checker' entries. -SEARCH-TYPE may be one of the following symbols: `all', `local', -`id', `name'." + "Receive \\='lint-checker\\=' entries. + +SEARCH-TYPE may be one of the following symbols: \\='all\\=', \\='local\\=', +\\='id\\=', \\='name\\='. ARGS are passed to `guix-make-guile-expression'." (guix-eval-read (apply #'guix-make-guile-expression 'lint-checker-sexps search-type args))) (defun guix-lint-checker-get-display (search-type &rest args) - "Search for lint checkers and show results." + "Search for lint checkers and show results. + +SEARCH-TYPE and ARGS are passed to `bui-list-get-display-entries'." (apply #'bui-list-get-display-entries 'guix-lint-checker search-type args)) (defun guix-lint-checker-message (entries search-type &rest args) - "Display a message after showing lint-checker ENTRIES." + "Display a message after showing lint-checker ENTRIES for SEARCH-TYPE." (when (null entries) (cond ((memq search-type '(all local)) diff --git a/elisp/guix-ui-messages.el b/elisp/guix-ui-messages.el index 159c658..e44d290 100644 --- a/elisp/guix-ui-messages.el +++ b/elisp/guix-ui-messages.el @@ -154,11 +154,11 @@ guix-message-generations-by-time)))) (defun guix-message-string-name (name) - "Return a quoted name string." + "Return a quoted NAME string." (concat "'" name "'")) (defun guix-message-string-entry-type (entry-type &optional plural) - "Return a string denoting an ENTRY-TYPE." + "Return a string denoting an ENTRY-TYPE, optionally using PLURAL." (cl-ecase entry-type (package (if plural "packages" "package")) @@ -181,8 +181,10 @@ (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." +(defun guix-message-packages-by-id (entries _entry-type ids) + "Display a message for packages or outputs searched by IDS. + +ENTRIES are packages or outputs." (let ((count (length entries))) (if (= 0 count) (message (substitute-command-keys "\ @@ -199,7 +201,9 @@ Try \"\\[guix-packages-by-name-regexp]\" to find this package.") (message "")))) (defun guix-message-packages-by-name (entries entry-type names) - "Display a message for packages or outputs searched by NAMES." + "Display a message for ENTRIES searched by NAMES. + +ENTRIES are packages or outputs of ENTRY-TYPE." (let* ((count (length entries)) (str-beg (guix-message-string-entries count entry-type)) (str-end (if (cdr names) @@ -249,7 +253,7 @@ DEPEND-TYPE should a symbol `direct' or `all'." str-beg profile time-beg time-end))) (defun guix-message-outputs-by-diff (_ entries profiles) - "Display a message for outputs searched by PROFILES difference." + "Display a message for ENTRIES outputs searched by PROFILES difference." (let* ((count (length entries)) (str-beg (guix-message-string-entries count 'output)) (profile1 (car profiles)) diff --git a/elisp/guix-ui-package-location.el b/elisp/guix-ui-package-location.el index 568f972..ec82689 100644 --- a/elisp/guix-ui-package-location.el +++ b/elisp/guix-ui-package-location.el @@ -1,4 +1,4 @@ -;;; guix-ui-package-location.el --- Interface for displaying package locations -*- lexical-binding: t -*- +;;; guix-ui-package-location.el --- Interface to display package locations -*- lexical-binding: t -*- ;; Copyright © 2016–2018 Alex Kost @@ -19,7 +19,7 @@ ;;; Commentary: -;; This file provides a 'list' interface for displaying locations of Guix +;; This file provides a 'list' interface to display locations of Guix ;; packages. ;;; Code: @@ -33,7 +33,7 @@ (guix-define-groups package-location) (defun guix-package-location-get-entries () - "Receive 'package location' entries." + "Receive \\='package location\\=' entries." (guix-eval-read "(package-location-sexps)")) diff --git a/elisp/guix-ui-package.el b/elisp/guix-ui-package.el index 8dad304..f861820 100644 --- a/elisp/guix-ui-package.el +++ b/elisp/guix-ui-package.el @@ -1,4 +1,4 @@ -;;; guix-ui-package.el --- Interface for displaying packages -*- lexical-binding: t -*- +;;; guix-ui-package.el --- Interface to display packages -*- lexical-binding: t -*- ;; Copyright © 2014–2019, 2021 Alex Kost @@ -19,7 +19,7 @@ ;;; Commentary: -;; This file provides an interface for displaying packages and outputs +;; This file provides an interface to display packages and outputs ;; in 'list' and 'info' buffers, and commands for working with them. ;;; Code: @@ -44,23 +44,23 @@ (guix-ui-define-entry-type output) (defcustom guix-package-list-type 'output - "Define how to display packages in 'list' buffer. -Should be a symbol `package' or `output' (if `output', display each -output on a separate line; if `package', display each package on + "Define how to display packages in \\='list\\=' buffer. +Should be a symbol \\='package\\=' or \\='output\\=' (if \\='output\\=', display + each output on a separate line; if \\='package\\=', display each package on a separate line)." :type '(choice (const :tag "List of packages" package) (const :tag "List of outputs" output)) :group 'guix-package) (defcustom guix-package-use-name-at-point t - "If non-nil, \\[guix-packages-by-name] uses symbol at point as default + "If non-nil, \\[guix-packages-by-name] uses symbol at point as default. if it is a package name. If nil, then no default name is used." :type 'boolean :group 'guix-package) (defun guix-package-list-type () - "Return BUI list entry-type by `guix-package-list-type' variable." + "Return BUI list entry-type by variable `guix-package-list-type'." (guix-make-symbol guix-package-list-type)) ;; To avoid compilation warning: this variable is actually defined later @@ -70,7 +70,7 @@ If nil, then no default name is used." (defun guix-package-get-display (profile search-type &rest search-values) "Search for packages/outputs and show results. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use the variable `guix-current-profile'. See `guix-ui-get-entries' for the meaning of SEARCH-TYPE and SEARCH-VALUES. @@ -136,7 +136,7 @@ OUTPUTS, prompt for it." (car outputs))) (defun guix-read-package-entry-and-output (&optional entries) - "Return a list with package entry and output. + "Return a list with package ENTRIES and outputs. See `guix-read-package-entry-by-name' and `guix-read-package-output' for details." (let* ((entry (guix-read-package-entry-by-name entries)) @@ -183,9 +183,9 @@ PACKAGE-SPEC should have the following form: (ID [OUTPUT] ...)." (cl-defun guix-continue-package-operation-p (profile &key install upgrade remove) - "Return non-nil if a package operation should be continued. + "Return non-nil if a package operation should be continued in PROFILE. Ask a user if needed (see `guix-operation-confirm'). -INSTALL, UPGRADE, REMOVE are 'package action specifications'. +INSTALL, UPGRADE, REMOVE are \\='package action specifications\\='. See `guix-process-package-actions' for details." (or (null guix-operation-confirm) (let* ((entries (guix-ui-get-entries @@ -398,10 +398,10 @@ a newer version (probably it's time to update)." (((class color) (min-colors 8)) :foreground "blue")) "Face used for packages from the future. -'From the future' means there is a Guix package with this name +\\='From the future\\=' means there is a Guix package with this name but with an older version, i.e. the installed package is newer than available from Guix! This is rather unusual, it may happen, -for example, if you installed a package after 'guix pull' (see +for example, if you installed a package after \\='guix pull\\=' (see Info node `(guix) Invoking guix pull') and then you removed the pulled directory, so Guix searches for packages in its original directory with the old package recipes." @@ -509,7 +509,9 @@ formatted with this string, an action button is inserted.") (defun guix-package-info-get-entries (profile search-type &rest search-values) - "Return 'package' entries for displaying them in 'info' buffer." + "Return PROFILE \\='package\\=' entries to display them in `info' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (guix-eval-read (guix-make-guile-expression 'package/output-sexps @@ -544,7 +546,7 @@ formatted with this string, an action button is inserted.") 'location location-file))))) (defun guix-package-info-insert-systems (systems entry) - "Insert supported package SYSTEMS at point." + "Insert supported package SYSTEMS for ENTRY at point." (if (require 'build-farm-build nil t) (bui-info-insert-value-format systems 'build-farm-system @@ -578,7 +580,7 @@ Face name is `guix-package-info-TYPE-inputs'." (guix-package-info-define-insert-inputs propagated) (defun guix-package-info-insert-name-buttons (values &optional button) - "Insert package name buttons at point. + "Insert package name BUTTON at point. Each element from VALUES should either be a specification string or (id spec) list." (bui-insert-non-nil values @@ -603,7 +605,8 @@ or (id spec) list." (concat "\n" bui-info-multiline-prefix))))) (defun guix-package-info-insert-name-button (value &optional button) - "Insert package name button at point." + "Insert package name BUTTON at point. +VALUE should either be a specification string or (id spec) list." (guix-package-info-insert-name-buttons (list value) button)) (defun guix-package-info-insert-outputs (outputs entry) @@ -634,7 +637,7 @@ or (id spec) list." (pull (guix-package-info-insert-pull-text name entry)))))) (defun guix-package-info-insert-unknown-text (name) - "Insert a message about unknown package at point." + "Insert a message about unknown package NAME at point." (insert "This package is ") (bui-format-insert "unknown" 'guix-package-info-unknown) (insert ", i.e. there are no packages with\n" @@ -658,7 +661,7 @@ is newer than the available package recipe for ") (insert ".")) (defun guix-package-info-insert-pull-text (name entry) - "Insert a message that NAME package was 'guix pull'-ed." + "Insert a message that NAME package ENTRY was \\='guix pull\\='-ed." (insert "This ") (bui-insert-button name 'guix-package-name) (insert " package was installed by 'guix pull' command") @@ -799,7 +802,7 @@ PACKAGE-ID is an ID of the package which store path to show." (bui-newline)))) (defun guix-package-info-insert-build-button (id full-name) - "Insert button to build a package defined by ID." + "Insert button to build package FULL-NAME defined by ID." (bui-insert-action-button "Build" (lambda (btn) @@ -911,7 +914,7 @@ SOURCE is a list of URLs." (bui-info-insert-value-indent source 'guix-package-source)))) (defun guix-package-info-redisplay-after-download () - "Redisplay an 'info' buffer after downloading the package source. + "Redisplay an `info' buffer after downloading the package source. This function is used to hide a \"Download\" button if needed." (when (buffer-live-p guix-package-info-download-buffer) (with-current-buffer guix-package-info-download-buffer @@ -1097,7 +1100,7 @@ See `guix-package-info-hidden' face for details." :group 'guix-package-list-faces) (defcustom guix-package-list-generation-marking-enabled nil - "If non-nil, allow putting marks in a list with 'generation packages'. + "If non-nil, allow putting marks in a list with \\='generation packages\\='. By default this is disabled, because it may be confusing. For example, a package is installed in some generation, so a user can @@ -1131,7 +1134,9 @@ likely)." (defun guix-package-list-get-entries (profile search-type &rest search-values) - "Return 'package' entries for displaying them in 'list' buffer." + "Return PROFILE \\='package\\=' entries to display them in \\='list\\=' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (guix-eval-read (guix-make-guile-expression 'package/output-sexps @@ -1395,7 +1400,9 @@ Interactively, with prefix argument, prompt for NUMBER and ARGS." (defun guix-output-list-get-entries (profile search-type &rest search-values) - "Return 'output' entries for displaying them in 'list' buffer." + "Return PROFILE \\='output\\=' entries to display them in \\='list\\=' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (guix-eval-read (guix-make-guile-expression 'package/output-sexps @@ -1516,7 +1523,7 @@ See `guix-package-lint' for details." NAME is a string with name specification. It may optionally contain a version number. Examples: \"guile\", \"guile@2.0.11\". -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (let (default-pkg) @@ -1536,7 +1543,7 @@ Interactively with prefix, prompt for PROFILE." PARAMS are package parameters that should be searched. If PARAMS are not specified, use `guix-package-search-params'. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (read-regexp "Regexp: " nil 'guix-package-search-history) @@ -1551,7 +1558,7 @@ Interactively with prefix, prompt for PROFILE." ;;;###autoload (defun guix-packages-by-name-regexp (regexp &optional profile) "Search for Guix packages matching REGEXP in a package name. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (read-string "Package name by regexp: " @@ -1567,7 +1574,7 @@ Interactively with prefix, prompt for PROFILE." (defun guix-packages-by-license (license &optional profile) "Display Guix packages with LICENSE. LICENSE is a license name string. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (guix-read-license-name) @@ -1577,7 +1584,7 @@ Interactively with prefix, prompt for PROFILE." ;;;###autoload (defun guix-packages-by-location (location &optional profile) "Display Guix packages placed in LOCATION file. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (guix-read-package-location-file) @@ -1587,7 +1594,7 @@ Interactively with prefix, prompt for PROFILE." ;;;###autoload (defun guix-package-from-file (file &optional profile) "Display Guix package that the code from FILE evaluates to. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use variable `guix-current-profile'. Interactively prompt for FILE (see also `guix-support-dired'). With prefix argument, prompt for PROFILE as well." (interactive @@ -1602,7 +1609,7 @@ With prefix argument, prompt for PROFILE as well." (defun guix-packages-from-system-config-file (file &optional profile) "Display Guix packages from the operating system configuration FILE. -Make sure FILE has a proper 'operating-system' declaration. You +Make sure FILE has a proper \\='operating-system\\=' declaration. You may check it, for example, by running the following shell command: guix system build --dry-run FILE @@ -1616,9 +1623,9 @@ Interactively, prompt for FILE (see also `guix-support-dired'). With prefix argument, prompt for PROFILE as well. Note: This command displays only those packages that are placed -in 'packages' field of the 'operating-system' declaration. An -installed system also contains packages installed by -services (like 'guix' or 'shepherd'). To see all the packages +in \\='packages\\=' field of the \\='operating-system\\=' declaration. +An installed system also contains packages installed by +services (like \\='guix\\=' or \\='shepherd\\='). To see all the packages installed in a system profile, use '\\[guix-installed-system-packages]' command." (interactive @@ -1631,7 +1638,7 @@ installed in a system profile, use ;;;###autoload (defun guix-installed-packages (&optional profile) "Display information about installed Guix packages. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (guix-ui-read-package-profile))) (guix-package-get-display profile 'installed)) @@ -1651,7 +1658,7 @@ Interactively with prefix, prompt for PROFILE." ;;;###autoload (defun guix-obsolete-packages (&optional profile) "Display information about obsolete (or unknown) Guix packages. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (guix-ui-read-package-profile))) (guix-package-get-display profile 'unknown)) @@ -1659,7 +1666,7 @@ Interactively with prefix, prompt for PROFILE." ;;;###autoload (defun guix-superseded-packages (&optional profile) "Display information about superseded Guix packages. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (guix-ui-read-package-profile))) (guix-package-get-display profile 'superseded)) @@ -1674,13 +1681,14 @@ Interactively with prefix, prompt for PROFILE." ;;;###autoload (defun guix-dependent-packages (packages &optional type profile) "Display Guix packages that depend on PACKAGES. -This is similar to 'guix refresh --list-dependent PACKAGES ...'. + +This is similar to \\='guix refresh --list-dependent PACKAGES ...\\='. See Info node `(guix) Invoking guix refresh' for details. -TYPE should be a symbol `all' or `direct'. Interactively, prompt +TYPE should be a symbol \\='all\\=' or \\='direct\\='. Interactively, prompt for it. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (guix-read-package-names) @@ -1691,14 +1699,14 @@ Interactively with prefix, prompt for PROFILE." ;;;###autoload (defun guix-hidden-packages (&optional profile) "Display hidden Guix packages. -If PROFILE is nil, use `guix-current-profile'." +If PROFILE is nil, use variable `guix-current-profile'." (interactive (list (guix-ui-read-package-profile))) (guix-package-get-display profile 'hidden)) ;;;###autoload (defun guix-all-packages (&optional profile) "Display all available Guix packages. -If PROFILE is nil, use `guix-current-profile'. +If PROFILE is nil, use variable `guix-current-profile'. Interactively with prefix, prompt for PROFILE." (interactive (list (guix-ui-read-package-profile))) (guix-package-get-display profile 'all)) diff --git a/elisp/guix-ui-profile.el b/elisp/guix-ui-profile.el index d05eb0f..2f17b38 100644 --- a/elisp/guix-ui-profile.el +++ b/elisp/guix-ui-profile.el @@ -1,4 +1,4 @@ -;;; guix-ui-profile.el --- Interface for displaying profiles -*- lexical-binding: t -*- +;;; guix-ui-profile.el --- Interface to display profiles -*- lexical-binding: t -*- ;; Copyright © 2016–2019 Alex Kost @@ -19,7 +19,7 @@ ;;; Commentary: -;; This file provides a 'list' interface for displaying Guix profiles +;; This file provides a 'list' interface to display Guix profiles ;; with `guix-profiles' command. ;; ;; `guix-profiles' variable controls what profiles are displayed. @@ -67,7 +67,7 @@ properly.") (guix-eval-read "(user-profiles)"))))))) (defun guix-profile->entry (profile) - "Return 'guix-profile' entry by PROFILE file-name." + "Return \\='guix-profile\\=' entry by PROFILE file-name." (let* ((profile (guix-profile profile)) (number-of-packages (guix-profile-number-of-packages profile))) @@ -81,7 +81,10 @@ properly.") (error "No packages in '%s'. Is it a real profile?" profile)))) (defun guix-profile-get-entries (&optional search-type &rest args) - "Return 'guix-profile' entries." + "Return \\='guix-profile\\=' entries. + +SEARCH-TYPE define how to get the information. If SEARCH-TYPE is not +\\='all\\=', use ARGS defines the candidate profiles." (let ((profiles (cond ((or (null search-type) (eq search-type 'all)) @@ -174,8 +177,10 @@ If nothing is marked, return a list with profile at point." (guix-generations (guix-profile-list-current-profile))) (defun guix-profile-list-show-search-paths (&optional type) - "Display 'search paths' environment variables for the marked profiles. -If nothing is marked, use profile on the current line." + "Display \\='search paths\\=' environment variables for the marked profiles. + +If nothing is marked, use profile on the current line. TYPE defines how to +get the information." (interactive (list (guix-read-search-paths-type))) (guix-show-search-paths (guix-profile-list-marked-profiles) type)) @@ -191,7 +196,7 @@ If nothing is marked, use profile on the current line." (if value "(current)" "")) (defun guix-profile-list-set-current () - "Set `guix-current-profile' to the profile on the current line." + "Set the variable `guix-current-profile' to the profile on the current line." (interactive) (guix-set-current-profile (guix-profile-list-current-profile)) ;; Now updating "Current" column is needed. It can be done simply by @@ -288,7 +293,7 @@ If nothing is marked, use profile on the current line." (bui-newline))) (defun guix-profile-info-insert-current (value entry) - "Insert boolean VALUE showing whether this profile is current." + "Insert boolean VALUE showing whether this profile ENTRY is current." (if value (bui-info-insert-value-format "Yes" 'guix-profile-info-current) (bui-info-insert-value-format "No" 'guix-profile-info-not-current) @@ -337,7 +342,9 @@ If nothing is marked, use profile on the current line." (guix-generations profile)) (defun guix-profile-info-show-search-paths (profile &optional type) - "Display 'search paths' environment variables for PROFILE." + "Display \\='search paths\\=' environment variables for PROFILE. + +TYPE defines how to get the information." (interactive (list (guix-read-profile-from-entries) (guix-read-search-paths-type))) @@ -351,7 +358,7 @@ If nothing is marked, use profile on the current line." (guix-apply-manifest profile file (current-buffer))) (defun guix-profile-info-set-current (profile) - "Set `guix-current-profile' to PROFILE." + "Set variable `guix-current-profile' to PROFILE." (interactive (list (guix-read-profile-from-entries))) (guix-set-current-profile profile) (bui-revert nil t)) @@ -361,7 +368,7 @@ If nothing is marked, use profile on the current line." (defun guix-profiles-show () "Display Guix profiles. -Unlike `guix-profiles', this command always recreates +Unlike the function `guix-profiles', this command always recreates `guix-profile-list-buffer-name' buffer." (interactive) (bui-list-get-display-entries 'guix-profile)) @@ -372,28 +379,28 @@ Unlike `guix-profiles', this command always recreates Switch to the `guix-profile-list-buffer-name' buffer if it already exists. -Modify `guix-profiles' variable to add more profiles." +Modify the variable `guix-profiles' to add more profiles." (interactive) (guix-switch-to-buffer-or-funcall guix-profile-list-buffer-name #'guix-profiles-show 'message)) ;;;###autoload (defun guix-system-profile () - "Display interface for `guix-system-profile'." + "Display interface for the variable `guix-system-profile'." (interactive) (bui-get-display-entries 'guix-profile 'info (list 'profile guix-system-profile))) ;;;###autoload (defun guix-home-profile () - "Display interface for `guix-home-profile'." + "Display interface for the variable `guix-home-profile'." (interactive) (bui-get-display-entries 'guix-profile 'info (list 'profile guix-home-profile))) ;;;###autoload (defun guix-current-profile () - "Display interface for `guix-current-profile'." + "Display interface for the variable `guix-current-profile'." (interactive) (bui-get-display-entries 'guix-profile 'info (list 'profile guix-current-profile))) diff --git a/elisp/guix-ui-service-location.el b/elisp/guix-ui-service-location.el index 14b0f58..23b244a 100644 --- a/elisp/guix-ui-service-location.el +++ b/elisp/guix-ui-service-location.el @@ -1,4 +1,4 @@ -;;; guix-ui-service-location.el --- Interface for displaying service locations -*- lexical-binding: t -*- +;;; guix-ui-service-location.el --- Interface to display service locations -*- lexical-binding: t -*- ;; Copyright © 2018 Alex Kost @@ -19,7 +19,7 @@ ;;; Commentary: -;; This file provides a 'list' interface for displaying locations of +;; This file provides a 'list' interface to display locations of ;; Guix System services. ;;; Code: @@ -33,7 +33,7 @@ (guix-define-groups service-location) (defun guix-service-location-get-entries () - "Receive 'service location' entries." + "Receive \\='service location\\=' entries." (guix-eval-read "(service-location-sexps)")) diff --git a/elisp/guix-ui-service.el b/elisp/guix-ui-service.el index a23fed9..a434178 100644 --- a/elisp/guix-ui-service.el +++ b/elisp/guix-ui-service.el @@ -1,4 +1,4 @@ -;;; guix-ui-service.el --- Interface for displaying services -*- lexical-binding: t -*- +;;; guix-ui-service.el --- Interface to display services -*- lexical-binding: t -*- ;; Copyright © 2017–2018 Alex Kost @@ -38,20 +38,26 @@ :message-function 'guix-service-message) (defun guix-service-get-entries (search-type search-values params) - "Receive 'service' entries. -SEARCH-TYPE may be one of the following symbols: `id', `all', -`name', `regexp', `location', `from-os-file', `from-expression'." + "Receive \\='service\\=' entries. +SEARCH-TYPE may be one of the following symbols: \\='id\\=', \\='all\\=', +\\='name\\=', \\='regexp\\=', \\='location\\=', \\='from-os-file\\=', +\\='from-expression\\='. SEARCH-TYPE and SEARCH-VALUES define how to +get the information. PARAMS is passed to `guix-make-guile-expression'." (guix-eval-read (guix-make-guile-expression 'service-sexps search-type search-values params))) (defun guix-service-get-display (search-type &rest search-values) - "Search for services and show results." + "Search for services and show results. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (apply #'bui-list-get-display-entries 'guix-service search-type search-values)) (defun guix-service-message (entries search-type &rest search-values) - "Display a message after showing service ENTRIES." + "Display a message after showing service ENTRIES. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (if (null entries) (message "Couldn't find services") (let ((count (length entries))) @@ -110,7 +116,7 @@ SEARCH-TYPE may be one of the following symbols: `id', `all', (defface guix-service-info-heading '((t :inherit bui-info-heading)) - "Face used for 'info' buffer heading (service name)." + "Face used for `info' buffer heading (service name)." :group 'guix-service-info-faces) (defface guix-service-info-description @@ -125,7 +131,7 @@ SEARCH-TYPE may be one of the following symbols: `id', `all', (defvar guix-service-info-required-params '(id) - "List of the required 'service' parameters. + "List of the required \\='service\\=' parameters. These parameters are received from the Scheme side along with the displayed parameters. @@ -143,7 +149,9 @@ identifying an entry.") 'add))) (defun guix-service-info-get-entries (search-type &rest search-values) - "Return 'service' entries for displaying them in 'info' buffer." + "Return \\='service\\=' entries to display them in `info' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (guix-service-get-entries search-type search-values (cl-union guix-service-info-required-params @@ -194,7 +202,7 @@ identifying an entry.") (defvar guix-service-list-required-params '(id) - "List of the required 'service' parameters. + "List of the required \\='service\\=' parameters. These parameters are received from the Scheme side along with the displayed parameters. @@ -213,7 +221,9 @@ identifying an entry.") (bui-default-hint))) (defun guix-service-list-get-entries (search-type &rest search-values) - "Return 'service' entries for displaying them in 'list' buffer." + "Return \\='service\\=' entries to display them in \\='list\\=' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (guix-service-get-entries search-type search-values (cl-union guix-service-list-required-params diff --git a/elisp/guix-ui-store-item.el b/elisp/guix-ui-store-item.el index 9abd261..13a2d78 100644 --- a/elisp/guix-ui-store-item.el +++ b/elisp/guix-ui-store-item.el @@ -1,6 +1,7 @@ -;;; guix-ui-store-item.el --- Interface for displaying store items -*- lexical-binding: t -*- +;;; guix-ui-store-item.el --- Interface to display store items -*- lexical-binding: t -*- ;; Copyright © 2018 Alex Kost +;; Copyright © 2025 Nicolas Graves ;; This file is part of Emacs-Guix. @@ -93,21 +94,26 @@ of the file names are ignored." (defun guix-store-item-get-entries (search-type &optional search-values params) - "Receive 'store-item' entries. -SEARCH-TYPE may be one of the following symbols: `id', `live', -`dead', `referrers', `references', `derivers', `requisites', -`failures'." + "Receive \\='store-item\\=' entries. +SEARCH-TYPE may be one of the following symbols: \\='id\\=', \\='live\\=', +\\='dead\\=', \\='referrers\\=', \\='references\\=', \\='derivers\\=', +\\='requisites\\=',\\='failures\\='. SEARCH-TYPE and SEARCH-VALUES define how +to get the information. PARAMS are passed to `guix-make-guile-expression'." (guix-eval-read (guix-make-guile-expression 'store-item-sexps search-type search-values params))) (defun guix-store-item-get-display (search-type &rest search-values) - "Search for store items and show results." + "Search for store items and show results. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (apply #'bui-list-get-display-entries 'guix-store-item search-type search-values)) (defun guix-store-item-message (entries search-type &rest search-values) - "Display a message after showing store item ENTRIES." + "Display a message after showing store item ENTRIES. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (let ((count (length entries)) (val (car search-values))) (cl-flet ((msg (str &rest args) @@ -189,7 +195,7 @@ SEARCH-TYPE may be one of the following symbols: `id', `live', (defvar guix-store-item-info-required-params '(id) - "List of the required 'store-item' parameters. + "List of the required \\='store-item\\=' parameters. These parameters are received from the Scheme side along with the displayed parameters. @@ -197,7 +203,9 @@ Do not remove `id' from this info as it is required for identifying an entry.") (defun guix-store-item-info-get-entries (search-type &rest search-values) - "Return 'store-item' entries for displaying them in 'info' buffer." + "Return \\='store-item\\=' entries to display them in `info' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (guix-store-item-get-entries search-type search-values (cl-union guix-store-item-info-required-params @@ -310,7 +318,7 @@ See `guix-store-item-info-insert-type-button' for the meaning of TYPE." (defvar guix-store-item-list-required-params '(id) - "List of the required 'store-item' parameters. + "List of the required \\='store-item\\=' parameters. These parameters are received from the Scheme side along with the displayed parameters. @@ -343,7 +351,9 @@ identifying an entry.") (bui-default-hint))) (defun guix-store-item-list-get-entries (search-type &rest search-values) - "Return 'store-item' entries for displaying them in 'list' buffer." + "Return \\='store-item\\=' entries to display them in \\='list\\=' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (guix-store-item-get-entries search-type search-values (cl-union guix-store-item-list-required-params @@ -435,7 +445,7 @@ Interactively, prompt for a single file name." ;;;###autoload (defun guix-store-item-referrers (&rest file-names) "Display referrers of the FILE-NAMES store item. -This is analogous to 'guix gc --referrers FILE-NAMES' shell +This is analogous to \\='guix gc --referrers FILE-NAMES\\=' shell command. See Info node `(guix) Invoking guix gc'." (interactive (list (guix-store-file-name-read))) (apply #'guix-assert-files-exist file-names) @@ -444,7 +454,7 @@ command. See Info node `(guix) Invoking guix gc'." ;;;###autoload (defun guix-store-item-references (&rest file-names) "Display references of the FILE-NAMES store item. -This is analogous to 'guix gc --references FILE-NAMES' shell +This is analogous to \\='guix gc --references FILE-NAMES\\=' shell command. See Info node `(guix) Invoking guix gc'." (interactive (list (guix-store-file-name-read))) (apply #'guix-assert-files-exist file-names) @@ -453,7 +463,7 @@ command. See Info node `(guix) Invoking guix gc'." ;;;###autoload (defun guix-store-item-requisites (&rest file-names) "Display requisites of the FILE-NAMES store item. -This is analogous to 'guix gc --requisites FILE-NAMES' shell +This is analogous to \\='guix gc --requisites FILE-NAMES\\=' shell command. See Info node `(guix) Invoking guix gc'." (interactive (list (guix-store-file-name-read))) (apply #'guix-assert-files-exist file-names) @@ -462,7 +472,7 @@ command. See Info node `(guix) Invoking guix gc'." ;;;###autoload (defun guix-store-item-derivers (&rest file-names) "Display derivers of the FILE-NAMES store item. -This is analogous to 'guix gc --derivers FILE-NAMES' shell +This is analogous to \\='guix gc --derivers FILE-NAMES\\=' shell command. See Info node `(guix) Invoking guix gc'." (interactive (list (guix-store-file-name-read))) (apply #'guix-assert-files-exist file-names) @@ -471,7 +481,7 @@ command. See Info node `(guix) Invoking guix gc'." ;;;###autoload (defun guix-store-failures () "Display store items corresponding to cached build failures. -This is analogous to 'guix gc --list-failures' shell command. +This is analogous to \\='guix gc --list-failures\\=' shell command. See Info node `(guix) Invoking guix gc'." (interactive) (guix-store-item-get-display 'failures)) @@ -479,7 +489,7 @@ See Info node `(guix) Invoking guix gc'." ;;;###autoload (defun guix-store-live-items () "Display live store items. -This is analogous to 'guix gc --list-live' shell command. +This is analogous to \\='guix gc --list-live\\=' shell command. See Info node `(guix) Invoking guix gc'." (interactive) (guix-store-item-get-display 'live)) @@ -487,7 +497,7 @@ See Info node `(guix) Invoking guix gc'." ;;;###autoload (defun guix-store-dead-items () "Display dead store items. -This is analogous to 'guix gc --list-dead' shell command. +This is analogous to \\='guix gc --list-dead\\=' shell command. See Info node `(guix) Invoking guix gc'." (interactive) (guix-store-item-get-display 'dead)) diff --git a/elisp/guix-ui-system-generation.el b/elisp/guix-ui-system-generation.el index f5dba56..5524957 100644 --- a/elisp/guix-ui-system-generation.el +++ b/elisp/guix-ui-system-generation.el @@ -1,4 +1,4 @@ -;;; guix-ui-system-generation.el --- Interface for displaying system generations -*- lexical-binding: t -*- +;;; guix-ui-system-generation.el --- Interface to display system generations -*- lexical-binding: t -*- ;; Copyright © 2016–2018 Alex Kost @@ -19,7 +19,7 @@ ;;; Commentary: -;; This file provides an interface for displaying system generations +;; This file provides an interface to display system generations ;; in 'list' and 'info' buffers, and commands for working with them. ;;; Code: @@ -39,10 +39,10 @@ (rx-to-string `(and ,guix-store-directory "/" (+ alnum) "-shepherd.conf") t) - "Regexp matching 'shepherd.conf' file placed in the store.") + "Regexp matching \\='shepherd.conf\\=' file placed in the store.") (defun guix-system-generation-add-kernel-config (entry) - "Return ENTRY with 'kernel-config' parameter." + "Return ENTRY with \\='kernel-config\\=' parameter." (let* ((kernel (bui-entry-value entry 'kernel)) (dir (file-name-directory kernel)) ;; Nowadays kernel config has ".config" name, but before @@ -54,7 +54,7 @@ ,@entry))) (defun guix-system-generation-add-shepherd-config (entry) - "Return ENTRY with 'shepherd-config' parameter." + "Return ENTRY with \\='shepherd-config\\=' parameter." (let* ((file-name (bui-entry-value entry 'file-name)) (boot-file (expand-file-name "boot" file-name))) (with-temp-buffer @@ -68,7 +68,10 @@ (defun guix-system-generation-get-entries (profile search-type search-values params) - "Return 'system-generation' entries." + "Return PROFILE \\='system-generation\\=' entries. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information. +PARAMS are passed to `guix-generation-get-entries' after processing." (let* ((add-kernel-config? (or (null params) (memq 'kernel-config params))) (add-shepherd-config? (or (null params) @@ -129,7 +132,10 @@ SEARCH-VALUES." (defun guix-system-generation-info-get-entries (profile search-type &rest search-values) - "Return 'system-generation' entries for displaying them in 'info' buffer." + "Return \\='system-generation\\=' entries to display them in `info' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information for +profile PROFILE." (guix-system-generation-get-entries profile search-type search-values (cl-union guix-system-generation-info-required-params @@ -165,7 +171,9 @@ SEARCH-VALUES." (defun guix-system-generation-list-get-entries (profile search-type &rest search-values) - "Return 'system-generation' entries for displaying them in 'list' buffer." + "Return \\='system-generation\\=' entries to display them in \\='list\\=' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information for PROFILE." (guix-system-generation-get-entries profile search-type search-values (cl-union guix-system-generation-list-required-params diff --git a/elisp/guix-ui-system.el b/elisp/guix-ui-system.el index 4cfc1e3..4e228e2 100644 --- a/elisp/guix-ui-system.el +++ b/elisp/guix-ui-system.el @@ -40,8 +40,11 @@ (number-of-services . "Services"))) (defun guix-system-get-entries (search-type search-values params) - "Receive 'system' entries. -SEARCH-TYPE may be one of the following symbols: `from-file'." + "Receive \\='system\\=' entries. + +SEARCH-TYPE may be one of the following symbols: \\='from-file\\='. +SEARCH-TYPE and SEARCH-VALUES define how to get the information. +PARAMS are passed to `guix-make-guile-expression'." (let ((sexps (guix-eval-read (guix-make-guile-expression 'system-sexps search-type search-values params)))) @@ -53,7 +56,9 @@ SEARCH-TYPE may be one of the following symbols: `from-file'." sexps))) (defun guix-system-get-display (search-type &rest search-values) - "Search for systems and show results." + "Search for systems and show results. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (bui-get-display-entries 'guix-system 'info (cl-list* search-type search-values))) @@ -76,7 +81,9 @@ SEARCH-TYPE may be one of the following symbols: `from-file'." (initrd-modules format (format)))) (defun guix-system-info-get-entries (search-type &rest search-values) - "Return 'system' entries for displaying them in 'info' buffer." + "Return \\='system\\=' entries to display them in `info' buffer. + +SEARCH-TYPE and SEARCH-VALUES define how to get the information." (guix-system-get-entries search-type search-values (bui-info-displayed-params 'guix-system))) @@ -111,7 +118,7 @@ SEARCH-TYPE may be one of the following symbols: `from-file'." ;;;###autoload (defun guix-system-from-file (file) - "Display info on 'operating-system' declaration from FILE. + "Display info on \\='operating-system\\=' declaration from FILE. See `guix-packages-from-system-config-file' for more details on FILE. Interactively, prompt for FILE (see also `guix-support-dired')." (interactive (list (guix-read-os-file-name))) diff --git a/elisp/guix-ui.el b/elisp/guix-ui.el index bc4b6df..a4ff453 100644 --- a/elisp/guix-ui.el +++ b/elisp/guix-ui.el @@ -50,14 +50,14 @@ See `bui-hint' for details.") guix-ui-current profile search-type search-values) (defun guix-ui-read-package-profile () - "Return `guix-current-profile' or prompt for it. + "Return variable `guix-current-profile' or prompt for it. This function is intended for using in `interactive' forms." (if current-prefix-arg (guix-read-package-profile) guix-current-profile)) (defun guix-ui-read-generation-profile () - "Return `guix-current-profile' or prompt for it. + "Return variable `guix-current-profile' or prompt for it. This function is intended for using in `interactive' forms." (if current-prefix-arg (guix-read-generation-profile) @@ -83,7 +83,7 @@ with all available parameters." profile entry-type search-type search-values params))) (defun guix-ui-list-describe (&rest ids) - "Describe 'ui' entries with IDS (list of identifiers)." + "Describe \\='ui\\=' entries with IDS (list of identifiers)." (bui-get-display-entries (bui-current-entry-type) 'info (cl-list* (guix-ui-current-profile) 'id ids) @@ -116,7 +116,7 @@ The function is called with 2 arguments: BASE-NAME and PROFILE." (guix-compose-buffer-name base-name profile)) (defun guix-ui-buffer-name (base-name profile) - "Return Guix buffer name based on BASE-NAME and profile. + "Return Guix buffer name based on BASE-NAME and PROFILE. See `guix-ui-buffer-name-function' for details." (funcall guix-ui-buffer-name-function base-name profile)) @@ -141,7 +141,7 @@ This macro also defines: (defun ,message-fun (entries profile search-type &rest search-values) ,(format "\ -Display a message after showing '%s' entries. +Display a message after showing \\='%s\\=' entries. This is a wrapper for `guix-result-message'." entry-type-str) (guix-result-message profile entries ',entry-type @@ -154,7 +154,7 @@ This is a wrapper for `guix-result-message'." ,@args)))) (defmacro guix-ui-define-interface (entry-type buffer-type &rest args) - "Define BUFFER-TYPE interface for displaying ENTRY-TYPE entries. + "Define BUFFER-TYPE interface to display ENTRY-TYPE entries. Remaining arguments (ARGS) should have a form [KEYWORD VALUE] ... In the following description TYPE means ENTRY-TYPE-BUFFER-TYPE. @@ -200,7 +200,7 @@ Along with the mentioned definitions, this macro also defines: (defvar ,required-var ,required-val ,(format "\ -List of the required '%s' parameters. +List of the required \\='%s\\=' parameters. These parameters are received from the Scheme side along with the displayed parameters. @@ -210,7 +210,7 @@ identifying an entry." (defun ,buffer-name-fun (profile &rest _) ,(format "\ -Return a name of '%s' buffer for displaying '%s' entries. +Return a name of \\='%s\\=' buffer to display \\='%s\\=' entries. See `guix-ui-buffer-name' for details." buffer-type-str entry-type-str) (guix-ui-buffer-name ,buffer-name-val profile)) diff --git a/elisp/guix-utils.el b/elisp/guix-utils.el index 02570aa..5535eb9 100644 --- a/elisp/guix-utils.el +++ b/elisp/guix-utils.el @@ -67,17 +67,17 @@ This function is similar to `shell-quote-argument', but less strict." (rx (not (any alnum "-=,./\n"))) "\\\\\\&" argument)))) (defun guix-command-symbol (&optional args) - "Return symbol by concatenating 'guix-command' and ARGS (strings)." + "Return symbol by concatenating \\='guix-command\\=' and ARGS (strings)." (intern (guix-concat-strings (cons "guix-command" args) "-"))) (defun guix-command-string (&optional args) - "Return 'guix ARGS ...' string with quoted shell arguments." + "Return \\='guix ARGS ...\\=' string with quoted shell arguments." (let ((args (mapcar #'guix-shell-quote-argument args))) (guix-concat-strings (cons "guix" args) " "))) (defun guix-copy-command-as-kill (args &optional no-message?) - "Put 'guix ARGS ...' string into `kill-ring'. -See also `guix-copy-as-kill'." + "Put \\='guix ARGS ...\\=' string into `kill-ring'. +See also `bui-copy-as-kill' for NO-MESSAGE?." (bui-copy-as-kill (guix-command-string args) no-message?)) (defun guix-compose-buffer-name (base-name postfix) @@ -106,37 +106,36 @@ If BASE-NAME is wrapped by '*', then the result is: (concat "*" name-body ": " postfix "*") (concat base-name ": " postfix))))) -(defun guix-completing-read (prompt table &optional predicate - require-match initial-input - hist def inherit-input-method) - "Same as `completing-read' but return nil instead of an empty string." - (let ((res (completing-read prompt table predicate - require-match initial-input - hist def inherit-input-method))) +(defun guix-completing-read (prompt table &rest completing-read-rest) + "Same as `completing-read' but return nil instead of an empty string. + +Pass PROMPT, TABLE and the COMPLETING-READ-REST arguments to `completing-read'." + (let ((res (apply #'completing-read prompt table completing-read-rest))) (unless (string= "" res) res))) -(defun guix-completing-read-multiple (prompt table &optional predicate - require-match initial-input - hist def inherit-input-method) - "Same as `completing-read-multiple' but remove duplicates in result." +(defun guix-completing-read-multiple (prompt table &rest completing-read-rest) + "Same as `completing-read-multiple', but remove duplicates in result. + +Pass PROMPT, TABLE and the COMPLETING-READ-REST arguments to +`completing-read-multiple'." (cl-remove-duplicates - (completing-read-multiple prompt table predicate - require-match initial-input - hist def inherit-input-method) + (apply #'completing-read-multiple prompt table completing-read-rest) :test #'string=)) (declare-function org-read-date "org" t) (defun guix-read-date (prompt) - "Prompt for a date or time using `org-read-date'. -Return time value." + "PROMPT for a date or time using `org-read-date'. +Return a time value." (require 'org) (org-read-date nil t nil prompt)) (declare-function pcmpl-unix-user-names "pcmpl-unix") (defun guix-read-user-name (&optional prompt initial-input) - "Prompt for a user name using completions." + "Prompt for a user name using completions. + +Optionally takes PROMPT and INITIAL-INPUT arguments of `completing-read'." (require 'pcmpl-unix) (guix-completing-read (or prompt "User name: ") (pcmpl-unix-user-names) @@ -246,12 +245,12 @@ See `guix-modify' for details." objects)) (defun guix-make-symbol (&rest symbols) - "Return `guix-SYMBOLS-...' symbol." + "Return \\='guix-symbols-...\\=' SYMBOLS." (apply #'bui-make-symbol 'guix symbols)) (defmacro guix-define-groups (name &rest args) - "Define `guix-NAME' and `guix-NAME-faces' customization groups. -See `bui-define-groups' for details." + "Define `guix-name' and `guix-name-faces' customization groups from NAME. +See `bui-define-groups' for ARGS and details." (declare (indent 1)) `(bui-define-groups ,(bui-make-symbol 'guix name) :parent-group guix @@ -309,30 +308,29 @@ argument." "Expand FILE-NAME and remove trailing slash if needed." (directory-file-name (expand-file-name file-name))) -(defun guix-read-file-name (&optional prompt dir default-filename - mustmatch initial predicate) +(defun guix-read-file-name (&optional prompt &rest read-file-name-rest) "Read file name. This function is similar to `read-file-name' except it also -expands the file name." +expands the file name. Pass PROMPT and READ-FILE-NAME-REST arguments +to `read-file-name'." (expand-file-name - (read-file-name (or prompt "File: ") - dir default-filename - mustmatch initial predicate))) + (apply #'read-file-name (or prompt "File: ") read-file-name-rest))) (declare-function dired-get-filename "dired" t) -(defun guix-read-file-name-maybe (&optional prompt dir default-filename - mustmatch initial predicate) +(defun guix-read-file-name-maybe (&optional prompt &rest read-file-name-rest) "Read file name or get it from `dired-mode'. -See `guix-support-dired' for details. See also `guix-read-file-name'." +See `guix-support-dired' for details. See also `guix-read-file-name'. +This function is similar to `read-file-name' except it also +expands the file name. Pass PROMPT and READ-FILE-NAME-REST arguments +to `read-file-name'." (if (and guix-support-dired (derived-mode-p 'dired-mode)) (dired-get-filename) - (guix-read-file-name prompt dir default-filename - mustmatch initial predicate))) + (apply #'guix-read-file-name prompt read-file-name-rest))) (defun guix-read-os-file-name () - "Read file name with Guix System 'operating-system' declaration." + "Read file name with Guix System \\='operating-system\\=' declaration." (guix-read-file-name-maybe "System configuration file: ")) (defun guix-find-file (file) @@ -373,8 +371,7 @@ example: However, if COMPILED is non-nil, the directory with compiled (.go) files is returned, for example: - ROOT/lib/guile/2.2/site-ccache -" + ROOT/lib/guile/2.2/site-ccache" (let* ((dir (expand-file-name (if compiled "lib/guile" "share/guile/site") @@ -398,7 +395,7 @@ If nil, it will be set when it will be used the first time. This directory will be deleted on Emacs exit.") (defun guix-temporary-directory () - "Return `guix-temporary-directory' (set it if needed)." + "Return the variable `guix-temporary-directory' (set it if needed)." (or (and guix-temporary-directory (file-exists-p guix-temporary-directory) guix-temporary-directory) @@ -406,7 +403,7 @@ This directory will be deleted on Emacs exit.") (make-temp-file "emacs-guix-" 'dir)))) (defun guix-temporary-file-name (name &optional suffix) - "Return file NAME from `guix-temporary-directory'. + "Return file NAME from the variable `guix-temporary-directory'. If such file name already exists, or if SUFFIX string is specified, make the returned name unique." (let* ((file-name (expand-file-name name (guix-temporary-directory))) @@ -418,7 +415,7 @@ specified, make the returned name unique." file-name))) (defun guix-delete-temporary-directory () - "Delete `guix-temporary-directory' if it exists." + "Delete the variable `guix-temporary-directory' if it exists." (when (and guix-temporary-directory (file-exists-p guix-temporary-directory)) (condition-case nil @@ -458,7 +455,9 @@ If nil, do not perform refontifying.") "A string or list of strings specifying switches to be passed to diff.") (defun guix-diff (old new &optional switches no-async) - "Same as `diff', but use `guix-diff-switches' as default." + "Same as `diff', but use `guix-diff-switches' as default. + +OLD, NEW, SWITCHES and NO-ASYNC are passed to `diff'." (diff old new (or switches guix-diff-switches) no-async)) @@ -468,7 +467,8 @@ If nil, do not perform refontifying.") &optional require-match default) "Define NAME function to read from minibuffer. READ-FUN may be `completing-read', `completing-read-multiple' or -another function with the same arguments." +another function with the same arguments. COMPLETIONS, PROMPT, +REQUIRE-MATCH and DEFAULT are passed to this function." (declare (indent 1)) `(defun ,name (&optional prompt initial-contents) (,read-fun (or prompt ,prompt) @@ -558,7 +558,7 @@ keywords are available: (defmacro guix-memoized-defun (name arglist docstring &rest body) "Define a memoized function NAME. -See `defun' for the meaning of arguments." +See `defun' for the meaning of arguments ARGLIST, DOCSTRING and BODY." (declare (doc-string 3) (indent 2)) `(defalias ',name (guix-memoize (lambda ,arglist ,@body)) @@ -572,7 +572,8 @@ See `defun' for the meaning of arguments." docstring))) (defmacro guix-memoized-defalias (symbol definition &optional docstring) - "Set SYMBOL's function definition to memoized version of DEFINITION." + "Set SYMBOL's function definition to memoized version of DEFINITION. +Optionally provide DOCSTRING." (declare (doc-string 3) (indent 1)) `(defalias ',symbol (guix-memoize #',definition) From patchwork Mon Mar 3 02:09:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 39632 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9F05727BBEA; Mon, 3 Mar 2025 02:10:58 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id C3F4827BBE2 for ; Mon, 3 Mar 2025 02:10:57 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tovG7-00037F-DU; Sun, 02 Mar 2025 21:10:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tovFs-0002z5-4L for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:04 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tovFr-0000sW-Q2 for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=3M2ygZd44i7gqyL1nQmG9PLqA6XFLJW+lWS96Hyx4mw=; b=mvRjjRl0mNnJtIm0IxSHVo3jalGEBqiY11+VGbrZrQPdT4tr1LPgY+hpy+5zna3Qv2n37e6f0Kfb2EONj6ZJx/dVuIk3SBxwz2a+GlVdkBm5Oe7UBBh5bkV/9y6AzOBEvXW8KapkvngJxGAaV/8VtbomwuqVv/P4k91/6wRQpJxmnbbT6oQ9WR4gK+crOmnCSOm0fQbX0gQDq0J3l4xTnl62xx/JKjgIPvg+qxidDQ2r9Wps6tYCF1Fp3y2BkKhHgyMRte5FnVgETWXGNKZ3J49RKad2Zw/faUlPO7DOg64UlCruF29ymS6MT6JOaJu9gfd6ypj3RPh35ip3cALNnA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tovFq-0007eR-Kt for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76699] [PATCH 3/5] Remove dash dependency, introduce llama library Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 03 Mar 2025 02:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76699 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76699@debbugs.gnu.org Cc: Nicolas Graves Received: via spool by 76699-submit@debbugs.gnu.org id=B76699.174096778629282 (code B ref 76699); Mon, 03 Mar 2025 02:10:02 +0000 Received: (at 76699) by debbugs.gnu.org; 3 Mar 2025 02:09:46 +0000 Received: from localhost ([127.0.0.1]:40744 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tovFZ-0007c8-TH for submit@debbugs.gnu.org; Sun, 02 Mar 2025 21:09:46 -0500 Received: from 15.mo583.mail-out.ovh.net ([178.33.107.29]:48287) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tovFU-0007b1-7T for 76699@debbugs.gnu.org; Sun, 02 Mar 2025 21:09:42 -0500 Received: from director7.ghost.mail-out.ovh.net (unknown [10.109.140.229]) by mo583.mail-out.ovh.net (Postfix) with ESMTP id 4Z5j1b1yGGz1T6x for <76699@debbugs.gnu.org>; Mon, 3 Mar 2025 02:09:39 +0000 (UTC) Received: from ghost-submission-5b5ff79f4f-rpnvq (unknown [10.110.178.62]) by director7.ghost.mail-out.ovh.net (Postfix) with ESMTPS id ED6151FDFF; Mon, 3 Mar 2025 02:09:38 +0000 (UTC) Received: from ngraves.fr ([37.59.142.106]) by ghost-submission-5b5ff79f4f-rpnvq with ESMTPSA id UsdfL2IPxWflTA8APzYwNQ (envelope-from ); Mon, 03 Mar 2025 02:09:38 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-106R00644a9a709-2937-4aff-80aa-2eb9f2ba633c, 3FD0527DE2CE9D3C35B0E9483E243F320C79A24B) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.92.117.144 Date: Mon, 3 Mar 2025 03:09:18 +0100 Message-ID: <20250303020932.4194-3-ngraves@ngraves.fr> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250303020932.4194-1-ngraves@ngraves.fr> References: <20250303020932.4194-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 1108729936254001890 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 49 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeljeekkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecuogfuuhhsphgvtghtffhomhgrihhnucdlgeelmdenucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomheppfhitgholhgrshcuifhrrghvvghsuceonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqeenucggtffrrghtthgvrhhnpeetjeeugedvjeduvefhveelffehjefhtdetheetheffkeegveefhfejleetleelueenucffohhmrghinhepghhithhhuhgsrdgtohhmpdhgihhtlhgrsgdrtghomhdpghhithhlrggsrdhiohenucfkphepuddvjedrtddrtddruddpledtrdelvddruddujedrudeggedpfeejrdehledrudegvddruddtieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepnhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrpdhnsggprhgtphhtthhopedupdhrtghpthhtohepjeeiieelleesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekfegmpdhmohguvgepshhmthhpohhuth DKIM-Signature: a=rsa-sha256; bh=3M2ygZd44i7gqyL1nQmG9PLqA6XFLJW+lWS96Hyx4mw=; c=relaxed/relaxed; d=ngraves.fr; h=From; s=ovhmo4487190-selector1; t=1740967779; v=1; b=s0XSgFRB2eHN/w1JvBfny5Q0AKrI20fdhf5l1tshxmwTFW6yP8Elz/Xr3/5YL1ZqaHEqhBjx gyOnaNucEyQpUXsrnk/Z2blCiJLmhPj8GUy3uissimtPi9iKLQE4i3dutJrBMrXl4x2DHnI41fj +wx3uhGlwo09bjv9y2q9VEIvZw/M2L+SEyBrSkofO4UP80tO9vo6WHSU+FKowVPilyXlAIVq1+i 6HvChGWCSNKiMR0irnu34NHL1rEYfCxl2kaT5isMz0M2j50cV1EbRfkXIExrqjGBYSMUEpIDve4 DnH6OB+Lax/OnobsugTJKknUgPQW/f8GTlYB37QxKgYzg== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- configure.ac | 16 ++++++++-------- doc/emacs-guix.texi | 8 ++++---- elisp/guix-help.el | 1 - elisp/guix-repl.el | 6 +++--- elisp/guix-ui-generation.el | 1 - elisp/guix-ui-package.el | 12 ++++++------ elisp/guix-ui-profile.el | 28 +++++++++++++++------------- elisp/guix-ui-store-item.el | 2 -- elisp/guix-utils.el | 1 - elisp/guix.el | 2 +- elisp/local.mk | 4 ++-- 11 files changed, 39 insertions(+), 42 deletions(-) diff --git a/configure.ac b/configure.ac index 3461bb3..31c7328 100644 --- a/configure.ac +++ b/configure.ac @@ -109,12 +109,12 @@ AC_ARG_WITH([geiser-lispdir], [geiserlispdir="no"]) AC_SUBST([geiserlispdir]) -AC_ARG_WITH([dash-lispdir], - [AS_HELP_STRING([--with-dash-lispdir], - [directory with dash.el file])], - [dashlispdir="$withval"], - [dashlispdir="no"]) -AC_SUBST([dashlispdir]) +AC_ARG_WITH([llama-lispdir], + [AS_HELP_STRING([--with-llama-lispdir], + [directory with llama.el file])], + [llamalispdir="$withval"], + [llamalispdir="no"]) +AC_SUBST([llamalispdir]) AC_ARG_WITH([bui-lispdir], [AS_HELP_STRING([--with-bui-lispdir], @@ -138,7 +138,7 @@ AC_ARG_WITH([transient-lispdir], AC_SUBST([transientlispdir]) AM_CONDITIONAL([GEISER_DIR], [test "x$geiserlispdir" != "xno"]) -AM_CONDITIONAL([DASH_DIR], [test "x$dashlispdir" != "xno"]) +AM_CONDITIONAL([LLAMA_DIR], [test "x$llamalispdir" != "xno"]) AM_CONDITIONAL([BUI_DIR], [test "x$builispdir" != "xno"]) AM_CONDITIONAL([EDITINDIRECT_DIR], [test "x$editindirectlispdir" != "xno"]) AM_CONDITIONAL([TRANSIENT_DIR], [test "x$transientlispdir" != "xno"]) @@ -148,7 +148,7 @@ dnl byte-compilation. Otherwise, "emacs" will be used, and it will dnl hopefully find these packages in its 'load-path'. AM_CONDITIONAL([EMACS_Q], [test "x$geiserlispdir" != "xno" -a \ - "x$dashlispdir" != "xno" -a \ + "x$llamalispdir" != "xno" -a \ "x$builispdir" != "xno" -a \ "x$editindirectlispdir" != "xno" -a \ "x$transientlispdir" != "xno"]) diff --git a/doc/emacs-guix.texi b/doc/emacs-guix.texi index 6bb3810..1953b09 100644 --- a/doc/emacs-guix.texi +++ b/doc/emacs-guix.texi @@ -176,8 +176,8 @@ from the Guix Guile code. So without Geiser, you can use the same features as without Guix. @item -@uref{https://github.com/magnars/dash.el, dash library}, version -2.11.0 or later. +@uref{https://github.com/tarsius/llama, llama library}, version +0.6.1 or later. @item @uref{https://gitlab.com/alezost-emacs/bui, BUI library}, version @@ -1091,8 +1091,8 @@ easy accessible key combination, for example, to @kbd{@key{super}-g}: (global-set-key (kbd "s-g") 'guix) @end example -@node Guix Keyboard-driven Menu -@section Guix Keyboard-driven Menu +@node Keyboard-driven Menu +@section Keyboard-driven Menu @findex guix-command There is one rather special transient suffix in @kbd{M-x@tie{}guix}. It diff --git a/elisp/guix-help.el b/elisp/guix-help.el index 53ccd3a..f8be213 100644 --- a/elisp/guix-help.el +++ b/elisp/guix-help.el @@ -23,7 +23,6 @@ ;;; Code: -(require 'dash) (require 'bui) (require 'guix nil t) (require 'guix-utils) diff --git a/elisp/guix-repl.el b/elisp/guix-repl.el index 846db60..0ebf603 100644 --- a/elisp/guix-repl.el +++ b/elisp/guix-repl.el @@ -48,7 +48,6 @@ ;;; Code: -(require 'dash) (require 'geiser-mode) (require 'geiser-guile) (require 'guix nil t) @@ -57,6 +56,7 @@ (require 'guix-external) (require 'guix-profiles) (require 'guix-utils) +(require 'llama) (defvar guix-load-path nil "Directory or a list of directories prepended to Guile's `%load-path'. @@ -209,8 +209,8 @@ After setting this variable, you need to kill (lcp (if guix-load-compiled-path (guix-list-maybe guix-load-compiled-path) lp))) - (append (--mapcat (list "-L" (guix-file-name it)) lp) - (--mapcat (list "-C" (guix-file-name it)) lcp)))) + (append (apply #'append (list "-L" (##guix-file-name %1)) lp) + (apply #'append (list "-C" (##guix-file-name %1)) lcp)))) "-L" ,guix-scheme-directory ,@(and guix-config-scheme-compiled-directory (list "-C" guix-config-scheme-compiled-directory)) diff --git a/elisp/guix-ui-generation.el b/elisp/guix-ui-generation.el index 7d10d90..ba28814 100644 --- a/elisp/guix-ui-generation.el +++ b/elisp/guix-ui-generation.el @@ -25,7 +25,6 @@ ;;; Code: (require 'cl-lib) -(require 'dash) (require 'bui) (require 'guix nil t) (require 'guix-ui) diff --git a/elisp/guix-ui-package.el b/elisp/guix-ui-package.el index f861820..293e597 100644 --- a/elisp/guix-ui-package.el +++ b/elisp/guix-ui-package.el @@ -25,7 +25,6 @@ ;;; Code: (require 'cl-lib) -(require 'dash) (require 'bui) (require 'guix nil t) (require 'guix-ui) @@ -39,6 +38,7 @@ (require 'guix-location) (require 'guix-package) (require 'guix-profiles) +(require 'llama) (guix-ui-define-entry-type package) (guix-ui-define-entry-type output) @@ -102,14 +102,14 @@ is found and `guix-package-list-show-single' is nil." (defun guix-package-entry-installed-outputs (entry) "Return a list of installed outputs for the package ENTRY." - (--map (bui-entry-non-void-value it 'output) - (bui-entry-non-void-value entry 'installed))) + (mapcar (##bui-entry-non-void-value %1 'output) + (bui-entry-non-void-value entry 'installed))) (defun guix-read-package-name-from-entries (entries) "Prompt for a package name and return it. Names are completed from package ENTRIES." (completing-read "Package: " - (--map (bui-entry-value it 'name) entries))) + (mapcar (##bui-entry-value %1 'name) entries))) (defun guix-read-package-entry-by-name (&optional entries) "Return an entry from package ENTRIES (current entries by default). @@ -1165,8 +1165,8 @@ Colorize it with an appropriate face if needed." (defun guix-package-list-get-installed-outputs (installed &optional _) "Return string with outputs from INSTALLED entries." (bui-get-string - (--map (bui-entry-non-void-value it 'output) - installed))) + (mapcar (##bui-entry-non-void-value %1 'output) + installed))) (defun guix-package-list-marking-check () "Signal an error if marking is disabled for the current buffer." diff --git a/elisp/guix-ui-profile.el b/elisp/guix-ui-profile.el index 2f17b38..0923ba5 100644 --- a/elisp/guix-ui-profile.el +++ b/elisp/guix-ui-profile.el @@ -26,13 +26,13 @@ ;;; Code: -(require 'dash) (require 'bui) (require 'guix nil t) (require 'guix-profiles) (require 'guix-read) (require 'guix-utils) (require 'guix-misc) +(require 'llama) (guix-define-groups profile) @@ -55,15 +55,15 @@ properly.") "Return a list of all profiles." (or guix-profiles (setq guix-profiles - (--filter - (and it (file-exists-p it)) + (seq-filter + (##and %1 (file-exists-p %1)) (delete-dups - (-cons* guix-default-user-profile - guix-default-pulled-profile - guix-system-profile - guix-home-profile - (--when-let (getenv "GUIX_PROFILE") - (guix-file-name it)) + (append (list guix-default-user-profile + guix-default-pulled-profile + guix-system-profile + guix-home-profile + (when-let ((profile (getenv "GUIX_PROFILE"))) + (guix-file-name profile))) (guix-eval-read "(user-profiles)"))))))) (defun guix-profile->entry (profile) @@ -107,8 +107,8 @@ are multiple entries, prompt for a profile name and return it." (or entries (setq entries (bui-current-entries))) (if (cdr entries) (completing-read "Profile: " - (--map (bui-entry-value it 'profile) - entries)) + (mapcar (##bui-entry-value %1 'profile) + entries)) (bui-entry-value (car entries) 'profile))) @@ -208,8 +208,10 @@ get the information." (lambda (entry) (let ((id (bui-entry-id entry))) (cons `(current . ,(equal id current-id)) - (--remove-first (eq (car it) 'current) - entry)))) + (seq-remove-at-position + (seq-filter (##eq (car %1) 'current) + entry) + 0)))) (bui-current-entries)))) (setf (bui-item-entries bui-item) new-entries)) diff --git a/elisp/guix-ui-store-item.el b/elisp/guix-ui-store-item.el index 13a2d78..91c1d96 100644 --- a/elisp/guix-ui-store-item.el +++ b/elisp/guix-ui-store-item.el @@ -1,7 +1,6 @@ ;;; guix-ui-store-item.el --- Interface to display store items -*- lexical-binding: t -*- ;; Copyright © 2018 Alex Kost -;; Copyright © 2025 Nicolas Graves ;; This file is part of Emacs-Guix. @@ -27,7 +26,6 @@ (require 'cl-lib) (require 'ffap) -(require 'dash) (require 'bui) (require 'guix-package) (require 'guix-guile) diff --git a/elisp/guix-utils.el b/elisp/guix-utils.el index 5535eb9..1d0db3f 100644 --- a/elisp/guix-utils.el +++ b/elisp/guix-utils.el @@ -24,7 +24,6 @@ ;;; Code: (require 'cl-lib) -(require 'dash) (require 'bui-utils) (require 'guix nil t) diff --git a/elisp/guix.el b/elisp/guix.el index 2686a24..6e0ebc8 100644 --- a/elisp/guix.el +++ b/elisp/guix.el @@ -6,7 +6,7 @@ ;; Version: 0.5.2 ;; URL: https://emacs-guix.gitlab.io/website/ ;; Keywords: tools -;; Package-Requires: ((emacs "24.3") (dash "2.11.0") (geiser "0.8") (bui "1.2.0") (transient "0.8.4") (edit-indirect "0.1.4")) +;; Package-Requires: ((emacs "24.3") (llama "0.6.1") (geiser "0.8") (bui "1.2.0") (transient "0.8.4") (edit-indirect "0.1.4")) ;; This file is part of Emacs-Guix. diff --git a/elisp/local.mk b/elisp/local.mk index 4efbae5..b5b10c0 100644 --- a/elisp/local.mk +++ b/elisp/local.mk @@ -28,8 +28,8 @@ if GEISER_DIR AM_ELCFLAGS += -L "$(geiserlispdir)" endif -if DASH_DIR - AM_ELCFLAGS += -L "$(dashlispdir)" +if LLAMA_DIR + AM_ELCFLAGS += -L "$(llamalispdir)" endif if BUI_DIR From patchwork Mon Mar 3 02:09:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 39631 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 19A2927BBE9; Mon, 3 Mar 2025 02:10:34 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 7D10D27BBE2 for ; Mon, 3 Mar 2025 02:10:32 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tovGE-0003IZ-6W; Sun, 02 Mar 2025 21:10:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tovFt-00030J-Kj for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:06 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tovFt-00014M-7q for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=rq1mhPKcsPTsFzSpCJLKafTQtL8K6vZFIug55BP6V1w=; b=fYEBTxw7dnmCShYi9MR+16PmZKEL3sCdsijGPmLvYI4JNwyQa5/kBvL2XjOBFKzuAzusQN+ifuvugR+E5AXlnfiyuJBLeGvufZJVGjiz/pVJ+nEdaB0dxgdq8yAjcXzdmuiwmDtrUkLjOm6uRK7aOKZbl5mLGYyJwlbnO0CgJbj9mWIK77f2+YXfpNm5qYVRogP1XmitIplXQ3yYvnC3qclei+VBE1hQQjlxAcziUyjO3eONne7+EnfZ7CDKAOdlcHxDD/JkHSM5L7+QNphptjt/ooJsmZhR6hIlYHYHTV+9ECtkJ/wwbiX+Qg8usPk8YIiazhJ8kT7LZa87K+0Axw==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tovFs-0007f3-WD for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:05 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76699] [PATCH 4/5] Use a development channel instead of guix.scm Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 03 Mar 2025 02:10:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76699 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76699@debbugs.gnu.org Cc: Nicolas Graves Received: via spool by 76699-submit@debbugs.gnu.org id=B76699.174096779429348 (code B ref 76699); Mon, 03 Mar 2025 02:10:04 +0000 Received: (at 76699) by debbugs.gnu.org; 3 Mar 2025 02:09:54 +0000 Received: from localhost ([127.0.0.1]:40751 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tovFg-0007d5-VF for submit@debbugs.gnu.org; Sun, 02 Mar 2025 21:09:54 -0500 Received: from 6.mo560.mail-out.ovh.net ([87.98.165.38]:35271) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tovFW-0007bN-JP for 76699@debbugs.gnu.org; Sun, 02 Mar 2025 21:09:45 -0500 Received: from director11.ghost.mail-out.ovh.net (unknown [10.108.2.97]) by mo560.mail-out.ovh.net (Postfix) with ESMTP id 4Z5j1c4zZJz1Vh0 for <76699@debbugs.gnu.org>; Mon, 3 Mar 2025 02:09:40 +0000 (UTC) Received: from ghost-submission-5b5ff79f4f-9vblb (unknown [10.110.96.237]) by director11.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 143661FDDB; Mon, 3 Mar 2025 02:09:39 +0000 (UTC) Received: from ngraves.fr ([37.59.142.95]) by ghost-submission-5b5ff79f4f-9vblb with ESMTPSA id fxSWJWMPxWd6YAcAkrx+OQ (envelope-from ); Mon, 03 Mar 2025 02:09:39 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-95G0015523aaf8-a601-434d-a087-22ec13bad09a, 3FD0527DE2CE9D3C35B0E9483E243F320C79A24B) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.92.117.144 Date: Mon, 3 Mar 2025 03:09:19 +0100 Message-ID: <20250303020932.4194-4-ngraves@ngraves.fr> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250303020932.4194-1-ngraves@ngraves.fr> References: <20250303020932.4194-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 1109011410058011362 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeljeekkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecunecujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepkefgudeuheevuefggfdthfevffdvuddvfeeuueeuudeuffdvveduieejveeiffffnecuffhomhgrihhnpehstghmrdhnvgigthdpghhnuhdrohhrghenucfkphepuddvjedrtddrtddruddpledtrdelvddruddujedrudeggedpfeejrdehledrudegvddrleehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpehnghhrrghvvghssehnghhrrghvvghsrdhfrhdpnhgspghrtghpthhtohepuddprhgtphhtthhopeejieeileelseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehiedtmgdpmhhouggvpehsmhhtphhouhht DKIM-Signature: a=rsa-sha256; bh=rq1mhPKcsPTsFzSpCJLKafTQtL8K6vZFIug55BP6V1w=; c=relaxed/relaxed; d=ngraves.fr; h=From; s=ovhmo4487190-selector1; t=1740967780; v=1; b=IuIyGatKXyi1UoMxNRS2s5Ukw3vLqLLxissgw8ayUMRHIcGvpIwIAEUAGeLMM1+tMO34J8/M FIBfRUEdMSaFG2573skAEh69At3DuSjdV4mUsGe0dfstQFEkmRKH2FrRGLOPP8kEDjRrdXH+t5O MxrkxGUIU8qi3wO6AJKcHLZ4IZfvQL0EzqQJZ+WYkHcpnMOhV19JPkLemVYbNiBcdssUtfBkn2m 2RgLAiasipvyEIPQNIXecLlja8Z3RY3lRw+fPLasqLjiz8cW8Ow46Vho6go325/hWbsR5tkLnFZ lOONhi8xal16WCzG28be4tKule3XxITgliB8IluYUAH+A== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- .guix-channel | 3 + guix.scm => channel/emacs-guix-channel.scm | 69 ++++++-------- channel/emacs-guix-channel.scm.next | 104 +++++++++++++++++++++ 3 files changed, 137 insertions(+), 39 deletions(-) create mode 100644 .guix-channel rename guix.scm => channel/emacs-guix-channel.scm (50%) create mode 100644 channel/emacs-guix-channel.scm.next diff --git a/.guix-channel b/.guix-channel new file mode 100644 index 0000000..bb2ac66 --- /dev/null +++ b/.guix-channel @@ -0,0 +1,3 @@ +(channel + (version 0) + (directory "channel")) diff --git a/guix.scm b/channel/emacs-guix-channel.scm similarity index 50% rename from guix.scm rename to channel/emacs-guix-channel.scm index d35b0ba..ea8a6e7 100644 --- a/guix.scm +++ b/channel/emacs-guix-channel.scm @@ -2,6 +2,7 @@ ;; Copyright © 2017 Alex Kost ;; Copyright © 2019 Oleg Pykhalov +;; Copyright © 2025 Nicolas Graves ;; This file is part of Emacs-Guix. @@ -21,72 +22,62 @@ ;;; Commentary: ;; This file contains Guix package for development version of -;; Emacs-Guix. To build or install, run: +;; Emacs-Guix. To build it, you need guile-git in your profile. +;; Then, in the parent directory, run or install: ;; -;; guix build --file=guix.scm -;; guix package --install-from-file=guix.scm +;; guix build -L channel emacs-guix-devel +;; guix install -L channel emacs-guix-devel ;; The main purpose of this file though is to make a development ;; environment for building Emacs-Guix: ;; -;; guix environment --pure --load=guix.scm +;; guix shell -L channel -D --pure emacs-guix-devel ;; ./autogen.sh ;; ./configure ;; make ;;; Code: +(define-module (emacs-guix-channel)) + (use-modules + (git) (ice-9 popen) (ice-9 rdelim) (guix build utils) (guix gexp) (guix git-download) (guix packages) + (guix utils) (gnu packages autotools) (gnu packages emacs) (gnu packages emacs-xyz) + (gnu packages guile-xyz) (gnu packages pkg-config) (gnu packages texinfo)) -(define %source-dir (dirname (current-filename))) - -(define (git-output . args) - "Execute 'git ARGS ...' command and return its output without trailing -newspace." - (with-directory-excursion %source-dir - (let* ((port (apply open-pipe* OPEN_READ "git" args)) - (output (read-string port))) - (close-pipe port) - (string-trim-right output #\newline)))) - -(define (current-commit) - (git-output "log" "-n" "1" "--pretty=format:%H")) - -(define emacs-guix-devel - (let ((commit (current-commit))) +(define-public emacs-guix/devel + (let* ((source-dir (dirname (dirname (current-filename)))) + (repo (repository-open source-dir)) + (commit (oid->string (object-id (revparse-single repo "HEAD"))))) (package (inherit emacs-guix) - (version (string-append (package-version emacs-guix) - "-" (string-take commit 7))) - (source (local-file %source-dir + (name "emacs-guix-devel") + (version (string-append + (string-drop-right (package-version emacs-guix) 7) + (string-take commit 7))) + (source (local-file source-dir #:recursive? #t - #:select? (git-predicate %source-dir))) + #:select? (git-predicate source-dir))) (arguments - (append (package-arguments emacs-guix) - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'autogen - (lambda _ (zero? (system* "sh" "autogen.sh")))))))) - (native-inputs - `(("pkg-config" ,pkg-config) - ;; 'emacs-minimal' does not find Emacs packages (this is for - ;; "guix environment"). - ("emacs" ,emacs-no-x) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("texinfo" ,texinfo)))))) - -emacs-guix-devel + (substitute-keyword-arguments (package-arguments emacs-guix) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'autogen + (lambda _ (zero? (system* "sh" "autogen.sh")))))))) + (propagated-inputs + (modify-inputs (package-propagated-inputs emacs-guix) + (replace "emacs-dash" emacs-llama) + (replace "emacs-magit-popup" emacs-transient)))))) ;;; guix.scm ends here diff --git a/channel/emacs-guix-channel.scm.next b/channel/emacs-guix-channel.scm.next new file mode 100644 index 0000000..58a2a44 --- /dev/null +++ b/channel/emacs-guix-channel.scm.next @@ -0,0 +1,104 @@ +;;; guix.scm --- Guix package for Emacs-Guix + +;; Copyright © 2017 Alex Kost +;; Copyright © 2019 Oleg Pykhalov +;; Copyright © 2025 Nicolas Graves + +;; This file is part of Emacs-Guix. + +;; Emacs-Guix is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; Emacs-Guix is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with Emacs-Guix. If not, see . + +;;; Commentary: + +;; This file contains Guix package for development version of +;; Emacs-Guix. To build or install, run: +;; +;; guix build --file=guix.scm +;; guix package --install-from-file=guix.scm + +;; The main purpose of this file though is to make a development +;; environment for building Emacs-Guix: +;; +;; guix environment --pure --load=guix.scm +;; ./autogen.sh +;; ./configure +;; make + +;;; Code: + +(define-module (emacs-guix-channel)) + +(use-modules + (git) + (ice-9 match) + (ice-9 popen) + (ice-9 rdelim) + (guix build utils) + (guix gexp) + (guix git-download) + (guix packages) + (guix profiles) + (gnu packages autotools) + (gnu packages emacs) + (gnu packages emacs-xyz) + (rde packages emacs-xyz) + (gnu packages guile) + (gnu packages guile-xyz) + (rde packages guile-xyz) + (gnu packages package-management) + (gnu packages pkg-config) + (gnu packages terminals) + (gnu packages texinfo)) + +(define guix-with-guile-next + ((package-input-rewriting/spec `(("guile" . ,(const guile-next)))) guix)) + +(define emacs-guix/devel + (let* ((source-dir (dirname (dirname (current-filename)))) + (repo (repository-open source-dir)) + (commit (oid->string + (object-id (revparse-single repo "HEAD"))))) + (package + (inherit emacs-guix) + (name "emacs-guix-arei") + (version (string-append + (string-drop-right (package-version emacs-guix) 7) + (string-take commit 7))) + (source (local-file source-dir + #:recursive? #t + #:select? (git-predicate source-dir))) + ;; (arguments + ;; (append (package-arguments emacs-guix) + ;; '(#:phases + ;; (modify-phases %standard-phases + ;; (add-after 'unpack 'autogen + ;; (lambda _ (zero? (system* "sh" "autogen.sh")))))))) + (inputs + (modify-inputs (package-inputs emacs-guix) + (replace "guile" guile-next) + (append guile-ares-rs-latest) + (append foot))) + (propagated-inputs + (modify-inputs (package-propagated-inputs emacs-guix) + (append emacs-arei-latest)))))) + +(match (cdr (command-line)) + (("build" . rest) emacs-guix/devel) + ;; (("shell" "-D" . rest) ) + ;; (("shell" . rest) (specifications->manifest (list "emacs-guix/devel"))) + (otherwise (package->development-manifest emacs-guix/devel) + ;; (error (format #f "Unable to handle ~a!" otherwise)) + )) + +;;; guix.scm ends here From patchwork Mon Mar 3 02:09:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 39633 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id CB09627BBEA; Mon, 3 Mar 2025 02:11:32 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id EEF1C27BBE2 for ; Mon, 3 Mar 2025 02:11:30 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tovG8-000399-9E; Sun, 02 Mar 2025 21:10:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tovFs-0002z8-7B for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:04 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tovFr-0000wa-Rs for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=UuPf1b71z5w7VLOfBfDFHUJKObwQbr24mw5cYirE7GI=; b=ScMq6P7lPZGh+08Vx5+yBINvsV7ZofrtESKZRt5j6TbrHTg+NN+q1E2DK5Zg/IA6K7AdxHZIB3huU3Km7Y+b9zc1MyNexlWRmhtyGgBR5EThMUPiOzWVptCpMa2PpE22Rs3sf2aOvWTtkQq4hTJs3VDDI5DPf0NLBXLlmAHqjBZZOCRi7L/PYL+0OsdhSnphCch/G9IwmluKxUoHvff3X8EpA4RbahA8EjBYxyPy6taOaB9j5FC08QVS8n2sJRAGdohv4FOCG3vRs6rRikdu0TbEqTs69nvw3n8+zDur3REfTx0JI8wDy424tiOi89IxNfWvVi6uamsuvduUq15JXQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tovFr-0007ei-KD for guix-patches@gnu.org; Sun, 02 Mar 2025 21:10:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76699] [PATCH 5/5] Update NEWS Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 03 Mar 2025 02:10:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76699 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76699@debbugs.gnu.org Cc: Nicolas Graves Received: via spool by 76699-submit@debbugs.gnu.org id=B76699.174096779329334 (code B ref 76699); Mon, 03 Mar 2025 02:10:03 +0000 Received: (at 76699) by debbugs.gnu.org; 3 Mar 2025 02:09:53 +0000 Received: from localhost ([127.0.0.1]:40749 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tovFg-0007cw-Hs for submit@debbugs.gnu.org; Sun, 02 Mar 2025 21:09:52 -0500 Received: from 15.mo561.mail-out.ovh.net ([87.98.150.177]:55823) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tovFW-0007bU-UY for 76699@debbugs.gnu.org; Sun, 02 Mar 2025 21:09:44 -0500 Received: from director6.ghost.mail-out.ovh.net (unknown [10.108.2.97]) by mo561.mail-out.ovh.net (Postfix) with ESMTP id 4Z5j1d2w9hz1RRm for <76699@debbugs.gnu.org>; Mon, 3 Mar 2025 02:09:41 +0000 (UTC) Received: from ghost-submission-5b5ff79f4f-bxndx (unknown [10.110.168.221]) by director6.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 2CAAD1FDEC; Mon, 3 Mar 2025 02:09:40 +0000 (UTC) Received: from ngraves.fr ([37.59.142.100]) by ghost-submission-5b5ff79f4f-bxndx with ESMTPSA id dwdmK2QPxWfgtRAAslHJeA (envelope-from ); Mon, 03 Mar 2025 02:09:40 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-100R0036aa0297d-b08d-48ac-8876-299d4ceed16f, 3FD0527DE2CE9D3C35B0E9483E243F320C79A24B) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.92.117.144 Date: Mon, 3 Mar 2025 03:09:20 +0100 Message-ID: <20250303020932.4194-5-ngraves@ngraves.fr> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250303020932.4194-1-ngraves@ngraves.fr> References: <20250303020932.4194-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 1109292885370135266 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeljeekjecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecunecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomheppfhitgholhgrshcuifhrrghvvghsuceonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqeenucggtffrrghtthgvrhhnpeelffejteeutefhfeekfffffedvudekjeekgfeludeitdfhkeevhfeivdfhffeggeenucfkphepuddvjedrtddrtddruddpledtrdelvddruddujedrudeggedpfeejrdehledrudegvddruddttdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepnhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrpdhnsggprhgtphhtthhopedupdhrtghpthhtohepjeeiieelleesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheeiudgmpdhmohguvgepshhmthhpohhuth DKIM-Signature: a=rsa-sha256; bh=UuPf1b71z5w7VLOfBfDFHUJKObwQbr24mw5cYirE7GI=; c=relaxed/relaxed; d=ngraves.fr; h=From; s=ovhmo4487190-selector1; t=1740967781; v=1; b=ZIO/5sdl2QxwnCy6TJUx2G6yLKHQ9IrjUhmgKHexSHg93sc1pBF67eJbPY22ema170u4rVMV DJbqcf9+slNmskbQW6p9I5aoSei59HlCU6EfR7CMYwqC0w5WKUiyVKGuzXVW4DHusJ2gL3IPEzg BDcd3Ze25DlfdDH6bjUjmYcjDjy0GrJPMJI44nYOBr2Q2Fjfrf399wU0kIzaDPzf5uMv67JNZEY tzN7Kv1EiPt5tI7X4NfP3e/CfJk0Wqgz37xmpZBWJjKW+Zbo4LJUyOVTLmlTqvfAqzZSo6kB2VY tCx2DsK7PHHhK7YsiOf7rWAdqOm3J0AVNMQqLUivkXhHA== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- NEWS | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/NEWS b/NEWS index b4904f0..c971130 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,15 @@ -*- mode: org -*- +* Changes in 0.5.3 (since 0.5.2) + +Minor user-visible changes, no functionality addition, mostly refreshing changes: + +- refreshing most doctrings to pass on emacs@29 flymake standards +- remove dependency on the dash library, introduce the lighter llama library in order to replace the compact syntax for short lambdas +- replace outdated emacs-popup by transient library +- allow the use of the repository as a channel +- refresh installation / development tools + * Changes in 0.5.2 (since 0.5.1.1) ** User visible changes