summary refs log tree commit diff
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
parentfd9a5b0fc3594cf3c62099f01502a150a54823fc (diff)
downloadguix-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.
-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*)
+