From 3f7b2faa4bb3f35f6c88687b6943cdbe6003b615 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Thu, 15 Apr 2010 17:45:57 +0000 Subject: Add -s option to source command. * NEWS: Document new option. * cli/cli-cmds.c (find_and_open_script): Add function comment. Delete from_tty and cleanupp args. Split filep arg into file and full_pathp. New arg search_path. (source_script_from_stream): New function. (source_script_with_search): New function. (source_script): Rewrite. (source_command): Parse "-s" option. (init_cli_cmds): Add "-s" docs to source command help, and reformat. * python/python.c (source_python_script): Make file arg a const char *. Don't call fclose, leave for caller. * python/python.h (source_python_script): Update. testsuite/ * gdb.base/source-test.gdb: New file. * gdb.base/source.exp: Add tests for "source -s". doc/ * gdb.texinfo (Command Files): Add docs for new "source -s" option. --- gdb/python/python.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'gdb/python/python.c') diff --git a/gdb/python/python.c b/gdb/python/python.c index 41a9443..b21ea99 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -364,10 +364,11 @@ gdbpy_parse_and_eval (PyObject *self, PyObject *args) } /* Read a file as Python code. STREAM is the input file; FILE is the - name of the file. */ + name of the file. + STREAM is not closed, that is the caller's responsibility. */ void -source_python_script (FILE *stream, char *file) +source_python_script (FILE *stream, const char *file) { struct cleanup *cleanup; @@ -375,7 +376,6 @@ source_python_script (FILE *stream, char *file) PyRun_SimpleFile (stream, file); - fclose (stream); do_cleanups (cleanup); } @@ -562,9 +562,8 @@ eval_python_from_control_command (struct command_line *cmd) } void -source_python_script (FILE *stream, char *file) +source_python_script (FILE *stream, const char *file) { - fclose (stream); throw_error (UNSUPPORTED_ERROR, _("Python scripting is not supported in this copy of GDB.")); } -- cgit v1.1