|
From: Josef 'J. S. <je...@jo...> - 2014-08-04 12:37:22
|
On Mon, Aug 04, 2014 at 07:13:07AM -0400, Josef 'Jeff' Sipek wrote:
> On Sun, Aug 03, 2014 at 09:51:16PM -0400, Josef 'Jeff' Sipek wrote:
> > Hello,
> >
> > It's been a while and so I tried to recompile Notion (latest tarball) on my
> > OpenIndiana laptop.
>
> Ok, more information. Yesterday, I reinstalled my laptop with a newer
> version of OpenIndiana. This morning, I tried to recompile the old version
> (2013030200), and it also fails. So, chances are that the issue is
> somewhere in the system. (FWIW, previously I had Lua 5.1.4, now I have 5.2.2.)
>
> Any ideas what changes on the system would cause this sort of failure?
Alright. I got it all figured out. It all stems from incompatibilies in
Lua 5.2.2 - especially if it is compiled without legacy support. Here's the
patch that works for me. You'll probably want to make it conditional to
keep 5.1 happy. Anyway, thanks for listening ;) Sometimes, just having to
describe your problems leads to a solution :)
Thanks,
Jeff.
diff -ur notion-3-2014052800.mangled/contrib/scripts/simple_bindings.lua notion-3-2014052800/contrib/scripts/simple_bindings.lua
--- notion-3-2014052800.mangled/contrib/scripts/simple_bindings.lua 2014-05-27 18:00:18.000000000 -0400
+++ notion-3-2014052800/contrib/scripts/simple_bindings.lua 2014-08-04 03:54:53.380883374 -0400
@@ -54,7 +54,7 @@
if not ioncore then
ioncore = {get_paths = function() return {userdir="/home/deryni/.ion3"} end}
warn = print
- loadstring = function(str) return function() print(str) end end
+ load = function(str) return function() print(str) end end
end
--}}} Standalone hacks
@@ -164,7 +164,7 @@
str = str.."\tkpress(\""..bind.keystr..[[", "]]..bind.bindstr.."\"),\n"
end
str = str.."})"
- loadstring(str)()
+ load(str)()
end
-- vim: set expandtab sw=4:
diff -ur notion-3-2014052800.mangled/contrib/statusbar/statusbar_external.lua notion-3-2014052800/contrib/statusbar/statusbar_external.lua
--- notion-3-2014052800.mangled/contrib/statusbar/statusbar_external.lua 2014-05-27 18:00:18.000000000 -0400
+++ notion-3-2014052800/contrib/statusbar/statusbar_external.lua 2014-08-04 03:54:53.381313664 -0400
@@ -209,7 +209,7 @@
-- Start all
for key in pairs(statusbar_external) do
timers[key] = ioncore.create_timer()
- callbacks[key] = loadstring("start_execute("..key..")")
+ callbacks[key] = load("start_execute("..key..")")
start_execute(key)
end
diff -ur notion-3-2014052800.mangled/contrib/statusd/legacy/statusd_sysmon.lua notion-3-2014052800/contrib/statusd/legacy/statusd_sysmon.lua
--- notion-3-2014052800.mangled/contrib/statusd/legacy/statusd_sysmon.lua 2014-05-27 18:00:18.000000000 -0400
+++ notion-3-2014052800/contrib/statusd/legacy/statusd_sysmon.lua 2014-08-04 03:54:53.381656408 -0400
@@ -185,7 +185,7 @@
return (metrics[arg1] or "")
end)
sysmon_st = string.gsub (sysmon_st, "%$%{(.-)%}", function (arg1)
- return loadstring("return "..arg1)()
+ return load("return "..arg1)()
end)
-- replacing the '%%' macros with the '%' symbol
sysmon_st = string.gsub (sysmon_st, "%%%%", "%%")
diff -ur notion-3-2014052800.mangled/ioncore/ioncore_bindings.lua notion-3-2014052800/ioncore/ioncore_bindings.lua
--- notion-3-2014052800.mangled/ioncore/ioncore_bindings.lua 2014-05-27 18:00:18.000000000 -0400
+++ notion-3-2014052800/ioncore/ioncore_bindings.lua 2014-08-04 03:54:53.382014910 -0400
@@ -47,7 +47,7 @@
local gfncode="return function(_, _sub, _chld) "..guardcode.." return true end"
local gerr
- gfn, gerr=loadstring(gfncode, guardcode)
+ gfn, gerr=load(gfncode, guardcode)
if not gfn then
ioncore.warn_traced(TR("Error compiling guard: %s", gerr))
end
@@ -69,7 +69,7 @@
if type(cmd)=="string" then
local fncode=("return function(_, _sub, _chld) local d = "
..cmd.." end")
- local fn, err=loadstring(fncode, cmd)
+ local fn, err=load(fncode, cmd)
if not fn then
ioncore.warn_traced(TR("Error in command string: ")..err)
return
diff -ur notion-3-2014052800.mangled/mod_query/mod_query.lua notion-3-2014052800/mod_query/mod_query.lua
--- notion-3-2014052800.mangled/mod_query/mod_query.lua 2014-05-27 18:00:18.000000000 -0400
+++ notion-3-2014052800/mod_query/mod_query.lua 2014-08-04 03:54:53.382604012 -0400
@@ -1048,7 +1048,7 @@
end
err=collect_errors(f)
else
- local f, err=loadstring(code)
+ local f, err=load(code)
if not f then
mod_query.warn(mplex, err)
return
diff -ur notion-3-2014052800.mangled/mod_xinerama/mod_xinerama.lua notion-3-2014052800/mod_xinerama/mod_xinerama.lua
--- notion-3-2014052800.mangled/mod_xinerama/mod_xinerama.lua 2014-05-27 18:00:18.000000000 -0400
+++ notion-3-2014052800/mod_xinerama/mod_xinerama.lua 2014-08-04 04:24:22.371015820 -0400
@@ -138,6 +138,17 @@
return x_in and y_in
end
+-- table.maxn doesn't exist in lua 5.2
+local function table_maxn(t)
+ local mn = 0
+ for k, v in pairs(t) do
+ if mn < k then
+ mn = k
+ end
+ end
+ return mn
+end
+
--DOC
-- Merges overlapping screens. I.e. it finds set of smallest rectangles,
-- such that these rectangles do not overlap and such that they contain
@@ -176,8 +187,8 @@
end
end
end
- if not pos then pos = table.maxn(ret)+1 end
- table.insert(ret, pos, newscreen)
+ if not pos then pos = table_maxn(ret)+1 end
+ ret[pos] = newscreen
end
fix_representations(ret)
return ret
@@ -276,7 +287,7 @@
-- pos keeps index of first set that we merged in this loop,
-- we want to insert the product of this merge to pos.
- if not pos then pos = table.maxn(screensets)+1 end
+ if not pos then pos = table_maxn(screensets)+1 end
table.insert(screensets, pos, mergedset)
end
--
Once you have their hardware. Never give it back.
(The First Rule of Hardware Acquisition)
|