aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/emacs.scm27
-rw-r--r--gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch14
3 files changed, 42 insertions, 0 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 5657124036..7b22138018 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -453,6 +453,7 @@ dist_patch_DATA = \
gnu/packages/patches/duplicity-test_selection-tmp.patch \
gnu/packages/patches/elfutils-tests-ptrace.patch \
gnu/packages/patches/emacs-exec-path.patch \
+ gnu/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
gnu/packages/patches/emacs-source-date-epoch.patch \
gnu/packages/patches/eudev-rules-directory.patch \
gnu/packages/patches/evilwm-lost-focus-bug.patch \
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*)
+