Minor optimisation of string-trim-left and string-trim-right

* lisp/subr.el (string-trim-left, string-trim-right):
Use a constant string when no REGEXP argument is given.
This commit is contained in:
Mattias Engdegård 2023-05-20 12:06:46 +02:00
parent d8d3d78e58
commit 5d15818b94

View 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)))