aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/expressions.c3
-rw-r--r--tests/testsuite.at1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/expressions.c b/src/expressions.c
index cec3492..c7151f8 100644
--- a/src/expressions.c
+++ b/src/expressions.c
@@ -318,6 +318,9 @@ guint teco_brace_level = 0;
void
teco_expressions_brace_open(void)
{
+ while (teco_operators->len > 0 && teco_expressions_peek_op(0) == TECO_OP_NEW)
+ teco_expressions_pop_op(0);
+
teco_expressions_push_op(TECO_OP_BRACE);
teco_undo_guint(teco_brace_level)++;
}
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 3a8bed8..3965730 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -25,6 +25,7 @@ AT_CHECK([$SCITECO -e "2%a,%a - 3\"N(0/0)'"], 0, ignore, ignore)
# c) The empty "list" element is equivalent to 0, so
# "1,,2" is equivalent to "1,0,2" and (1,) to (1,0).
AT_CHECK([$SCITECO -e "(1,) \"~|(0/0)'"], 0, ignore, ignore)
+AT_CHECK([$SCITECO -e "1,(2)=="], 0, ignore, ignore)
AT_CLEANUP
AT_SETUP([Exponentiation])