* bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistence. @ 2011-03-10 21:36 Dani Moncayo 2011-03-10 22:17 ` bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistency Dani Moncayo ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Dani Moncayo @ 2011-03-10 21:36 UTC (permalink / raw) To: 8221 Severity: wishlist Hello, I've been reading the documented behavior of Emacs with respect to the way it looks for the init file during startup. This is explained in the nodes "Init File" (for POSIX systems, I guess) and "Windows HOME" (for MS Windows platforms). According to the documentation (and the quick test I've done), we have this: - On Windows systems, Emacs tries to find the init file by cheking (in several paths) for the existence of a file named `.emacs'. - On POSIX systems, Emacs accepts the following alternatives as init file: `~/.emacs', `~/.emacs.el', or `~/.emacs.d/init.el' So, the question is, why this inconsistence? i.e., why not accept on Windows the same alternatives for the name of the init file as on POSIX systems? For example: Why not accept "<path>\.emacs.d\.init.el" as a valid init file on Windows? (<path> being _any_ of the directories that Emacs currently checks for the `.emacs' file) -- Dani Moncayo ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistency 2011-03-10 21:36 bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistence Dani Moncayo @ 2011-03-10 22:17 ` Dani Moncayo 2011-03-10 23:35 ` Dani Moncayo 2011-03-10 22:59 ` bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistence Jason Rumney 2011-03-11 2:40 ` Juanma Barranquero 2 siblings, 1 reply; 9+ messages in thread From: Dani Moncayo @ 2011-03-10 22:17 UTC (permalink / raw) To: 8221 On Thu, Mar 10, 2011 at 22:36, Dani Moncayo <dmoncayo@gmail.com> wrote: > So, the question is, why this inconsistence? ^^^^^^^^^^^^^ By "inconsistence" I meant "inconsistency". Forgive my imperfect English... -- Dani Moncayo ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistency 2011-03-10 22:17 ` bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistency Dani Moncayo @ 2011-03-10 23:35 ` Dani Moncayo 2011-03-11 2:49 ` Juanma Barranquero 0 siblings, 1 reply; 9+ messages in thread From: Dani Moncayo @ 2011-03-10 23:35 UTC (permalink / raw) To: Jason Rumney; +Cc: 8221 On Thu, Mar 10, 2011 at 23:59, Jason Rumney <jasonr@gnu.org> wrote: > Dani Moncayo <dmoncayo@gmail.com> writes: > >> So, the question is, why this inconsistence? i.e., why not accept on >> Windows the same alternatives for the name of the init file as on >> POSIX systems? > > We do. > On one hand, it doesn't seem to be the documented behavior in the node "Windows HOME" of the manual. It refers to the init file as `.emacs', and says nothing about possible alternatives. On the other hand, and according to the same info node, C:\ is checked as one possible "home" directory. Thus, init files such as "C:\.emacs.el" or "C:\.emacs.d\init.el" should be valid ones. But I've just tested those two and Emacs don't find them. -- Dani Moncayo ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistency 2011-03-10 23:35 ` Dani Moncayo @ 2011-03-11 2:49 ` Juanma Barranquero 2011-03-11 8:26 ` Dani Moncayo 2011-03-11 11:26 ` Eli Zaretskii 0 siblings, 2 replies; 9+ messages in thread From: Juanma Barranquero @ 2011-03-11 2:49 UTC (permalink / raw) To: Dani Moncayo; +Cc: 8221 On Fri, Mar 11, 2011 at 00:35, Dani Moncayo <dmoncayo@gmail.com> wrote: > On one hand, it doesn't seem to be the documented behavior in the node > "Windows HOME" of the manual. It refers to the init file as `.emacs', > and says nothing about possible alternatives. The alternatives are documented on "53.6 The Init File, `~/.emacs'"; there's no need to duplicate it on "G.5 HOME and Startup Directories on MS-Windows". > On the other hand, and according to the same info node, C:\ is checked > as one possible "home" directory. I think you're reading more that the info node says. What it says is that Emacs is looking for HOME (the environment variable) and if it finds it, it looks there for the "init file". If that fails, it looks for ".emacs" in C:\; and if that fails, it looks for the AppData dir (which is an alternative to HOME, not to C:\). So it is clear (if a bit inconsistent) that looking for .emacs (specifically) on C:\ (specifically) is something done just because of back compatibility. > Thus, init files such as > "C:\.emacs.el" or "C:\.emacs.d\init.el" should be valid ones. But I've > just tested those two and Emacs don't find them. If you ask me, not even C:\.emacs should be valid; "set HOME=C:\" should be required for that. Juanma ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistency 2011-03-11 2:49 ` Juanma Barranquero @ 2011-03-11 8:26 ` Dani Moncayo 2011-03-11 11:22 ` Eli Zaretskii 2011-03-11 11:26 ` Eli Zaretskii 1 sibling, 1 reply; 9+ messages in thread From: Dani Moncayo @ 2011-03-11 8:26 UTC (permalink / raw) To: Juanma Barranquero; +Cc: 8221 Hi Juanma, On Fri, Mar 11, 2011 at 03:49, Juanma Barranquero <lekktu@gmail.com> wrote: > On Fri, Mar 11, 2011 at 00:35, Dani Moncayo <dmoncayo@gmail.com> wrote: > >> On one hand, it doesn't seem to be the documented behavior in the node >> "Windows HOME" of the manual. It refers to the init file as `.emacs', >> and says nothing about possible alternatives. > > The alternatives are documented on "53.6 The Init File, `~/.emacs'"; > there's no need to duplicate it on "G.5 HOME and Startup Directories > on MS-Windows". > Indeed, that is the node which explains the alternatives, and of course I agree that such info shouldn't be duplicated in any other node of the Manual. Instead of duplicating, the others nodes (IMO) should refer to the init file as `init file' (maybe giving a link to the suitable node), but not as `.emacs', as we currently have in node "Windows HOME". >> On the other hand, and according to the same info node, C:\ is checked >> as one possible "home" directory. > > I think you're reading more that the info node says. What it says is > that Emacs is looking for HOME (the environment variable) and if it > finds it, it looks there for the "init file". If that fails, it looks > for ".emacs" in C:\; and if that fails, it looks for the AppData dir > (which is an alternative to HOME, not to C:\). So it is clear (if a > bit inconsistent) that looking for .emacs (specifically) on C:\ > (specifically) is something done just because of back compatibility. > Yes, I got a bit confused about the exact procedure. Maybe I was somewhat biased, but IMO the current wording is a bit confusing: > The home directory is where your init file `.emacs' is stored. When > Emacs starts, it first checks whether the environment variable `HOME' > is set. If it is, it looks for the init file in the directory pointed > by `HOME'. If `HOME' is not defined, Emacs checks for an existing > `.emacs' file in `C:\', the root directory of drive `C:'(1). If > there's no such file in `C:\', Emacs next uses the Windows system calls > to find out the exact location of your application data directory. If > that system call fails, Emacs falls back to `C:\'. That made me think that the principle was (a) Try to find a suitable init file in several directories, and (b) Once an init file is found, the "home" directory is thereafter established accordingly. Thus, I suggest to revise the wording in that node, to avoid this confusion. >> Thus, init files such as >> "C:\.emacs.el" or "C:\.emacs.d\init.el" should be valid ones. But I've >> just tested those two and Emacs don't find them. > > If you ask me, not even C:\.emacs should be valid; "set HOME=C:\" > should be required for that. > I agree, because IMO the init file should always be user-specific, and C:\ isn't a user-specific directory. -- Dani Moncayo ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistency 2011-03-11 8:26 ` Dani Moncayo @ 2011-03-11 11:22 ` Eli Zaretskii 0 siblings, 0 replies; 9+ messages in thread From: Eli Zaretskii @ 2011-03-11 11:22 UTC (permalink / raw) To: Dani Moncayo; +Cc: lekktu, 8221-done Version: 23.4 > Date: Fri, 11 Mar 2011 09:26:20 +0100 > From: Dani Moncayo <dmoncayo@gmail.com> > Cc: 8221@debbugs.gnu.org > > >> On the other hand, and according to the same info node, C:\ is checked > >> as one possible "home" directory. > > > > I think you're reading more that the info node says. What it says is > > that Emacs is looking for HOME (the environment variable) and if it > > finds it, it looks there for the "init file". If that fails, it looks > > for ".emacs" in C:\; and if that fails, it looks for the AppData dir > > (which is an alternative to HOME, not to C:\). So it is clear (if a > > bit inconsistent) that looking for .emacs (specifically) on C:\ > > (specifically) is something done just because of back compatibility. > > > > Yes, I got a bit confused about the exact procedure. Maybe I was > somewhat biased, but IMO the current wording is a bit confusing: > > The home directory is where your init file `.emacs' is stored. When > > Emacs starts, it first checks whether the environment variable `HOME' > > is set. If it is, it looks for the init file in the directory pointed > > by `HOME'. If `HOME' is not defined, Emacs checks for an existing > > `.emacs' file in `C:\', the root directory of drive `C:'(1). If > > there's no such file in `C:\', Emacs next uses the Windows system calls > > to find out the exact location of your application data directory. If > > that system call fails, Emacs falls back to `C:\'. > > That made me think that the principle was (a) Try to find a suitable > init file in several directories, and (b) Once an init file is found, > the "home" directory is thereafter established accordingly. > > Thus, I suggest to revise the wording in that node, to avoid this confusion. I modified the wording of that section, hopefully it's more clear now. The full text is below. I'm closing this bug; feel free to reopen if something is still unclear. @node Windows HOME @section HOME and Startup Directories on MS-Windows @cindex @code{HOME} directory on MS-Windows The Windows equivalent of the @code{HOME} directory is the @dfn{user-specific application data directory}. The actual location depends on your Windows version and system configuration; typical values are @file{C:\Documents and Settings\@var{username}\Application Data} on Windows 2K/XP/2K3, @file{C:\Users\@var{username}\AppData\Roaming} on Windows Vista/7/2K8, and either @file{C:\WINDOWS\Application Data} or @file{C:\WINDOWS\Profiles\@var{username}\Application Data} on the older Windows 9X/ME systems. If this directory does not exist or cannot be accessed, Emacs falls back to @file{C:\} as the default value of @code{HOME}. You can override this default value of @code{HOME} by explicitly setting the environment variable @env{HOME} to point to any directory on your system. @env{HOME} can be set either from the command shell prompt or from the @samp{My Computer}s @samp{Properties} dialog. @code{HOME} can also be set in the system registry, for details see @ref{MS-Windows Registry}. For compatibility with older versions of Emacs@footnote{ Older versions of Emacs didn't check the application data directory. }, if there is a file named @file{.emacs} in @file{C:\}, the root directory of drive @file{C:}, and @env{HOME} is set neither in the environment nor in the Registry, Emacs will treat @file{C:\} as the default @code{HOME} location, and will not look in the application data directory, even if it exists. Note that only @file{.emacs} is looked for in @file{C:\}; the older name @file{_emacs} (see below) is not. This use of @file{C:\.emacs} to define @code{HOME} is deprecated. Whatever the final place is, Emacs sets the internal value of the @env{HOME} environment variable to point to it, and it will use that location for other files and directories it normally looks for or creates in the user's home directory. You can always find out where Emacs thinks is your home directory's location by typing @kbd{C-x d ~/ @key{RET}}. This should present the list of files in the home directory, and show its full name on the first line. Likewise, to visit your init file, type @kbd{C-x C-f ~/.emacs @key{RET}} (assuming the file's name is @file{.emacs}). @cindex init file @file{.emacs} on MS-Windows The home directory is where your init file is stored. It can have any name mentioned in @ref{Init File}. @cindex @file{_emacs} init file, MS-Windows Because MS-DOS does not allow file names with leading dots, and because older Windows systems made it hard to create files with such names, the Windows port of Emacs supports an alternative name @file{_emacs} as a fallback, if such a file exists in the home directory, whereas @file{.emacs} does not. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistency 2011-03-11 2:49 ` Juanma Barranquero 2011-03-11 8:26 ` Dani Moncayo @ 2011-03-11 11:26 ` Eli Zaretskii 1 sibling, 0 replies; 9+ messages in thread From: Eli Zaretskii @ 2011-03-11 11:26 UTC (permalink / raw) To: Juanma Barranquero; +Cc: 8221 > From: Juanma Barranquero <lekktu@gmail.com> > Date: Fri, 11 Mar 2011 03:49:58 +0100 > Cc: 8221@debbugs.gnu.org > > On Fri, Mar 11, 2011 at 00:35, Dani Moncayo <dmoncayo@gmail.com> wrote: > > > On one hand, it doesn't seem to be the documented behavior in the node > > "Windows HOME" of the manual. It refers to the init file as `.emacs', > > and says nothing about possible alternatives. > > The alternatives are documented on "53.6 The Init File, `~/.emacs'"; > there's no need to duplicate it on "G.5 HOME and Startup Directories > on MS-Windows". Right. So I added a cross-reference there in the G.5 section. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistence. 2011-03-10 21:36 bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistence Dani Moncayo 2011-03-10 22:17 ` bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistency Dani Moncayo @ 2011-03-10 22:59 ` Jason Rumney 2011-03-11 2:40 ` Juanma Barranquero 2 siblings, 0 replies; 9+ messages in thread From: Jason Rumney @ 2011-03-10 22:59 UTC (permalink / raw) To: Dani Moncayo; +Cc: 8221 Dani Moncayo <dmoncayo@gmail.com> writes: > So, the question is, why this inconsistence? i.e., why not accept on > Windows the same alternatives for the name of the init file as on > POSIX systems? We do. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistence. 2011-03-10 21:36 bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistence Dani Moncayo 2011-03-10 22:17 ` bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistency Dani Moncayo 2011-03-10 22:59 ` bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistence Jason Rumney @ 2011-03-11 2:40 ` Juanma Barranquero 2 siblings, 0 replies; 9+ messages in thread From: Juanma Barranquero @ 2011-03-11 2:40 UTC (permalink / raw) To: Dani Moncayo; +Cc: 8221 On Thu, Mar 10, 2011 at 22:36, Dani Moncayo <dmoncayo@gmail.com> wrote: > For example: Why not accept "<path>\.emacs.d\.init.el" as a valid init > file on Windows? (<path> being _any_ of the directories that Emacs > currently checks for the `.emacs' file) Emacs on Windows currently *does* support %HOME%/.emacs.d/init.el and %APPDATA%/.emacs.d/init.el. It does not support C:\.emacs.d\init.el (unless you set HOME=C:\) and that's a feature IMHO. Juanma ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-03-11 11:26 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-03-10 21:36 bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistence Dani Moncayo 2011-03-10 22:17 ` bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistency Dani Moncayo 2011-03-10 23:35 ` Dani Moncayo 2011-03-11 2:49 ` Juanma Barranquero 2011-03-11 8:26 ` Dani Moncayo 2011-03-11 11:22 ` Eli Zaretskii 2011-03-11 11:26 ` Eli Zaretskii 2011-03-10 22:59 ` bug#8221: 24.0.50; Allowed names for the init file. Windows/POSIX inconsistence Jason Rumney 2011-03-11 2:40 ` Juanma Barranquero
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).