439 |
((and (setq tem (symbol-function name)) |
((and (setq tem (symbol-function name)) |
440 |
(consp tem)) |
(consp tem)) |
441 |
(let ((na (if (symbol-package name) name 'cmp-anon)) |
(let ((na (if (symbol-package name) name 'cmp-anon)) |
442 |
(tem (if *keep-gaz* tem (wrap-literals tem)))) |
(tem (if *keep-gaz* tem (wrap-literals tem))) warnings failures) |
443 |
(unless (and (fboundp 'si::init-cmp-anon) (or (si::init-cmp-anon) (fmakunbound 'si::init-cmp-anon))) |
(unless (and (fboundp 'si::init-cmp-anon) (or (si::init-cmp-anon) (fmakunbound 'si::init-cmp-anon))) |
444 |
(with-open-file |
(with-open-file |
445 |
(st (setq gaz (gazonk-name)) :direction :output) |
(st (setq gaz (gazonk-name)) :direction :output) |
447 |
(lambda (cdr tem)) |
(lambda (cdr tem)) |
448 |
(lambda-block (cddr tem)) |
(lambda-block (cddr tem)) |
449 |
)) st)) |
)) st)) |
450 |
(let ((fi (let ((*compiler-compile* t)) |
(multiple-value-bind |
451 |
(multiple-value-list (compile-file gaz))))) |
(fn w f) |
452 |
(load (car fi)) |
(let ((*compiler-compile* t)) (compile-file gaz)) |
453 |
(delete-file (car fi)) |
(load fn) |
454 |
(unless *keep-gaz* (delete-file gaz)) |
(delete-file fn) |
455 |
(or (eq na name) (setf (symbol-function name) (symbol-function na))) |
(setq warnings w failures f)) |
456 |
(values (symbol-function name) (cadr fi) (caddr fi)))))) |
(unless *keep-gaz* (delete-file gaz))) |
457 |
|
(or (eq na name) (setf (symbol-function name) (symbol-function na))) |
458 |
|
(values (symbol-function name) warnings failures))) |
459 |
(t (error "can't compile ~a" name)))) |
(t (error "can't compile ~a" name)))) |
460 |
|
|
461 |
(defun disassemble (name &aux tem) |
(defun disassemble (name &aux tem) |