Remove all Python logic - dotfiles - leot's dotfiles
 (HTM) hg clone https://bitbucket.org/iamleot/dotfiles
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
 (DIR) changeset 4c7030f9619b8b72677df48162099c166928a8ed
 (DIR) parent 034275712dce7edc31a321a590f1586db62525c9
 (HTM) Author: Leonardo Taccari <iamleot@gmail.com>
       Date:   Thu, 13 Jun 2019 22:32:10 
       
       Remove all Python logic
       
       I have never used it... (probably I should!)
       
       Diffstat:
        gdbinit |  163 ----------------------------------------------------------------
        1 files changed, 0 insertions(+), 163 deletions(-)
       ---
       diff -r 034275712dce -r 4c7030f9619b gdbinit
       --- a/gdbinit   Thu Jun 13 22:31:15 2019 +0200
       +++ b/gdbinit   Thu Jun 13 22:32:10 2019 +0200
       @@ -1,164 +1,1 @@
        set print pretty on
       -
       -# If you use the GNU debugger gdb to debug the Python C runtime, you
       -# might find some of the following commands useful.  Copy this to your
       -# ~/.gdbinit file and it'll get loaded into gdb automatically when you
       -# start it up.  Then, at the gdb prompt you can do things like:
       -#
       -#    (gdb) pyo apyobjectptr
       -#    <module 'foobar' (built-in)>
       -#    refcounts: 1
       -#    address    : 84a7a2c
       -#    $1 = void
       -#    (gdb)
       -#
       -# NOTE: If you have gdb 7 or later, it supports debugging of Python directly
       -# with embedded macros that you may find superior to what is in here.
       -# See Tools/gdb/libpython.py and http://bugs.python.org/issue8032.
       -
       -# Prints a representation of the object to stderr, along with the
       -# number of reference counts it current has and the hex address the
       -# object is allocated at.  The argument must be a PyObject*
       -define pyo
       -    # side effect of calling _PyObject_Dump is to dump the object's
       -    # info - assigning just prevents gdb from printing the
       -    # NULL return value
       -    set $_unused_void = _PyObject_Dump($arg0)
       -end
       -
       -# Prints a representation of the object to stderr, along with the
       -# number of reference counts it current has and the hex address the
       -# object is allocated at.  The argument must be a PyGC_Head*
       -define pyg
       -    print _PyGC_Dump($arg0)
       -end
       -
       -# print the local variables of the current frame
       -define pylocals
       -    set $_i = 0
       -    while $_i < f->f_code->co_nlocals
       -       if f->f_localsplus + $_i != 0
       -           set $_names = co->co_varnames
       -           set $_name = _PyUnicode_AsString(PyTuple_GetItem($_names, $_i))
       -           printf "%s:\n", $_name
       -            pyo f->f_localsplus[$_i]
       -       end
       -        set $_i = $_i + 1
       -    end
       -end
       -
       -# A rewrite of the Python interpreter's line number calculator in GDB's
       -# command language
       -define lineno
       -    set $__continue = 1
       -    set $__co = f->f_code
       -    set $__lasti = f->f_lasti
       -    set $__sz = ((PyVarObject *)$__co->co_lnotab)->ob_size/2
       -    set $__p = (unsigned char *)((PyBytesObject *)$__co->co_lnotab)->ob_sval
       -    set $__li = $__co->co_firstlineno
       -    set $__ad = 0
       -    while ($__sz-1 >= 0 && $__continue)
       -      set $__sz = $__sz - 1
       -      set $__ad = $__ad + *$__p
       -      set $__p = $__p + 1
       -      if ($__ad > $__lasti)
       -       set $__continue = 0
       -      else
       -        set $__li = $__li + *$__p
       -        set $__p = $__p + 1
       -      end
       -    end
       -    printf "%d", $__li
       -end
       -
       -# print the current frame - verbose
       -define pyframev
       -    pyframe
       -    pylocals
       -end
       -
       -define pyframe
       -    set $__fn = _PyUnicode_AsString(co->co_filename)
       -    set $__n = _PyUnicode_AsString(co->co_name)
       -    printf "%s (", $__fn
       -    lineno
       -    printf "): %s\n", $__n
       -### Uncomment these lines when using from within Emacs/XEmacs so it will
       -### automatically track/display the current Python source line
       -#    printf "%c%c%s:", 032, 032, $__fn
       -#    lineno
       -#    printf ":1\n"
       -end
       -
       -### Use these at your own risk.  It appears that a bug in gdb causes it
       -### to crash in certain circumstances.
       -
       -#define up
       -#    up-silently 1
       -#    printframe
       -#end
       -
       -#define down
       -#    down-silently 1
       -#    printframe
       -#end
       -
       -define printframe
       -    if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
       -       pyframe
       -    else
       -        frame
       -    end
       -end
       -
       -# Here's a somewhat fragile way to print the entire Python stack from gdb.
       -# It's fragile because the tests for the value of $pc depend on the layout
       -# of specific functions in the C source code.
       -
       -# Explanation of while and if tests: We want to pop up the stack until we
       -# land in Py_Main (this is probably an incorrect assumption in an embedded
       -# interpreter, but the test can be extended by an interested party).  If
       -# Py_Main <= $pc <= Py_GetArgcArv is true, $pc is in Py_Main(), so the while
       -# tests succeeds as long as it's not true.  In a similar fashion the if
       -# statement tests to see if we are in PyEval_EvalFrameEx().
       -
       -# Note: The name of the main interpreter function and the function which
       -# follow it has changed over time.  This version of pystack works with this
       -# version of Python.  If you try using it with older or newer versions of
       -# the interpreter you may will have to change the functions you compare with
       -# $pc.
       -
       -# print the entire Python call stack
       -define pystack
       -    while $pc < Py_Main || $pc > Py_GetArgcArgv
       -        if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
       -           pyframe
       -        end
       -        up-silently 1
       -    end
       -    select-frame 0
       -end
       -
       -# print the entire Python call stack - verbose mode
       -define pystackv
       -    while $pc < Py_Main || $pc > Py_GetArgcArgv
       -        if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
       -           pyframev
       -        end
       -        up-silently 1
       -    end
       -    select-frame 0
       -end
       -
       -# generally useful macro to print a Unicode string
       -def pu
       -  set $uni = $arg0
       -  set $i = 0
       -  while (*$uni && $i++<100)
       -    if (*$uni < 0x80)
       -      print *(char*)$uni++
       -    else
       -      print /x *(short*)$uni++
       -    end
       -  end
       -end