[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-racket b4f158d 139/191: racket: module* and module+
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-racket b4f158d 139/191: racket: module* and module+ denote submodules too |
Date: |
Sun, 1 Aug 2021 18:32:16 -0400 (EDT) |
branch: elpa/geiser-racket
commit b4f158dca43f640b80ca49d3962fbec72b4d470d
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>
racket: module* and module+ denote submodules too
Recognizing those forms in the elisp module getter.
---
elisp/geiser-racket.el | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el
index 3ae9c8b..0d32790 100644
--- a/elisp/geiser-racket.el
+++ b/elisp/geiser-racket.el
@@ -122,9 +122,10 @@ using start-geiser, a procedure in the geiser/server
module."
"#f")))
(defun geiser-racket--enter-command (module)
- (when (stringp module)
+ (when (or (stringp module) (listp module))
(cond ((zerop (length module)) ",enter #f")
- ((file-name-absolute-p module) (format ",enter %S" module))
+ ((or (listp module)
+ (file-name-absolute-p module)) (format ",enter %S" module))
(t (format ",enter %s" module)))))
(defun geiser-racket--geiser-procedure (proc &rest args)
@@ -141,27 +142,34 @@ using start-geiser, a procedure in the geiser/server
module."
(t (format ",apply geiser:%s (%s)" proc (mapconcat 'identity args " ")))))
(defconst geiser-racket--module-re
- "^(module +\\([^ ]+\\)")
+ "^(module[+*]? +\\([^ ]+\\)")
(defun geiser-racket--explicit-module ()
(save-excursion
- (goto-char (point-min))
- (and (re-search-forward geiser-racket--module-re nil t)
+ (ignore-errors
+ (while (not (zerop (geiser-syntax--nesting-level)))
+ (backward-up-list)))
+ (and (looking-at geiser-racket--module-re)
(ignore-errors
(car (geiser-syntax--read-from-string
(match-string-no-properties 1)))))))
-(defsubst geiser-racket--implicit-module ()
+(defun geiser-racket--implicit-module ()
(save-excursion
(goto-char (point-min))
- (if (re-search-forward "^#lang " nil t)
- (buffer-file-name)
- :f)))
+ (when (re-search-forward "^#lang " nil t)
+ (buffer-file-name))))
+
+(defun geiser-racket--find-module ()
+ (let ((bf (geiser-racket--implicit-module))
+ (sub (geiser-racket--explicit-module)))
+ (cond ((and (not bf) (not sub)) :f)
+ ((and (not bf) sub) sub)
+ (sub `(submod (file ,bf) ,sub))
+ (t bf))))
(defun geiser-racket--get-module (&optional module)
- (cond ((and (null module) (buffer-file-name)))
- ;; (geiser-racket--explicit-module)
- ((null module) (geiser-racket--implicit-module))
+ (cond ((null module) (geiser-racket--find-module))
((symbolp module) module)
((and (stringp module) (file-name-absolute-p module)) module)
((stringp module) (make-symbol module))
- [nongnu] elpa/geiser-racket 1964a0d 096/191: racket: reading into elisp-land the cache dir as needed, (continued)
- [nongnu] elpa/geiser-racket 1964a0d 096/191: racket: reading into elisp-land the cache dir as needed, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket dd2bbc3 090/191: Racket: fix for module compilation for recent rackets, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 51cd041 101/191: Image display functionality refactored to its own module, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket fd450c0 113/191: Racket: make sure stderr is flushed in REPL, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket ead1967 111/191: Racket: fix for module evaluation/entering, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket d986e3b 107/191: racket: correctly jump to symbols defined in .ss modules, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 46bde5a 115/191: Indentation for match-let, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 9fa09a8 129/191: Racket: fix for jump to manual for symbols not in the namespace, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 15b52ff 131/191: Fix for Racket compilation error jumping in REPL, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 85d1e6a 136/191: racket: ,gcd -> ,pwd, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket b4f158d 139/191: racket: module* and module+ denote submodules too,
Philip Kaludercic <=
- [nongnu] elpa/geiser-racket aa7ac2e 146/191: Missing require cl for case, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 95d41eb 156/191: Racket: better behaviour of geiser-eval-buffer, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 41c41e9 177/191: Delete trailing whitespace, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 8a30ded 023/191: Redisplaying the prompt after empty lines on the REPL., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket c19f8dc 015/191: Racket: serious bug preventing file compilation fixed., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 05d1807 031/191: Racket: , enter meta-command instead of namespace clobbering, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 61bcd9a 009/191: Racket: square cosmetics., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket aa2a6be 064/191: Racket: slightly better handling of the signatures cache, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 7df27a3 067/191: Document browser improvements, and Racket using them, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 2494b95 068/191: Document browser improvements, and Racket using them, Philip Kaludercic, 2021/08/01