let savescripts () =
  if !needsave then
    match !scriptfile with
      | None -> ()
      | Some file ->
          try
            if !needback then
              ( Command.copy file (file ^ ".back") ; needback := false ) ;
            dump_scripts file ;
            needsave := false ;
          with e ->
            Wp_parameters.abort
              "Error when dumping script file '%s':@\n%s" file
              (Printexc.to_string e)