Subject: [bug#53796] [PATCH] gnu: Update emacs-bash-completion

From: Niklas Eklund <[email-masked]>
Date: Sat, 05 Feb 2022 10:27:33 +0000

Hi,

this patch updates the emacs-bash-completion package to the most recent
commit on git. This update is required in order for it to work with
completion frameworks that modifies the list of candidates. Such as the
combination of corfu+orderless.

/Niklas
>From 10a95cb0fa836ac37a3426f0964edd7784a1c0ca Mon Sep 17 00:00:00 2001
From: Niklas Eklund <[email-masked]>
Date: Sat, 5 Feb 2022 11:21:00 +0100
Subject: [PATCH] gnu: emacs-bash-completion: Update to 3.1.0-0.c5eaeed.

* gnu/packages/emacs-xyz.scm (emacs-bash-completion): Update to 3.1.0-0.c5eaeed.
---
 gnu/packages/emacs-xyz.scm | 72 ++++++++++++++++++++------------------
 1 file changed, 38 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 681e0e2fc7..99fb53434d 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -15908,41 +15908,45 @@ (define-public emacs-helm-slack
 Slack client.")
       (license license:gpl3+))))
 
-
 (define-public emacs-bash-completion
-  (package
-   (name "emacs-bash-completion")
-   (version "3.1.0")
-   (source
-    (origin
-      (method git-fetch)
-      (uri (git-reference
-            (url "https://github.com/szermatt/emacs-bash-completion")
-            (commit (string-append "v" version))))
-      (file-name (git-file-name name version))
-      (sha256
-       (base32 "11j2k3irixp47r2iglxdmjphahqhgnxg98n2xwagwzyq99lsamj4"))))
-   (inputs (list bash))
-   (build-system emacs-build-system)
-   (arguments
-    `(#:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'make-git-checkout-writable
-          (λ _
-            (for-each make-file-writable (find-files "."))
-            #t))
-        (add-before 'install 'configure
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((bash (assoc-ref inputs "bash")))
-              (emacs-substitute-variables "bash-completion.el"
-                ("bash-completion-prog" (string-append bash "/bin/bash"))))
-            #t)))))
-   (home-page "https://github.com/szermatt/emacs-bash-completion")
-   (synopsis "Bash completion for the shell buffer")
-   (description
-    "@code{bash-completion} defines dynamic completion hooks for shell-mode
-and shell-command prompts that are based on Bash completion.")
-   (license license:gpl2+)))
+  ;; Need to use a newer commit than the latest version in order to support
+  ;; completion interfaces that alters the candidate list provided by the
+  ;; package
+  (let ((commit "c5eaeed156ab906190c662d491269230967104b1")
+        (revision "0"))
+    (package
+     (name "emacs-bash-completion")
+     (version (git-version "3.1.0" revision commit))
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/szermatt/emacs-bash-completion")
+              (commit commit)))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0r221iirqsbz13s76r68i496izbirrvcw8ql3wsh205zmxa3jqg1"))))
+     (inputs (list bash))
+     (build-system emacs-build-system)
+     (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'make-git-checkout-writable
+            (λ _
+              (for-each make-file-writable (find-files "."))
+              #t))
+          (add-before 'install 'configure
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((bash (assoc-ref inputs "bash")))
+                (emacs-substitute-variables "bash-completion.el"
+                  ("bash-completion-prog" (string-append bash "/bin/bash"))))
+              #t)))))
+     (home-page "https://github.com/szermatt/emacs-bash-completion")
+     (synopsis "Bash completion for the shell buffer")
+     (description
+      "@code{bash-completion} defines dynamic completion hooks for shell-mode
+  and shell-command prompts that are based on Bash completion.")
+     (license license:gpl2+))))
 
 (define-public emacs-easy-kill
   (package
-- 
2.34.0