Gabe Johnson

Results 27 issues of Gabe Johnson

The last one is about 10 versions out of date (1.7.12)

```js ... export { Category }; Function[Category.id] = x => x; Function implements Category; ``` results in: ``` SyntaxError: unknown: Unexpected token, expected ; (25:21) 23 | return klass_324; 24...

type: bug

As noted #715 ```js import { fromPunctuator } from 'sweet.js/helpers' for syntax; syntax $$ = (ctx) => { var dummy = #`dummy`.get(0); return #`${fromPunctuator(dummy, '...')}${ctx}`; }; function foo(args){} foo( $$...

type: bug

#650 fixed issues w/ destructuring assignments in declarations. However, these forms ```js [...a, ] = b; [, x, ...y,] = 0; // and [...{a=0},]=0; ``` should all throw with `Uncaught...

It's covered in the tutorial but should probably be in the reference docs as well.

type: documentation

I've been thinking about changes to the reader API to make it simpler and add better state management and caching. It would make sense to postpone these features until reader...

While trying to implement a `let` expression macro I realized I wasn't taking `this` into account. So instead of using a IIFE I tried using an [arrow function](http://sweetjs.org/browser/editor.html#import%20%7BisIdentifier,%20isParens,%20isPunctuator%7D%20from%20'sweet.js/helpers'%20for%20syntax;%0A%0Asyntax%20let%20=%20function%20(ctx)%20%7B%0A%20%20let%20params%20=%20ctx.next().value;%0A%20%20%0A%20%20if%20(isIdentifier(params))%20%7B%0A%20%20%20%20return%20#%60let%20$%7Bparams%7D%60;%0A%20%20%7D%20else%20if(!isParens(params))%20%7B%0A%20%20%20%20throw%20Error('Expecting%20an%20identifier%20or%20a%20list%20of%20identifiers.');%0A%20%20%7D%0A%20%20let%20body%20=%20ctx.next().value%20%7C%7C%20#%60%60;%0A%20%20let%20inner%20=%20ctx.contextify(body);%0A%20%20let%20stmts%20=%20#%60%60;%0A%20%20let%20stmt;%0A%20%20%0A%20%20let%20tmpStmts%20=%20%5B%5D;%0A%20%20%0A%20%20while%20(true)%20%7B%0A%20%20%20%20stmt%20=%20inner.expand('stmt');%0A%20%20%20%20if%20(stmt.done)%20break;%0A%20%20%20%20tmpStmts.push(stmt);%0A%20%20%7D%0A%20%20%0A%20%20inner.reset();%0A%20%20for%20(var%20i%20=%200;%20i%20%3C%20tmpStmts.length%20-%201;%20i++)%20%7B%0A%20%20%20%20stmt%20=%20inner.expand('stmt').value;%0A%20%20%20%20stmts%20=%20stmts.concat(#%60$%7Bstmt%7D%60);%0A%20%20%7D%0A%20%20let%20last%20=%20%5B...inner%5D;%0A%20%20if%20(isPunctuator(last%5Blast.length-1%5D,%20';'))%20last.pop();%0A%20%20stmts%20=%20stmts.concat(#%60return%20($%7Blast%7D)%60);%0A%20%20%0A%20%20return%20#%60($%7Bparams%7D%20=%3E%20%7B$%7Bstmts%7D%7D)()%60;%0A%7D;%0A%0Alet%20(a%20=%201,%20b%20=%20a)%20%7B%20a%20+%20b%20%7D%0A): ```js let...

type: bug

Passing the "same" input through two consecutive transforms can lead to surprising behaviour: ```javascript syntax m = ctx => { const term = ctx.expand('expr').value; return #`n ${term}`; }; syntax n...

type: documentation

I'm opening this issue as more of a reminder than a one-time task. It took me > 6 months to get familiar with the code base and I'm still weak...

type: documentation

```js function foo(a = 1, b = a) { return a + b; } ``` should result in: ```js function foo(a_100 = 1, b_101 = a_100) { return a_100 +...

type: bug