patch 9.0.0509: confusing error for "saveas" command with "nofile" buffer

Problem:    Confusing error for "saveas" command with "nofile" buffer.
Solution:   Give a clearer error message. (closes #11171)
diff --git a/src/bufwrite.c b/src/bufwrite.c
index b283b5e..3ff7fb3 100644
--- a/src/bufwrite.c
+++ b/src/bufwrite.c
@@ -888,7 +888,8 @@
 	    --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 5ae55b3..7f23cc8 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -1715,8 +1715,8 @@
 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 f2b8aba..fd6b02d 100644
--- a/src/testdir/test_writefile.vim
+++ b/src/testdir/test_writefile.vim
@@ -238,6 +238,12 @@
   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 2f545d0..22db890 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    509,
+/**/
     508,
 /**/
     507,