diff options
author | David Robillard <d@drobilla.net> | 2010-12-05 01:47:26 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2010-12-05 01:47:26 +0000 |
commit | 9eb1adc5d8a624ac694bc84720e2d5479cc91bbb (patch) | |
tree | 8832bd297dd44965d401ea8efd4fe02bf0ff8e9f | |
parent | 19ec222ce04979ccd4125ecb6c95a86302ba937c (diff) | |
download | resp-9eb1adc5d8a624ac694bc84720e2d5479cc91bbb.tar.gz resp-9eb1adc5d8a624ac694bc84720e2d5479cc91bbb.tar.bz2 resp-9eb1adc5d8a624ac694bc84720e2d5479cc91bbb.zip |
Check constructors first (implying no special forms start with an uppercase letter).
git-svn-id: http://svn.drobilla.net/resp/resp@301 ad02d1e2-f140-0410-9f75-f8b11f17cedd
-rw-r--r-- | src/parse.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/parse.cpp b/src/parse.cpp index 21a9963..81aaa83 100644 --- a/src/parse.cpp +++ b/src/parse.cpp @@ -40,12 +40,12 @@ PEnv::parse(const AST* exp) THROW_IF(tup->empty(), exp->loc, "Call to empty list"); const ALexeme* form = tup->head()->to_lexeme(); if (form) { + if (isupper(form->cppstr.c_str()[0])) // Call constructor (any uppercase symbol) + return parseTuple(*this, tup); + const PEnv::Handler* h = handler(form->cppstr); if (h) return h->func(*this, exp, h->arg); // Parse special form - - if (isupper(form->cppstr.c_str()[0])) // Call constructor (any uppercase symbol) - return parseTuple(*this, tup); } return parseTuple(*this, tup); // Parse regular call |