On Thu, Mar 27, 2014 at 1:01 PM, Faré <fah...@gmail.com> wrote: > Hi, > > >> 1- encodings... > > The fix should be in the MKCL git repo master head now. > It works perfectly. >
Thank you for the confirmation. > > However, somehow ASDF upgrade is broken: > > (require :asdf) > ("ASDF" "asdf" "UIOP") > > (asdf:load-system :asdf) > Debugger called in: #<thread "Initial" active (4648) 0x7f7c4f74b700 > 0000000001be2000>. > > #<a INVALID-SLOT 89384352>: > The index 35 (max: 33) is not a valid slot index in the object > #<ASDF/PACKAGE-SYSTEM:PACKAGE-SYSTEM "asdf">. > > It looks like you're failing to call upgrade-instance-for-redefined-class > before you're calling a new method on an extended class. > Thank you for the bug report. It will take a little while (2 or 3 days) for a fix since I am stuck in something else right now. > > >> 3- if I uncomment the lines: > >> ;;(unless (or #+ecl (use-ecl-byte-compiler-p)) > >> ;; (setf *load-system-operation* 'load-bundle-op)) > >> I get an error in test-logical-pathname, > >> with the .fasb apparently mapped to the wrong directory. > > > > I am still scratching my head on this one. It feels so much like an > > optimization concern of questionable wisdom... Is it the fear of hitting > > some wall I am unaware of, like the 1024 file descriptor one, or > something > > else I haven't seen yet? Is it some concern about memory consumption in > a > > development environment where memory use is through the roof already > anyway? > > I don't get it, and I am ready to wait until this becomes a > real/confirmed > > problem before I address it (I bet it will take a very long time to see > that > > happen). Can't we just drop this one? > > > We can drop it, but the bugs it uncovers are real. > It does appear to work with MKCL, though. > I suspect it's related to some bad shadowing of initialization function > in ECL, whereby the version from the old object file is called, instead > of the version from the new one. > > Did you change something in MKCL regarding initialization functions, > e.g. using attributes to mark some functions as being in an initialization > section that will cause them to be called at by the linker, > when ECL for portability to old systems still makes its own function > and calls it? > > Quite a few things have been changed at those low levels since the fork but nothing comes clearly enough to my mind to be an obvious explanation. I will need to do real archeology to figure this one out...