Re: Maxima problem (and solve bug)



Raymond Toy writes:

 > FWIW, I think the latest release (soon to be 18d) is supposed to have
 > ANSI conforming behavior for eval-when.

I don't see any change in 18d-pre wrt (EVAL-WHEN (COMPILE) (DEFMACRO
...)), please see transcript below. I don't know if this behaviour is
ANSI conforming or not.

 > Don't know if this will help or not, but I'll give it a try soon.

The new build process works here (passes all tests) without separating
the compile/save stages, probably because all offending macros have
been renamed (todd-coxeter.lisp: MULT, hyp.lisp: MABS any
more?). Sorry if that hasn't come across clearly before.

	Ole

$ cat test.lisp
(eval-when (compile) (defmacro test (x) x))

$ lisp
CMU Common Lisp 18d-pre, level-1 built 2002-03-05 on dukas, running on suntrt2
* (compile-file "test.lisp" :load nil)
* (describe 'test)
TEST is an internal symbol in the COMMON-LISP-USER package.
Macro-function: #<Interpreted Function "DEFMACRO TEST" {4002C761}>
Macro arguments:
  (X)
Its definition is:
  (LAMBDA (#:WHOLE-0 #:ENV-1) (DECLARE #) (BLOCK TEST #))
* (save-lisp "test.core")

$ lisp -core test.core 
CMU Common Lisp 18d-pre, level-1 built 2002-03-05 on dukas, running on suntrt2
* (describe 'test)
TEST is an internal symbol in the COMMON-LISP-USER package.
Macro-function: #<Interpreted Function "DEFMACRO TEST" {2833D189}>
Macro arguments:
  (X)
Its definition is:
  (LAMBDA (#:WHOLE-0 #:ENV-1) (DECLARE #) (BLOCK TEST #))

$ lisp
CMU Common Lisp 18d-pre, level-1 built 2002-03-05 on dukas, running on suntrt2
* (load "test")
* (describe 'test)
TEST is an internal symbol in the COMMON-LISP-USER package.