Skip to content

Commit e35f197

Browse files
committed
Get ready for release 1.3.0
1 parent 604a852 commit e35f197

15 files changed

Lines changed: 914 additions & 44 deletions

ChangeLog-spell-corrected.diff

Lines changed: 826 additions & 0 deletions
Large diffs are not rendered by default.

NEWS.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,23 @@
1-
1.2.11 2024-077-22
1+
1.3.0 2024-11-13
2+
================
3+
4+
* Less overhead and faster execution of "continue" and "next" (when
5+
possible) using improvements recently made to pytracer.
6+
* Support prompt-toolkit as an input interface. This is now the default
7+
on newer Pythons. Command completion is less featurefull than GNU readline
8+
but that will get addressed over time.
9+
* Add "load" command to support trepan3k plugins from a Python package
10+
* Add thread name to "info frame"
11+
* Add "reload" command to reload a debugger command.
12+
This allows making changes to the debugger while debugging
13+
* Improve disassembly output - better tagging and use of xdis extended format
14+
* Modernize style with more type annotations and flynt-converted f-strings
15+
* Support up to Python 3.13 (with some help from xdis)
16+
17+
1.2.11 2024-07-22
218
==================
319

4-
Add `set/show asmfmt` Improve disassembler formatting; allow all of the assembler formats that exits
20+
Add `set/show asmfmt` Improve disassembler formatting; allow all of the assembler formats that exists
521
Track xdis API changes.
622
The usual lint and bug fixes
723

README.rst

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ reliable operations.
2424
A command-line interface (CLI) is provided as well as remote access
2525
interface over TCP/IP.
2626

27-
See the entry_exit_ for the various ways you can enter the debugger.
27+
See the entry-exit_ for the various ways you can enter the debugger.
2828

2929
This code supports versions of Python back to version 3.0 using
3030
different *git* branches. See trepan2_ for the same code modified to
@@ -62,7 +62,7 @@ instructions. I am slowly working on that though.
6262

6363
We use information in Python's code object line number table in byte
6464
to understand which lines are breakpointable, and in which module or
65-
function the line appears in. Use info_line_ to see this
65+
function the line appears in. Use info-line_ to see this
6666
information. Most if not all other debuggers do go to such lengths,
6767
and as a result, it is possible to request stopping on a line number
6868
that can never occur without complaint.
@@ -90,19 +90,19 @@ or ``exec``'d code.*
9090

9191
But if you happen to know where the source code is located, you can
9292
associate a file source code with the current name listed in the
93-
bytecode. See the set_substitute_ command for details here.
93+
bytecode. See the set-substitute_ command for details here.
9494

9595
Source-code Syntax Colorization
9696
-------------------------------
9797

9898
Terminal source code is colorized via pygments_. And with that, you
9999
can set the pygments color style, e.g. "colorful", "paraiso-dark". See
100-
set_style_ . Furthermore, we make use of terminal bold and emphasized
101-
text in debugger output and help text. Of course, you can also turn
102-
this off. You can use your own
103-
pygments_style_, provided you have a terminal that supports 256
104-
colors. If your terminal supports the basic ANSI color sequences only,
105-
we support that too in both dark and light themes.
100+
set-style_ . Furthermore, we make use of terminal bold
101+
and emphasized text in debugger output and help text. Of course, you
102+
can also turn this off. You can use your own pygments_style_, provided
103+
you have a terminal that supports 256 colors. If your terminal
104+
supports the basic ANSI color sequences only, we support that too in
105+
both dark and light themes.
106106

107107

108108
Command Completion
@@ -121,7 +121,24 @@ Terminal Handling
121121
-----------------
122122

123123
We can adjust debugger output depending on the line width of your
124-
terminal. If it changes, or you want to adjust it, see set_width_.
124+
terminal. If it changes, or you want to adjust it, see set-width_.
125+
126+
Signal Handling
127+
-----------------
128+
129+
Following *gdb*, we provide its rich set of signal handling. From the *gdb* documentation:
130+
131+
GDB has the ability to detect any occurrence of a signal in your program. You can tell GDB in advance what to do for each kind of signal.
132+
133+
Better Support for Thread Debugging
134+
------------------------------------
135+
136+
When you are stopped inside a thread, the thread name is shown to make
137+
this fact more clear and you can see and switch between frames in
138+
different threads. See frame_ for more information.
139+
140+
And following *gdb*, you can list the threads too. See info-threads_ for more information.
141+
125142

126143
Smart Eval
127144
----------
@@ -232,7 +249,7 @@ We do more in the way of looking at the byte codes to give better information. T
232249
``MAKE_FUNCTION`` or ``BUILD_CLASS``.)
233250

234251
Even without "deparsing" mentioned above, the ability to disassemble
235-
where the PC is currently located (see `info pc <info_pc>`_), by line
252+
where the PC is currently located (see info-pc_), by line
236253
number range or byte-offset range lets you tell exactly where you are
237254
and code is getting run.
238255

