[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-racket c07a42d 034/191: Racket: using meta-commands
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-racket c07a42d 034/191: Racket: using meta-commands instead of dynamic-require (#30347) |
Date: |
Sun, 1 Aug 2021 18:31:55 -0400 (EDT) |
branch: elpa/geiser-racket
commit c07a42d2ced6ac67d13c6ee11442317515416451
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>
Racket: using meta-commands instead of dynamic-require (#30347)
- Much more robust: dynamic-require might not have been defined in the
REPL's namespace.
- Fixes #30347 as a side-effect: now all Geiser functions work with
typed scheme too.
---
elisp/geiser-racket.el | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el
index f38a4e9..0150772 100644
--- a/elisp/geiser-racket.el
+++ b/elisp/geiser-racket.el
@@ -93,12 +93,19 @@ This function uses `geiser-racket-init-file' if it exists."
(if (re-search-forward
"^\\(?:#lang\\|(module +[^ ]+?\\) +\\([^ ]+?\\|([^)]+)\\) *$" nil t)
(car (geiser-syntax--read-from-string (match-string-no-properties 1)))
- :f)))
-
-(defun geiser-racket--geiser-procedure (proc)
- (if (memq proc '(eval compile))
- `((dynamic-require 'geiser 'geiser:eval) ',(geiser-racket--language))
- `(dynamic-require 'geiser ',(intern (format "geiser:%s" proc)))))
+ "#f")))
+
+(defun geiser-racket--geiser-procedure (proc &rest args)
+ (case proc
+ ((eval compile)
+ (format ",eval %s %s %s"
+ (or (car args) "#f")
+ (geiser-racket--language)
+ (mapconcat 'identity (cdr args) " ")))
+ ((load-file compile-file)
+ (format ",eval geiser/main racket (geiser:%s %s)" proc (car args)))
+ ((no-values) ",no-values")
+ (t (format ",apply geiser:%s (%s)" proc (mapconcat 'identity args " ")))))
(defconst geiser-racket--module-re
"^(module +\\([^ ]+\\)")
- [nongnu] elpa/geiser-racket 0a35180 024/191: Racket: better stack traces using errortrace, (continued)
- [nongnu] elpa/geiser-racket 0a35180 024/191: Racket: better stack traces using errortrace, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 45fdb13 003/191: Elisp: misc little bugs (revealed by the byte compiler) fixed., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 54d4b8d 017/191: Racket: indentation for typed binding forms., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 7f8b4b7 014/191: Better switch/import REPL commands., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 7a16f5a 012/191: Racket: using `_' for naming unknown args in autodoc., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 130c38e 028/191: Racket: support for gracket-text, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket cd122ff 021/191: Tweaks to scheme implementation selection, and docs for it., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 26ba1f2 011/191: Racket: improvements in module lookups., Philip Kaludercic, 2021/08/01
- [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 <=
- [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, 2021/08/01
- [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