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

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

[elpa] externals/dash b945f00 3/4: Merge PR #384 from brennier/master


From: ELPA Syncer
Subject: [elpa] externals/dash b945f00 3/4: Merge PR #384 from brennier/master
Date: Thu, 26 Aug 2021 07:57:12 -0400 (EDT)

branch: externals/dash
commit b945f0076415d2e0ce5fe7771bd54b8a6acaf926
Merge: 2675596 36b6da5
Author: Basil L. Contovounesios <contovob@tcd.ie>
Commit: Basil L. Contovounesios <contovob@tcd.ie>

    Merge PR #384 from brennier/master
---
 NEWS.md         | 12 ++++++++++--
 dash.el         |  4 +---
 dev/examples.el |  2 ++
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/NEWS.md b/NEWS.md
index bd9700e..2a813f2 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -6,13 +6,21 @@ See the end of the file for license conditions.
 
 ## Change log
 
+### From 2.19.0 to 2.19.1
+
+#### Fixes
+
+- Fixed a regression from `2.18` in `-is-suffix-p` which led to false
+  negatives when parts of the suffix appeared multiple times in the
+  list being searched (Bennett Rennier, #384).
+
 ### From 2.18.1 to 2.19.0
 
 #### Fixes
 
 - Reverted a breaking change introduced in `2.18.0` that caused the
-  threading macro `-->` to be indented differently from `->` and
-  `->>` (#375).
+  threading macro `-->` to be indented differently from `->` and `->>`
+  (#375).
 - Added and fixed Edebug specifications for many Dash macros (Philipp
   Stephani, #380, #381).
 
diff --git a/dash.el b/dash.el
index 4e56da4..4a591f3 100644
--- a/dash.el
+++ b/dash.el
@@ -2729,9 +2729,7 @@ Alias: `-is-prefix-p'."
 
 Alias: `-is-suffix-p'."
   (declare (pure t) (side-effect-free t))
-  (cond ((null suffix))
-        ((setq list (member (car suffix) list))
-         (equal (cdr suffix) (cdr list)))))
+  (equal suffix (last list (length suffix))))
 
 (defun -is-infix? (infix list)
   "Return non-nil if INFIX is infix of LIST.
diff --git a/dev/examples.el b/dev/examples.el
index 0125da2..480304e 100644
--- a/dev/examples.el
+++ b/dev/examples.el
@@ -758,6 +758,8 @@ value rather than consuming a list to produce a single 
value."
     (-is-suffix? '(nil) '(nil)) => t
     (-is-suffix? '(nil) '()) => nil
     (-is-suffix? '(1 2) '(1 2 3)) => nil
+    (-is-suffix? '(1 2) '(1 2 1 2)) => t
+    (-is-suffix? '(1 2) '(1 3 1 2)) => t
     (let* ((s (list 1 2)) (l s) (c (copy-sequence s)))
       (and (-is-suffix? s l) (equal s c) (equal l c)))
     => t)



reply via email to

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