]> git.decadent.org.uk Git - ion3.git/blobdiff - ioncore/ioncore_wd.lua
[svn-upgrade] Integrating new upstream version, ion3 (20071130)
[ion3.git] / ioncore / ioncore_wd.lua
index cdb7a36ed815d316df295080ed52629b1377c24d..d69a9eb1fc01f0170bc9f36d3bef9832686ea241 100644 (file)
@@ -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