mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 9.0.0370: cleaning up afterwards can make a function messy
Problem: Cleaning up afterwards can make a function messy. Solution: Add the :defer command.
This commit is contained in:
@@ -2373,7 +2373,7 @@ compile_assignment(char_u *arg, exarg_T *eap, cmdidx_T cmdidx, cctx_T *cctx)
|
||||
r = generate_PUSHBLOB(cctx, blob_alloc());
|
||||
break;
|
||||
case VAR_FUNC:
|
||||
r = generate_PUSHFUNC(cctx, NULL, &t_func_void);
|
||||
r = generate_PUSHFUNC(cctx, NULL, &t_func_void, TRUE);
|
||||
break;
|
||||
case VAR_LIST:
|
||||
r = generate_NEWLIST(cctx, 0, FALSE);
|
||||
@@ -2748,6 +2748,7 @@ compile_def_function(
|
||||
// Was compiled in this mode before: Free old instructions.
|
||||
delete_def_function_contents(dfunc, FALSE);
|
||||
ga_clear_strings(&dfunc->df_var_names);
|
||||
dfunc->df_defer_var_idx = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3249,6 +3250,10 @@ compile_def_function(
|
||||
line = compile_eval(p, &cctx);
|
||||
break;
|
||||
|
||||
case CMD_defer:
|
||||
line = compile_defer(p, &cctx);
|
||||
break;
|
||||
|
||||
case CMD_echo:
|
||||
case CMD_echon:
|
||||
case CMD_echoconsole:
|
||||
|
Reference in New Issue
Block a user