From 236ec5f042d70836db8eeba819b528989b477fac Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Tue, 15 Sep 2009 00:30:06 +0200 Subject: Guile: define-module forms are now individually evaluable (e.g. using C-M-x or C-x C-e). --- elisp/geiser-guile.el | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'elisp/geiser-guile.el') 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 -- cgit v1.2.3