[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposal #9 Status: Variable Name Conflicts
actually, i think it can be done in order N. the idea is to scan down
the list checking each symbol's property list for a flag. if it's not
there, put it there; if it is, you've already seen it. the following
(untested) code may give you the idea:
(defun dup-p (arg-list)
(do ((l arg-list (cdr l))
(foo (gensym)))
((null l) (mapc #'(lambda (x) (remprop x foo)) arg-list) nil)
(if (get (car l) foo)
(progn (mapc #'(lambda (x) (remprop x foo)) arg-list)
(return t))
(setf (get (car l) foo) t))))
-geo