gcl.git - GNU Common Lisp

index : gcl.git
GNU Common Lisp
summary refs log tree commit diff
diff options
context:
space:
mode:
authorCamm Maguire <camm@debian.org>2014年08月28日 17:28:18 +0000
committerCamm Maguire <camm@debian.org>2014年08月28日 17:28:18 +0000
commit1c68daf06113e2f13173b9b52ad4475a6bf4dd9a (patch)
tree356f1b449a8d0c8c451b1125a4597fd4b8a8e4bb
parent7c642b0f89abb1cc5270167d641174f11e3a3ffa (diff)
downloadgcl-1c68daf06113e2f13173b9b52ad4475a6bf4dd9a.tar.gz
do not attempt to load on error in #'compile
Diffstat
-rwxr-xr-xgcl/cmpnew/gcl_cmpmain.lsp 15
1 files changed, 9 insertions, 6 deletions
diff --git a/gcl/cmpnew/gcl_cmpmain.lsp b/gcl/cmpnew/gcl_cmpmain.lsp
index d675138a6..9048a445d 100755
--- a/gcl/cmpnew/gcl_cmpmain.lsp
+++ b/gcl/cmpnew/gcl_cmpmain.lsp
@@ -370,12 +370,15 @@ Cannot compile ~a.~%"
(unless (and (fboundp 'si::init-cmp-anon) (or (si::init-cmp-anon) (fmakunbound 'si::init-cmp-anon)))
(with-open-file
(st (setq gaz (gazonk-name)) :direction :output))
- (let ((fi (let ((*compiler-compile* `(defun ,na ,@ (ecase (car tem)
- (lambda (cdr tem))
- (lambda-block (cddr tem))))))
- (compile-file gaz))))
- (load fi)
- (mdelete-file fi))
+ (let* ((*compiler-compile*
+ `(defun ,na
+ ,@(ecase (car tem)
+ (lambda (cdr tem))
+ (lambda-block (cddr tem)))))
+ (fi (compile-file gaz)))
+ (when (pathnamep fi)
+ (load fi)
+ (mdelete-file fi)))
(unless *keep-gaz* (mdelete-file gaz)))
(or (eq na name) (setf (symbol-function name) (symbol-function na)))
;; FIXME -- support warnings-p and failures-p. CM 20041119
generated by cgit v1.2.3 (git 2.25.1) at 2025年09月04日 18:01:30 +0000

AltStyle によって変換されたページ (->オリジナル) /