summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.emacs.d/init-spw.el17
1 files changed, 8 insertions, 9 deletions
diff --git a/.emacs.d/init-spw.el b/.emacs.d/init-spw.el
index 575d36e7..9b3457bd 100644
--- a/.emacs.d/init-spw.el
+++ b/.emacs.d/init-spw.el
@@ -1655,15 +1655,14 @@ making indirect clones."
(defun spw/flatten (list)
"Non-destructive list flatten."
- (nreverse (spw/flatten-and-reverse list)))
-
-(defun spw/flatten-and-reverse (list)
- "Non-destructive list flatten and reverse."
- (let (accum)
- (dolist (element list accum)
- (if (atom element)
- (push element accum)
- (setq accum (append (spw/flatten-and-reverse element) accum))))))
+ (cl-labels
+ ((flatten (list)
+ (let (accum)
+ (dolist (element list accum)
+ (if (atom element)
+ (push element accum)
+ (setq accum (append (flatten element) accum)))))))
+ (nreverse (flatten list))))
;;;; Composing mail