[PATCH] Rename internal Python functions to start with an underscore

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] Rename internal Python functions to start with an underscore

Sourceware - gdb-patches mailing list
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  <[hidden email]>

        * 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  <[hidden email]>

        * 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(-)

diff --git a/gdb/python/lib/gdb/__init__.py b/gdb/python/lib/gdb/__init__.py
index af74df80c8..8af9e47117 100644
--- a/gdb/python/lib/gdb/__init__.py
+++ b/gdb/python/lib/gdb/__init__.py
@@ -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."
diff --git a/gdb/python/py-unwind.c b/gdb/python/py-unwind.c
index 08c3aff928..7cb9fa16a7 100644
--- a/gdb/python/py-unwind.c
+++ b/gdb/python/py-unwind.c
@@ -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 ();
diff --git a/gdb/testsuite/gdb.python/python.exp b/gdb/testsuite/gdb.python/python.exp
index fe55234060..c795814a65 100644
--- a/gdb/testsuite/gdb.python/python.exp
+++ b/gdb/testsuite/gdb.python/python.exp
@@ -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"
--
2.23.0.rc1.153.gdeed80330f-goog

Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Rename internal Python functions to start with an underscore

Tom Tromey-2
>>>>> "Christian" == Christian Biesinger via gdb-patches <[hidden email]> writes:

Thank you for the patch.

Christian> 2019-08-15  Christian Biesinger  <[hidden email]>

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  <[hidden email]>

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
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Rename internal Python functions to start with an underscore

Sourceware - gdb-patches mailing list
On Thu, Aug 15, 2019 at 2:14 PM Tom Tromey <[hidden email]> wrote:

>
> >>>>> "Christian" == Christian Biesinger via gdb-patches <[hidden email]> writes:
>
> Thank you for the patch.
>
> Christian> 2019-08-15  Christian Biesinger  <[hidden email]>
>
> 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  <[hidden email]>
>
> 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