[Patches] getpath patch

M.-A. Lemburg mal@lemburg.com
Sat, 13 May 2000 12:19:13 +0200


This is a multi-part message in MIME format.
--------------D80529A8D764084264ADC2DC
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Forgot the attachment...
-- 
Marc-Andre Lemburg
______________________________________________________________________
Business:                                      http://www.lemburg.com/
Python Pages:                           http://www.lemburg.com/python/
--------------D80529A8D764084264ADC2DC
Content-Type: text/plain; charset=us-ascii;
 name="getpath.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="getpath.patch"

diff -u -rbP -x *.o -x *.pyc -x Makefile -x *~ -x *.so -x add2lib -x pgen -x buildno -x config.* -x libpython* -x python -x Setup -x Setup.local -x Setup.thread -x hassignal -x Makefile.pre -x configure -x *.bak -x *.s -x DEADJOE -x *.rej -x *.orig -x Demo -x CVS -x Doc -x *.orig -x .#* -x distutils -x PCbuild -x *.py -x ACKS -x *.txt -x README CVS-Python/Modules/getpath.c Python+Unicode/Modules/getpath.c
--- CVS-Python/Modules/getpath.c	Mon May  8 15:13:50 2000
+++ Python+Unicode/Modules/getpath.c	Sat May 13 11:20:32 2000
@@ -87,7 +87,7 @@
  * Modules/Setup.  If the landmark is found, we're done.
  *
  * For the remaining steps, the prefix landmark will always be
- * lib/python$VERSION/string.py and the exec_prefix will always be
+ * lib/python$VERSION/os.py and the exec_prefix will always be
  * lib/python$VERSION/lib-dynload, where $VERSION is Python's version
  * number as supplied by the Makefile.  Note that this means that no more
  * build directory checking is performed; if the first step did not find
@@ -150,7 +150,7 @@
 #endif
 
 #ifndef LANDMARK
-#define LANDMARK "string.py"
+#define LANDMARK "os.py"
 #endif
 
 static char prefix[MAXPATHLEN+1];
@@ -265,6 +265,18 @@
 	int n;
 	char *vpath;
 
+	/* If PYTHONHOME is set, we believe it unconditionally */
+	if (home) {
+		char *delim;
+		strcpy(prefix, home);
+		delim = strchr(prefix, DELIM);
+		if (delim)
+			*delim = '\0';
+		joinpath(prefix, lib_python);
+		joinpath(prefix, LANDMARK);
+		return 1;
+	}
+
 	/* Check to see if argv[0] is in the build directory */
 	strcpy(prefix, argv0_path);
 	joinpath(prefix, "Modules/Setup");
@@ -290,19 +302,6 @@
 			return -1;
 	}
 
-	if (home) {
-		/* Check $PYTHONHOME */
-		char *delim;
-		strcpy(prefix, home);
-		delim = strchr(prefix, DELIM);
-		if (delim)
-			*delim = '\0';
-		joinpath(prefix, lib_python);
-		joinpath(prefix, LANDMARK);
-		if (ismodule(prefix))
-			return 1;
-	}
-
 	/* Search from argv0_path, until root is found */
 	strcpy(prefix, argv0_path);
 	do {
@@ -334,16 +333,8 @@
 {
 	int n;
 
-	/* Check to see if argv[0] is in the build directory */
-	strcpy(exec_prefix, argv0_path);
-	joinpath(exec_prefix, "Modules/Setup");
-	if (isfile(exec_prefix)) {
-		reduce(exec_prefix);
-		return -1;
-	}
-
+	/* If PYTHONHOME is set, we believe it unconditionally */
 	if (home) {
-		/* Check $PYTHONHOME */
 		char *delim;
 		delim = strchr(home, DELIM);
 		if (delim)
@@ -352,8 +343,15 @@
 			strcpy(exec_prefix, home);
 		joinpath(exec_prefix, lib_python);
 		joinpath(exec_prefix, "lib-dynload");
-		if (isdir(exec_prefix))
 			return 1;
+	}
+
+	/* Check to see if argv[0] is in the build directory */
+	strcpy(exec_prefix, argv0_path);
+	joinpath(exec_prefix, "Modules/Setup");
+	if (isfile(exec_prefix)) {
+		reduce(exec_prefix);
+		return -1;
 	}
 
 	/* Search from argv0_path, until root is found */
diff -u -rbP -x *.o -x *.pyc -x Makefile -x *~ -x *.so -x add2lib -x pgen -x buildno -x config.* -x libpython* -x python -x Setup -x Setup.local -x Setup.thread -x hassignal -x Makefile.pre -x configure -x *.bak -x *.s -x DEADJOE -x *.rej -x *.orig -x Demo -x CVS -x Doc -x *.orig -x .#* -x distutils -x PCbuild -x *.py -x ACKS -x *.txt -x README CVS-Python/PC/getpathp.c Python+Unicode/PC/getpathp.c
--- CVS-Python/PC/getpathp.c	Thu Mar 30 21:45:39 2000
+++ Python+Unicode/PC/getpathp.c	Sat May 13 11:07:50 2000
@@ -53,7 +53,7 @@
 
    * We attempt to locate the "Python Home" - if the PYTHONHOME env var
      is set, we believe it.  Otherwise, we use the path of our host .EXE's
-     to try and locate our "landmark" (lib\\string.py) and deduce our home.
+     to try and locate our "landmark" (lib\\os.py) and deduce our home.
      - If we DO have a Python Home: The relevant sub-directories (Lib, 
        plat-win, lib-tk, etc) are based on the Python Home
      - If we DO NOT have a Python Home, the core Python Path is
@@ -110,7 +110,7 @@
  */
 
 #ifndef LANDMARK
-#define LANDMARK "lib\\string.py"
+#define LANDMARK "lib\\os.py"
 #endif
 
 static char prefix[MAXPATHLEN+1];
diff -u -rbP -x *.o -x *.pyc -x Makefile -x *~ -x *.so -x add2lib -x pgen -x buildno -x config.* -x libpython* -x python -x Setup -x Setup.local -x Setup.thread -x hassignal -x Makefile.pre -x configure -x *.bak -x *.s -x DEADJOE -x *.rej -x *.orig -x Demo -x CVS -x Doc -x *.orig -x .#* -x distutils -x PCbuild -x *.py -x ACKS -x *.txt -x README CVS-Python/PC/os2vacpp/getpathp.c Python+Unicode/PC/os2vacpp/getpathp.c
--- CVS-Python/PC/os2vacpp/getpathp.c	Mon Jul 27 15:49:04 1998
+++ Python+Unicode/PC/os2vacpp/getpathp.c	Sat May 13 11:08:02 2000
@@ -68,14 +68,14 @@
  *
  * Otherwise, if there is a PYTHONPATH environment variable, we return that.
  *
- * Otherwise we try to find $progpath/lib/string.py, and if found, then
+ * Otherwise we try to find $progpath/lib/os.py, and if found, then
  * root is $progpath/lib, and we return Python path as compiled PYTHONPATH
  * with all "./lib" replaced by $root (as above).
  *
  */
 
 #ifndef LANDMARK
-#define LANDMARK "lib\\string.py"
+#define LANDMARK "lib\\os.py"
 #endif
 
 static char prefix[MAXPATHLEN+1];
Binary files CVS-Python/core and Python+Unicode/core differ
Binary files CVS-Python/core and Python+Unicode/core differ

--------------D80529A8D764084264ADC2DC--