summaryrefslogtreecommitdiff
path: root/src/vim9.h
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-04-19 16:28:59 +0200
committerBram Moolenaar <Bram@vim.org>2020-04-19 16:28:59 +0200
commitd72c1bf0a6784afdc8d8ceab4a007cd76d5b81e1 (patch)
treea7e9a7f882a81830fa5225db9f4057d3eb13615c /src/vim9.h
parentd3aac2917db38f8590648ee76eebfa178fc4c069 (diff)
downloadvim-git-d72c1bf0a6784afdc8d8ceab4a007cd76d5b81e1.tar.gz
patch 8.2.0601: Vim9: :unlet is not compiledv8.2.0601
Problem: Vim9: :unlet is not compiled. Solution: Implement :unlet instruction and check for errors.
Diffstat (limited to 'src/vim9.h')
-rw-r--r--src/vim9.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/vim9.h b/src/vim9.h
index d5d4fd9be..64749ce1b 100644
--- a/src/vim9.h
+++ b/src/vim9.h
@@ -44,6 +44,8 @@ typedef enum {
ISN_STORENR, // store number into local variable isn_arg.storenr.stnr_idx
+ ISN_UNLET, // unlet variable isn_arg.unlet.ul_name
+
// constants
ISN_PUSHNR, // push number isn_arg.number
ISN_PUSHBOOL, // push bool value isn_arg.number
@@ -205,6 +207,12 @@ typedef struct {
int script_idx; // index in sn_var_vals
} script_T;
+// arguments to ISN_UNLET
+typedef struct {
+ char_u *ul_name; // variable name with g:, w:, etc.
+ int ul_forceit; // forceit flag
+} unlet_T;
+
/*
* Instruction
*/
@@ -235,6 +243,7 @@ struct isn_S {
storeopt_T storeopt;
loadstore_T loadstore;
script_T script;
+ unlet_T unlet;
} isn_arg;
};