* [bug#56195] [PATCH]: Add sbcl-nkeymaps
@ 2022-06-24 15:23 André A. Gomes
2022-06-24 15:52 ` Pierre Neidhardt
0 siblings, 1 reply; 6+ messages in thread
From: André A. Gomes @ 2022-06-24 15:23 UTC (permalink / raw)
To: 56195; +Cc: pierre
[-- Attachment #1: Type: text/plain, Size: 117 bytes --]
Hi Guix,
Please find the patch attached. Thanks.
--
André A. Gomes
"You cannot even find the ruins..."
[-- Attachment #2: 0001-gnu-Add-sbcl-nkeymaps.patch --]
[-- Type: text/x-patch, Size: 3163 bytes --]
From 1f0680c2ec15ccebf286054730469b2121d57f4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20A=2E=20Gomes?= <andremegafone@gmail.com>
Date: Fri, 24 Jun 2022 16:19:26 +0100
Subject: [PATCH] gnu: Add sbcl-nkeymaps.
* gnu/packages/lisp-xyz.scm (sbcl-nkeymaps): New variable.
---
gnu/packages/lisp-xyz.scm | 73 +++++++++++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index a88f19e28e..7cf7943b7f 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -21467,3 +21467,76 @@ (define-public cl-clog
(define-public ecl-clog
(sbcl-package->ecl-package sbcl-clog))
+
+(define-public sbcl-nkeymaps
+ (package
+ (name "sbcl-nkeymaps")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/atlas-engineer/nkeymaps")
+ (commit version)))
+ (file-name (git-file-name "nkeymaps" version))
+ (sha256
+ (base32
+ "0jiw9k4041mqdjl06q1haf5bsnz8f2xk9ajkismv0yjx8cdqsi7r"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ (list sbcl-alexandria
+ sbcl-cl-str
+ sbcl-fset
+ sbcl-trivial-package-local-nicknames))
+ (native-inputs
+ (list sbcl-prove))
+ (home-page "https://github.com/atlas-engineer/nkeymaps")
+ (synopsis "Keymap facility for Common Lisp")
+ (description "Inspired by Emacsy (keymap.scm) which is inspired by Emacs.
+@itemize
+
+@item Support prefix keys to other keymaps. For instance, if you prefix
+my-mode-map with C-c, then all bindings for my-mode will be accessible after
+pressing C-c.
+
+@item List all bindings matching a given prefix. (Also known as which-key in
+Emacs.)
+
+@item List the bindings associated to a command.
+
+@item Support multiple inheritance.
+
+@item Support keycode.
+
+@item Validate keyspec at compile time.
+
+@item define-key can set multiple bindings in a single call.
+
+@item Support multiple scheme to make it easy to switch between, say,
+Emacs-style and VI-style bindings. This orthogonality to keymaps composes
+better than having multiple keymaps: changing scheme applies to the entire
+program, which is easier than looping through all keymaps to change them.
+
+@item Translate keyspecs as a fallback. For instance if shift-a is not bound,
+check A.
+
+@item Behaviour can be customized with global parameters such as
+*print-shortcut*.
+
+@item The compose function can merge multiple keymaps together.
+
+@item Support multiple arguments when that makes sense (e.g. multiple keymaps
+for lookup-key).
+
+@item Key remapping à-la Emacs.
+
+@item Typed keymaps, i.e. keymaps where bound values can only be of a given
+type. This is convenient to catch typos, for instance when binding 'FOO
+instead of #'FOO.")
+ (license license:expat)))
+
+(define-public cl-nkeymaps
+ (sbcl-package->cl-source-package sbcl-nkeymaps))
+
+(define-public ecl-nkeymaps
+ (sbcl-package->ecl-package sbcl-nkeymaps))
--
2.36.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#56195] [PATCH]: Add sbcl-nkeymaps
2022-06-24 15:23 [bug#56195] [PATCH]: Add sbcl-nkeymaps André A. Gomes
@ 2022-06-24 15:52 ` Pierre Neidhardt
2022-06-24 16:33 ` André A. Gomes
0 siblings, 1 reply; 6+ messages in thread
From: Pierre Neidhardt @ 2022-06-24 15:52 UTC (permalink / raw)
To: andremegafone, 56195
[-- Attachment #1: Type: text/plain, Size: 69 bytes --]
Please do not merge, this patch is a tag that's on the wrong commit.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 515 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#56195] [PATCH]: Add sbcl-nkeymaps
2022-06-24 15:52 ` Pierre Neidhardt
@ 2022-06-24 16:33 ` André A. Gomes
2022-06-24 17:13 ` Pierre Neidhardt
0 siblings, 1 reply; 6+ messages in thread
From: André A. Gomes @ 2022-06-24 16:33 UTC (permalink / raw)
To: Pierre Neidhardt; +Cc: 56195
Pierre Neidhardt <pierre@atlas.engineer> writes:
> Please do not merge, this patch is a tag that's on the wrong commit.
Ok to merge now. I was expecting that the hash would change but it
didn't apparently.
--
André A. Gomes
"You cannot even find the ruins..."
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#56195] [PATCH]: Add sbcl-nkeymaps
2022-06-24 16:33 ` André A. Gomes
@ 2022-06-24 17:13 ` Pierre Neidhardt
2022-06-24 19:07 ` André A. Gomes
0 siblings, 1 reply; 6+ messages in thread
From: Pierre Neidhardt @ 2022-06-24 17:13 UTC (permalink / raw)
To: André A. Gomes; +Cc: 56195
[-- Attachment #1: Type: text/plain, Size: 162 bytes --]
It should, but your Guix store might be using the old repo, which is why
you do not see the change.
Try with a different file-name, and you'll get the new hash.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 515 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#56195] [PATCH]: Add sbcl-nkeymaps
2022-06-24 17:13 ` Pierre Neidhardt
@ 2022-06-24 19:07 ` André A. Gomes
2022-06-25 9:49 ` bug#56195: " Guillaume Le Vaillant
0 siblings, 1 reply; 6+ messages in thread
From: André A. Gomes @ 2022-06-24 19:07 UTC (permalink / raw)
To: Pierre Neidhardt; +Cc: 56195
[-- Attachment #1: Type: text/plain, Size: 391 bytes --]
Pierre Neidhardt <pierre@atlas.engineer> writes:
> It should, but your Guix store might be using the old repo, which is why
> you do not see the change.
Right.
> Try with a different file-name, and you'll get the new hash.
I did it by passing the flag -S to guix build.
Please find the patch attached. Thanks.
--
André A. Gomes
"You cannot even find the ruins..."
[-- Attachment #2: 0001-gnu-Add-sbcl-nkeymaps.patch --]
[-- Type: text/x-patch, Size: 3163 bytes --]
From 1e974b40c9ace93e613c1ac4ca28d1afcd260eee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20A=2E=20Gomes?= <andremegafone@gmail.com>
Date: Fri, 24 Jun 2022 16:19:26 +0100
Subject: [PATCH] gnu: Add sbcl-nkeymaps.
* gnu/packages/lisp-xyz.scm (sbcl-nkeymaps): New variable.
---
gnu/packages/lisp-xyz.scm | 73 +++++++++++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index a88f19e28e..30cb605d3b 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -21467,3 +21467,76 @@ (define-public cl-clog
(define-public ecl-clog
(sbcl-package->ecl-package sbcl-clog))
+
+(define-public sbcl-nkeymaps
+ (package
+ (name "sbcl-nkeymaps")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/atlas-engineer/nkeymaps")
+ (commit version)))
+ (file-name (git-file-name "nkeymaps" version))
+ (sha256
+ (base32
+ "0shkklc3aiq44hyv1q6fahw4vjcr0iw4zsmxbhmxqh04r7185ddf"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ (list sbcl-alexandria
+ sbcl-cl-str
+ sbcl-fset
+ sbcl-trivial-package-local-nicknames))
+ (native-inputs
+ (list sbcl-prove))
+ (home-page "https://github.com/atlas-engineer/nkeymaps")
+ (synopsis "Keymap facility for Common Lisp")
+ (description "Inspired by Emacsy (keymap.scm) which is inspired by Emacs.
+@itemize
+
+@item Support prefix keys to other keymaps. For instance, if you prefix
+my-mode-map with C-c, then all bindings for my-mode will be accessible after
+pressing C-c.
+
+@item List all bindings matching a given prefix. (Also known as which-key in
+Emacs.)
+
+@item List the bindings associated to a command.
+
+@item Support multiple inheritance.
+
+@item Support keycode.
+
+@item Validate keyspec at compile time.
+
+@item define-key can set multiple bindings in a single call.
+
+@item Support multiple scheme to make it easy to switch between, say,
+Emacs-style and VI-style bindings. This orthogonality to keymaps composes
+better than having multiple keymaps: changing scheme applies to the entire
+program, which is easier than looping through all keymaps to change them.
+
+@item Translate keyspecs as a fallback. For instance if shift-a is not bound,
+check A.
+
+@item Behaviour can be customized with global parameters such as
+*print-shortcut*.
+
+@item The compose function can merge multiple keymaps together.
+
+@item Support multiple arguments when that makes sense (e.g. multiple keymaps
+for lookup-key).
+
+@item Key remapping à-la Emacs.
+
+@item Typed keymaps, i.e. keymaps where bound values can only be of a given
+type. This is convenient to catch typos, for instance when binding 'FOO
+instead of #'FOO.")
+ (license license:expat)))
+
+(define-public cl-nkeymaps
+ (sbcl-package->cl-source-package sbcl-nkeymaps))
+
+(define-public ecl-nkeymaps
+ (sbcl-package->ecl-package sbcl-nkeymaps))
--
2.36.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* bug#56195: [PATCH]: Add sbcl-nkeymaps
2022-06-24 19:07 ` André A. Gomes
@ 2022-06-25 9:49 ` Guillaume Le Vaillant
0 siblings, 0 replies; 6+ messages in thread
From: Guillaume Le Vaillant @ 2022-06-25 9:49 UTC (permalink / raw)
To: André A. Gomes; +Cc: 56195-done, Pierre Neidhardt
[-- Attachment #1: Type: text/plain, Size: 140 bytes --]
Patch pushed as 8a35479f26098699cb1407580e5231b4f51c8b36 with some
description fixes and the license set to bsd-3 instead of expat.
Thanks.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-06-25 9:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-24 15:23 [bug#56195] [PATCH]: Add sbcl-nkeymaps André A. Gomes
2022-06-24 15:52 ` Pierre Neidhardt
2022-06-24 16:33 ` André A. Gomes
2022-06-24 17:13 ` Pierre Neidhardt
2022-06-24 19:07 ` André A. Gomes
2022-06-25 9:49 ` bug#56195: " Guillaume Le Vaillant
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).