* source.c (openp): Skip $cdir in PATH.

doc/
	* gdb.texinfo (Command Files): Document that gdb skips $cdir in
	search path, and document that gdb only scans the search path if
	the script's path doesn't specify a directory.
This commit is contained in:
Doug Evans 2010-04-08 21:08:40 +00:00
parent 938d2b7434
commit 080017175b
4 changed files with 26 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2010-04-08 Doug Evans <dje@google.com>
* source.c (openp): Skip $cdir in PATH.
2010-04-08 Phil Muldoon <pmuldoon@redhat.com>
PR python/11417

View File

@ -1,3 +1,9 @@
2010-04-08 Doug Evans <dje@google.com>
* gdb.texinfo (Command Files): Document that gdb skips $cdir in
search path, and document that gdb only scans the search path if
the script's path doesn't specify a directory.
2010-04-05 Doug Evans <dje@google.com>
* gdb.texinfo (maint show python auto-load): Fix typo.

View File

@ -19383,8 +19383,12 @@ unless the order of execution is changed by one of the
printed as they are executed. An error in any command terminates
execution of the command file and control is returned to the console.
@value{GDBN} searches for @var{filename} in the current directory and then
on the search path (specified with the @samp{directory} command).
@value{GDBN} first searches for @var{filename} in the current directory.
If the file is not found there, and @var{filename} does not specify a
directory, then @value{GDBN} also looks for the file on the source search path
(specified with the @samp{directory} command);
except that @file{$cdir} is not searched because the compilation directory
is not relevant to scripts.
If @code{-v}, for verbose mode, is given then @value{GDBN} displays
each command as it is executed. The option must be given before

View File

@ -764,6 +764,16 @@ openp (const char *path, int opts, const char *string,
/* Normal file name in path -- just use it. */
strncpy (filename, p, len);
filename[len] = 0;
/* Don't search $cdir. It's also a magic path like $cwd, but we
don't have enough information to expand it. The user *could*
have an actual directory named '$cdir' but handling that would
be confusing, it would mean different things in different
contexts. If the user really has '$cdir' one can use './$cdir'.
We can get $cdir when loading scripts. When loading source files
$cdir must have already been expanded to the correct value. */
if (strcmp (filename, "$cdir") == 0)
continue;
}
/* Remove trailing slashes */