*** mz390.java.orig	Thu Nov 16 15:23:06 2006
--- mz390.java	Thu Nov 16 15:20:20 2006
***************
*** 1507,1513 ****
  		if (!mac_file[cur_mac_file].isFile()){
  			abort_error(39,"file not found - " + load_file_name); //RPI169
  		}
! 		load_macro_name = mac_file[cur_mac_file].getName().toUpperCase();
  		if (tot_mac_name > 0){ // RPI127 leave suffix on main pgm loaded as macro
  			int index = load_macro_name.indexOf('.');
  			if (index > 0){
--- 1507,1513 ----
  		if (!mac_file[cur_mac_file].isFile()){
  			abort_error(39,"file not found - " + load_file_name); //RPI169
  		}
! 		load_macro_name = mac_file[cur_mac_file].getName();
  		if (tot_mac_name > 0){ // RPI127 leave suffix on main pgm loaded as macro
  			int index = load_macro_name.indexOf('.');
  			if (index > 0){
***************
*** 6662,6668 ****
  		sys_dsn = "";
  		sys_mem = "";
  		sys_vol = "";
! 		sys_file = new File(file_name.toUpperCase());
  		try {
  			sys_dsn = sys_file.getCanonicalPath();
  			sys_mem = sys_file.getName();
--- 6662,6668 ----
  		sys_dsn = "";
  		sys_mem = "";
  		sys_vol = "";
! 		sys_file = new File(file_name);
  		try {
  			sys_dsn = sys_file.getCanonicalPath();
  			sys_mem = sys_file.getName();
*** tz390.java.orig	Thu Nov 16 15:23:06 2006
--- tz390.java	Thu Nov 16 15:21:04 2006
***************
*** 3592,3601 ****
  	    	} else {
  	    	    file_name = parm;
  	    	}
  	    	if  (file_name.length() > 0
  	            && file_name.indexOf('\\') == -1
! 	    		&& file_name.indexOf(':')  == -1){
  	    		file_name = parm_dir.concat(File.separator + file_name);	
  	    	}
  	    	int index = file_name.indexOf(".");
  	    	if (index == -1){
--- 3592,3605 ----
  	    	} else {
  	    	    file_name = parm;
  	    	}
+ 
+                 String os_name = System.getProperty("os.name");
                  if  (file_name.length() > 0
                          && file_name.indexOf('\\') == -1
!                         && file_name.indexOf(':')  == -1
!                         && !os_name.equals("Linux")) {
                          file_name = parm_dir.concat(File.separator + file_name);
+         
                  }
  	    	int index = file_name.indexOf(".");
  	    	if (index == -1){
***************
*** 3662,3668 ****
  			temp_file = new File(file_name + file_type);
  		}
  		if (temp_file.isFile()){
! 			return temp_file.getPath().toUpperCase();
  		}
  	}
  	return null;
--- 3666,3672 ----
  			temp_file = new File(file_name + file_type);
  		}
  		if (temp_file.isFile()){
! 			return temp_file.getPath();
  		}
  	}
  	return null;
***************
*** 3709,3715 ****
      int index = file_name.lastIndexOf(File.separator);
      if (index != -1){  // get dir path if any
      	pgm_dir = file_name.substring(0,index+1);
!     	file_name = file_name.substring(index + 1).toUpperCase();
      } else if (file_name.length() > 1 && file_name.charAt(1) == ':'){
      	File temp_file = new File(file_name.substring(0,2));
      	try {
--- 3713,3719 ----
      int index = file_name.lastIndexOf(File.separator);
      if (index != -1){  // get dir path if any
      	pgm_dir = file_name.substring(0,index+1);
!     	file_name = file_name.substring(index + 1);
      } else if (file_name.length() > 1 && file_name.charAt(1) == ':'){
      	File temp_file = new File(file_name.substring(0,2));
      	try {
***************
*** 3720,3726 ****
      	file_name = file_name.substring(2); //RPI113
      } else {
      	pgm_dir = dir_cur;
- 	  	file_name = file_name.toUpperCase();
      }
      index = file_name.lastIndexOf('.');
      if (index != -1){  // strip extension if any
--- 3724,3729 ----
***************
*** 3740,3746 ****
  	/*
  	 * set current directory dir_cur
  	 */
! 	dir_cur = System.getProperty("user.dir").toUpperCase() + File.separator;
  }
  public void reset_opsyn(){
  	/*
--- 3743,3749 ----
  	/*
  	 * set current directory dir_cur
  	 */
! 	dir_cur = System.getProperty("user.dir") + File.separator;
  }
  public void reset_opsyn(){
  	/*
*** z390.java.orig	Thu Nov 16 15:23:06 2006
--- z390.java	Thu Nov 16 16:12:50 2006
***************
*** 583,589 ****
  			  } else {
  				  abort_error(52,"invalid install directory - " + install_loc);
  			  }
! 			  temp_file = new File(install_loc + File.separator + "doc");
  			  if (temp_file.isDirectory()){
  				  install_doc = temp_file.getPath();
  			  } else {
--- 583,589 ----
  			  } else {
  				  abort_error(52,"invalid install directory - " + install_loc);
  			  }
! 			  temp_file = new File(install_loc + File.separator + "Doc");
  			  if (temp_file.isDirectory()){
  				  install_doc = temp_file.getPath();
  			  } else {
***************
*** 1531,1542 ****
--- 1531,1546 ----
  		    *
  		    */
  	           if (!tz390.dir_cur.equals(install_loc)){
+ 		       if (System.getProperty("os.name").equals("Linux")) {
+                            cmd_exec_input("CD " + tz390.dir_cur);
+ 		       } else {
  		           if (!tz390.dir_cur.substring(0,2).equals(install_loc.substring(0,2))){
  		           		cmd_exec_input(tz390.dir_cur.substring(0,2));
  		           }
  		           cmd_exec_input("CD " + tz390.dir_cur.substring(2));
  		       }
  		   }
+ 	   }
  	   private void monitor_update(){
  	   /*
  	    * 1.  At monitor_wait intervals, update the
***************
*** 3198,3205 ****
--- 3202,3213 ----
  			 */
  			if (file_name.length() > tz390.dir_cur.length()
  				&& file_name.substring(0,tz390.dir_cur.length()).equals(tz390.dir_cur)){
+ 			    if (System.getProperty("os.name").equals("Linux")) {
+                                 file_name = file_name.substring(tz390.dir_cur.length()); // skip dir
+ 			    } else {
  				file_name = file_name.substring(tz390.dir_cur.length()+1); // skip dir + sep
  			    }
+ 			}
  			int index = file_name.indexOf(" ");
  			if (index >=0){
  				return "\"" + file_name + "\""; // LSN
