Hi,
I have experimented with code from cmucl-2.4.22, in order to find about
the "special-variables"-problem I reported last time.
Unfortunately I couldn't find out, why this bug happens, up to now.
This bug prevents working with ILISP happily.
In contrast to SBCL, this seems to be fixed in cmucl (I tested
cmucl-2.4.19).
Anyway, I tried to patch compiler/ir1tran.lisp (looking at the cmucl
source).
The patch below fixes some "typos", I guess, but ut also prints less
notes when compiling.
This is especially due to the %coerce-to-callable-function construct.
This transformation is present in the sbcl-source; so I guess it was
removed.
But why??
Cheers,
Martin
Diff: compiler/ir1tran.lisp
--------------------------------------------------
233c233,234
< (make-hash-table :test 'eq))
---
> ;;; MNA: ir1tran-merge-patch
> (make-hash-table :test #'eq))
496c497,499
< (when (producing-fasl-file)
---
> ;;; MNA: ir1tran-merge-patch
> (when (and (producing-fasl-file)
> (not (typep value '(or symbol number character string))))
692,693c695,697
< (assert-continuation-type fun-cont
< (specifier-type '(or function symbol)))
---
> (assert-continuation-type
> fun-cont
> (specifier-type '(or function symbol)))
2275,2279c2279,2286
< (%funcall ,(if (csubtypep (continuation-type function)
< (specifier-type 'function))
< 'function
< '(%coerce-callable-to-function function))
< ,@arg-names))))
---
> (%funcall ,(if (csubtypep (continuation-type function)
> (specifier-type 'function))
> 'function
> ;; MNA: ir1tran-merge-patch
> '(if (functionp function)
> function
> (%coerce-callable-to-function function)))
> ,@arg-names))))
2284c2291,2292
< (assert-continuation-type fun-cont (specifier-type 'function))
---
> (assert-continuation-type fun-cont
> (specifier-type 'function))
2795,2796c2803,2808
< fun
< `(%coerce-callable-to-function ,fun)))
---
> fun
> ;;; MNA: ir1tran-merge-patch
> (once-only ((fun fun))
> `(if (functionp ,fun)
> ,fun
> (%coerce-callable-to-function ,fun)))))
-------------------- cut here -------------------
--
Homepage: http://www.atzmueller.net/
Email: martin@...
|