@@ -314,7 +331,7 @@ See Also
314331
.. _trepanning: https://rubygems.org/gems/trepanning
315332
.. _debuggers: https://metacpan.org/pod/Devel::Trepan
316333
.. _this: https://bashdb.sourceforge.net/pydb/features.html
317-
.. _entry_exit: https://python3-trepan.readthedocs.io/en/latest/entry-exit.html
334+
.. _entry-exit: https://python3-trepan.readthedocs.io/en/latest/entry-exit.html
318335
.. _trepanxpy: https://pypi.python.org/pypi/trepanxpy
319336
.. |downloads| image:: https://img.shields.io/pypi/dd/trepan3k.svg
320337
:target: https://pypi.python.org/pypi/trepan3k/
@@ -325,10 +342,13 @@ See Also
325342
:target: https://pypi.python.org/pypi/trepan3k
326343
:alt: License
327344
.. _deparse: https://python3-trepan.readthedocs.io/en/latest/commands/data/deparse.html
328-
.. _info_line: https://python3-trepan.readthedocs.io/en/latest/commands/info/line.html
329-
.. _set_style: https://python3-trepan.readthedocs.org/en/latest/commands/set/style.html
330-
.. _set_substitute: https://python3-trepan.readthedocs.org/en/latest/commands/set/substitute.html
331-
.. _set_width: https://python3-trepan.readthedocs.org/en/latest/commands/set/width.html
345+
.. _info-line: https://python3-trepan.readthedocs.io/en/latest/commands/info/line.html
346+
.. _info-pc: https://python3-trepan.readthedocs.io/en/latest/commands/info/pc.html
347+
.. _info-threads: https://python3-trepan.readthedocs.io/en/latest/commands/info/threads.html
348+
.. _frame: https://python3-trepan.readthedocs.io/en/latest/commands/stack/frame.html
349+
.. _set-style: https://python3-trepan.readthedocs.org/en/latest/commands/set/style.html
350+
.. _set-substitute: https://python3-trepan.readthedocs.org/en/latest/commands/set/substitute.html
351+
.. _set-width: https://python3-trepan.readthedocs.org/en/latest/commands/set/width.html
332352
.. _eval: https://python3-trepan.readthedocs.org/en/latest/commands/data/eval.html
333353
.. _step: https://python3-trepan.readthedocs.org/en/latest/commands/running/step.html
334354
.. _subst: https://python3-trepan.readthedocs.io/en/latest/commands/set/substitute.html
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
#!/bin/bash
22
function finish {
3-
cd $owd
3+
cd $trepan3k_owd
44
}
55

66
# FIXME put some of the below in a common routine
7-
owd=$(pwd)
8-
trap finish EXIT
7+
trepan3k_owd=$(pwd)
8+
# trap finish EXIT
99

1010
cd $(dirname ${BASH_SOURCE[0]})
11-
if ! source ./pyenv-3.2-3.5-versions ; then
11+
if ! source ./pyenv-3.3-3.5-versions ; then
1212
exit $?
1313
fi
1414

15-
. ./setup-python-3.2.sh
15+
if ! source ./setup-python-3.3.sh ; then
16+
exit $?
17+
fi
1618

1719
cd ..
1820
for version in $PYVERSIONS; do
@@ -24,4 +26,6 @@ for version in $PYVERSIONS; do
2426
if ! make check; then
2527
exit $?
2628
fi
29+
echo === $version ===
2730
done
31+
finish

admin-tools/check-3.6-3.10-versions.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#!/bin/bash
22
function finish {
3-
cd $owd
3+
cd $trepan3k_owd
44
}
55

66
# FIXME put some of the below in a common routine
7-
owd=$(pwd)
8-
trap finish EXIT
7+
trepan3k_owd=$(pwd)
8+
# trap finish EXIT
99

1010
cd $(dirname ${BASH_SOURCE[0]})
1111
if ! source ./pyenv-3.6-3.10-versions ; then
@@ -24,4 +24,5 @@ for version in $PYVERSIONS; do
2424
if ! make check; then
2525
exit $?
2626
fi
27+
echo === $version ===
2728
done

admin-tools/check-newest-versions.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#!/bin/bash
22
function finish {
3-
cd $owd
3+
cd $trepan3k_owd
44
}
55

66
# FIXME put some of the below in a common routine
7-
owd=$(pwd)
8-
trap finish EXIT
7+
trepan3k_owd=$(pwd)
8+
# trap finish EXIT
99

1010
cd $(dirname ${BASH_SOURCE[0]})
1111
if ! source ./pyenv-newer-versions ; then
@@ -24,4 +24,5 @@ for version in $PYVERSIONS; do
2424
if ! make check; then
2525
exit $?
2626
fi
27+
echo === $version ===
2728
done

admin-tools/pyenv-3.3-3.5-versions

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ if [[ $0 == ${BASH_SOURCE[0]} ]] ; then
55
echo "This script should be *sourced* rather than run directly through bash"
66
exit 1
77
fi
8-
export PYVERSIONS='3.2.6 3.5.10 3.3.7 3.4.10 pypy3.5-7.0.0'
8+
export PYVERSIONS='3.5 3.3 3.4 pypy3.5-7.0.0'

admin-tools/setup-master.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ mydir=$(dirname $bs)
1212
trepan3k_owd=$(pwd)
1313
cd $mydir
1414
. ./checkout_common.sh
15-
fulldir=$(readlink -f $mydir)
16-
(cd $fulldir/.. && \
15+
(cd $mydir/.. && \
1716
setup_version python-uncompyle6 master && \
1817
setup_version python-xdis master && \
1918
setup_version python-filecache master && \

admin-tools/setup-python-3.0.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ trepan3k_owd=$(pwd)
1414
mydir=$(dirname $bs)
1515
cd $mydir
1616
. ./checkout_common.sh
17-
fulldir=$(readlink -f $mydir)
18-
(cd $fulldir/.. && \
17+
(cd $mydir/.. && \
1918
setup_version python-uncompyle6 python-3.0 \
2019
setup_version python-filecache python-3.0 && \
2120
setup_version shell-term-background python-3.0 && \

docs/commands/set/asmfmt.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ Set the style of format to use in disassembly:
2121
``bytes`` format along with *extended* format
2222

2323

24-
Examples:
25-
+++++++++
24+
Frame Examples:
25+
+++++++++++++++
2626

2727
::
2828
set asmfmt extended # this is the default

0 commit comments

Comments
 (0)