[Conkeror] [PATCH 2/3] Ignore certain functions (eg, define_global_mode) when getting caller.
David Glasser
glasser at davidglasser.net
Fri Mar 28 15:25:18 PDT 2008
So, for example, the help page for tab-bar-mode says it is defined
in tab-bar.js, not mode.js.
---
modules/mode.js | 1 +
modules/utils.js | 8 ++++++++
2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/modules/mode.js b/modules/mode.js
index bce17e5..20552d7 100644
--- a/modules/mode.js
+++ b/modules/mode.js
@@ -31,3 +31,4 @@ function define_global_mode(name, enable, disable)
I.minibuffer.message(hyphen_name + (conkeror[state] ? " enabled" : " disabled"));
});
}
+ignore_function_for_get_caller_source_code_reference("define_global_mode");
diff --git a/modules/utils.js b/modules/utils.js
index f3677fb..c3e1dbf 100644
--- a/modules/utils.js
+++ b/modules/utils.js
@@ -419,6 +419,8 @@ source_code_reference.prototype = {
}
};
+var get_caller_source_code_reference_ignored_functions = {};
+
function get_caller_source_code_reference(extra_frames_back) {
var frames_to_skip = 2;
if (extra_frames_back != null)
@@ -429,10 +431,16 @@ function get_caller_source_code_reference(extra_frames_back) {
--frames_to_skip;
continue;
}
+ if (get_caller_source_code_reference_ignored_functions[f.name])
+ continue;
return new source_code_reference(f.filename, f.sourceLine);
}
}
+function ignore_function_for_get_caller_source_code_reference(func_name) {
+ get_caller_source_code_reference_ignored_functions[func_name] = 1;
+}
+
require_later("external-editor.js");
function dom_generator(document, ns) {
--
1.5.2.5
More information about the Conkeror
mailing list