[parenscript-devel] Bug: Latest PS breaks how quoted symbols were handled before

Daniel Gackle danielgackle at gmail.com
Wed May 6 20:34:46 UTC 2009


One thing I forgot to point out: notice that, in the latest PS, the minus
operator '- is actually converted into an empty string in JS, which is
obviously wrong.

On Wed, May 6, 2009 at 2:27 PM, Daniel Gackle <danielgackle at gmail.com>wrote:

> The latest PS interprets QUOTE of a symbol to mean, "first convert this
> symbol to a Javascript identifier, then a string". This breaks our code,
> because our formula parser relies on symbols to represent operators. Here's
> a line of code that PS was generating for us nicely before:
>
> (defparameter *op-symbols* '(| | + - * / ^ < > = <> <= >= & % ! { } [ ] |(|
> |)| |:| |,| |"| |'|))
> =>
> var OPSYMBOLS = [' ', '+', '-', '*', '/', '^', '<', '>', '=', '<>', '<=',
> '>=', '&', '%', '!', '{', '}', '[', ']', '(', ')', ':', ',', '"', '\''];
>
> In the new PS, it looks like this:
>
> var OPSYMBOLS = [' ', 'plus', '', 'star', 'slash', '^', '<', '>', 'equals',
> '<>', '<equals', '>equals', '&', 'percent', 'bang', '{', '}', '[', ']', '(',
> ')', 'colon', ',', '"', '\''];
>
> I think this is a mistake. The only reason for translating symbols like +
> to "plus" is if you want to use them in a JS identifier. But quoted symbols
> are not meant to turn into JS identifiers, only JS strings.
>
> Looking at the git log, this change was introduced into special-forms.lisp
> by commit dd4442b8973fe8b2c19b44f94f244934aa418ae8. This was submitted at
> the time as a bug fix. From our point of view, this "fix" introduces a bug,
> and quite a serious one, since it means we can't run our formula parser (and
> a few other things) in the browser.
>
> Daniel
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/parenscript-devel/attachments/20090506/7a5bee54/attachment.html>


More information about the parenscript-devel mailing list