• Paul Eggert's avatar
    Act like POSIX sh if $HOME is relative · 90027650
    Paul Eggert authored
    POSIX says sh ~/foo should act like $HOME/foo even if $HOME is
    relative, so be consistent with that (Bug#33255).
    * admin/merge-gnulib (GNULIB_MODULES): Add dosname.
    * src/buffer.c (init_buffer): Use emacs_wd to get
    initial working directory with slash appended if needed.
    (default-directory): Say it must be absolute.
    * src/emacs.c (emacs_wd): New global variable.
    (init_cmdargs): Dir arg is now char const *.
    (main): Set emacs_wd.
    * src/emacs.c (main) [NS_IMPL_COCOA]:
    * src/fileio.c (Fexpand_file_name):
    Use get_homedir instead of egetenv ("HOME").
    * src/fileio.c: Include dosname.h, for IS_ABSOLUTE_FILE_NAME.
    (splice_dir_file, get_homedir): New functions.
    * src/xrdb.c (gethomedir): Remove.  All callers changed
    to use get_homedir and splice_dir_file.
    * test/src/fileio-tests.el (fileio-tests--relative-HOME): New test.
    90027650
emacs.c 80.1 KB