* elmo-util.el (elmo-flatten): New function.
authorteranisi <teranisi>
Wed, 1 Nov 2000 03:04:04 +0000 (03:04 +0000)
committerteranisi <teranisi>
Wed, 1 Nov 2000 03:04:04 +0000 (03:04 +0000)
elmo/ChangeLog
elmo/elmo-util.el

index 4ea16a8..df36686 100644 (file)
@@ -1,3 +1,7 @@
+2000-11-01  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-util.el (elmo-flatten): New function.
+
 2000-10-31  TAKAHASHI Kaoru  <kaoru@kaisei.org>
 
        * elmo-archive.el (toplevel): Added (C) to copyright notice, and
index 71b12c2..917ddc2 100644 (file)
@@ -667,7 +667,11 @@ Return value is a cons cell of (STRUCTURE . REST)"
 (defun elmo-uniq-list (lst)
   "Distractively uniqfy elements of LST."
   (let ((tmp lst))
-    (while tmp (setq tmp (setcdr tmp (and (cdr tmp) (delete (car tmp) (cdr tmp)))))))
+    (while tmp (setq tmp
+                    (setcdr tmp
+                            (and (cdr tmp)
+                                 (delete (car tmp)
+                                         (cdr tmp)))))))
   lst)
 
 (defun elmo-string-partial-p (string)
@@ -1551,6 +1555,15 @@ the value of `foo'."
        (set-text-properties 0 (length obj) nil obj)
        obj)))
 
+(defun elmo-flatten (list-of-list)
+  "Flatten LIST-OF-LIST."
+  (unless (null list-of-list)
+    (append (if (and (car list-of-list)
+                    (listp (car list-of-list)))
+               (car list-of-list)
+             (list (car list-of-list)))
+           (elmo-flatten (cdr list-of-list)))))
+
 (defun elmo-y-or-n-p (prompt &optional auto default)
   "Same as `y-or-n-p'.
 But if optional argument AUTO is non-nil, DEFAULT is returned."