]> git.eshelyaron.com Git - emacs.git/commitdiff
(emacs_root_dir): New function.
authorEli Zaretskii <eliz@gnu.org>
Wed, 19 Dec 2001 19:00:44 +0000 (19:00 +0000)
committerEli Zaretskii <eliz@gnu.org>
Wed, 19 Dec 2001 19:00:44 +0000 (19:00 +0000)
src/ChangeLog
src/msdos.c
src/w32.c

index 019ec65ffd142fd49fe77356a965d7a8c03ba5c3..0acab8715f6fe6029861c8be09ec43f4563d5a5e 100644 (file)
@@ -1,5 +1,12 @@
 2001-12-19  Eli Zaretskii  <eliz@is.elta.co.il>
 
+       * w32.c (emacs_root_dir): New function.
+
+       * msdos.c (emacs_root_dir): New function.
+
+       * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
+       of the current drive as the fallback for default_directory.
+
        * dired.c (file_name_completion): Run the elements of
        completion-ignored-extensions through ENCODE_FILE.
 
index da39c9a99facca83fc4838e058874cf7c7176b97..168d3dfc88a57467ea204252a1104668fe5d2773 100644 (file)
@@ -38,6 +38,7 @@ Boston, MA 02111-1307, USA.  */
 #include <string.h>     /* for bzero and string functions */
 #include <sys/stat.h>    /* for _fixpath */
 #include <unistd.h>     /* for chdir, dup, dup2, etc. */
+#include <dir.h>        /* for getdisk */
 #if __DJGPP__ >= 2
 #include <fcntl.h>
 #include <io.h>                 /* for setmode */
@@ -4118,6 +4119,16 @@ getdefdir (drive, dst)
   return 1;
 }
 
+char *
+emacs_root_dir (void)
+{
+  static char root_dir[4];
+
+  sprintf (root_dir, "%c:/", 'A' + getdisk ());
+  root_dir[0] = tolower (root_dir[0]);
+  return root_dir;
+}
+
 /* Remove all CR's that are followed by a LF.  */
 
 int
index dbdd13d4d33768a69e656e4d4f7dbc67f3e38b7d..a8e4a5f37da718cc1c59d5ec6e0dc319c0af19df 100644 (file)
--- a/src/w32.c
+++ b/src/w32.c
@@ -875,6 +875,21 @@ init_environment (char ** argv)
   init_user_info ();
 }
 
+char *
+emacs_root_dir (void)
+{
+  static char root_dir[FILENAME_MAX];
+  const char *p;
+
+  p = getenv ("emacs_dir");
+  if (p == NULL)
+    abort ();
+  strcpy (root_dir, p);
+  root_dir[parse_root (root_dir, NULL)] = '\0';
+  dostounix_filename (root_dir);
+  return root_dir;
+}
+
 /* We don't have scripts to automatically determine the system configuration
    for Emacs before it's compiled, and we don't want to have to make the
    user enter it, so we define EMACS_CONFIGURATION to invoke this runtime