src/Pure/General/file.ML
changeset 15155 6cdd6a8da9b9
parent 14981 e73f8140af78
child 15531 08c8dad8e399
equal deleted inserted replaced
15154:db582d6e89de 15155:6cdd6a8da9b9
    47 (* current path *)
    47 (* current path *)
    48 
    48 
    49 val cd = Library.cd o sysify_path;
    49 val cd = Library.cd o sysify_path;
    50 val pwd = unsysify_path o Library.pwd;
    50 val pwd = unsysify_path o Library.pwd;
    51 
    51 
    52 fun full_path path =
    52 fun norm_absolute p =
    53   if Path.is_absolute path then path
    53   let
    54   else Path.append (pwd ()) path;
    54     val p' = pwd ();
       
    55     fun norm p = if can cd p then pwd ()
       
    56       else Path.append (norm (Path.dir p)) (Path.base p);
       
    57     val p'' = norm p
       
    58   in (cd p'; p'') end
       
    59 
       
    60 fun full_path path = norm_absolute
       
    61   (if Path.is_absolute path then path
       
    62    else Path.append (pwd ()) path);
    55 
    63 
    56 
    64 
    57 (* tmp_path *)
    65 (* tmp_path *)
    58 
    66 
    59 fun tmp_path path =
    67 fun tmp_path path =