patch 8.2.2694: when 'matchpairs' is empty every character beeps

Problem:    When 'matchpairs' is empty every character beeps. (Marco Hinz)
Solution:   Bail out when no character in 'matchpairs' was found.
            (closes #8053)  Add assert_nobeep().
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 57ab47e..97c968c 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -2440,6 +2440,7 @@
 				Number	assert {actual} is inside the range
 assert_match({pat}, {text} [, {msg}])
 				Number	assert {pat} matches {text}
+assert_nobeep({cmd})		Number	assert {cmd} does not cause a beep
 assert_notequal({exp}, {act} [, {msg}])
 				Number	assert {exp} is not equal {act}
 assert_notmatch({pat}, {text} [, {msg}])
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 4e4cff0..5d85358 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -243,7 +243,8 @@
 assert_beeps({cmd})					*assert_beeps()*
 		Run {cmd} and add an error message to |v:errors| if it does
 		NOT produce a beep or visual bell.
-		Also see |assert_fails()| and |assert-return|.
+		Also see |assert_fails()|, |assert_nobeep()| and
+		|assert-return|.
 
 		Can also be used as a |method|: >
 			GetCmd()->assert_beeps()
@@ -377,6 +378,14 @@
 		Can also be used as a |method|: >
 			getFile()->assert_match('foo.*')
 <
+assert_nobeep({cmd})					*assert_nobeep()*
+		Run {cmd} and add an error message to |v:errors| if it
+		produces a beep or visual bell.
+		Also see |assert_beeps()|.
+
+		Can also be used as a |method|: >
+			GetCmd()->assert_nobeep()
+<
 							*assert_notequal()*
 assert_notequal({expected}, {actual} [, {msg}])
 		The opposite of `assert_equal()`: add an error message to