From 6580d440b2d0b0435ca99d5063c156944dea0647 Mon Sep 17 00:00:00 2001 From: Stelian Ionescu Date: Mon, 25 May 2009 17:51:17 +0200 Subject: [PATCH] Don't use gensyms in RUNE (in)equality functions. --- src/base/runes.lisp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/base/runes.lisp b/src/base/runes.lisp index 505a959..cbe8a65 100644 --- a/src/base/runes.lisp +++ b/src/base/runes.lisp @@ -86,15 +86,14 @@ (macrolet ((define-rune-comparison (name test &key (key 'identity)) - (with-gensyms (rune more-runes r list) - `(defun ,name (,rune &rest ,more-runes) - (check-type ,rune rune) - (assert (every #'runep ,more-runes)) - (do* ((,r (,key ,rune) (,key (car ,list))) - (,list ,more-runes (cdr ,list))) - ((null ,list) t) - (unless (,test ,r (,key (car ,list))) - (return nil))))))) + `(defun ,name (rune &rest more-runes) + (check-type rune rune) + (assert (every #'runep more-runes)) + (do* ((r (,key rune) (,key (car list))) + (list more-runes (cdr list))) + ((null list) t) + (unless (,test r (,key (car list))) + (return nil)))))) (define-rune-comparison rune= = ) (define-rune-comparison rune-equal = :key rune-downcase) (define-rune-comparison rune< < ) -- 2.11.4.GIT