diff --git a/src/Makefile b/src/Makefile
index 6de64c0..bcfb8cd 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2213,7 +2213,7 @@
 	test_usercommands \
 	test_utf8 \
 	test_viminfo \
-	test_viml \
+	test_vimscript \
 	test_visual \
 	test_window_cmd \
 	test_window_id \
diff --git a/src/eval.c b/src/eval.c
index 725e540..4fc9f74 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -950,7 +950,7 @@
 
 
 /*
- * Call some vimL function and return the result in "*rettv".
+ * Call some Vim script function and return the result in "*rettv".
  * Uses argv[argc] for the function arguments.  Only Number and String
  * arguments are currently supported.
  * Returns OK or FAIL.
@@ -1027,7 +1027,7 @@
 }
 
 /*
- * Call vimL function "func" and return the result as a number.
+ * Call Vim script function "func" and return the result as a number.
  * Returns -1 when calling the function fails.
  * Uses argv[argc] for the function arguments.
  */
@@ -1055,7 +1055,7 @@
 
 # if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) || defined(PROTO)
 /*
- * Call vimL function "func" and return the result as a string.
+ * Call Vim script function "func" and return the result as a string.
  * Returns NULL when calling the function fails.
  * Uses argv[argc] for the function arguments.
  */
@@ -1080,7 +1080,7 @@
 # endif
 
 /*
- * Call vimL function "func" and return the result as a List.
+ * Call Vim script function "func" and return the result as a List.
  * Uses argv[argc] for the function arguments.
  * Returns NULL when there is something wrong.
  */
diff --git a/src/ex_getln.c b/src/ex_getln.c
index c498e00..3c40ff7 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -5140,8 +5140,8 @@
 static void * call_user_expand_func(void *(*user_expand_func)(char_u *, int, char_u **, int), expand_T	*xp, int *num_file, char_u ***file);
 
 /*
- * Call "user_expand_func()" to invoke a user defined VimL function and return
- * the result (either a string or a List).
+ * Call "user_expand_func()" to invoke a user defined Vim script function and
+ * return the result (either a string or a List).
  */
     static void *
 call_user_expand_func(
diff --git a/src/if_py_both.h b/src/if_py_both.h
index 4cd3734..78c70e7 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -582,9 +582,9 @@
 VimTryEnd(void)
 {
     --trylevel;
-    /* Without this it stops processing all subsequent VimL commands and
-     * generates strange error messages if I e.g. try calling Test() in a
-     * cycle */
+    /* Without this it stops processing all subsequent Vim script commands and
+     * generates strange error messages if I e.g. try calling Test() in a cycle
+     */
     did_emsg = FALSE;
     /* Keyboard interrupt should be preferred over anything else */
     if (got_int)
@@ -625,7 +625,7 @@
 	discard_current_exception();
 	return -1;
     }
-    /* Finally transform VimL exception to python one */
+    /* Finally transform Vim script exception to python one */
     else
     {
 	PyErr_SetVim((char *)current_exception->value);
diff --git a/src/if_xcmdsrv.c b/src/if_xcmdsrv.c
index d597154..6ef2335 100644
--- a/src/if_xcmdsrv.c
+++ b/src/if_xcmdsrv.c
@@ -1449,8 +1449,8 @@
 	    char_u	*enc;
 
 	    /*
-	     * This is a (n)otification.  Sent with serverreply_send in VimL.
-	     * Execute any autocommand and save it for later retrieval
+	     * This is a (n)otification.  Sent with serverreply_send in Vim
+	     * script.  Execute any autocommand and save it for later retrieval
 	     */
 	    p += 2;
 	    gotWindow = 0;
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index b0441f7..7e18b11 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -199,7 +199,7 @@
 	    test_undo.res \
 	    test_usercommands.res \
 	    test_viminfo.res \
-	    test_viml.res \
+	    test_vimscript.res \
 	    test_visual.res \
 	    test_window_id.res \
 	    test_writefile.res \
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index 33490b6..0c0a197 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -147,7 +147,7 @@
 let s:errors = []
 let s:messages = []
 let s:skipped = []
-if expand('%') =~ 'test_viml.vim'
+if expand('%') =~ 'test_vimscript.vim'
   " this test has intentional s:errors, don't use try/catch.
   source %
 else
diff --git a/src/testdir/test49.vim b/src/testdir/test49.vim
index e763c6f..f50062e 100644
--- a/src/testdir/test49.vim
+++ b/src/testdir/test49.vim
@@ -608,7 +608,7 @@
 " END_OF_TEST_ENVIRONMENT - do not change or remove this line.
 
 
-" Tests 1 to 15 were moved to test_viml.vim
+" Tests 1 to 15 were moved to test_vimscript.vim
 let Xtest = 16
 
 "-------------------------------------------------------------------------------
diff --git a/src/testdir/test_viml.vim b/src/testdir/test_vimscript.vim
similarity index 100%
rename from src/testdir/test_viml.vim
rename to src/testdir/test_vimscript.vim
diff --git a/src/version.c b/src/version.c
index 3bd6204..a282a5f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    360,
+/**/
     359,
 /**/
     358,
