]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix shorter-than-length case for string-limit
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 21 Dec 2020 19:42:17 +0000 (20:42 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 21 Dec 2020 19:42:17 +0000 (20:42 +0100)
* lisp/emacs-lisp/subr-x.el (string-limit): Fix
shorter-than-length case.

lisp/emacs-lisp/subr-x.el
test/lisp/emacs-lisp/subr-x-tests.el

index db7e75dfd2be8618e74708a797bef56b5578637e..05fa16da4994eac4a1cbeea75ac1e383ce39142b 100644 (file)
@@ -292,7 +292,7 @@ is a positive number, return a a substring consisting of the
 first LENGTH characters of STRING.  If LENGTH is negative, return
 a substring consisitng of thelast LENGTH characters of STRING."
   (cond
-   ((<= (length string) length) string)
+   ((<= (length string) (abs length)) string)
    ((>= length 0) (substring string 0 length))
    (t (substring string (+ (length string) length)))))
 
index 6ed06d4ce4f3a86663729a3a2938795eaed231c1..c655fcf6eadae0f5060f0013c22afddc28a9aaf2 100644 (file)
   (should (equal (string-limit "foo" 10) "foo"))
   (should (equal (string-limit "foo" 2) "fo"))
   (should (equal (string-limit "foo" -2) "oo"))
+  (should (equal (string-limit "abc" -10) "abc"))
   (should (equal (string-limit "foo" 0) "")))
 
 (ert-deftest subr-string-lines ()