[cl-unification-cvs] CVS update: cl-unification/templates-hierarchy.lisp

Marco Antoniotti mantoniotti at common-lisp.net
Wed Apr 27 20:44:26 UTC 2005


Update of /project/cl-unification/cvsroot/cl-unification
In directory common-lisp.net:/tmp/cvs-serv24008

Modified Files:
	templates-hierarchy.lisp 
Log Message:
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.

Date: Wed Apr 27 22:44:25 2005
Author: mantoniotti

Index: cl-unification/templates-hierarchy.lisp
diff -u cl-unification/templates-hierarchy.lisp:1.1.1.1 cl-unification/templates-hierarchy.lisp:1.2
--- cl-unification/templates-hierarchy.lisp:1.1.1.1	Wed Nov 17 23:19:54 2004
+++ cl-unification/templates-hierarchy.lisp	Wed Apr 27 22:44:25 2005
@@ -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)))))))
 




More information about the Cl-unification-cvs mailing list