[Cl-darcs-cvs] r18 - cl-darcs/trunk
mhenoch at common-lisp.net
mhenoch at common-lisp.net
Sat Jul 8 15:05:25 UTC 2006
Author: mhenoch
Date: Sat Jul 8 11:05:25 2006
New Revision: 18
Modified:
cl-darcs/trunk/equal.lisp
Log:
Use normal method combination for equal-patch.
Modified: cl-darcs/trunk/equal.lisp
==============================================================================
--- cl-darcs/trunk/equal.lisp (original)
+++ cl-darcs/trunk/equal.lisp Sat Jul 8 11:05:25 2006
@@ -15,25 +15,23 @@
(defgeneric equal-patch (a b &optional really)
(:documentation "Return true if patches A and B are equal.
If REALLY is false, consider named patches with the same name
-to be equal, regardless of content.")
- (:method-combination and :most-specific-last))
+to be equal, regardless of content."))
-(defmethod equal-patch :around ((a patch) (b patch) &optional really)
+(defmethod equal-patch ((a patch) (b patch) &optional really)
"If there are no methods for comparing A and B, they are not equal."
(declare (ignore really))
- (if (next-method-p)
- (call-next-method)
- nil))
+ nil)
-(defmethod equal-patch and ((a file-patch) (b file-patch) &optional really)
+(defmethod equal-patch :around ((a file-patch) (b file-patch) &optional really)
"Compare two file patches.
Two file patches can be equal only if they are of the same type and
patch the same file."
(declare (ignore really))
- (and (eq (class-of a) (class-of b))
- (equal (patch-filename a) (patch-filename b))))
+ (when (and (eq (class-of a) (class-of b))
+ (equal (patch-filename a) (patch-filename b)))
+ (call-next-method)))
-(defmethod equal-patch and ((a hunk-patch) (b hunk-patch) &optional really)
+(defmethod equal-patch ((a hunk-patch) (b hunk-patch) &optional really)
"Compare two hunk patches."
(declare (ignore really))
(flet ((compare (accessor)
@@ -44,13 +42,7 @@
(compare #'hunk-old-lines)
(compare #'hunk-new-lines))))
-(defmethod equal-patch and ((a binary-patch) (b binary-patch) &optional really)
- "Compare two binary patches."
- (declare (ignore really))
- (and (equalp (binary-oldhex a) (binary-oldhex b))
- (equalp (binary-newhex a) (binary-newhex b))))
-
-(defmethod equal-patch and ((a token-replace-patch) (b token-replace-patch) &optional really)
+(defmethod equal-patch ((a token-replace-patch) (b token-replace-patch) &optional really)
"Compare two token replacing patches."
(declare (ignore really))
(flet ((compare (accessor)
@@ -60,7 +52,13 @@
(compare #'old-token)
(compare #'new-token))))
-(defmethod equal-patch and ((a merger-patch) (b merger-patch) &optional really)
+(defmethod equal-patch ((a binary-patch) (b binary-patch) &optional really)
+ "Compare two binary patches."
+ (declare (ignore really))
+ (and (equalp (binary-oldhex a) (binary-oldhex b))
+ (equalp (binary-newhex a) (binary-newhex b))))
+
+(defmethod equal-patch ((a merger-patch) (b merger-patch) &optional really)
"Compare two merger patches."
(and (string= (merger-version a) (merger-version b))
(eql (merger-inverted a) (merger-inverted b))
More information about the Cl-darcs-cvs
mailing list