[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-racket 9790b39 039/191: Racket: little evaluation n
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-racket 9790b39 039/191: Racket: little evaluation nits |
Date: |
Sun, 1 Aug 2021 18:31:56 -0400 (EDT) |
branch: elpa/geiser-racket
commit 9790b3963d08e63e3209a8ff3da8d7db1ebc0668
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>
Racket: little evaluation nits
---
geiser.rkt | 1 +
geiser/eval.rkt | 9 +++++----
geiser/modules.rkt | 2 +-
geiser/user.rkt | 22 ++++++++++++++++------
4 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/geiser.rkt b/geiser.rkt
index 1ab7983..44a2ed8 100644
--- a/geiser.rkt
+++ b/geiser.rkt
@@ -20,5 +20,6 @@
(require errortrace)
(require geiser/user)
+(init-geiser-repl)
;;; geiser.rkt ends here
diff --git a/geiser/eval.rkt b/geiser/eval.rkt
index 4e7f3db..66eccc6 100644
--- a/geiser/eval.rkt
+++ b/geiser/eval.rkt
@@ -55,10 +55,11 @@
(append last-result `((output . ,output)))))
(define (eval-in form spec lang)
- (call-with-result
- (lambda ()
- (update-signature-cache spec form)
- (eval form (module-spec->namespace spec lang)))))
+ (write (call-with-result
+ (lambda ()
+ (update-signature-cache spec form)
+ (eval form (module-spec->namespace spec lang)))))
+ (newline))
(define compile-in eval-in)
diff --git a/geiser/modules.rkt b/geiser/modules.rkt
index 9b640ec..5c6ba1f 100644
--- a/geiser/modules.rkt
+++ b/geiser/modules.rkt
@@ -74,7 +74,7 @@
(call-with-values (lambda () (split-path path))
(lambda (_ basename __) (path->string basename)))
(regexp-replace "\\.[^./]*$" real-path "")))]
- [(eq? path '#%kernel) "(kernel)"]
+ ;; [(eq? path '#%kernel) "(kernel)"]
[(string? path) path]
[(symbol? path) (symbol->string path)]
[else ""]))
diff --git a/geiser/user.rkt b/geiser/user.rkt
index 20f8a00..88cc24c 100644
--- a/geiser/user.rkt
+++ b/geiser/user.rkt
@@ -11,7 +11,7 @@
#lang racket/base
-(provide enter!)
+(provide init-geiser-repl run-geiser-repl enter!)
(require geiser/main geiser/enter geiser/eval (for-syntax racket/base))
@@ -29,6 +29,7 @@
mod))))
(define orig-loader (current-load/use-compiled))
+(define geiser-loader (module-loader orig-loader))
(define orig-reader (current-prompt-read))
@@ -56,10 +57,19 @@
(else form)))
(_ form))))
-(define (init)
+(define geiser-prompt-read
+ (compose (make-repl-reader geiser-read) current-namespace))
+
+(define (init-geiser-repl)
(compile-enforce-module-constants #f)
- (current-load/use-compiled (module-loader orig-loader))
- (current-prompt-read
- (compose (make-repl-reader geiser-read) current-namespace)))
+ (current-load/use-compiled geiser-loader)
+ (current-prompt-read geiser-prompt-read))
-(init)
+(define (run-geiser-repl in out (enforce-module-constants #f))
+ (parameterize [(compile-enforce-module-constants enforce-module-constants)
+ (current-input-port in)
+ (current-output-port out)
+ (current-error-port out)
+ (current-load/use-compiled geiser-loader)
+ (current-prompt-read geiser-prompt-read)]
+ (read-eval-print-loop)))
- [nongnu] elpa/geiser-racket c03596d 013/191: Wee refactoring., (continued)
- [nongnu] elpa/geiser-racket c03596d 013/191: Wee refactoring., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket c6c6bba 026/191: Support for evaluation warnings, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket c07a42d 034/191: Racket: using meta-commands instead of dynamic-require (#30347), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket d8076a5 029/191: Couple nits, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket de36aed 027/191: Better REPL exit command, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 15cb8fb 006/191: Racket: providing error contexts, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 739aaec 010/191: Racket: improvements in non-loaded module location., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 912e318 020/191: Racket: catching errors during contract retrieval., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket b53aba6 036/191: Racket: , eval -> , geiser-eval, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 2ef38a5 037/191: Racket: , eval -> , geiser-eval, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 9790b39 039/191: Racket: little evaluation nits,
Philip Kaludercic <=
- [nongnu] elpa/geiser-racket 2b2b13f 043/191: Nit, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket d789d5f 046/191: Racket: fix for prompt display on , enter, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 1c3ae9f 018/191: Racket: showing contracts in module documentation., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket e1b6db4 033/191: Racket: new meta-commands: , eval , apply , no-values, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 47afcd9 030/191: Racket nit: racket/base instead of scheme/base, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket a8e6427 032/191: Racket: , enter meta-command instead of namespace clobbering, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket cb2287b 035/191: Racket: using meta-commands instead of dynamic-require (#30347), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket e625b74 038/191: Racket: fix for help function, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 5a048d7 040/191: Racket: little evaluation nits, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 98bd9f2 041/191: Nits, Philip Kaludercic, 2021/08/01