Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
-- This file:
--   http://anggtwu.net/LUA/LoadString1.lua.html
--   http://anggtwu.net/LUA/LoadString1.lua
--          (find-angg "LUA/LoadString1.lua")
-- Author: Eduardo Ochs <eduardoochs@gmail.com>
--
-- (defun e () (interactive) (find-angg "LUA/LoadString1.lua"))
-- See: (find-es "lua5" "loadstring_and_eof")
--      (find-es "lua5" "loadstring")
--      (find-angggrep "grep --color=auto -nH --null -e '<eof>' LUA/*.lua")
--      (find-angg "LUA/Repl3.lua" "MultiLineCmd")

LoadString = Class {
  type    = "LoadString",
  __index = {
    concat0 = function (ls) return table.concat(ls, "\n") end,
    concat1 = function (ls) return (ls:concat0():gsub("^=", "return ")) end,
    concat2 = function (ls) return (ls:concat0():gsub("^=(.*)$", "print(%1\n  )")) end,
    incomplete = function (ls)
        ls.f1,ls.status1 = loadstring(ls:concat1(), ls.chunkname)
        return ls.status1 and ls.status1:match("'<eof>'$") and ls.status1
      end,
    loadstring = function (ls)
        ls.f2,ls.status2 = loadstring(ls:concat1(), ls.chunkname)
        return ls.f2,ls.status2
      end,
  },
}

--[[
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "LoadString1.lua"
o = LoadString {"=2+", " 3"}
= o:concat0()
= o:concat1()
= o:concat2()
= o:incomplete()

o = LoadString {"=2+", " 3+"}
= o:concat0()
= o:concat1()
= o:concat2()
= o:incomplete()

o = LoadString {"=2+", " 3+", chunkname="FOO"}
= o:concat0()
= o:concat1()
= o:concat2()
= o:incomplete()

o = LoadString {"=2+", " 3"}
= assert(o:loadstring())()     --> 5

o = LoadString {"=2+", " 3+"}
= assert(o:loadstring())()     --> unexpected symbol near '<eof>'

--]]