]> git.donarmstrong.com Git - dactyl.git/blobdiff - common/modules/messages.jsm
Imported Upstream version 1.1+hg7904
[dactyl.git] / common / modules / messages.jsm
index 36fead2c19abd57265800d202bf0e6bfbb85ae4d..82c0f3c6f261f27905bc91817941187bed923841 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (c) 2011-2013 Kris Maglione <maglione.k@gmail.com>
+// Copyright (c) 2011-2014 Kris Maglione <maglione.k@gmail.com>
 //
 // This work is licensed for reuse under an MIT license. Details are
 // given in the LICENSE.txt file included with this file.
@@ -11,7 +11,7 @@ defineModule("messages", {
 
 var Messages = Module("messages", {
 
-    init: function init(name = "messages") {
+    init: function init(name="messages") {
         let self = this;
         this.name = name;
 
@@ -45,13 +45,21 @@ var Messages = Module("messages", {
                     "resource://dactyl-locale-local/en-US/" + this.name + ".properties"],
                    true)
              .map(services.stringBundle.createBundle)
-             .filter(function (bundle) { try { bundle.getSimpleEnumeration(); return true; } catch (e) { return false; } })),
+             .filter(function (bundle) {
+                 try {
+                     bundle.getSimpleEnumeration();
+                     return true;
+                 }
+                 catch (e) {
+                     return false;
+                 }
+             })),
 
     iterate: function () {
-        let seen = {};
+        let seen = RealSet();
         for (let bundle in values(this.bundles))
             for (let { key, value } in iter(bundle.getSimpleEnumeration(), Ci.nsIPropertyElement))
-                if (!Set.add(seen, key))
+                if (!seen.add(key))
                     yield [key, value];
     },
 
@@ -97,7 +105,7 @@ var Messages = Module("messages", {
         let { Buffer, commands, hints, io, mappings, modes, options, sanitizer } = overlay.activeModules;
         file = io.File(file);
 
-        function properties(base, iter_, prop = "description") iter(function _properties() {
+        function properties(base, iter_, prop="description") iter(function _properties() {
             function key(...args) [base, obj.identifier || obj.name].concat(args).join(".").replace(/[\\:=]/g, "\\$&");
 
             for (var obj in iter_) {
@@ -139,9 +147,9 @@ var Messages = Module("messages", {
                     return { configurable: true, enumerable: true, value: this.default, writable: true };
                 */
 
-                if (!Set.has(obj, "localizedProperties"))
-                    obj.localizedProperties = { __proto__: obj.localizedProperties };
-                obj.localizedProperties[prop] = true;
+                if (!hasOwnProperty(obj, "localizedProperties"))
+                    obj.localizedProperties = RealSet(obj.localizedProperties);
+                obj.localizedProperties.add(prop);
 
                 obj[_prop] = this.default;
                 return {