patch 8.2.0573: using :version twice leaks memory

Problem:    using :version twice leaks memory
Solution:   Only initialize variables once. (Dominique Pelle, closes #5917)
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 63d97e8..db74f05 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -285,6 +285,7 @@
 	test_utf8 \
 	test_utf8_comparisons \
 	test_vartabs \
+	test_version \
 	$(TEST_VIM9) \
 	test_viminfo \
 	test_vimscript \
diff --git a/src/testdir/test_alot.vim b/src/testdir/test_alot.vim
index 375213c..83f2c19 100644
--- a/src/testdir/test_alot.vim
+++ b/src/testdir/test_alot.vim
@@ -32,4 +32,5 @@
 source test_tagcase.vim
 source test_tagfunc.vim
 source test_unlet.vim
+source test_version.vim
 source test_wnext.vim
diff --git a/src/testdir/test_version.vim b/src/testdir/test_version.vim
new file mode 100644
index 0000000..2f66f50
--- /dev/null
+++ b/src/testdir/test_version.vim
@@ -0,0 +1,10 @@
+" Test :version Ex command
+
+func Test_version()
+  " version should always return the same string.
+  let v1 = execute('version')
+  let v2 = execute('version')
+  call assert_equal(v1, v2)
+
+  call assert_match("^\n\nVIM - Vi IMproved .*", v1)
+endfunc