X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ion3.git;a=blobdiff_plain;f=ioncore%2Fioncore_wd.lua;h=d69a9eb1fc01f0170bc9f36d3bef9832686ea241;hp=cdb7a36ed815d316df295080ed52629b1377c24d;hb=20071130;hpb=a6561c9679cd701b0d50c3cfd44e4664f7df2b2f diff --git a/ioncore/ioncore_wd.lua b/ioncore/ioncore_wd.lua index cdb7a36..d69a9eb 100644 --- a/ioncore/ioncore_wd.lua +++ b/ioncore/ioncore_wd.lua @@ -26,13 +26,12 @@ local function checkdir(d) if not d2 then return nil, err else - print('follow') return checkdir(d2) end elseif t=="directory" then return true else - return TR("Not a directory.") + return nil, TR("Not a directory.") end end end @@ -51,7 +50,7 @@ end --DOC -- Change default working directory for new programs started in \var{reg}. function ioncore.chdir_for(reg, dir) - assert(type(dir)=="string") + assert(dir==nil or type(dir)=="string") if dir=="" or dir==nil then dirs[reg]=nil return true @@ -87,6 +86,7 @@ end local function lookup_runinxterm_warn(prog, title, wait) local rx=lookup_script_warn("ion-runinxterm") if rx then + rx="exec "..rx if wait then rx=rx.." -w" end @@ -147,7 +147,10 @@ end local function save_config() local t={} for r, d in pairs(dirs) do - t[r:name()]=d + local nm=obj_exists(r) and r:name() + if nm then + t[nm]=d + end end ioncore.write_savefile(savefile, t) end