patch 8.2.4980: when 'shortmess' contains 'A' loading session may still warn
Problem: When 'shortmess' contains 'A' loading a session may still warn for
an existing swap file. (Melker Österberg)
Solution: Keep the 'A' flag to 'shortmess' in the session file.
(closes #10443)
diff --git a/src/session.c b/src/session.c
index bc25998..fb9d140 100644
--- a/src/session.c
+++ b/src/session.c
@@ -692,10 +692,15 @@
&& put_line(fd, "let s:shortmess_save = &shortmess") == FAIL)
goto fail;
- // Now save the current files, current buffer first.
- if (put_line(fd, "set shortmess=aoO") == FAIL)
+ // set 'shortmess' for the following. Add the 'A' flag if it was there
+ if (put_line(fd, "if &shortmess =~ 'A'") == FAIL
+ || put_line(fd, " set shortmess=aoOA") == FAIL
+ || put_line(fd, "else") == FAIL
+ || put_line(fd, " set shortmess=aoO") == FAIL
+ || put_line(fd, "endif") == FAIL)
goto fail;
+ // Now save the current files, current buffer first.
// Put all buffers into the buffer list.
// Do it very early to preserve buffer order after loading session (which
// can be disrupted by prior `edit` or `tabedit` calls).