diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-02-21 04:46:14 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-02-21 04:46:14 +0100 |
commit | abe0355b7eb7961c89ef2e37f68451b131dacb05 (patch) | |
tree | 5e51a1acc9a39382a5c3c05e441b154933c0caff /elisp | |
parent | 612c7390fc3ff78ac9b0b10b83304095cfceccd5 (diff) | |
download | geiser-chez-abe0355b7eb7961c89ef2e37f68451b131dacb05.tar.gz geiser-chez-abe0355b7eb7961c89ef2e37f68451b131dacb05.tar.bz2 |
Correct stack in load/compile file retorts.
Diffstat (limited to 'elisp')
-rw-r--r-- | elisp/geiser-compile.el | 8 | ||||
-rw-r--r-- | elisp/geiser-eval.el | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/elisp/geiser-compile.el b/elisp/geiser-compile.el index ee6c5f8..82200a5 100644 --- a/elisp/geiser-compile.el +++ b/elisp/geiser-compile.el @@ -69,14 +69,14 @@ (message "") (geiser-compile--pop-to-buffer)))) -(defun geiser-compile--file-op (path op msg) +(defun geiser-compile--file-op (path compile-p msg) (let* ((b/p (geiser-compile--buffer/path path)) (buffer (car b/p)) (path (cdr b/p)) (msg (format "%s %s ..." msg path))) (message msg) (geiser-compile--display-result - msg (geiser-eval--send/wait `(:eval ((:ge ,op) ,path) (geiser emacs)))))) + msg (geiser-eval--send/wait `(,(if compile-p :comp-file :load-file) ,path))))) ;;; User commands: @@ -84,7 +84,7 @@ (defun geiser-compile-file (path) "Compile and load Scheme file." (interactive "FScheme file: ") - (geiser-compile--file-op path 'compile-file "Compiling")) + (geiser-compile--file-op path t "Compiling")) (defun geiser-compile-current-buffer () "Compile and load current Scheme file." @@ -94,7 +94,7 @@ (defun geiser-load-file (path) "Load Scheme file." (interactive "FScheme file: ") - (geiser-compile--file-op path 'load-file "Loading")) + (geiser-compile--file-op path nil "Loading")) (defun geiser-load-current-buffer () "Load current Scheme file." diff --git a/elisp/geiser-eval.el b/elisp/geiser-eval.el index ca442f0..785f441 100644 --- a/elisp/geiser-eval.el +++ b/elisp/geiser-eval.el @@ -40,6 +40,8 @@ ((listp code) (cond ((eq (car code) :eval) (geiser-eval--eval (cdr code))) ((eq (car code) :comp) (geiser-eval--comp (cdr code))) + ((eq (car code) :load-file) (geiser-eval--load-file (cadr code))) + ((eq (car code) :comp-file) (geiser-eval--comp-file (cadr code))) ((eq (car code) :module) (geiser-eval--module (cadr code))) ((eq (car code) :ge) (geiser-eval--ge (cadr code))) ((eq (car code) :scm) (cadr code)) @@ -55,6 +57,12 @@ (geiser-eval--scheme-str `((@ (geiser emacs) ge:compile) (quote ,(nth 0 code)) (:module ,(nth 1 code))))) +(defsubst geiser-eval--load-file (file) + (geiser-eval--scheme-str `((@ (geiser emacs) ge:load-file) ,file))) + +(defsubst geiser-eval--comp-file (file) + (geiser-eval--scheme-str `((@ (geiser emacs) ge:compile-file) ,file))) + (defsubst geiser-eval--module (code) (geiser-eval--scheme-str (cond ((or (eq code '(())) (null code)) |