diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-15 00:30:06 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-15 00:30:06 +0200 |
commit | 8588781981a686dbd921c377fa9887bcd74728af (patch) | |
tree | f97843f347d9759fac30f60d7b5e9152b57470fa /elisp | |
parent | b039e7aa8dc4207e4a0da34fe684265fed1b22e3 (diff) | |
download | geiser-guile-8588781981a686dbd921c377fa9887bcd74728af.tar.gz geiser-guile-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.el | 13 |
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 |