aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett Gilio <brettg@gnu.org>2020-08-07 20:26:37 -0500
committerBrett Gilio <brettg@gnu.org>2020-08-07 20:26:37 -0500
commit1218114e0d56c8f73da78bc04d0b5caf02c6b784 (patch)
tree34f39fde4f769fc06e63102c7ff543ce8f42c319
parent5b73b22bb1c49039518eb3c8ed570f22b16174b7 (diff)
downloadguix-1218114e0d56c8f73da78bc04d0b5caf02c6b784.tar
guix-1218114e0d56c8f73da78bc04d0b5caf02c6b784.tar.gz
gnu: Add emacs-multi.
* gnu/packages/emacs-xyz.scm (emacs-multi): New variable.
-rw-r--r--gnu/packages/emacs-xyz.scm25
1 files changed, 25 insertions, 0 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 6dbe6025ff..6e7a57d883 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -24141,6 +24141,31 @@ read-only, constant database that maps Emacs Lisp symbols to
arbitrary Emacs Lisp objects.")
(license license:gpl3+)))
+
+(define-public emacs-multi
+ (package
+ (name "emacs-multi")
+ (version "2.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kurisuwhyte/emacs-multi")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11zabs7qpdhri6n90ck7pgwcbz46d813nyl73h5m1i8jvz1wzx7v"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/kurisuwhyte/emacs-multi")
+ (synopsis "Clojure-style multi-methods for Emacs Lisp")
+ (description "Provides Emacs Lisp with a form of polymorphism
+by way of predicate dispatching. Methods consist of a dispatch
+function, and a series of branches. The dispatch function is
+applied to the arguments, and the result value is checked against
+the expectations of each branch to define which one to invoke.")
+ (license license:expat)))
+
(define-public emacs-highlight
(let ((commit "9258a2b8362d737115cbd87618f947eadb140411")
(revision "1"))