From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2001:558:fe21:29:69:252:207:34; helo=resqmta-ch2-02v.sys.comcast.net; envelope-from=eklhad@comcast.net; receiver= Received: from resqmta-ch2-02v.sys.comcast.net (resqmta-ch2-02v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:34]) by hurricane.the-brannons.com (Postfix) with ESMTPS id 9B2CF77DE5 for ; Mon, 18 Sep 2017 22:50:58 -0700 (PDT) Received: from resomta-ch2-20v.sys.comcast.net ([69.252.207.116]) by resqmta-ch2-02v.sys.comcast.net with ESMTP id uBSAdbStUSgPXuBSFd3NUA; Tue, 19 Sep 2017 05:52:19 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20161114; t=1505800339; bh=TGrCiAa5VFvtplH5N7NL7iLLF3pgv/XGyMJA5yjmIeY=; h=Received:Received:To:From:Reply-to:Subject:Date:Message-ID: Mime-Version:Content-Type; b=nfAu1DQ+mmqP2+s0BXur0MqHNOdg356n3Y64Fe8wmhqvzRheK9uTYTHvb0S2Zv3gI IlexaXQPIBGMG8Q3V7EJfPL2tP/7Zp6Q3rr7zqJqQAg2jFltGcqPN4t/KTgsGTXPa4 aeXm/yIsnKT9g1hJlrMz/ER77SjZZbn6r+dbUBE9b98ndHhgng8TZeqtXLLufhIPjh +Dco+NBCYpKFZVoxZU6RuXnH/bjHJAnInImThDimlKnXVqpeH0lUsD6lvPDdzh6Qoa K0D+rLI/+CfGMxSD36kPHBEAyUGfZkeTCTMxGSHuXHrrtCQS1pgvjNEtQUqyPQYz0s 7ShcJHfxZ2Iug== Received: from unknown ([IPv6:2601:408:c301:784d:21e:4fff:fec2:a0f1]) by resomta-ch2-20v.sys.comcast.net with SMTP id uBSFduDjlIbuUuBSFdDXfP; Tue, 19 Sep 2017 05:52:19 +0000 To: Edbrowse-dev@lists.the-brannons.com From: Karl Dahlke Reply-to: Karl Dahlke User-Agent: edbrowse/3.7.1 Date: Tue, 19 Sep 2017 01:52:18 -0400 Message-ID: <20170819015218.eklhad@comcast.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=nextpart-eb-411313 Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfAWpXG90sbbnsDhgrF27Wgfq+PCUWfuyDCL8yBIagkv9JjDXCE70yHpkJEmJyAyjFmwBnQMhvL4rSZkhfixPym+bXShFj8M9MRiEolNrCrgG17FD0yP9 e3Rvl2ocbx7LpEexJIZetIDmlSrYcTmPL+tS6Tg8KigPIDyhqd+BZObT Subject: [Edbrowse-dev] eb$master X-BeenThere: edbrowse-dev@lists.the-brannons.com X-Mailman-Version: 2.1.24 Precedence: list List-Id: Edbrowse Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Sep 2017 05:50:58 -0000 This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --nextpart-eb-411313 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable As per my last post, I now give each window access to the master window = through eb$master. This window is always there, behind the scenes. Even if you unbrowse every file, so it looks like there is no js = anywhere in edbrowse, the master window persists. If functions have been compiled in the master window then = eb$master.compiled will be true. We can, in *.js, test for this, and if it is false we can compile a = large static function in the master window, then link to it from our window. I have done this for dumptree(), showscripts(), and the console object. These functions are compiled once but available from every window. If things don't blow up I'll do the same for most of the other = functions, especially the monster functions in third.js. This makes it a little less cut&paste to put in an updated snapshot of = one of these functions however. If it says function foo() we have to change that to eb$master.foo =3D = function() but other than that it isn't hard, just something we maintainers have = to remember to do. Check it out, and if you don't object I will gradually transform the = other static functions into a compile-once mode. I don't bother doing this for the little one or two line functions, and certainly no point for the native methods, since a pointer to C = takes up less space than a pointer to eb$master.whatever. Karl Dahlke --nextpart-eb-411313--