(getwd): Delete macro. (startup_dir): New variable. (getwd): Return directory in which Emacs started. (init_user_info): Set SHELL environment variable if not set. (parse_root, get_long_basename, w32_get_long_filename): New functions. (init_environment): Look for CMDPROXY. Make sure that PATH and COMSPEC are capitalized in the environment. Record startup directory. (get_emacs_configuration, sys_rename): Use OS_WIN95. (map_w32_filename): Calculate returned string correctly. (sys_fopen): Use _fdopen. (sys_link): Support NTFS links. (sys_rename): Use a long file name for temporary name. (sys_pipe): Make pipes binary and non-inheritable. (sys_read, sys_write): Spoof text mode translation for pipes and sockets. (hashval): Simplify. (generate_inode_val): Use long file name version of file. (stat): Optimize by using active readdir info. Set fake_inode to 0 for directories. Set fake_inode to xor of file indexes for files. Don't use generate_inode_val to set inode value. (volume_info_data): Renamed from volume_info. (volume_info, fixed_drives, volume_cache): New variables. (DRIVE_INDEX, VOLINFO_STILL_VALID): New macros. (lookup_volume_info, add_volume_info, GetCachedVolumeInformation): New functions. (get_volume_info): Use volume_info_data. Use GetCachedVolumeInformation. (init_ntproc): No longer restrict to one DOS subprocess. Use CRT _open and _fdopen. Cache fixed drive information.
Showing with 690 additions and 233 deletions