From 3858eef5a9f12a6784441e5117cf80e157486b3b Mon Sep 17 00:00:00 2001 From: Mason Larobina Date: Sun, 24 Jan 2010 22:16:21 +0800 Subject: Consistency fix in the bind plugin with regard to '*' binds. The problem (as highlighted by the link following scripts) was that when the user enters a stack bind (like a "fl*" bind) that binds command isn't executed with a null argument. When you do the equivalent without stack binds (like a "fl*" bind) that binds command is executed with a null argument as soon as you type "fl". This behaviour is useful and exploited heavily by the link following scripts which use the null argument as a trigger to "numberize" all the links in the visible area. --- examples/data/plugins/bind.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'examples/data/plugins') diff --git a/examples/data/plugins/bind.py b/examples/data/plugins/bind.py index 1dd2ee8..a1a5d89 100644 --- a/examples/data/plugins/bind.py +++ b/examples/data/plugins/bind.py @@ -431,6 +431,10 @@ def match_and_exec(uzbl, bind, depth, keylet, bindlet): elif more: bindlet.stack(bind, args, depth) + (on_exec, has_args, mod_cmd, glob, more) = bind[depth+1] + if not on_exec and has_args and not glob and not more: + exec_bind(uzbl, bind, *(args+['',])) + return False args = bindlet.args + args -- cgit v1.2.3