Reset paren_nest at tAREF and tASET.

parent 2850b58d
...@@ -5844,6 +5844,7 @@ parser_yylex(parser_state *p) ...@@ -5844,6 +5844,7 @@ parser_yylex(parser_state *p)
p->paren_nest++; p->paren_nest++;
if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) { if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
p->lstate = EXPR_ARG; p->lstate = EXPR_ARG;
p->paren_nest--;
if ((c = nextc(p)) == ']') { if ((c = nextc(p)) == ']') {
if ((c = nextc(p)) == '=') { if ((c = nextc(p)) == '=') {
return tASET; return tASET;
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains /* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work part or all of the Bison parser skeleton and distribute that work
...@@ -11845,6 +11845,7 @@ parser_yylex(parser_state *p) ...@@ -11845,6 +11845,7 @@ parser_yylex(parser_state *p)
p->paren_nest++; p->paren_nest++;
if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) { if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
p->lstate = EXPR_ARG; p->lstate = EXPR_ARG;
p->paren_nest--;
if ((c = nextc(p)) == ']') { if ((c = nextc(p)) == ']') {
if ((c = nextc(p)) == '=') { if ((c = nextc(p)) == '=') {
return tASET; return tASET;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment