1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-01-08 07:54:13 +01:00

Fix local mapping bug. Change statusline API slightly.

This commit is contained in:
Kris Maglione
2011-02-28 19:44:46 -05:00
parent 74fbc5833f
commit ea6c7cc800
9 changed files with 89 additions and 82 deletions

View File

@@ -875,15 +875,20 @@ Class.prototype = {
};
Class.makeClosure = function makeClosure() {
const self = this;
function closure(fn) function _closure() {
try {
return fn.apply(self, arguments);
}
catch (e if !(e instanceof FailedAssertion)) {
util.reportError(e);
throw e.stack ? e : Error(e);
function closure(fn) {
function _closure() {
try {
return fn.apply(self, arguments);
}
catch (e if !(e instanceof FailedAssertion)) {
util.reportError(e);
throw e.stack ? e : Error(e);
}
}
_closure.wrapped = fn;
return _closure;
}
iter(properties(this), properties(this, true)).forEach(function (k) {
if (!__lookupGetter__.call(this, k) && callable(this[k]))
closure[k] = closure(this[k]);
@@ -895,6 +900,7 @@ Class.makeClosure = function makeClosure() {
set: function set_proxy(val) self[k] = val,
});
}, this);
return closure;
};
memoize(Class.prototype, "closure", Class.makeClosure);
@@ -981,11 +987,13 @@ Module.INIT = {
modules.jsmodules[this.constructor.className] = module;
locals.reverse().forEach(function (fn, i) update(objs[i], fn.apply(module, args)))
memoize(module, "closure", Class.makeClosure);
module.instance = module;
module.init();
if (module.signals)
modules.dactyl.registerObservers
modules.dactyl.registerObservers(module);
}
}
}