(mapcon, union): Remove compiler macros.
authorDave Love <fx@gnu.org>
Tue, 29 Aug 2000 15:04:14 +0000 (15:04 +0000)
committerDave Love <fx@gnu.org>
Tue, 29 Aug 2000 15:04:14 +0000 (15:04 +0000)
lisp/dgnushack.el

index 7d03652..3b74add 100644 (file)
           (while (consp (cdr x))
             (pop x))
           x))))
-
-  (define-compiler-macro mapcon (&whole form fn seq &rest rest)
-    (if (and (fboundp 'mapcon)
-            (subrp (symbol-function 'mapcon)))
-       form
-      (if rest
-         `(let (res
-                (args (list ,seq ,@rest))
-                p)
-            (while (not (memq nil args))
-              (push (apply ,fn args) res)
-              (setq p args)
-              (while p
-                (setcar p (cdr (pop p)))
-                ))
-            (apply (function nconc) (nreverse res)))
-       `(let (res
-              (arg ,seq))
-          (while arg
-            (push (funcall ,fn arg) res)
-            (setq arg (cdr arg)))
-          (apply (function nconc) (nreverse res))))))
-
-  (define-compiler-macro union (&whole form list1 list2)
-    (if (and (fboundp 'union)
-            (subrp (symbol-function 'union)))
-       form
-      `(let ((a ,list1)
-            (b ,list2))
-        (cond ((null a) b)
-              ((null b) a)
-              ((equal a b) a)
-              (t
-               (or (>= (length a) (length b))
-                   (setq a (prog1 b (setq b a))))
-               (while b
-                 (or (memq (car b) a)
-                     (push (car b) a))
-                 (pop b))
-               a)))))
   )
 
 ;; If we are building w3 in a different directory than the source