File tree Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -2207,6 +2207,18 @@ VimLParser.prototype.parse_constlvalue = function() {
22072207 if ( node . type == NODE_IDENTIFIER || node . type == NODE_CURLYNAME ) {
22082208 return node ;
22092209 }
2210+ else if ( node . type == NODE_SUBSCRIPT || node . type == NODE_SLICE || node . type == NODE_DOT ) {
2211+ throw Err ( "E996: Cannot lock a list or dict" , node . pos ) ;
2212+ }
2213+ else if ( node . type == NODE_OPTION ) {
2214+ throw Err ( "E996: Cannot lock an option" , node . pos ) ;
2215+ }
2216+ else if ( node . type == NODE_ENV ) {
2217+ throw Err ( "E996: Cannot lock an environment variable" , node . pos ) ;
2218+ }
2219+ else if ( node . type == NODE_REG ) {
2220+ throw Err ( "E996: Cannot lock a register" , node . pos ) ;
2221+ }
22102222 throw Err ( "Invalid Expression" , node . pos ) ;
22112223}
22122224
Original file line number Diff line number Diff line change @@ -1765,6 +1765,14 @@ def parse_constlvalue(self):
17651765 raise VimLParserException (Err (viml_printf ("E461: Illegal variable name: %s" , node .value ), node .pos ))
17661766 if node .type == NODE_IDENTIFIER or node .type == NODE_CURLYNAME :
17671767 return node
1768+ elif node .type == NODE_SUBSCRIPT or node .type == NODE_SLICE or node .type == NODE_DOT :
1769+ raise VimLParserException (Err ("E996: Cannot lock a list or dict" , node .pos ))
1770+ elif node .type == NODE_OPTION :
1771+ raise VimLParserException (Err ("E996: Cannot lock an option" , node .pos ))
1772+ elif node .type == NODE_ENV :
1773+ raise VimLParserException (Err ("E996: Cannot lock an environment variable" , node .pos ))
1774+ elif node .type == NODE_REG :
1775+ raise VimLParserException (Err ("E996: Cannot lock a register" , node .pos ))
17681776 raise VimLParserException (Err ("Invalid Expression" , node .pos ))
17691777
17701778 def parse_lvaluelist (self ):
You can’t perform that action at this time.
0 commit comments