Rename internal Python functions to start with an underscore
Commit Message
I could not tell if GdbSetPythonDirectory is internal or not because
I could not find any references to it, so I left it as-is.
Tested by running the testsuite on gdb.python/*.exp; everything still
passes.
2019-08-15 Christian Biesinger <cbiesinger@google.com>
* python/lib/gdb/__init__.py (GdbOutputFile): Rename to have a
leading underscore.
(GdbOutputErrorFile): Likewise.
(global scope): Adjust constructor calls to GdbOutput{,Error}File
accordingly.
(execute_unwinders): Rename to have a leading underscore.
(auto_load_packages): Likewise.
(global scope): Adjust call to auto_load_packages accordingly.
(GdbSetPythonDirectory): Likewise.
* python/py-unwind.c (pyuw_sniffer): Call _execute_unwinders
instead of execute_unwinders.
gdb/testsuite/ChangeLog:
2019-08-15 Christian Biesinger <cbiesinger@google.com>
* gdb.python/python.exp: Expect a leading underscore on
GdbOutput{,Error}File.
---
gdb/python/lib/gdb/__init__.py | 16 ++++++++--------
gdb/python/py-unwind.c | 6 +++---
gdb/testsuite/gdb.python/python.exp | 4 ++--
3 files changed, 13 insertions(+), 13 deletions(-)
Comments
>>>>> "Christian" == Christian Biesinger via gdb-patches <gdb-patches@sourceware.org> writes:
Thank you for the patch.
Christian> 2019-08-15 Christian Biesinger <cbiesinger@google.com>
Christian> * python/lib/gdb/__init__.py (GdbOutputFile): Rename to have a
Christian> leading underscore.
Christian> (GdbOutputErrorFile): Likewise.
Christian> (global scope): Adjust constructor calls to GdbOutput{,Error}File
Christian> accordingly.
Christian> (execute_unwinders): Rename to have a leading underscore.
Christian> (auto_load_packages): Likewise.
Christian> (global scope): Adjust call to auto_load_packages accordingly.
Christian> (GdbSetPythonDirectory): Likewise.
Christian> * python/py-unwind.c (pyuw_sniffer): Call _execute_unwinders
Christian> instead of execute_unwinders.
Christian> gdb/testsuite/ChangeLog:
Christian> 2019-08-15 Christian Biesinger <cbiesinger@google.com>
Christian> * gdb.python/python.exp: Expect a leading underscore on
Christian> GdbOutput{,Error}File.
I'm maybe mildly concerned that some code out there could be using one
of these, but on the other hand these are all internal. So, I think
this is ok.
Tom
On Thu, Aug 15, 2019 at 2:14 PM Tom Tromey <tom@tromey.com> wrote:
>
> >>>>> "Christian" == Christian Biesinger via gdb-patches <gdb-patches@sourceware.org> writes:
>
> Thank you for the patch.
>
> Christian> 2019-08-15 Christian Biesinger <cbiesinger@google.com>
>
> Christian> * python/lib/gdb/__init__.py (GdbOutputFile): Rename to have a
> Christian> leading underscore.
> Christian> (GdbOutputErrorFile): Likewise.
> Christian> (global scope): Adjust constructor calls to GdbOutput{,Error}File
> Christian> accordingly.
> Christian> (execute_unwinders): Rename to have a leading underscore.
> Christian> (auto_load_packages): Likewise.
> Christian> (global scope): Adjust call to auto_load_packages accordingly.
> Christian> (GdbSetPythonDirectory): Likewise.
> Christian> * python/py-unwind.c (pyuw_sniffer): Call _execute_unwinders
> Christian> instead of execute_unwinders.
>
> Christian> gdb/testsuite/ChangeLog:
>
> Christian> 2019-08-15 Christian Biesinger <cbiesinger@google.com>
>
> Christian> * gdb.python/python.exp: Expect a leading underscore on
> Christian> GdbOutput{,Error}File.
>
> I'm maybe mildly concerned that some code out there could be using one
> of these, but on the other hand these are all internal. So, I think
> this is ok.
Thanks, pushed.
Christian
@@ -43,17 +43,17 @@ class _GdbFile (object):
def flush(self):
flush()
-class GdbOutputFile (_GdbFile):
+class _GdbOutputFile (_GdbFile):
def write(self, s):
write(s, stream=STDOUT)
-sys.stdout = GdbOutputFile()
+sys.stdout = _GdbOutputFile()
-class GdbOutputErrorFile (_GdbFile):
+class _GdbOutputErrorFile (_GdbFile):
def write(self, s):
write(s, stream=STDERR)
-sys.stderr = GdbOutputErrorFile()
+sys.stderr = _GdbOutputErrorFile()
# Default prompt hook does nothing.
prompt_hook = None
@@ -74,7 +74,7 @@ frame_filters = {}
# Initial frame unwinders.
frame_unwinders = []
-def execute_unwinders(pending_frame):
+def _execute_unwinders(pending_frame):
"""Internal function called from GDB to execute all unwinders.
Runs each currently enabled unwinder until it finds the one that
@@ -124,7 +124,7 @@ packages = [
# manually iterate the list, collating the Python files in each module
# path. Construct the module name, and import.
-def auto_load_packages():
+def _auto_load_packages():
for package in packages:
location = os.path.join(os.path.dirname(__file__), package)
if os.path.exists(location):
@@ -144,7 +144,7 @@ def auto_load_packages():
except:
sys.stderr.write (traceback.format_exc() + "\n")
-auto_load_packages()
+_auto_load_packages()
def GdbSetPythonDirectory(dir):
"""Update sys.path, reload gdb and auto-load packages."""
@@ -161,7 +161,7 @@ def GdbSetPythonDirectory(dir):
# note that reload overwrites the gdb module without deleting existing
# attributes
reload(__import__(__name__))
- auto_load_packages()
+ _auto_load_packages()
def current_progspace():
"Return the current Progspace."
@@ -507,16 +507,16 @@ pyuw_sniffer (const struct frame_unwind *self, struct frame_info *this_frame,
/* Run unwinders. */
if (gdb_python_module == NULL
- || ! PyObject_HasAttrString (gdb_python_module, "execute_unwinders"))
+ || ! PyObject_HasAttrString (gdb_python_module, "_execute_unwinders"))
{
PyErr_SetString (PyExc_NameError,
- "Installation error: gdb.execute_unwinders function "
+ "Installation error: gdb._execute_unwinders function "
"is missing");
gdbpy_print_stack ();
return 0;
}
gdbpy_ref<> pyo_execute (PyObject_GetAttrString (gdb_python_module,
- "execute_unwinders"));
+ "_execute_unwinders"));
if (pyo_execute == NULL)
{
gdbpy_print_stack ();
@@ -288,8 +288,8 @@ gdb_test "python print (symtab\[1\]\[0\].symtab)" "None" "test decode_line *0 fi
gdb_test "python print (symtab\[1\]\[0\].pc)" "0" "test decode_line *0 pc"
# gdb.write
-gdb_test "python print (sys.stderr)" ".*gdb.GdbOutputErrorFile (instance|object) at.*" "test stderr location"
-gdb_test "python print (sys.stdout)" ".*gdb.GdbOutputFile (instance|object) at.*" "test stdout location"
+gdb_test "python print (sys.stderr)" ".*gdb._GdbOutputErrorFile (instance|object) at.*" "test stderr location"
+gdb_test "python print (sys.stdout)" ".*gdb._GdbOutputFile (instance|object) at.*" "test stdout location"
gdb_test "python gdb.write(\"Foo\\n\")" "Foo" "test default write"
gdb_test "python gdb.write(\"Error stream\\n\", stream=gdb.STDERR)" "Error stream" "test stderr write"
gdb_test "python gdb.write(\"Normal stream\\n\", stream=gdb.STDOUT)" "Normal stream" "test stdout write"