summaryrefslogtreecommitdiff
path: root/scheme/racket/geiser/user.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'scheme/racket/geiser/user.rkt')
-rw-r--r--scheme/racket/geiser/user.rkt13
1 files changed, 11 insertions, 2 deletions
diff --git a/scheme/racket/geiser/user.rkt b/scheme/racket/geiser/user.rkt
index b7519b2..6aabe5e 100644
--- a/scheme/racket/geiser/user.rkt
+++ b/scheme/racket/geiser/user.rkt
@@ -9,14 +9,16 @@
;; Start date: Wed Mar 31, 2010 22:24
-#lang racket/base
+#lang racket
(provide init-geiser-repl run-geiser-server start-geiser)
(require (for-syntax racket/base)
mzlib/thread
racket/tcp
+ racket/help
geiser
+ geiser/autodoc
geiser/images
geiser/enter
geiser/eval
@@ -79,6 +81,7 @@
[(geiser-no-values) (datum->syntax #f (void))]
[(add-to-load-path) (add-to-load-path (read))]
[(set-image-cache) (image-cache (read))]
+ [(help) (get-help (read) (read))]
[(image-cache) (image-cache)]
[(gcd) (current-directory)]
[(cd) (current-directory (read))]
@@ -93,9 +96,14 @@
(define (geiser-prompt-read prompt)
(make-repl-reader (geiser-read prompt)))
+(define (preload-help)
+ (thread (lambda ()
+ (with-output-to-string (lambda () (help meh-i-dont-exist))))))
+
(define (init-geiser-repl)
(compile-enforce-module-constants #f)
(current-load/use-compiled geiser-loader)
+ (preload-help)
(current-prompt-read (geiser-prompt-read geiser-prompt))
(current-print maybe-print-image))
@@ -124,5 +132,6 @@
lsner)))))
(define (start-geiser (port 0) (hostname #f) (enforce-module-constants #f))
- (thread (lambda () (run-geiser-server port enforce-module-constants hostname)))
+ (thread (lambda ()
+ (run-geiser-server port enforce-module-constants hostname)))
(channel-get server-channel))