fixed source file debug reference in required modules
diff --git a/metalua/loader.lua b/metalua/loader.lua
index 9c4754f..e535fef 100644
--- a/metalua/loader.lua
+++ b/metalua/loader.lua
@@ -52,9 +52,9 @@
       --printf('path = %s, rpath_mark=%s, name=%s', path, resc(path_mark), name)
       local filename = path:gsub (resc (path_mark), name)
       --printf('filename = %s', filename)
-      local file = io.open (filename, 'r')
+      local file = io.open (filename, 'rb')
       if file then return file, filename end
-      table.insert(errors, string.format("\tno lua file %q", filename))
+      table.insert(errors, string.format("\tno file %q", filename))
    end
    return false, '\n'..table.concat(errors, "\n")..'\n'
 end
@@ -80,7 +80,7 @@
     local bytecode, file, msg
     if delta <= 0 then
        --print ("(need to recompile "..src_filename.." into "..dst_filename..")")
-       bytecode = mlc :src_to_bytecode (src, name)
+       bytecode = mlc :src_to_bytecode (src, '@'..src_filename)
        for x in dst_filename :gmatch('()'..dir_sep) do
           lfs.mkdir(dst_filename:sub(1,x))
        end
@@ -94,7 +94,7 @@
        bytecode = file :read '*a'
        file :close()
     end
-    return mlc :bytecode_to_function (bytecode)
+    return mlc :bytecode_to_function (bytecode, '@'..src_filename)
 end
 
 ----------------------------------------------------------------------
@@ -107,7 +107,7 @@
    file:close()
    if M.mcache and pcall(require, 'lfs') then
       return metalua_cache_loader(name, filename_or_msg, luastring)
-   else return require 'metalua.compiler'.new() :src_to_function (luastring, name) end
+   else return require 'metalua.compiler'.new() :src_to_function (luastring, '@'..filename_or_msg) end
 end