- sys.path[0] (the directory from which the script is loaded) is now

turned into an absolute pathname, unless it is the empty string.
  (SF patch #664376, by Skip Montanaro.)
This commit is contained in:
Guido van Rossum 2003-02-19 15:25:10 +00:00
parent 80be59b275
commit 162e38c6a3
5 changed files with 21 additions and 5 deletions

View file

@ -12,6 +12,10 @@ What's New in Python 2.3 alpha 2?
Core and builtins
-----------------
- sys.path[0] (the directory from which the script is loaded) is now
turned into an absolute pathname, unless it is the empty string.
(SF patch #664376.)
- Finally fixed the bug in compile() and exec where a string ending
with an indented code block but no newline would raise SyntaxError.
This would have been a four-line change in parsetok.c... Except

View file

@ -993,7 +993,9 @@ makeargvobject(int argc, char **argv)
void
PySys_SetArgv(int argc, char **argv)
{
#ifdef MS_WINDOWS
#if defined(HAVE_REALPATH)
char fullpath[MAXPATHLEN];
#elif defined(MS_WINDOWS)
char fullpath[MAX_PATH];
#endif
PyObject *av = makeargvobject(argc, argv);
@ -1059,8 +1061,14 @@ PySys_SetArgv(int argc, char **argv)
}
}
#else /* All other filename syntaxes */
if (argc > 0 && argv0 != NULL)
if (argc > 0 && argv0 != NULL) {
#if defined(HAVE_REALPATH)
if (realpath(argv0, fullpath)) {
argv0 = fullpath;
}
#endif
p = strrchr(argv0, SEP);
}
if (p != NULL) {
#ifndef RISCOS
n = p + 1 - argv0;

5
configure vendored
View file

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in Revision: 1.387 .
# From configure.in Revision: 1.389 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.53 for python 2.3.
#
@ -12093,6 +12093,7 @@ echo "${ECHO_T}MACHDEP_OBJS" >&6
for ac_func in alarm chown clock confstr ctermid execv \
@ -12101,7 +12102,7 @@ for ac_func in alarm chown clock confstr ctermid execv \
getpriority getpwent getwd \
hstrerror inet_aton inet_pton kill killpg lchown lstat mkfifo mknod mktime \
mremap nice pathconf pause plock poll pthread_init \
putenv readlink \
putenv readlink realpath \
select setegid seteuid setgid \
setlocale setregid setreuid setsid setpgid setuid setvbuf snprintf \
sigaction siginterrupt sigrelse strftime strptime \

View file

@ -1843,7 +1843,7 @@ AC_CHECK_FUNCS(alarm chown clock confstr ctermid execv \
getpriority getpwent getwd \
hstrerror inet_aton inet_pton kill killpg lchown lstat mkfifo mknod mktime \
mremap nice pathconf pause plock poll pthread_init \
putenv readlink \
putenv readlink realpath \
select setegid seteuid setgid \
setlocale setregid setreuid setsid setpgid setuid setvbuf snprintf \
sigaction siginterrupt sigrelse strftime strptime \

View file

@ -342,6 +342,9 @@
/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK
/* Define to 1 if you have the `realpath' function. */
#undef HAVE_REALPATH
/* Define if you have readline 2.2 */
#undef HAVE_RL_COMPLETION_APPEND_CHARACTER