annotate loader.lua @ 14215:2719dbb358c8

net.unbound: Briefly explain default override settings resolvconf=true is the default in luaunbound, so technically redundant, but an excuse to remove that comment and add some better ones.
author Kim Alvefur <zash@zash.se>
date Sun, 07 Jun 2026 18:23:24 +0200
parents 50b8d732c905
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12948
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
1 -- Allow for both require"util.foo" and require"prosody.util.foo" for a
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
2 -- transition period while we update all require calls.
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
3
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
4 if (...) == "prosody.loader" then
14062
ef586363d90f loader: Fix path setup
Kim Alvefur <zash@zash.se>
parents: 12949
diff changeset
5 -- For require"util.foo" also look in paths equivalent to "prosody.util.foo"
14065
50b8d732c905 loader: Revert bad idea
Kim Alvefur <zash@zash.se>
parents: 14064
diff changeset
6 package.path = package.path:gsub("([^;]*)(?[^;]*)", "%1prosody/%2;%1%2");
50b8d732c905 loader: Revert bad idea
Kim Alvefur <zash@zash.se>
parents: 14064
diff changeset
7 package.cpath = package.cpath:gsub("([^;]*)(?[^;]*)", "%1prosody/%2;%1%2");
12948
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
8 else
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
9 -- When requiring "prosody.x", also look for "x"
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
10 for i = #package.searchers, 1, -1 do
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
11 local search = package.searchers[i];
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
12 table.insert(package.searchers, i, function(module_name)
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
13 local lib = module_name:match("^prosody%.(.*)$");
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
14 if lib then
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
15 return search(lib);
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
16 end
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
17 end)
29983f09c913 prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents: 12947
diff changeset
18 end
12947
14a44b1a51d0 prosody.loader: Allow loading modules under 'prosody' namespace (#1223)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 end
12949
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
20
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
21 -- Look for already loaded module with or without prefix
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
22 setmetatable(package.loaded, {
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
23 __index = function(loaded, module_name)
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
24 local suffix = module_name:match("^prosody%.(.*)$");
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
25 if suffix then
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
26 return rawget(loaded, suffix);
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
27 end
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
28 local prefixed = rawget(loaded, "prosody." .. module_name);
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
29 if prefixed ~= nil then
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
30 return prefixed;
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
31 end
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
32 end;
2f61ebcf37c0 prosody.loader: Ensure already loaded modules are found in old and new namespaces
Kim Alvefur <zash@zash.se>
parents: 12948
diff changeset
33 })