diff options
Diffstat (limited to 'src/scriptfile.c')
-rw-r--r-- | src/scriptfile.c | 60 |
1 files changed, 4 insertions, 56 deletions
diff --git a/src/scriptfile.c b/src/scriptfile.c index 7a148a7c8..f42c3d04b 100644 --- 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, int indent UNUSED, int do_concat) // 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, int indent UNUSED, int do_concat) // 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; |