aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--modules/textadept/menu.lua3
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/textadept/menu.lua b/modules/textadept/menu.lua
index b974c5db..a3da4092 100644
--- a/modules/textadept/menu.lua
+++ b/modules/textadept/menu.lua
@@ -334,10 +334,11 @@ local function proxy_menu(menu, update, menubar)
return type(v) == 'table' and proxy_menu(v, update, menubar or menu) or v
end,
__newindex = function(t, k, v)
- menu[k] = v
+ menu[k] = getmetatable(v) and getmetatable(v).menu or v
update(menubar or menu)
end,
__len = function(t) return #menu end,
+ menu = menu -- store existing menu for copying (e.g. m[#m + 1] = m[#m])
})
end