[climacs-cvs] CVS update: climacs/prolog-syntax.lisp
Christophe Rhodes
crhodes at common-lisp.net
Fri May 27 13:25:02 UTC 2005
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)
More information about the Climacs-cvs
mailing list