Search code examples
lua

current line number in Lua


Does Lua support something like C's __LINE__ macro, which returns the number of the current code line? I know Lua has a special built-in variable called _G, but I don't see line number in there...


Solution

  • From Lua using debug.getinfo, e.g.,

    local line = debug.getinfo(1).currentline
    

    From C using lua_getinfo (This will return the linenumber inside lua code)

      lua_Debug ar;
      lua_getstack(L, 1, &ar);
      lua_getinfo(L, "nSl", &ar);
      int line = ar.currentline   
    

    http://www.lua.org/manual/5.1/manual.html#lua_getinfo

    http://www.lua.org/manual/5.1/manual.html#pdf-debug.getinfo