From the Lua 5.1 reference manual:
Once a loader is found, require calls the loader with a single argument, modname. If the loader returns any value, require assigns the returned value to package.loaded[modname]. If the loader returns no value and has not assigned any value to package.loaded[modname], then require assigns true to this entry. In any case, require returns the final value of package.loaded[modname]
In my opinion, it meas when you use require and success, package.loaded[modname] must have value no matter true or table which depend on loader function has return
so there is my test below

Where is my package.loaded["test"]? But when I change a line in test.lua

Here is my Lua interperter:
ZeroBraneStudioEduPack-1.40-win32/Project/Lua Interperter/Lua
Sorry my poor English
P.S.
Screenshots above are available at full resolution: 1, 2