aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Julian2015-11-30 22:57:31 -0400
committerEduardo Julian2015-11-30 22:57:31 -0400
commit46193822d7b6948697594284e79601f9dd236afc (patch)
tree38b32c7d0cfb03c2e44739a072ee695f63a17b74
parent0839750d8df2ab05e12dd5fb92ce2eb6d59cbf87 (diff)
- Fixed a bug wherein some error messages were being swallowed-up and getting replaced with "Unknown syntax".
Diffstat (limited to '')
-rw-r--r--src/lux/analyser.clj20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/lux/analyser.clj b/src/lux/analyser.clj
index eb9bd29cc..0f1f2ae37 100644
--- a/src/lux/analyser.clj
+++ b/src/lux/analyser.clj
@@ -672,13 +672,19 @@
(analyse-variant+ (partial analyse-ast eval! compile-module compile-token) exo-type ?ident ?values)
[meta (&/$FormS (&/$Cons ?fn ?args))]
- (fn [state]
- (|case ((just-analyse (partial analyse-ast eval! compile-module compile-token) ?fn) state)
- (&/$Right state* =fn)
- ((&&lux/analyse-apply (partial analyse-ast eval! compile-module compile-token) exo-type meta =fn ?args) state*)
-
- _
- ((analyse-basic-ast (partial analyse-ast eval! compile-module compile-token) eval! compile-module compile-token exo-type token) state)))
+ (|case ?fn
+ [_ (&/$SymbolS _)]
+ (fn [state]
+ (|case ((just-analyse (partial analyse-ast eval! compile-module compile-token) ?fn) state)
+ (&/$Right state* =fn)
+ ((&&lux/analyse-apply (partial analyse-ast eval! compile-module compile-token) exo-type meta =fn ?args) state*)
+
+ _
+ ((analyse-basic-ast (partial analyse-ast eval! compile-module compile-token) eval! compile-module compile-token exo-type token) state)))
+
+ _
+ (|do [=fn (just-analyse (partial analyse-ast eval! compile-module compile-token) ?fn)]
+ (&&lux/analyse-apply (partial analyse-ast eval! compile-module compile-token) exo-type meta =fn ?args)))
_
(analyse-basic-ast (partial analyse-ast eval! compile-module compile-token) eval! compile-module compile-token exo-type token))))))