annotate plugins/mod_pep_plus.lua @ 14157:f881ed0ee8bd 0.12

moduleapi: Use multitable add/remove instead of set multitable:set() does not clear intermediate keys when setting the last one to nil. This meant that the event_handlers multitable for every module was not properly cleaning up the object and event name from the table when calling :unhook_object_event(). This combined badly with e.g. mod_bookmarks, which uses this extensively to add/remove hooks dynamically for mod_pep services. The multitable kept a reference to every mod_pep service object ever created, causing a memory leak. The multitable:remove() function clears intermediate keys when they are empty, so we've switched to using that now.
author Matthew Wild <mwild1@gmail.com>
date Fri, 17 Apr 2026 17:39:06 +0100
parents 0462405b1cfb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9074
0462405b1cfb mod_pep -> mod_pep_simple, mod_pep_plus -> mod_pep
Matthew Wild <mwild1@gmail.com>
parents: 9061
diff changeset
1 module:log("error", "mod_pep_plus has been renamed to mod_pep, please update your config file. Auto-loading mod_pep...");
0462405b1cfb mod_pep -> mod_pep_simple, mod_pep_plus -> mod_pep
Matthew Wild <mwild1@gmail.com>
parents: 9061
diff changeset
2 module:depends("pep");