From c225b4606809739b6d408c915694841ca1aa45c0 Mon Sep 17 00:00:00 2001
From: Jose Antonio Ortega Ruiz <jao@gnu.org>
Date: Mon, 9 Feb 2009 23:33:24 +0100
Subject: TAB-completion for symbols in Scheme and REPL buffers.

---
 scheme/geiser/emacs.scm         | 2 +-
 scheme/geiser/introspection.scm | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

(limited to 'scheme/geiser')

diff --git a/scheme/geiser/emacs.scm b/scheme/geiser/emacs.scm
index 014c44a..ea74220 100644
--- a/scheme/geiser/emacs.scm
+++ b/scheme/geiser/emacs.scm
@@ -25,7 +25,7 @@
 ;;; Code:
 
 (define-module (geiser emacs)
-  #:re-export (proc-args var-metadata)
+  #:re-export (proc-args completions)
   #:use-module (geiser introspection))
 
 
diff --git a/scheme/geiser/introspection.scm b/scheme/geiser/introspection.scm
index 0c759d5..ffa2c73 100644
--- a/scheme/geiser/introspection.scm
+++ b/scheme/geiser/introspection.scm
@@ -25,8 +25,9 @@
 ;;; Code:
 
 (define-module (geiser introspection)
-  #:export (proc-args var-metadata)
+  #:export (proc-args completions)
   #:use-module (system vm program)
+  #:use-module (ice-9 session)
   #:use-module (srfi srfi-1))
 
 (define (proc-args proc)
@@ -62,4 +63,7 @@
   (list (cons 'required args)
         (cons 'optional (or opt '()))))
 
+(define (completions prefix)
+  (map symbol->string (apropos-internal (string-append "^" prefix))))
+
 ;;; introspection.scm ends here
-- 
cgit v1.2.3