[TMACRO-2] protect let-bound symbols from macrolet expansion Created: 26/Nov/12 Updated: 27/Nov/12 Resolved: 27/Nov/12 |
|
| Status: | Resolved |
| Project: | tools.macro |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Defect | Priority: | Minor |
| Reporter: | Tom Jack | Assignee: | Konrad Hinsen |
| Resolution: | Completed | Votes: | 1 |
| Labels: | bug, patch | ||
| Attachments: |
|
| Patch: | Code and Test |
| Description |
|
As discussed here: https://groups.google.com/d/msg/clojure-dev/-/UheAzkyI_WcJ Patch macrolet-protect.diff fixes the issue and provides a test. |
| Comments |
| Comment by Tom Jack [ 26/Nov/12 2:55 PM ] |
|
D'oh, patch macrolet-protect.diff has a bug — it doesn't macroexpand-1 if the symbol is protected. |
| Comment by Tassilo Horn [ 27/Nov/12 1:38 AM ] |
|
This patch supersedes Tom's patch as discussed on the clojure-dev mailinglist. See Message-ID: <CADygAw4ArNq4Z2=ZJmT6MwkBw160ShJmfQwoFEh4VOiwxfjDKQ@mail.gmail.com> for reference. The patch also adds letfn* as a form introducing protected symbols. That one was completely missing. I added test cases for both let as well as letfn. |
| Comment by Konrad Hinsen [ 27/Nov/12 8:40 AM ] |
|
Patch applied: https://github.com/clojure/tools.macro/commit/19c8197e10079f04e55d81c26884b9248762c2ca Thanks! |