edbrowse-dev - development list for edbrowse
 help / color / mirror / Atom feed
From: Karl Dahlke <eklhad@comcast.net>
To: Edbrowse-dev@lists.the-brannons.com
Subject: [Edbrowse-dev] eb$master
Date: Tue, 19 Sep 2017 01:52:18 -0400	[thread overview]
Message-ID: <20170819015218.eklhad@comcast.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 1363 bytes --]

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 = 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

             reply	other threads:[~2017-09-19  5:50 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-19  5:52 Karl Dahlke [this message]
2017-09-19  8:16 ` Kevin Carhart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170819015218.eklhad@comcast.net \
    --to=eklhad@comcast.net \
    --cc=Edbrowse-dev@lists.the-brannons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).