summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wiegley <jwiegley@gmail.com>2017-10-26 15:20:51 -0700
committerGitHub <noreply@github.com>2017-10-26 15:20:51 -0700
commit87105d432b44b6d0f8852dd56821476e6a7a42df (patch)
treea38b8d85431c649ac5ba6f35ff32924527a5973b
parent5ed80cf7cc1ffea41ba22c832c629727a1dca5c4 (diff)
parent1c93a7355f3eceac62274fbf8ab2f250cb371e05 (diff)
downloadledger-87105d432b44b6d0f8852dd56821476e6a7a42df.tar.gz
ledger-87105d432b44b6d0f8852dd56821476e6a7a42df.tar.bz2
ledger-87105d432b44b6d0f8852dd56821476e6a7a42df.zip
Merge pull request #484 from mk12/bug-1182-ptr
Fix Bug 1182: Error message for parse failure after '='
-rw-r--r--src/textual.cc3
-rw-r--r--test/regress/1182_1.test12
-rw-r--r--test/regress/1182_2.test17
3 files changed, 32 insertions, 0 deletions
diff --git a/src/textual.cc b/src/textual.cc
index dcb69858..7ad98809 100644
--- a/src/textual.cc
+++ b/src/textual.cc
@@ -563,6 +563,9 @@ void instance_t::automated_xact_directive(char * line)
expr_t::ptr_op_t expr =
query.parse_args(string_value(skip_ws(line + 1)).to_sequence(),
keeper, false, true);
+ if (!expr) {
+ throw parse_error(_("Expected predicate after '='"));
+ }
unique_ptr<auto_xact_t> ae(new auto_xact_t(predicate_t(expr, keeper)));
ae->pos = position_t();
diff --git a/test/regress/1182_1.test b/test/regress/1182_1.test
new file mode 100644
index 00000000..e9c399e6
--- /dev/null
+++ b/test/regress/1182_1.test
@@ -0,0 +1,12 @@
+=
+2000/01/01 Test
+ A $1.00
+ B
+
+test bal -> 1
+__ERROR__
+While parsing file "$FILE", line 1:
+While parsing automated transaction:
+> =
+Error: Expected predicate after '='
+end test
diff --git a/test/regress/1182_2.test b/test/regress/1182_2.test
new file mode 100644
index 00000000..d3c88dd8
--- /dev/null
+++ b/test/regress/1182_2.test
@@ -0,0 +1,17 @@
+2000/01/01 Test
+ A $1.00
+ B
+
+============
+
+2000/01/02 Test
+ A $1.00
+ B
+
+test bal -> 1
+__ERROR__
+While parsing file "$FILE", line 5:
+While parsing automated transaction:
+> ============
+Error: Expected predicate after '='
+end test