patch 8.2.2688: Vim9: crash when using s: for script variable

Problem:    Vim9: crash when using s: for script variable.
Solution:   Pass the end pointer. (closes #8045)
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 0d49a42..cb1592a 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1644,9 +1644,10 @@
 
     # using the function from a compiled function
     def TestMore(): string
-      return anAlias.GetString('text')
+      var s = s:anAlias.GetString('foo')
+      return s .. anAlias.GetString('bar')
     enddef
-    assert_equal('text', TestMore())
+    assert_equal('foobar', TestMore())
 
     # error when using a function that isn't exported
     assert_fails('anAlias.Compare(1, 2)', 'E1049:')
diff --git a/src/version.c b/src/version.c
index 0fb8bc3..7da1fc4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2688,
+/**/
     2687,
 /**/
     2686,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index ca1c89c..3fb4a8d 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -2822,7 +2822,7 @@
 		case 'v': res = generate_LOADV(cctx, name, error);
 			  break;
 		case 's': res = compile_load_scriptvar(cctx, name,
-							    NULL, NULL, error);
+							    NULL, &end, error);
 			  break;
 		case 'g': if (vim_strchr(name, AUTOLOAD_CHAR) == NULL)
 			      isn_type = ISN_LOADG;