[PATCH]: Add sbcl-nkeymaps

DoneSubmitted by André A. Gomes.
Details
3 participants
  • André A. Gomes
  • Guillaume Le Vaillant
  • Pierre Neidhardt
Owner
unassigned
Severity
normal
A
A
André A. Gomes wrote on 24 Jun 17:23 +0200
(address . guix-patches@gnu.org)(address . pierre@atlas.engineer)
877d56jdb1.fsf@gmail.com
Hi Guix,

Please find the patch attached. Thanks.


--
André A. Gomes
"You cannot even find the ruins..."
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(+)

Toggle diff (83 lines)
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
P
P
Pierre Neidhardt wrote on 24 Jun 17:52 +0200
87fsjudpol.fsf@ambrevar.xyz
Please do not merge, this patch is a tag that's on the wrong commit.
-----BEGIN PGP SIGNATURE-----

iQFKBAEBCAA0FiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAmK13boWHHBpZXJyZUBh
dGxhcy5lbmdpbmVlcgAKCRCb3PSXpLvMf5sJB/sHt4dz/dwxjPImU1vVYHwsxMt4
7I6FOvrz++YvzsihEC2Z94v3NcBXXK6h4MKcNO9kklok2uGLgcDVoSsqXczLitRh
/Gha++8QnXE+AJWW4cT1y0fi2xl/8/b3i+Eqp9i0qWx1STqMaZ13cjYLha3aUN2U
0ZhUADmfILZlCw4rzHJtU1m3inAk1ESTAye2VwcHq+6wyKZY/lSMeqRdXksSZ/xH
RC6kbzcXMOFGbJTrbdtQMac6d6W5Ss5VSDiFGq8ZGPx4E41ZTGQL5goKDQXm/tOy
m4W/DonaGgkIE8PnFZgA5Lho0yMdX2ApXDl+RCpAgTIfWQuIwiuOBb3zjn14
=i1gT
-----END PGP SIGNATURE-----

A
A
André A. Gomes wrote on 24 Jun 18:33 +0200
(name . Pierre Neidhardt)(address . pierre@atlas.engineer)(address . guix-patches@gnu.org)
87wnd6vx6o.fsf@gmail.com
Pierre Neidhardt <pierre@atlas.engineer> writes:

Toggle quote (2 lines)
> 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..."
P
P
Pierre Neidhardt wrote on 24 Jun 19:13 +0200
(name . André A. Gomes)(address . andremegafone@gmail.com)(address . guix-patches@gnu.org)
87a6a2dlxu.fsf@ambrevar.xyz
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.
-----BEGIN PGP SIGNATURE-----

iQFKBAEBCAA0FiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAmK18K0WHHBpZXJyZUBh
dGxhcy5lbmdpbmVlcgAKCRCb3PSXpLvMf4m4B/9Qd5HJTgC/IhjaIpjE9ANgIjCD
crUyvxM3GcFCTt1heO2gOrrhY+PnbAFimL6+qx4ZAXy29wiimWA6Dcba9ljcQzN5
nQGlFxtZq6RZdIqSBG3Xl6TEruYgXKaCfX0sH4ehCHKPXVZB0vdd0AL/gtJhKv0d
7w28SsSI09tz39uoBtWPoj2h+/MSrtUZN8xYOVVz1s+oIC7SzF1qW4334uvgUpml
H4wSKJk2uxjK40PjtL/QGtMSxZtPMjW2w8fVaAZBpmxFLRGKKNq0fM41dsRjZBJc
q1bQnfRdqIsBAwn4TsMsmYSfxAjFfMvoqLO4ebiX9mqQos7nDiwe9iEbqI1U
=7ZEt
-----END PGP SIGNATURE-----

A
A
André A. Gomes wrote on 24 Jun 21:07 +0200
(name . Pierre Neidhardt)(address . pierre@atlas.engineer)(address . guix-patches@gnu.org)
87o7yhx4l0.fsf@gmail.com
Pierre Neidhardt <pierre@atlas.engineer> writes:

Toggle quote (3 lines)
> It should, but your Guix store might be using the old repo, which is why
> you do not see the change.

Right.

Toggle quote (2 lines)
> 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..."
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(+)

Toggle diff (83 lines)
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
G
G
Guillaume Le Vaillant wrote on 25 Jun 11:49 +0200
Re: [bug#56195] [PATCH]: Add sbcl-nkeymaps
(name . André A. Gomes)(address . andremegafone@gmail.com)
87sfntqdeh.fsf@kitej
Patch pushed as 8a35479f26098699cb1407580e5231b4f51c8b36 with some
description fixes and the license set to bsd-3 instead of expat.
Thanks.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYrbapg8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j+g8gEAiO+SBPixw7zbDZaQQ+JMf3AAeOjb4QjFq5+G
P30eZrcBAIQ3sxsEokIHohhmII44eIJRyFm28AYFk+vQXrN0esx1
=lpbY
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 56195@debbugs.gnu.org