]> git.eshelyaron.com Git - emacs.git/commitdiff
Document recent change to HOME handling
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 14 Nov 2018 17:31:28 +0000 (09:31 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 14 Nov 2018 17:32:28 +0000 (09:32 -0800)
* doc/emacs/cmdargs.texi (General Variables):
* doc/emacs/custom.texi (Find Init):
* doc/lispref/files.texi (File Name Expansion):
* etc/NEWS: Document behavior when HOME is a relative file name.

doc/emacs/cmdargs.texi
doc/emacs/custom.texi
doc/lispref/files.texi
etc/NEWS

index 2e2767ccada502872d24276736adb59e4f14d35b..25a2526888967bd655018c9a7371666349e1934a 100644 (file)
@@ -529,7 +529,11 @@ otherwise.
 @item HOME
 @vindex HOME@r{, environment variable}
 The location of your files in the directory tree; used for
-expansion of file names starting with a tilde (@file{~}).  On MS-DOS,
+expansion of file names starting with a tilde (@file{~}).
+If set to a relative file name, Emacs expands @file{~} to the
+corresponding absolute file name.  If unset, it normally defaults to
+the home directory of the user given by @env{LOGNAME}, @env{USER} or
+your user ID, or to @file{/} if all else fails.  On MS-DOS,
 it defaults to the directory from which Emacs was started, with
 @samp{/bin} removed from the end if it was present.  On Windows, the
 default value of @env{HOME} is the @file{Application Data}
index ddde5b22e6b34b366281aac0b16736ab497475e6..3dbe8f8003f3b742e4d3f6ff05da1cbe0f9b6b46 100644 (file)
@@ -2557,10 +2557,9 @@ library.  @xref{Hooks}.
 @node Find Init
 @subsection How Emacs Finds Your Init File
 
-  Normally Emacs uses the environment variable @env{HOME}
-(@pxref{General Variables, HOME}) to find @file{.emacs}; that's what
-@samp{~} means in a file name.  If @file{.emacs} is not found inside
-@file{~/} (nor @file{.emacs.el}), Emacs looks for
+  Normally Emacs uses your home directory to find @file{~/.emacs};
+that's what @samp{~} means in a file name.  @xref{General Variables, HOME}.
+If neither @file{~/.emacs} nor @file{~/.emacs.el} is found, Emacs looks for
 @file{~/.emacs.d/init.el} (which, like @file{~/.emacs.el}, can be
 byte-compiled).
 
index 5682919b645d506b940770013442b16bf60de1db..b795864815d541d8595bf3ec48defe13877d8cd3 100644 (file)
@@ -2367,8 +2367,10 @@ start with @samp{~}.)  Otherwise, the current buffer's value of
 @end example
 
 If the part of @var{filename} before the first slash is
-@samp{~}, it expands to the value of the @env{HOME} environment
-variable (usually your home directory).  If the part before the first
+@samp{~}, it expands to your home directory, which is typically
+specified by the value of the @env{HOME} environment variable
+(@pxref{General Variables,,, emacs, The GNU Emacs Manual}).
+If the part before the first
 slash is @samp{~@var{user}} and if @var{user} is a valid login name,
 it expands to @var{user}'s home directory.
 If you do not want this expansion for a relative @var{filename} that
index 44f54894cdb55a4531087ed1887682a5035580b5..6577c822520501f125ab559f464f84c155489a4f 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -961,6 +961,10 @@ its default value changed in Emacs 27.1.
 
 ** The REPETITIONS argument of 'benchmark-run' can now also be a variable.
 
+** If $HOME is a relative file name, 'expand-file-name' now expands
+"~" and leading "~/" to the corresponding absolute file name.
+Formerly, it incorrectly expanded them to a relative file name.
+
 ** The FILENAME argument to 'file-name-base' is now mandatory and no
 longer defaults to 'buffer-file-name'.