changeset 20536:8fa783f2c69c v8.2.0822

patch 8.2.0822: Vim9: code left over from discovery phase Commit: https://github.com/vim/vim/commit/2eec37926db6d31beb36f162ac00357a30c093c8 Author: Bram Moolenaar <Bram@vim.org> Date: Mon May 25 20:33:55 2020 +0200 patch 8.2.0822: Vim9: code left over from discovery phase Problem: Vim9: code left over from discovery phase. Solution: Remove the dead code.
author Bram Moolenaar <Bram@vim.org>
date Mon, 25 May 2020 20:45:04 +0200
parents ec872c8a09ff
children cceaa5ec43aa
files src/evalvars.c src/ex_cmds.h src/ex_docmd.c src/proto/evalvars.pro src/proto/scriptfile.pro src/scriptfile.c src/version.c
diffstat 7 files changed, 9 insertions(+), 77 deletions(-) [+]
line wrap: on
line diff
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -164,7 +164,6 @@ static dict_T		vimvardict;		// Dictionar
 // for VIM_VERSION_ defines
 #include "version.h"
 
-static void ex_let_const(exarg_T *eap);
 static char_u *skip_var_one(char_u *arg, int include_type);
 static void list_glob_vars(int *first);
 static void list_buf_vars(int *first);
