! Write the current buffer to a specified file. If no file specified, ! use the default file name. ! 18-JUL-1987, A. Watson. Altered as follows for EVEPLUS: ! When no file name arguement is given: ! -- if buffer has associated output file name, use it ! -- if no output file name, prompt for one, continue as below. ! When a file name arg is given (or prompted for): ! -- Flesh out filespec using device and dir given as DEFAULT if ! none is given as part of output file name. ! ! Parameters: ! ! write_file_name ! String containing file name - input procedure eve_write_file (write_file_name) local write_result, ! File name string returned by write_file reply, mess, output_file_name; ! Local version of write_file_name if get_info(current_buffer,"no_write") then mess := fao("!AS set NOWRITE. Write anyhow? ", get_info(current_buffer,"name")); reply := read_line(mess); edit(reply, UPPER); if substr(reply,1,1) = "Y" then eve_set_write; else return; endif; endif; if eve$x_trimming then message ("Trimming buffer..."); eve$trim_buffer (current_buffer); message ("Trimming completed"); endif; output_file_name := write_file_name; if output_file_name = eve$kt_null then if get_info(current_buffer,"output_file") <> 0 then write_result := write_file (current_buffer); return; else output_file_name := read_line("Name for file? "); if output_file_name = eve$kt_null then output_file_name := "file.txt"; message("Using default name FILE.TXT"); endif; endif; endif; ! Flesh out with full file spec, using default device and directory ! if they are defined. if get_info(eve$default_dir,"type") = UNSPECIFIED then eve$default_dir := eve$kt_null; endif; output_file_name := file_parse (output_file_name,eve$default_dir); write_result := write_file (current_buffer, output_file_name); set (output_file, current_buffer, write_result); endprocedure;