Lisp HUG Maillist Archive

specmac module

We're (quite successfully!) upgrading our customer's capi-based applications
through an automatic patch download system. To make the application accept
the loading of fasl-files, I've delivered it with at level 0:

(deliver 'init-trader "PrimeTrader" 0 
	 :interface :capi
	 :keep-pretty-printer t
	 :keep-clos :no-empty
	 #+win32 :icon-file #+win32 (my-pathname "lib/pt-icon.ico"))

Until today, this has worked fine, even patches that add or replace methods
work just fine. But now I'm having a headache: While testing a new patch
I want to deliver to our customers, I discovered that the windows version
would crash (the linux version ran just fine) complaining that it needed
the "specmac" module. From the backtrace, it looked like it was trying
to do some compilation of some capi-related method, it looks like
CAPI::DRAW-PINBOARD-OBJECTS TRIGGERS a call to CLOS::DCODE-MISS-NEW, 
which calls CLOS::COMPUTE-EFFECTIVE-METHOD-FROM-METHODS, which in its turn 
finally tries to call COMPILE, which apparently misses the specmac module to
do some macro stuff.

My questions are: 

1.  Should I have included the specmac module in the first place...?
2.  Can I persuade the run time system to avoid doing all (or parts of)
    this so it won't need specmac.ufsl?
3.  If not, is it ok if I provide our customers with specmac.fsl too?
    (I have confirmed that my patch work as expected if I load specmac.fsl
    before creating instances of the classes in question).

(The whole thing puzzles me, since this has worked so many times before -
 this is patch number 9 or 10 I want to deliver this way. Maybe I'm missing 
 some obvious error I've made?)
-- 
  (espen)


Re: specmac module

Unable to parse email body. Email id is 821

Re: specmac module

davef@xanalys.com writes:

> It would be more helpful to show the backtrace.

I know, but I had problems collecting it.

> I don't think so. I suspect the problem is that your application is
> calling compile because it is missing a particular method combination.

I'm not using any non-standard method combinations (except for those
that might be in LW-included code, e.g. in CAPI).

> Did you check for missing templates when you built your application?

No, I skipped that chapter in the delivery guide because I'm only
using standard method combination :-)

thanks for your quick answer!
-- 
  (espen)


Updated at: 2020-12-10 09:01 UTC