From: Mattias EngdegÄrd Date: Sat, 20 May 2023 10:06:46 +0000 (+0200) Subject: Minor optimisation of string-trim-left and string-trim-right X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5d15818b94c1f6fd46f30154240942b3991492a4;p=emacs.git 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. --- diff --git a/lisp/subr.el b/lisp/subr.el index 5a641965659..8759c095f1a 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -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)))