Wed Apr 27 20:44:25 UTC 2005 mantoniotti * Fixed bugs in COLLECT-TEMPLATE-VARS for NUMBER-TEMPLATEs. Fixed bugs in COLLECT-TEMPLATE-VARS for NUMBER-TEMPLATEs. If a variable was present, then the method was not returning a list. The treatment of constants like PI was also incorrect, as the numeric value was returned. Retunrning () seems the right thing to do instead. diff -rN -u old-cl-unification-1/templates-hierarchy.lisp new-cl-unification-1/templates-hierarchy.lisp --- old-cl-unification-1/templates-hierarchy.lisp 2013-07-24 17:39:52.000000000 +0000 +++ new-cl-unification-1/templates-hierarchy.lisp 2013-07-24 17:39:52.000000000 +0000 @@ -485,10 +485,13 @@ (let ((template (number-template-number template))) (etypecase template (number ()) - (symbol (cond ((variablep template) template) + (symbol (cond ((and (variablep template) (not (variable-any-p template))) + (list template)) ((and (boundp template) (numberp (symbol-value template))) - (symbol-value template)) + ;; This handles cases like #T(number pi) + ;; It may be too broad, but for the time being it seems ok. + nil) (t (error "Invalid number template ~S." template)))))))