@@ -682,27 +681,14 @@ heredoc_get(exarg_T *eap, char_u *cmd, i
  * ":let [var1, var2] = expr"	unpack list.
  * ":let var =<< ..."		heredoc
  * ":let var: string"		Vim9 declaration
- */
-    void
-ex_let(exarg_T *eap)
-{
-    ex_let_const(eap);
-}
-
-/*
+ *
  * ":const"			list all variable values
  * ":const var1 var2"		list variable values
  * ":const var = expr"		assignment command.
  * ":const [var1, var2] = expr"	unpack list.
  */
     void
-ex_const(exarg_T *eap)
-{
-    ex_let_const(eap);
-}
-
-    static void
-ex_let_const(exarg_T *eap)
+ex_let(exarg_T *eap)
 {
     char_u	*arg = eap->arg;
     char_u	*expr = NULL;
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -396,7 +396,7 @@ EXCMD(CMD_continue,	"continue",	ex_conti
 EXCMD(CMD_confirm,	"confirm",	ex_wrongmodifier,
 	EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_CMDWIN,
 	ADDR_NONE),
-EXCMD(CMD_const,	"const",	ex_const,
+EXCMD(CMD_const,	"const",	ex_let,
 	EX_EXTRA|EX_NOTRLCOM|EX_SBOXOK|EX_CMDWIN,
 	ADDR_NONE),
 EXCMD(CMD_copen,	"copen",	ex_copen,
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -269,7 +269,6 @@ static void	ex_tag_cmd(exarg_T *eap, cha
 # define ex_call		ex_ni
 # define ex_catch		ex_ni
 # define ex_compiler		ex_ni
-# define ex_const		ex_ni
 # define ex_continue		ex_ni
 # define ex_debug		ex_ni
 # define ex_debuggreedy		ex_ni
--- a/src/proto/evalvars.pro
+++ b/src/proto/evalvars.pro
@@ -15,7 +15,6 @@ void prepare_vimvar(int idx, typval_T *s
 void restore_vimvar(int idx, typval_T *save_tv);
 list_T *heredoc_get(exarg_T *eap, char_u *cmd, int script_get);
 void ex_let(exarg_T *eap);
-void ex_const(exarg_T *eap);
 int ex_let_vars(char_u *arg_start, typval_T *tv, int copy, int semicolon, int var_count, int flags, char_u *op);
 char_u *skip_var_list(char_u *arg, int include_type, int *var_count, int *semicolon);
 void list_hashtable_vars(hashtab_T *ht, char *prefix, int empty, int *first);
--- a/src/proto/scriptfile.pro
+++ b/src/proto/scriptfile.pro
@@ -19,8 +19,6 @@ int ExpandPackAddDir(char_u *pat, int *n
 void ex_source(exarg_T *eap);
 void ex_options(exarg_T *eap);
 linenr_T *source_breakpoint(void *cookie);
-garray_T *source_get_line_ga(void *cookie);
-void source_use_line_ga(void *cookie);
 int *source_dbg_tick(void *cookie);
 int source_level(void *cookie);
 int do_source(char_u *fname, int check_other, int is_vimrc, int *ret_sid);
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -998,8 +998,6 @@ struct source_cookie
     int		error;		// TRUE if LF found after CR-LF
 #endif
 #ifdef FEAT_EVAL
-    garray_T	lines_ga;	// lines read in previous pass
-    int		use_lines_ga;	// next line to get from "lines_ga"
     linenr_T	breakpoint;	// next line with breakpoint or zero
     char_u	*fname;		// name of sourced file
     int		dbg_tick;	// debug_tick when breakpoint was set
@@ -1019,24 +1017,6 @@ source_breakpoint(void *cookie)
 }
 
 /*
- * Get the grow array to store script lines in.
- */
-    garray_T *
-source_get_line_ga(void *cookie)
-{
-    return &((struct source_cookie *)cookie)->lines_ga;
-}
-
-/*
- * Set the index to start reading from the grow array with script lines.
- */
-    void
-source_use_line_ga(void *cookie)
-{
-    ((struct source_cookie *)cookie)->use_lines_ga = 0;
-}
-
-/*
  * Return the address holding the debug tick for a source cookie.
  */
     int *
@@ -1255,9 +1235,6 @@ do_source(
     cookie.finished = FALSE;
 
 #ifdef FEAT_EVAL
-    ga_init2(&cookie.lines_ga, sizeof(char_u *), 200);
-    cookie.use_lines_ga = -1;
-
     // Check if this script has a breakpoint.
     cookie.breakpoint = dbg_find_breakpoint(TRUE, fname_exp, (linenr_T)0);
     cookie.fname = fname_exp;
@@ -1302,6 +1279,9 @@ do_source(
 	si->sn_version = 1;
 	current_sctx.sc_sid = sid;
 
+	// In Vim9 script all script-local variables are removed when reloading
+	// the same script.  In legacy script they remain but "const" can be
+	// set again.
 	ht = &SCRIPT_VARS(sid);
 	if (is_vim9)
 	    hashtab_free_contents(ht);
@@ -1475,9 +1455,6 @@ almosttheend:
     vim_free(cookie.nextline);
     vim_free(firstline);
     convert_setup(&cookie.conv, NULL, NULL);
-#ifdef FEAT_EVAL
-    ga_clear_strings(&cookie.lines_ga);
-#endif
 
     if (trigger_source_post)
 	apply_autocmds(EVENT_SOURCEPOST, fname_exp, fname_exp, FALSE, curbuf);
@@ -1733,31 +1710,6 @@ getsourceline(int c UNUSED, void *cookie
     // one now.
     if (sp->finished)
 	line = NULL;
-#ifdef FEAT_EVAL
-    else if (sp->use_lines_ga >= 0)
-    {
-	// Get a line that was read in ex_vim9script().
-	for (;;)
-	{
-	    if (sp->use_lines_ga >= sp->lines_ga.ga_len)
-	    {
-		line = NULL;
-		break;
-	    }
-	    else
-	    {
-		line = ((char_u **)(sp->lines_ga.ga_data))[sp->use_lines_ga];
-		((char_u **)(sp->lines_ga.ga_data))[sp->use_lines_ga] = NULL;
-		++sp->use_lines_ga;
-		if (line != NULL)
-		    break;
-		// Skip NULL lines, they are equivalent to blank lines.
-		++sp->sourcing_lnum;
-	    }
-	}
-	SOURCING_LNUM = sp->sourcing_lnum + 1;
-    }
-#endif
     else if (sp->nextline == NULL)
 	line = get_one_sourceline(sp);
     else
@@ -1773,11 +1725,7 @@ getsourceline(int c UNUSED, void *cookie
 
     // Only concatenate lines starting with a \ when 'cpoptions' doesn't
     // contain the 'C' flag.
-    if (line != NULL && do_concat && vim_strchr(p_cpo, CPO_CONCAT) == NULL
-#ifdef FEAT_EVAL
-	    && sp->use_lines_ga < 0
-#endif
-	    )
+    if (line != NULL && do_concat && vim_strchr(p_cpo, CPO_CONCAT) == NULL)
     {
 	// compensate for the one line read-ahead
 	--sp->sourcing_lnum;
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    822,
+/**/
     821,
 /**/
     820,