]> git.donarmstrong.com Git - dactyl.git/blobdiff - common/content/autocommands.js
Import r6948 from upstream hg supporting Firefox up to 24.*
[dactyl.git] / common / content / autocommands.js
index b1419028b76320b4d9472e8af0dc25e993cdfb38..eaaa1c785e1613b2c04ab535fc1f34d5d7f2d19f 100644 (file)
@@ -122,7 +122,7 @@ var AutoCommands = Module("autocommands", {
                                 ["td", {}, item.filter.toJSONXML ? item.filter.toJSONXML(modules) : String(item.filter)],
                                 ["td", {}, String(item.command)]]),
                         ["tr", { style: "height: .5ex;" }]]).toArray(),
-                    ["tr", { style: "height: .5ex;" }],
+                    ["tr", { style: "height: .5ex;" }]
                 ])]);
         commandline.commandOutput(table);
     },
@@ -246,7 +246,7 @@ var AutoCommands = Module("autocommands", {
                         return void dactyl.echomsg(_("autocmd.noMatching"));
 
                     let [event, url] = args;
-                    let defaultURL = url || buffer.uri.spec;
+                    let uri = util.createURI(url) || buffer.uri;
                     let validEvents = Object.keys(config.autocommands);
 
                     // TODO: add command validators
@@ -254,7 +254,7 @@ var AutoCommands = Module("autocommands", {
                                   _("autocmd.cantExecuteAll"));
                     dactyl.assert(validEvents.indexOf(event) >= 0,
                                   _("autocmd.noGroup", args));
-                    dactyl.assert(autocommands.get(event).some(function (c) c.patterns.some(function (re) re.test(defaultURL) ^ !re.result)),
+                    dactyl.assert(autocommands.get(event).some(function (c) c.filter(uri)),
                                   _("autocmd.noMatching"));
 
                     if (this.name == "doautoall" && dactyl.has("tabs")) {
@@ -263,13 +263,13 @@ var AutoCommands = Module("autocommands", {
                         for (let i = 0; i < tabs.count; i++) {
                             tabs.select(i);
                             // if no url arg is specified use the current buffer's URL
-                            autocommands.trigger(event, { url: url || buffer.uri.spec });
+                            autocommands.trigger(event, { url: uri.spec });
                         }
 
                         tabs.select(current);
                     }
                     else
-                        autocommands.trigger(event, { url: defaultURL });
+                        autocommands.trigger(event, { url: uri.spec });
                 }, {
                     argCount: "*", // FIXME: kludged for proper error message should be "1".
                     completer: function (context) completion.autocmdEvent(context),
@@ -296,4 +296,4 @@ var AutoCommands = Module("autocommands", {
     }
 });
 
-// vim: set fdm=marker sw=4 ts=4 et:
+// vim: set fdm=marker sw=4 sts=4 ts=8 et: