patch 8.2.2030: some tests fail on Mac

Problem:    Some tests fail on Mac.
Solution:   Avoid Mac test failures.  Add additional test for wildmenu.
            (Yegappan Lakshmanan, closes #7341)
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index 6b09b97..369d931 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -136,6 +136,13 @@
   let s:t_normal = &t_me
 endif
 
+if has('mac')
+  " In MacOS, when starting a shell in a terminal, a bash deprecation warning
+  " message is displayed. This breaks the terminal test. Disable the warning
+  " message.
+  let $BASH_SILENCE_DEPRECATION_WARNING = 1
+endif
+
 " Prepare for calling test_garbagecollect_now().
 let v:testing = 1
 
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 9557828..600a571 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -84,7 +84,7 @@
   call delete('Xdir1', 'd')
   set nowildmenu
 endfunc
-f
+
 func Test_wildmenu_screendump()
   CheckScreendump
 
@@ -112,7 +112,6 @@
   call delete('XTest_wildmenu')
 endfunc
 
-
 func Test_map_completion()
   CheckFeature cmdline_compl
   call feedkeys(":map <unique> <si\<Tab>\<Home>\"\<CR>", 'xt')
@@ -1631,4 +1630,34 @@
   endif
 endfunc
 
+" Test for going up and down the directory tree using 'wildmenu'
+func Test_wildmenu_dirstack()
+  CheckUnix
+  %bw!
+  call mkdir('Xdir1/dir2/dir3', 'p')
+  call writefile([], 'Xdir1/file1_1.txt')
+  call writefile([], 'Xdir1/file1_2.txt')
+  call writefile([], 'Xdir1/dir2/file2_1.txt')
+  call writefile([], 'Xdir1/dir2/file2_2.txt')
+  call writefile([], 'Xdir1/dir2/dir3/file3_1.txt')
+  call writefile([], 'Xdir1/dir2/dir3/file3_2.txt')
+  cd Xdir1/dir2/dir3
+  set wildmenu
+
+  call feedkeys(":e \<Tab>\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"e file3_1.txt', @:)
+  call feedkeys(":e \<Tab>\<Up>\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"e ../dir3/', @:)
+  call feedkeys(":e \<Tab>\<Up>\<Up>\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"e ../../dir2/', @:)
+  call feedkeys(":e \<Tab>\<Up>\<Up>\<Down>\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"e ../../dir2/dir3/', @:)
+  call feedkeys(":e \<Tab>\<Up>\<Up>\<Down>\<Down>\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"e ../../dir2/dir3/file3_1.txt', @:)
+
+  cd -
+  call delete('Xdir1', 'rf')
+  set wildmenu&
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index d11d34b..74f8d4c 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -815,7 +815,13 @@
   CheckUnix
   let save_shell = &shell
   set shell=
-  call assert_fails('shell', 'E91:')
+  let caught_e91 = 0
+  try
+    shell
+  catch /E91:/
+    let caught_e91 = 1
+  endtry
+  call assert_equal(1, caught_e91)
   let &shell = save_shell
 endfunc
 
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index e5d4697..45e3503 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -605,6 +605,7 @@
 	endfor
 	%foldclose
 	set shell=/bin/sh noruler
+	unlet $PROMPT_COMMAND
 	let $PS1 = 'vim> '
         terminal ++rows=4
 	$wincmd w
diff --git a/src/version.c b/src/version.c
index 8e9d810..f2a3ba8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2030,
+/**/
     2029,
 /**/
     2028,