Changeset 11812


Ignore:
Timestamp:
05/01/09 21:40:08 (13 years ago)
Author:
ehuelsmann
Message:

Followup to r11810: revert it and use a different strategy which
works with *all* forms (which load compiled functions); based
on a report by Stas that system compilation doesn't work with r11810.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/compile-file.lisp

    r11811 r11812  
    314314;;                      (setf form (precompile-form form nil))
    315315                     (note-toplevel-form form)
    316                      (let ((new-form (convert-toplevel-form form)))
    317                        ;; The converted form depends on the loader
    318                        ;; but since we don't own the loader here,
    319                        ;; we'll dump the converted form and eval
    320                        ;; the original one (which won't depend on the loader
    321                        ;; because it doesn't contain a compiled function)
    322                        (when (consp new-form)
    323                          (dump-form new-form stream)
    324                          (%stream-terpri stream)))
    325                      (when compile-time-too
    326                        (eval form))
    327                      (return-from process-toplevel-form)
     316                     (setf form (convert-toplevel-form form))
    328317                     )))))))
    329318  (when (consp form)
    330319    (dump-form form stream)
    331320    (%stream-terpri stream))
    332   (when compile-time-too
    333     (eval form)))
     321  ;; Make sure the compiled-function loader knows where
     322  ;; to load the compiled functions. Note that this trickery
     323  ;; was already used in verify-load before I used it,
     324  ;; however, binding *load-truename* isn't fully compliant, I think.
     325  (let ((*load-truename* *output-file-pathname*))
     326    (when compile-time-too
     327      (eval form))))
    334328
    335329(declaim (ftype (function (t) t) convert-ensure-method))
Note: See TracChangeset for help on using the changeset viewer.