runtime(syntax-tests): Re-introduce support for "phoney" languages

As of patch v9.1.1176~1, there are no longer makeshift Make
targets to accommodate language names that can match phoney
targets.  For example, "clean_" was previously generated for
Clean because otherwise it clashed with the "clean" target.

Additionally, enable test filtering for makeshift targets.

Reference:
https://wiki.clean.cs.ru.nl/Clean

closes: #16810

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/syntax/testdir/runtest.vim b/runtime/syntax/testdir/runtest.vim
index 34b5cae..2dc78ec 100644
--- a/runtime/syntax/testdir/runtest.vim
+++ b/runtime/syntax/testdir/runtest.vim
@@ -234,7 +234,7 @@
   " Turn a subset of filenames etc. requested for testing into a pattern.
   let filter = filereadable('../testdir/Xfilter')
     \ ? readfile('../testdir/Xfilter')
-	\ ->map({_, v -> (v =~ '\.' ? '^' : '\.') .. v .. '$'})
+	\ ->map({_, v -> '^' .. substitute(v, '_$', '', '')})
 	\ ->join('\|')
     \ : ''