From d0ff647776ebb807028b0524a5e93965fb60bcb3 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Tue, 3 Jun 2014 15:59:40 +0100 Subject: [PATCH] elua: new util: table.uniq, and use it in xgettext generator --- src/bin/elua/core/util.lua | 13 +++++++++++++ src/bin/elua/modules/xgettext/generator.lua | 3 +++ 2 files changed, 16 insertions(+) diff --git a/src/bin/elua/core/util.lua b/src/bin/elua/core/util.lua index a76c6d2..67ec075 100644 --- a/src/bin/elua/core/util.lua +++ b/src/bin/elua/core/util.lua @@ -366,4 +366,17 @@ M.find_file = function(fname, paths) end end +-- table utils + +table.uniq = function(tbl) + local ret = {} + local used = {} + for i, v in ipairs(tbl) do + if not used[v] then + ret[#ret + 1], used[v] = v, true + end + end + return ret +end + return M \ No newline at end of file diff --git a/src/bin/elua/modules/xgettext/generator.lua b/src/bin/elua/modules/xgettext/generator.lua index b68caf0..44a5321 100644 --- a/src/bin/elua/modules/xgettext/generator.lua +++ b/src/bin/elua/modules/xgettext/generator.lua @@ -69,6 +69,9 @@ local gen_grouped_messages = function(ps) end msg = ps() end + for i, msg in ipairs(ret) do + msg.flags = table.uniq(msg.flags) + end return ret end -- 2.7.4