anchor.diff:      LoadMode = b2a(get_flag(mode, Flags, false)),
       Deb = b2a(get_flag(init_debug, Flags, false)),
       catch ?ON_LOAD_HANDLER ! {init_debug_flag,Deb},
  -    BootVars = get_flag_args(boot_var, Flags),
  +    BootVars = get_boot_vars(Root, Flags),
       ParallelLoad = 
   	(Pgm =:= "efile") and (erlang:system_info(thread_pool_size) > 0),
   
       PathChoice = code_path_choice(),
  -    eval_script(BootList,Init,PathFls,{Root,BootVars},Path,
  +    eval_script(BootList,Init,PathFls,BootVars,Path,
   		{true,LoadMode,ParallelLoad},Deb,PathChoice),
   
       %% To help identifying Purify windows that pop up,
  
positive.code: 	_ ->
  	    exit(no_or_multiple_root_variables)
      end.
  
  bootfile(Flags,Root) ->
      b2s(get_flag(boot, Flags, concat([Root,"/bin/start"]))).
  
negative.code: fix_path(_, _) ->
      [].
  
  add_var("$"++Path0, Vars) ->
      {Var,Path} = extract_var(Path0, []),
      Key = list_to_binary(Var),
      case Vars of
  	#{Key:=Value0} ->
  	    Value = b2s(Value0),
  	    Value ++ "/" ++ Path;
  	_ ->
  	    Error0 = "cannot expand $" ++ Var ++ " in bootfile",
  	    Error = list_to_atom(Error0),
  	    exit(Error)
      end;
  add_var(Path, _) ->
      Path.
  
  extract_var([$/|Path],Var) -> {reverse(Var),Path};
  extract_var([H|T],Var)     -> extract_var(T,[H|Var]);
  extract_var([],Var)        -> {reverse(Var),[]}.
  
  patch_path(Dirs, strict) ->
      Dirs;
  