00:07:55  * plutoniixquit (Quit: Leaving)
02:18:48  * plutoniixjoined
07:53:21  * hferreirojoined
09:03:37  * battousaiquit (Ping timeout: 240 seconds)
09:07:52  * zvquit (Ping timeout: 260 seconds)
09:20:55  * zvjoined
10:51:20  * plutoniixquit (Quit: Leaving)
11:28:23  * koldbrutalityquit (Ping timeout: 245 seconds)
12:54:46  * bobmcwjoined
12:54:46  * bobmcwquit (Changing host)
12:54:46  * bobmcwjoined
13:04:11  * seventhjoined
14:30:21  * hferreiroquit (Quit: Connection closed for inactivity)
14:31:38  * bradleymeckjoined
15:10:34  * hferreirojoined
15:30:46  * bradleymeck_joined
15:33:20  * bradleymeckquit (Ping timeout: 260 seconds)
15:33:20  * bradleymeck_changed nick to bradleymeck
15:49:44  * mightyiamjoined
15:49:57  <mightyiam>I'm trying to figure out the v8 version in which the change was introduced where an anonymous function would stringify as 'Function: anon' instead of just 'Function', please?
15:52:07  <mightyiam>It seems no later than v5.1.281, from what I see in node.js
16:02:00  <jwolfe>mightyiam, probably not relevant to your concerns, but functions are going to have yet another string representation in the near future to be compliant with ES7: https://bugs.chromium.org/p/v8/issues/detail?id=4958
16:02:53  <mightyiam>jwolfe, you don't happen to know how I can find that change, though?
16:03:03  <mightyiam>Any pointer?
16:03:23  <mightyiam>Is it this? https://bugs.chromium.org/p/v8/issues/detail?id=3699&can=2&q=3699&colspec=ID%20Type%20Status%20Priority%20Owner%20Summary%20HW%20OS%20Component%20Stars
16:03:38  <mightyiam>Is it this? https://bugs.chromium.org/p/v8/issues/detail?id=3699
16:03:57  <caitp>git blame
16:03:59  <caitp>is a good way to go
16:05:03  <mightyiam>caitp, I don't know which line is responsible for this
16:05:06  <jwolfe>in v8/src/builtins/builtins-function.cc , the function CreateDynamicFunction() is responsible for building the string representation for functions
16:05:17  <mightyiam>We're getting somewhere
16:05:34  <caitp>the old JS implementation used %FunctionNameShouldPrintAsAnonymous() in runtime-function.cc (previously in runtime.cc)
16:05:48  <caitp>it goes back quite a long way
16:06:00  <caitp>very old code
16:06:27  <jwolfe>mightyiam, i joined the project this year, so i don't have any personal experience with the history of this matter.
16:06:55  <caitp>mightyiam, so the question is, why do you ask?
16:07:41  <mightyiam>caitp, this test: https://github.com/danielb2/purdy.js/blob/master/test/purdy.js#L140-L146
16:08:52  <mightyiam>I know what to change it to, like I wrote. I just desire to know the v8 version to check for, when choosing whether it is 'Function' or 'Function: anon'
16:14:58  <caitp>oh fun, Purdy uses the `toString` function on the global object, which may or may not be what it expects it to be
16:17:20  <mightyiam>I'm pretty sure that it is https://github.com/v8/v8/blob/5.1-lkgr/ChangeLog#L1349
16:18:44  <caitp>are you asking about when the inferred naming stuff was added?
16:19:11  <caitp>eg `let anon = function() {}` -> anon.name === "anon"
16:19:42  <caitp>if you just need to fix a test, why not just feature test for it
16:20:06  <caitp>or if you want to just make the test work, wrap the anonymous function in parentheses
16:20:28  <caitp>let anon = (function() {}); << will not be named "anonymous"
16:20:33  <caitp>er, "anon"
16:21:02  <mightyiam>caitp, I just wanna fix a test. Feature testing would be the most correct, I feel
16:21:44  <caitp>like I said, to fix the test, you can just parenthesize the function
16:21:54  <mightyiam>I've realized a moment ago that the 'anon' string that I'm seeing is not hard-coded. I thought it was. I now understand that this is inferred.
16:21:57  <caitp>that avoids the name inference logic in the spec and in v8
16:22:24  * RT|Chatzillaquit (Quit: ChatZilla [Firefox])
16:23:11  <caitp>wait, I might be wrong about that, it seems like there might be a bug in v8 5.5 at least :p
16:23:19  <caitp>sigh, it's so hard to get this stuff right
16:24:12  <mightyiam>I've been using function declarations for function names in debugging. I guess in modern engines there's no need to avoid `const thisFromThat = that => this`
16:24:43  <caitp>hmm, I guess the parenthesized thing doesn't buy you anything
16:25:14  <caitp>maybe something more like `let anon = (f => f)(function(){})`
16:27:15  <mightyiam>Are you figuring out how to check for name inference feature?
16:28:00  <caitp>I'm telling you how you can avoid name inferrence
16:28:13  <caitp>to fix the test
16:28:55  <mightyiam>Feature-testing it sounds better than avoiding it
16:29:03  <mightyiam>And that's easy, it seems
16:29:55  <mightyiam>!`(function () {}).name`
16:30:07  <mightyiam>`!(function () {}).name`
16:30:25  <caitp>no, that wouldn't do it
16:30:31  <mightyiam>`!!(function () {}).name` ?
16:30:43  <caitp>that doesn't invoke inferrence
16:30:46  <caitp>you need an assignment
16:31:03  <mightyiam>`(function foo() {}).name === 'foo'`
16:31:14  <caitp>binding = anonymousfunction << if anonymous function has the same name as binding, inferrence is there
16:31:27  * plutoniixjoined
16:31:44  <caitp>eg `var f = function(){}` << if f.name === "f", the name was inferred
16:43:26  * plutoniixquit (Quit: Leaving)
16:44:35  * koldbrutalityjoined
17:13:20  * bradleymeckquit (Quit: bradleymeck)
17:20:21  * hferreiroquit (Quit: Connection closed for inactivity)
17:22:56  * plutoniixjoined
18:37:07  * bradleymeckjoined
18:39:00  * plutoniixquit (Ping timeout: 256 seconds)
18:47:15  * bradleymeckquit (Read error: Connection reset by peer)
18:53:40  * plutoniixjoined
18:53:52  * plutoniixquit (Max SendQ exceeded)
18:59:18  * bradleymeckjoined
18:59:26  <jwolfe>i'm getting an error from rietveld about xsrf tokens. I'm trying to post this in a comment: http://pastebin.com/W8bfZ5W3
19:01:26  <jwolfe>i'm at a loss for how to react to this. is rietveld being responsible at security or terrible at security? also how do i work around this nonsense? what's the problem with my comment that i need to change or whatever?
19:02:54  * bradleymeckquit (Client Quit)
19:06:36  * thefourtheyejoined
19:09:04  * plutoniixjoined
19:14:27  <caitp>jwolfe: when I get those I normally just copy the comment, go back and repost it
19:14:51  <caitp>it is a pain
19:15:56  <caitp>to answer your comment, I sort of glossed over the "create the source string and just parse it normally", it's a bit more complicated than that
19:18:34  <jwolfe>the post is consistently getting rejected.
19:22:50  <caitp>I would report it in #chromium, see if any IT people can help
19:24:28  * seventhquit (Quit: ...)
19:36:22  * mightyiamquit (Quit: Leaving)
19:59:08  <jwolfe>uh. i figured it out. i needed to refresh the page.
19:59:24  <jwolfe>and just going back to it wasn't enough.
20:00:37  <jwolfe>(insert rant here about how buggy tools erode morale and impact productivity)
20:03:00  <caitp>yeah, rietveld is pretty awful
20:03:20  <caitp>at least, the downstream version of it that chromium uses
20:03:54  <caitp>anyways, I've answered your comment twice now, on the CL and here :p
20:04:08  <caitp>you can pick the way you want to do it, but I think it would be a simpler way to go
20:04:40  <caitp>basically just adding a flag to the parser like "end after the first outer function declaration" and "don't add the anonymous binding"
20:05:26  <caitp>of course, you could parse the body separately from the parameters too
20:06:03  <caitp>but try to do it without duplicating so much code :x
20:24:06  * bradleymeckjoined
20:54:08  * bradleymeckquit (Read error: Connection reset by peer)
21:05:13  * bradleymeckjoined
21:17:14  * bradleymeckquit (Quit: bradleymeck)
21:22:04  * thefourtheyequit (Quit: Connection closed for inactivity)
21:32:25  * bobmcwquit (Remote host closed the connection)
22:33:03  * olalondejoined
22:34:59  * bradleymeckjoined
22:35:42  * bradleymeckquit (Client Quit)
22:45:26  * RT|Chatzillajoined
23:31:50  * bradleymeckjoined
23:31:57  * bradleymeckquit (Client Quit)
23:46:04  * bradleymeckjoined