]> git.eshelyaron.com Git - emacs.git/commitdiff
; Fix recent string utility additions
authorBasil L. Contovounesios <contovob@tcd.ie>
Mon, 21 Dec 2020 20:40:12 +0000 (20:40 +0000)
committerBasil L. Contovounesios <contovob@tcd.ie>
Mon, 21 Dec 2020 20:51:29 +0000 (20:51 +0000)
* etc/NEWS: Fix typo.
* lisp/emacs-lisp/subr-x.el (string-limit): Fix typos in docstring.
Simplify.
(string-slice): Improve docstring wording.
(string-pad): Simplify.

etc/NEWS
lisp/emacs-lisp/subr-x.el

index 1d50555c8e1f7ac345b53694449b0861c29915a9..a6774be8f7373ece04af6b103bdda2b9f59b5651 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1443,7 +1443,7 @@ that makes it a valid button.
 +++
 *** A number of new string manipulation functions have been added.
 'string-clean-whitespace', 'string-fill', 'string-limit',
-'string-limit', 'string-pad' and 'string-slice'.
+'string-lines', 'string-pad' and 'string-slice'.
 
 +++
 *** New variable 'current-minibuffer-command'.
index 05fa16da4994eac4a1cbeea75ac1e383ce39142b..78d0b054b359493dcf66c0cf476278e849a5a313 100644 (file)
@@ -286,15 +286,15 @@ result will have lines that are longer than LENGTH."
 
 (defun string-limit (string length)
   "Return (up to) a LENGTH substring of STRING.
-If STRING is shorter or equal to LENGTH, the entire string is
-returned unchanged.  If STRING is longer than LENGTH, and LENGTH
-is a positive number, return a a substring consisting of the
+If STRING is shorter than or equal to LENGTH, the entire string
+is returned unchanged.  If STRING is longer than LENGTH, and
+LENGTH is a positive number, return a substring consisting of the
 first LENGTH characters of STRING.  If LENGTH is negative, return
-a substring consisitng of thelast LENGTH characters of STRING."
+a substring consisting of the last LENGTH characters of STRING."
   (cond
    ((<= (length string) (abs length)) string)
    ((>= length 0) (substring string 0 length))
-   (t (substring string (+ (length string) length)))))
+   ((substring string length))))
 
 (defun string-lines (string &optional omit-nulls)
   "Split STRING into a list of lines.
@@ -303,7 +303,7 @@ If OMIT-NULLS, empty lines will be removed from the results."
 
 (defun string-slice (string regexp)
   "Split STRING at REGEXP boundaries and return a list of slices.
-The boundaries that match REGEXP are not omitted from the results."
+The boundaries that match REGEXP are included in the result."
   (let ((start-substring 0)
         (start-search 0)
         (result nil))
@@ -328,9 +328,9 @@ is done.
 If LENGTH is positive, the padding is done to the end of the
 string, and if it's negative, padding is done to the start of the
 string."
-  (if (> (length string) (abs length))
-      string
-    (let ((pad-length (- (abs length) (length string))))
+  (let ((pad-length (- (abs length) (length string))))
+    (if (< pad-length 0)
+        string
       (concat (and (< length 0)
                    (make-string pad-length (or padding ?\s)))
               string