aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorFederico Beffa <beffa@fbengineering.ch>2015-12-24 11:53:12 +0100
committerFederico Beffa <beffa@fbengineering.ch>2016-02-03 10:47:21 +0100
commite037a09f1d5ea07b2611d706c7fadb65701a0d79 (patch)
treea025d1e2c568a2e17aa626a9a0c7eabacbb6fd91 /gnu
parentfd9a5b0fc3594cf3c62099f01502a150a54823fc (diff)
downloadguix-e037a09f1d5ea07b2611d706c7fadb65701a0d79.tar
guix-e037a09f1d5ea07b2611d706c7fadb65701a0d79.tar.gz
gnu: Add emacs-scheme-complete.
* gnu/packages/emacs.scm (emacs-scheme-complete): New variable. * gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch: New patch. * gnu-system.am (dist_patch_DATA): Add the new patch.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/emacs.scm27
-rw-r--r--gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch14
2 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 40eddb0690..1da43fe0ae 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1228,3 +1228,30 @@ for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
automatically inserts a Unicode opening or closing quotation mark, depending
on context.")
(license license:gpl3+)))
+
+(define-public emacs-scheme-complete
+ (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
+ (package
+ (name "emacs-scheme-complete")
+ (version (string-append "20151223." (string-take commit 8)))
+ (source
+ (origin
+ (file-name (string-append name "-" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ashinn/scheme-complete.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
+ (patches
+ (list (search-patch "emacs-scheme-complete-scheme-r5rs-info.patch")))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/ashinn/scheme-complete")
+ (synopsis "Smart tab completion for Scheme in Emacs")
+ (description
+ "This file provides a single function, @code{scheme-smart-complete},
+which you can use for intelligent, context-sensitive completion for any Scheme
+implementation in Emacs. To use it just load this file and bind that function
+to a key in your preferred mode.")
+ (license license:public-domain))))
diff --git a/gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch b/gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch
new file mode 100644
index 0000000000..6c49bdcdde
--- /dev/null
+++ b/gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch
@@ -0,0 +1,14 @@
+Fix completion for R5RS Scheme.
+See https://github.com/ashinn/scheme-complete/issues/1
+
+--- scheme-complete-master/scheme-complete.el.orig 2015-12-25 21:59:09.896909029 +0100
++++ scheme-complete-master/scheme-complete.el 2015-12-25 21:59:17.924993998 +0100
+@@ -591,7 +591,7 @@
+ '((exact->inexact (lambda (z) z))
+ (inexact->exact (lambda (z) z)))
+ (mapcar #'(lambda (x)
+- (list x (scheme-env-lookup *scheme-r7rs-info* x)))
++ (scheme-env-lookup *scheme-r7rs-info* x))
+ *scheme-r5rs-bindings*))))
+ *scheme-r5rs-info*)
+