From: Vadim V. Zhytnikov <vvzhy@ma...>  20030712 07:42:41

Raymond Toy ?????: >>>>>>"Sam" == Sam Halliday <fommil@...> writes: > > > > Sam> (C1) diff(sin(x),x); > Sam> (D1) COS(x) > > Sam> the result is as expected. if however, i use build maxima with clisp > Sam> CVS, i get this; > > Sam> (C1) diff(sin(x),x); > Sam> d > Sam> (D1)  (SIN(x)) > Sam> dx > > This is caused by a recently discovered bug. CVS CMUCL also fails in > this way. > > Here is a potential solution. Just use the following replacement in > src/commac.lisp. > > Ray > > > > (defun maclisptypep (x &optional type) > (cond (type > (lisp:let ((pred (get type 'mltypep))) > (cond (pred > (funcall pred x)) > (t (typep x type))))) > (t > (typecase x > (cl:cons 'list) > (cl:fixnum 'fixnum) > (cl:integer 'bignum) > (cl:float 'flonum) > (cl:number 'number) > (cl:array 'array) > (cl:hashtable 'hashtable) > (t > (typeof xtype)))))) > Maxima passes all tests on CLISP CVS if I replace the last line by (typeof x)))))) Vadim  Vadim V. Zhytnikov <vvzhy@...> <vvzhy@...> 