(match-substitute-replacement): New function.
This commit is contained in:
parent
18d8cb813a
commit
8c2e721a69
1 changed files with 18 additions and 0 deletions
18
lisp/subr.el
18
lisp/subr.el
|
@ -2709,6 +2709,24 @@ STRING should be given if the last search was by `string-match' on STRING."
|
|||
(buffer-substring-no-properties (match-beginning num)
|
||||
(match-end num)))))
|
||||
|
||||
|
||||
(defun match-substitute-replacement (replacement
|
||||
&optional fixedcase literal string subexp)
|
||||
"Return REPLACEMENT as it will be inserted by `replace-match'.
|
||||
In other words, all back-references in the form `\\&' and `\\N'
|
||||
are substituted with actual strings matched by the last search.
|
||||
Optional FIXEDCASE, LITERAL, STRING and SUBEXP have the same
|
||||
meaning as for `replace-match'."
|
||||
(let ((match (match-string 0 string)))
|
||||
(save-match-data
|
||||
(set-match-data (mapcar (lambda (x)
|
||||
(if (numberp x)
|
||||
(- x (match-beginning 0))
|
||||
x))
|
||||
(match-data t)))
|
||||
(replace-match replacement fixedcase literal match subexp))))
|
||||
|
||||
|
||||
(defun looking-back (regexp &optional limit greedy)
|
||||
"Return non-nil if text before point matches regular expression REGEXP.
|
||||
Like `looking-at' except matches before point, and is slower.
|
||||
|
|
Loading…
Add table
Reference in a new issue