Both of these are required to run the tests during development. Since there isn't a Gemfile for this project and I can't find where the development requirements are, I am assuming this is the right place to put this.
…d from rails
Backtracking in the SCSS parser when deciding between a declaration or a ruleset was taking way too long. When an expected token wasn't found, the parser constructed the full exception, which involved parsing the template for the error message. This parsing was O(template size), leading to nesting-heavy templates approaching O((template size)^2). The new approach makes backtracking more light-weight, at the cost of making exception-raising even more expensive (a perfectly acceptable tradeoff). When backtracking is being considered, no exception is raised; instead, Kernel#throw is used. Since the full error object is unavailable, once the parser knows which error it wants to raise, it actually moves backwards and re-runs the production that caused the error in order to re-raise the error. Closes gh-327
Rather than incrementing an index each time we push, we now impose an indexing based on the repo structure. The version of the prerelease gem is defined to be the number of commits since the stable branch (precisely, the number of commits in `git log stable..master --first-parent`). This means that when someone `rake install`s Haml from a Git repo, the gem is installed with the proper version number.