changeset 41861:56385cb63c61

(init_callproc): Set Vdata_directory based on the source location whenever Emacs was not run installed.
author Richard M. Stallman <rms@gnu.org>
date Fri, 07 Dec 2001 06:45:39 +0000
parents 7a9cd78d4b0e
children c530f55ee6ac
files src/callproc.c
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/callproc.c	Fri Dec 07 05:55:41 2001 +0000
+++ b/src/callproc.c	Fri Dec 07 06:45:39 2001 +0000
@@ -1489,7 +1489,11 @@
 #ifndef DOS_NT
 	  /* MSDOS uses wrapped binaries, so don't do this.  */
       if (NILP (Fmember (tem, Vexec_path)))
-	Vexec_path = nconc2 (Vexec_path, Fcons (tem, Qnil));
+	{
+	  Vexec_path = decode_env_path ("EMACSPATH", PATH_EXEC);
+	  Vexec_path = Fcons (tem, Vexec_path);
+	  Vexec_path = nconc2 (decode_env_path ("PATH", ""), Vexec_path);
+	}
       
       Vexec_directory = Ffile_name_as_directory (tem);
 #endif /* not DOS_NT */
@@ -1512,12 +1516,15 @@
      source directory.  */
   if (data_dir == 0)
     {
-      Lisp_Object tem, tem1, newdir;
+      Lisp_Object tem, tem1, srcdir;
 
+      srcdir = Fexpand_file_name (build_string ("../src/"),
+				  build_string (PATH_DUMPLOADSEARCH));
       tem = Fexpand_file_name (build_string ("GNU"), Vdata_directory);
       tem1 = Ffile_exists_p (tem);
-      if (NILP (tem1))
+      if (!NILP (Fequal (srcdir, Vinvocation_directory)) || NILP (tem1))
 	{
+	  Lisp_Object newdir;
 	  newdir = Fexpand_file_name (build_string ("../etc/"),
 				      build_string (PATH_DUMPLOADSEARCH));
 	  tem = Fexpand_file_name (build_string ("GNU"), newdir);