emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/dash cd137e0 310/439: `-slice` should not fill the retu


From: Phillip Lord
Subject: [elpa] externals/dash cd137e0 310/439: `-slice` should not fill the returned list with nils if to > length
Date: Tue, 04 Aug 2015 20:29:32 +0000

branch: externals/dash
commit cd137e0d50c572246ea513499dd13d14690c1792
Author: Matus Goljer <address@hidden>
Commit: Matus Goljer <address@hidden>

    `-slice` should not fill the returned list with nils if to > length
---
 dash.el         |   11 ++++-------
 dev/examples.el |    5 ++++-
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/dash.el b/dash.el
index 41aea86..7c1a772 100644
--- a/dash.el
+++ b/dash.el
@@ -436,8 +436,7 @@ Returns `nil` both if all items match the predicate, and if 
none of the items ma
   "Return copy of LIST, starting from index FROM to index TO.
 FROM or TO may be negative."
   (let ((length (length list))
-        (new-list nil)
-        (index 0))
+        (new-list nil))
     ;; to defaults to the end of the list
     (setq to (or to length))
     ;; handle negative indices
@@ -447,11 +446,9 @@ FROM or TO may be negative."
       (setq to (mod to length)))
 
     ;; iterate through the list, keeping the elements we want
-    (while (< index to)
-      (when (>= index from)
-        (!cons (car list) new-list))
-      (!cdr list)
-      (setq index (1+ index)))
+    (--each-while list (< it-index to)
+      (when (>= it-index from)
+        (push it new-list)))
     (nreverse new-list)))
 
 (defun -take (n list)
diff --git a/dev/examples.el b/dev/examples.el
index 4de5882..28fceb6 100644
--- a/dev/examples.el
+++ b/dev/examples.el
@@ -70,7 +70,10 @@
   (defexamples -slice
     (-slice '(1 2 3 4 5) 1) => '(2 3 4 5)
     (-slice '(1 2 3 4 5) 0 3) => '(1 2 3)
-    (-slice '(1 2 3 4 5) 1 -1) => '(2 3 4))
+    (-slice '(1 2 3 4 5) 1 -1) => '(2 3 4)
+    (-slice '(1 2 3 4 5) 0 10) => '(1 2 3 4 5) ;; "to > length" should not 
fill in nils!
+    (-slice '(1 2 3 4 5) -3) => '(3 4 5)
+    (-slice '(1 2 3 4 5) -3 -1) => '(3 4))
 
   (defexamples -take
     (-take 3 '(1 2 3 4 5)) => '(1 2 3)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]