Slight replace-in-string optimization
* lisp/subr.el (replace-in-string): Optimize to return the original string if nothing was replaced (bug#43598).
This commit is contained in:
parent
f43d9d94aa
commit
53cf5936c1
1 changed files with 7 additions and 4 deletions
11
lisp/subr.el
11
lisp/subr.el
|
@ -4442,10 +4442,13 @@ Unless optional argument INPLACE is non-nil, return a new string."
|
|||
(push (substring instring start pos) result))
|
||||
(push tostring result)
|
||||
(setq start (+ pos (length fromstring))))
|
||||
;; Get any remaining bit.
|
||||
(unless (= start (length instring))
|
||||
(push (substring instring start) result))
|
||||
(apply #'concat (nreverse result))))
|
||||
(if (null result)
|
||||
;; No replacements were done, so just return the original string.
|
||||
instring
|
||||
;; Get any remaining bit.
|
||||
(unless (= start (length instring))
|
||||
(push (substring instring start) result))
|
||||
(apply #'concat (nreverse result)))))
|
||||
|
||||
(defun replace-regexp-in-string (regexp rep string &optional
|
||||
fixedcase literal subexp start)
|
||||
|
|
Loading…
Add table
Reference in a new issue