summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-09-20 11:49:10 +0100
committerBram Moolenaar <Bram@vim.org>2022-09-20 11:49:10 +0100
commit500a1f9972afa354f0bc77bc535aabf9f5f0116d (patch)
treef7a6f9e74ec4e5c54c230c9003b3032a7ae19b23 /src
parentcd9fa256b587b2805faeaaa4b7a8c7d483a8ac54 (diff)
patch 9.0.0509: confusing error for "saveas" command with "nofile" bufferv9.0.0509
Problem: Confusing error for "saveas" command with "nofile" buffer. Solution: Give a clearer error message. (closes #11171)
Diffstat (limited to 'src')
-rw-r--r--src/bufwrite.c3
-rw-r--r--src/errors.h4
-rw-r--r--src/testdir/test_writefile.vim6
-rw-r--r--src/version.c2
4 files changed, 12 insertions, 3 deletions
diff --git a/src/bufwrite.c b/src/bufwrite.c
index b283b5eb64..3ff7fb3390 100644
--- a/src/bufwrite.c
+++ b/src/bufwrite.c
@@ -888,7 +888,8 @@ buf_write(
--no_wait_return;
msg_scroll = msg_save;
if (nofile_err)
- emsg(_(e_no_matching_autocommands_for_acwrite_buffer));
+ semsg(_(e_no_matching_autocommands_for_buftype_str_buffer),
+ curbuf->b_p_bt);
if (nofile_err
#ifdef FEAT_EVAL
diff --git a/src/errors.h b/src/errors.h
index 5ae55b3b18..7f23cc8553 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -1715,8 +1715,8 @@ EXTERN char e_printmbcharset_cannot_be_empty_with_multi_byte_encoding[]
EXTERN char e_no_default_font_specified_for_multi_byte_printing[]
INIT(= N_("E675: No default font specified for multi-byte printing."));
#endif
-EXTERN char e_no_matching_autocommands_for_acwrite_buffer[]
- INIT(= N_("E676: No matching autocommands for acwrite buffer"));
+EXTERN char e_no_matching_autocommands_for_buftype_str_buffer[]
+ INIT(= N_("E676: No matching autocommands for buftype=%s buffer"));
#ifdef FEAT_SYN_HL
EXTERN char e_error_writing_temp_file[]
INIT(= N_("E677: Error writing temp file"));
diff --git a/src/testdir/test_writefile.vim b/src/testdir/test_writefile.vim
index f2b8aba57f..fd6b02d93a 100644
--- a/src/testdir/test_writefile.vim
+++ b/src/testdir/test_writefile.vim
@@ -238,6 +238,12 @@ func Test_saveas()
syntax off
%bw!
call delete('Xsaveas.pl')
+
+ " :saveas fails for "nofile" buffer
+ set buftype=nofile
+ call assert_fails('saveas Xsafile', 'E676: No matching autocommands for buftype=nofile buffer')
+
+ bwipe!
endfunc
func Test_write_errors()
diff --git a/src/version.c b/src/version.c
index 2f545d019e..22db89017b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 509,
+/**/
508,
/**/
507,