[
https://issues.apache.org/jira/browse/COUCHDB-1397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13199747#comment-13199747
]
James Howe commented on COUCHDB-1397:
-------------------------------------
There's nothing "Invalid" about this javascript: {"map": "function(doc) {}"},
it's only the way it's used (i.e. blindly eval'd) that is invalid. A
source-to-source translation cold be s/\bfunction\(/function map(/.
IMO, it is the people writing {"map": "var d=1; function(doc) { emit(doc._id,
d);"} that should find their code not working, as they are using undocumented
features.
If changes are to be made, I much prefer Benoit's suggestion - having "doc" be
implicit in the context and the value of "map" keys being function bodies.
"emit" already works like this, so makes no difference to JSLintability.
> Function expressions, evals in SpiderMonkey
> -------------------------------------------
>
> Key: COUCHDB-1397
> URL: https://issues.apache.org/jira/browse/COUCHDB-1397
> Project: CouchDB
> Issue Type: Bug
> Components: JavaScript View Server
> Affects Versions: 1.2.1
> Environment: All
> Reporter: Jason Smith
>
> New SpiderMonkey releases do not eval() a sole anonymous function expression.
> That is not a valid JavaScript statement, and so it is not a valid JavaScript
> script.
> COUCHDB-1302 addressed this for 1.1 and the 1.1.x branch. This ticket is for
> 1.2. (Sorry to spam COUCHDB-1302. I saw "Unassigned" and read "Unresolved.")
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira