patch 8.1.1360: buffer left 'nomodifiable' after :substitute
Problem: Buffer left 'nomodifiable' after :substitute. (Ingo Karkat)
Solution: Save the value of 'modifiable' earlier' (Christian Brabandt,
closes #4403)
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index df5dcd0..0174fd6 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -5557,6 +5557,7 @@
* 3. substitute the string.
*/
#ifdef FEAT_EVAL
+ save_ma = curbuf->b_p_ma;
if (subflags.do_count)
{
// prevent accidentally changing the buffer by a function
@@ -5566,7 +5567,6 @@
// Save flags for recursion. They can change for e.g.
// :s/^/\=execute("s#^##gn")
subflags_save = subflags;
- save_ma = curbuf->b_p_ma;
#endif
// get length of substitution part
sublen = vim_regsub_multi(®match,