Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ComputeFree needs to be a real NodeVisitor #2

Open
toshok opened this issue Sep 5, 2013 · 0 comments
Open

ComputeFree needs to be a real NodeVisitor #2

toshok opened this issue Sep 5, 2013 · 0 comments

Comments

@toshok
Copy link
Owner

toshok commented Sep 5, 2013

right now the ComputeFree pass uses its own recursive tree walk code, where the return value of its visit (called "free") function is the free vars in that node's, instead of the node itself.

it needs to be rewritten to be a NodeVisitor like all the others. It should pass false to the NodeVisitor ctor so that a copy of the tree isn't made during traversal.r, but changing all the

toshok added a commit that referenced this issue Jan 27, 2015
…sigh.

trusty ships with coffeescript 1.4, and we can't install a newer version in
debian/rules, so we have two options:

1) include coffeescript and all its deps in our pkg-src
2) include the compiled .js files in lib/generated in our pkg-src.

going with #2 since it's less code, and the coffeescript version is not
meant to be used for anything but self hosting anyway.  If people need
to make changes to the actual CS they should be working from git instead
of tarballs.  This lets us remove the Build-Depends on coffeescript entirely.

Since we aren't depending on coffeescript, the toplevel ejs file gets moved
to lib/ejs.coffee and gets compiled using the normal CS pipeline.  The toplevel
ejs then becomes a script that execs node lib/generate/ejs.js.  had to also
fix up some --srcdir paths in the CS given the new location of ejs.js.

good times.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant