X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fcode%2Fearly-extensions.lisp;h=dd7742e8f66a5ccf2f44f16215cb76437201270c;hb=cee8ef591040db9a79cdd19297867672a9529051;hp=577d3c39dcaca8f5bca96ee39167b6fc01902a69;hpb=b08c57465f30c0d1632a5ad47a247453698c3bcc;p=sbcl.git diff --git a/src/code/early-extensions.lisp b/src/code/early-extensions.lisp index 577d3c3..dd7742e 100644 --- a/src/code/early-extensions.lisp +++ b/src/code/early-extensions.lisp @@ -715,13 +715,13 @@ ;;; our equality tests, because MEMBER and friends refer to EQLity. ;;; So: (defun equal-but-no-car-recursion (x y) - (cond - ((eql x y) t) - ((consp x) - (and (consp y) - (eql (car x) (car y)) - (equal-but-no-car-recursion (cdr x) (cdr y)))) - (t nil))) + (do () (()) + (cond ((eql x y) (return t)) + ((and (consp x) + (consp y) + (eql (pop x) (pop y)))) + (t + (return))))) ;;;; package idioms