patch 8.2.0576: some errors are not covered by tests

Problem:    Some errors are not covered by tests.
Solution:   Add a few more tests. (Dominique Pelle, closes #5920)
diff --git a/src/testdir/test_buffer.vim b/src/testdir/test_buffer.vim
index 76fb04b..de16353 100644
--- a/src/testdir/test_buffer.vim
+++ b/src/testdir/test_buffer.vim
@@ -155,4 +155,15 @@
   %bwipe!
 endfunc
 
+func Test_buffer_error()
+  new foo1
+  new foo2
+
+  call assert_fails('buffer foo', 'E93:')
+  call assert_fails('buffer bar', 'E94:')
+  call assert_fails('buffer 0', 'E939:')
+
+  %bwipe
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_digraph.vim b/src/testdir/test_digraph.vim
index 9e7d6f4..2a59994 100644
--- a/src/testdir/test_digraph.vim
+++ b/src/testdir/test_digraph.vim
@@ -212,6 +212,8 @@
   call assert_equal(['␀', 'ü', '∞', 'l'], getline(line('.')-3,line('.')))
   call assert_fails('exe "digraph a\<Esc> 100"', 'E104:')
   call assert_fails('exe "digraph \<Esc>a 100"', 'E104:')
+  call assert_fails('digraph xy z', 'E39:')
+  call assert_fails('digraph x', 'E474:')
   bw!
 endfunc
 
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index ed8fa2b..39e719a 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -373,8 +373,10 @@
   call assert_fails('echo printf("%d", [])', 'E745:')
   call assert_fails('echo printf("%d", 1, 2)', 'E767:')
   call assert_fails('echo printf("%*d", 1)', 'E766:')
+  call assert_fails('echo printf("%s")', 'E766:')
   if has('float')
     call assert_fails('echo printf("%d", 1.2)', 'E805:')
+    call assert_fails('echo printf("%f")')
   endif
 endfunc
 
diff --git a/src/testdir/test_messages.vim b/src/testdir/test_messages.vim
index 90d0d20..32ffb48 100644
--- a/src/testdir/test_messages.vim
+++ b/src/testdir/test_messages.vim
@@ -40,6 +40,8 @@
   finally
     let &more = oldmore
   endtry
+
+  call assert_fails('message 1', 'E474:')
 endfunction
 
 " Patch 7.4.1696 defined the "clearmode()" function for clearing the mode