From: Dieter K. <cra...@us...> - 2010-05-30 22:50:09
|
Update of /cvsroot/maxima/maxima/src In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv27875/src Modified Files: comm.lisp Log Message: Improving the routine depends: 1. Adding a specrepcheck 2. Checking if a symbol is member of the list of dependencies Related bug reports: ID: 2805600 - depends() partially prevents diff() to work ID: 2985866 - derivatives of functions of taylor polys No problems with the testsuite and share_testsuite Index: comm.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/comm.lisp,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- comm.lisp 28 May 2010 02:05:26 -0000 1.48 +++ comm.lisp 30 May 2010 22:50:00 -0000 1.49 @@ -436,10 +436,13 @@ (and (atom e) (setq y (mget e '$atomgrad)) (assolike x y)))) (defun depends (e x) + (setq e (specrepcheck e)) (cond ((alike1 e x) t) - ((mnump e) nil) - ((atom e) (mget e 'depends)) - (t (or (depends (caar e) x) (dependsl (cdr e) x))))) + ((mnump e) nil) + ((and (symbolp e) (member x (mget e 'depends))) t) + ((atom e) nil) + (t (or (depends (caar e) x) + (dependsl (cdr e) x))))) (defun dependsl (l x) (dolist (u l) |