summaryrefslogtreecommitdiff
path: root/elisp
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-15 00:30:06 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-15 00:30:06 +0200
commit8588781981a686dbd921c377fa9887bcd74728af (patch)
treef97843f347d9759fac30f60d7b5e9152b57470fa /elisp
parentb039e7aa8dc4207e4a0da34fe684265fed1b22e3 (diff)
downloadgeiser-chez-8588781981a686dbd921c377fa9887bcd74728af.tar.gz
geiser-chez-8588781981a686dbd921c377fa9887bcd74728af.tar.bz2
Guile: define-module forms are now individually evaluable (e.g. using C-M-x or C-x C-e).
Diffstat (limited to 'elisp')
-rw-r--r--elisp/geiser-guile.el13
1 files changed, 8 insertions, 5 deletions
diff --git a/elisp/geiser-guile.el b/elisp/geiser-guile.el
index 849fabf..fca4b01 100644
--- a/elisp/geiser-guile.el
+++ b/elisp/geiser-guile.el
@@ -95,8 +95,11 @@ This function uses `geiser-guile-init-file' if it exists."
(defun geiser-guile-get-module (&optional module)
(cond ((null module)
(save-excursion
- (goto-char (point-min))
- (if (re-search-forward geiser-guile--module-re nil t)
+ (ignore-errors
+ (backward-sexp)
+ (while (not (zerop (geiser-syntax--nesting-level)))
+ (backward-up-list)))
+ (if (re-search-backward geiser-guile--module-re nil t)
(geiser-guile-get-module (match-string-no-properties 1))
:f)))
((listp module) module)
@@ -152,9 +155,9 @@ This function uses `geiser-guile-init-file' if it exists."
;;; Trying to ascertain whether a buffer is Guile Scheme:
(defun geiser-guile-guess ()
- "Return `t' if the current buffer looks like a Guile file."
- (listp (geiser-guile-get-module)))
-
+ (save-excursion
+ (goto-char (point-min))
+ (re-search-forward geiser-guile--module-re nil t)))
(provide 'geiser-guile)
;;; geiser-guile.el ends here