Skip to content
  • John Malmberg's avatar
    Fix bs-nl handling, exit and Environment for VMS. · e4ac28e8
    John Malmberg authored and Paul Smith's avatar Paul Smith committed
    
    
    This fix required a complete rewrite of the command parser vmsjobs.c
    child_execute_job.  The old parser had too many incorrect assumptions
    about DCL commands and could not be repaired to extended.
    
    The parser now more closely parses VMS commands and handles quoted
    commands and redirection.  Command File mode has been improved, but can
    not fully support bs-nl syntax.
    
    VMS Unix shell simulation has been improved.
    
    * commands.c: vms_comma_separator is now a run-time setting.
    * function.c: vms_comma_separator is now a run-time setting.
    * function.c(func_basename_dir) now reports "[]" or "./" based on
      VMS crtl runtime setting.
    * job.c(start_job_command): VMS Handle empty commands propery.
    * main.c: Add VMS environment variables for run-time settings.
      * vms_legacy_behavior - Force older behavior.
      * vms_comma_separator - Commas or spaces for separators.
      * vms_unix_simulation - Enhanced Posix shell simulation features.
      * Detect if VMS CRTL is set to report Unix paths instead of VMS.
      * ':' and '>' are also MAP_DIRSEP on VMS.
    * makeint.h: Add VMS run-time option variables.
    * readme.vms: Update to current behavior.
    * variable.c(define_variable_in_set): Fix VMS Environment variable
      lookup.
    * variable.c(define_automatic_variables): Remove some VMS specific
      automatic variables and use the Unix ones instead.
    * vms_export_symbol.c: Set max symbol size correctly.
    * vmsjobs.c: child_execute_job() complete rewrite of VMS comand
      parsing.
    * vmsjobs.c(build_vms_cmd): VMS commmand building with shell simulation.
    
    Signed-off-by: default avatarPaul Smith <psmith@gnu.org>
    e4ac28e8