]> git.eshelyaron.com Git - emacs.git/commitdiff
Minor optimisation of string-trim-left and string-trim-right
authorMattias Engdegård <mattiase@acm.org>
Sat, 20 May 2023 10:06:46 +0000 (12:06 +0200)
committerMattias Engdegård <mattiase@acm.org>
Sat, 20 May 2023 16:05:18 +0000 (18:05 +0200)
* lisp/subr.el (string-trim-left, string-trim-right):
Use a constant string when no REGEXP argument is given.

lisp/subr.el

index 5a64196565979d73ce0021437410016ff2790518..8759c095f1a08f76b762bb0e751b082a9171f5ed 100644 (file)
@@ -6940,7 +6940,10 @@ returned list are in the same order as in TREE.
   "Trim STRING of leading string matching REGEXP.
 
 REGEXP defaults to \"[ \\t\\n\\r]+\"."
-  (if (string-match (concat "\\`\\(?:" (or regexp "[ \t\n\r]+") "\\)") string)
+  (if (string-match (if regexp
+                        (concat "\\`\\(?:" regexp "\\)")
+                      "\\`[ \t\n\r]+")
+                    string)
       (substring string (match-end 0))
     string))
 
@@ -6949,7 +6952,9 @@ REGEXP defaults to \"[ \\t\\n\\r]+\"."
 
 REGEXP defaults to  \"[ \\t\\n\\r]+\"."
   (declare (side-effect-free t))
-  (let ((i (string-match-p (concat "\\(?:" (or regexp "[ \t\n\r]+") "\\)\\'")
+  (let ((i (string-match-p (if regexp
+                               (concat "\\(?:" regexp "\\)\\'")
+                             "[ \t\n\r]+\\'")
                            string)))
     (if i (substring string 0 i) string)))