Update of /project/climacs/cvsroot/climacs In directory common-lisp.net:/tmp/cvs-serv3987
Modified Files: prolog-syntax.lisp Log Message: Fix for multiple op/3 directives with the same operator.
Date: Fri May 27 15:25:01 2005 Author: crhodes
Index: climacs/prolog-syntax.lisp diff -u climacs/prolog-syntax.lisp:1.20 climacs/prolog-syntax.lisp:1.21 --- climacs/prolog-syntax.lisp:1.20 Thu May 26 15:22:33 2005 +++ climacs/prolog-syntax.lisp Fri May 27 15:25:01 2005 @@ -747,11 +747,13 @@ (with-slots (term) directive-term (with-slots (right) term (let* ((a (arg-list right)) - (exp (arg-list-nth 2 a)) - (term (term exp))) - (let ((value (slot-value term 'value))) - (when (typep value 'atom) - (canonical-name value)))))))) + (exp (arg-list-nth 2 a))) + (etypecase exp + (exp-atom (canonical-name (atom exp))) + (exp-term (let* ((term (term exp)) + (value (slot-value term 'value))) + (when (typep value 'atom) + (canonical-name value)))))))))) (define-prolog-rule (prolog-text -> (prolog-text directive)) (when (and (op/3-directive-p directive)