This is an automated email from the git hooks/post-receive script.
git pushed a commit to reference refs/pull/146/head
in repository enlightenment.
View the commit online.
commit 0c51c6d2e2d77a03a42382809a6cb6d9d463c9ed
Author: Cedric BAIL <[email protected]>
AuthorDate: Sat Aug 8 18:42:34 2026 -0600
e_main - add E_MODULE_FORCE_LOAD
Load modules the configuration does not list, by name or by absolute path
to a .so, comma separated.
Modules otherwise come only from the profile, so exercising one that is
not in the profile means either editing the user's configuration or
shipping a profile per scenario. Neither is reasonable for a test harness,
and both are awkward during development. e_module_new() has always
accepted an absolute path, so this also makes it possible to pull a module
straight out of an uninstalled build tree.
Same category as the E_WL_FORCE and E_COMP_ENGINE overrides already read
at startup. Distinct from E_MODULE_LOAD, which is the crash-recovery
hand-off in the safe-mode path below it.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01FtoiXoSKUmZb6Aix6U3GZS
---
src/bin/e_main.c | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index aadbaa5f1..9f285b174 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -1770,9 +1770,50 @@ _e_main_modules_load_after(void *d EINA_UNUSED, int type EINA_UNUSED, void *ev E
return ECORE_CALLBACK_RENEW;
}
+/* E_MODULE_FORCE_LOAD=name[,name...] - load modules the configuration does
+ * not list, by name or by absolute path to a .so.
+ *
+ * For development and testing: it lets a harness pull a module straight out
+ * of an uninstalled build tree without editing the profile, in the same
+ * spirit as the E_WL_FORCE and E_COMP_ENGINE overrides. Distinct from
+ * E_MODULE_LOAD below, which is the crash-recovery hand-off.
+ */
+static void
+_e_main_modules_force_load(void)
+{
+ const char *env;
+ char *dup, *name, *next;
+
+ env = getenv("E_MODULE_FORCE_LOAD");
+ if ((!env) || (!env[0])) return;
+
+ dup = strdup(env);
+ if (!dup) return;
+
+ for (name = dup; name; name = next)
+ {
+ E_Module *m;
+
+ next = strchr(name, ',');
+ if (next) *next++ = 0;
+ while (*name == ' ') name++;
+ if (!*name) continue;
+
+ m = e_module_new(name);
+ if (m && e_module_enable(m))
+ INF("Force-loaded module: %s", name);
+ else
+ ERR("Could not force-load module: %s", name);
+ }
+
+ free(dup);
+}
+
static void
_e_main_modules_load(Eina_Bool safe_mode)
{
+ _e_main_modules_force_load();
+
if (!safe_mode)
e_module_all_load();
else
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.