diff options
-rw-r--r-- | .emacs.d/init-spw.el | 17 |
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 |