aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorJurica Bradaric <jbradaric@gmail.com>2017-07-25 14:18:08 +0200
committerJames McCoy <jamessan@jamessan.com>2017-07-29 16:27:11 -0400
commitfe0bcc08003c82af7742636d3f7a95a1c91cf909 (patch)
tree10655943a978a072415b1447e07e4d0319ce68f3 /runtime
parentdc3c06e73dfd04948c59ea029daef1626e0386f8 (diff)
downloadrneovim-fe0bcc08003c82af7742636d3f7a95a1c91cf909.tar.gz
rneovim-fe0bcc08003c82af7742636d3f7a95a1c91cf909.tar.bz2
rneovim-fe0bcc08003c82af7742636d3f7a95a1c91cf909.zip
vim-patch:8.0.0020
Problem: The regexp engines are not reentrant. Solution: Add regexec_T and save/restore the state when needed. https://github.com/vim/vim/commit/6100d02aab7c8294b581cb299250eea164b50e9d
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/change.txt3
-rw-r--r--runtime/doc/eval.txt9
2 files changed, 7 insertions, 5 deletions
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 6af3c4d5d7..f82d61370c 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -861,8 +861,7 @@ Exceptions:
Substitute with an expression *sub-replace-expression*
*sub-replace-\=* *s/\=*
When the substitute string starts with "\=" the remainder is interpreted as an
-expression. This does not work recursively: a |substitute()| function inside
-the expression cannot use "\=" for the substitute string.
+expression.
The special meaning for characters as mentioned at |sub-replace-special| does
not apply except for "<CR>". A <NL> character is used as a line break, you
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 7512cf78ba..f4573d7617 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -6011,9 +6011,9 @@ range({expr} [, {max} [, {stride}]]) *range()*
*readfile()*
readfile({fname} [, {binary} [, {max}]])
Read file {fname} and return a |List|, each line of the file
- as an item. Lines broken at NL characters. Macintosh files
- separated with CR will result in a single long line (unless a
- NL appears somewhere).
+ as an item. Lines are broken at NL characters. Macintosh
+ files separated with CR will result in a single long line
+ (unless a NL appears somewhere).
All NUL characters are replaced with a NL character.
When {binary} contains "b" binary mode is used:
- When the last line ends in a NL an extra empty list item is
@@ -7330,6 +7330,9 @@ submatch({nr}[, {list}]) *submatch()* *E935*
|substitute()| this list will always contain one or zero
items, since there are no real line breaks.
+ When substitute() is used recursively only the submatches in
+ the current (deepest) call can be obtained.
+
Example: >
:s/\d\+/\=submatch(0) + 1/
< This finds the first number in the line and adds one to it.