aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2014-08-02 20:01:48 -0400
committerMark H Weaver <mhw@netris.org>2014-08-14 23:53:13 -0400
commitfe4163f35141c4bc9c2c8ec7be19a0827c66841b (patch)
tree6a74432145faa787da56dede2541a2b33e9f6f4a
parent9a4c971521cac0e132570fc7f1563b5287611ab6 (diff)
downloadpatches-fe4163f35141c4bc9c2c8ec7be19a0827c66841b.tar
patches-fe4163f35141c4bc9c2c8ec7be19a0827c66841b.tar.gz
gnu: Add paredit.
* gnu/packages/emacs.scm (paredit): New variable.
-rw-r--r--gnu/packages/emacs.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index fce6ff2f0f..7d91f94e62 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -23,6 +23,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages gtk)
#:use-module (gnu packages ncurses)
@@ -155,6 +156,50 @@ between the Scheme interpreter, Emacs and, ultimately, the schemer,
giving her access to live metadata.")
(license bsd-3)))
+(define-public paredit
+ (package
+ (name "paredit")
+ (version "23")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
+ version ".el"))
+ (sha256
+ (base32 "1np882jzvxckljx3cjz4absyzmc5hw65cs21sjmbic82163m9lf8"))))
+ (build-system trivial-build-system)
+ (inputs `(("emacs" ,emacs)))
+ (arguments
+ `(#:modules ((guix build utils)
+ (guix build emacs-utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (use-modules (guix build emacs-utils))
+
+ (let* ((emacs (string-append (assoc-ref %build-inputs "emacs")
+ "/bin/emacs"))
+ (source (assoc-ref %build-inputs "source"))
+ (lisp-dir (string-append %output
+ "/share/emacs/site-lisp"))
+ (target (string-append lisp-dir "/paredit.el")))
+ (mkdir-p lisp-dir)
+ (copy-file source target)
+ (with-directory-excursion lisp-dir
+ (parameterize ((%emacs emacs))
+ (emacs-batch-eval '(byte-compile-file "paredit.el"))))))))
+ (home-page "http://mumble.net/~campbell/emacs/paredit/")
+ (synopsis "Emacs minor mode for editing parentheses")
+ (description
+ "ParEdit (paredit.el) is a minor mode for performing structured editing
+of S-expression data. The typical example of this would be Lisp or Scheme
+source code.
+
+ParEdit helps **keep parentheses balanced** and adds many keys for moving
+S-expressions and moving around in S-expressions. Its behavior can be jarring
+for those who may want transient periods of unbalanced parentheses, such as
+when typing parentheses directly or commenting out code line by line.")
+ (license gpl3+)))
+
(define-public magit
(package
(name "magit")