[PATCHv5 0/2] gdb: Change how frames are selected for 'frame' and 'info frame'.

Andrew Burgess
2018-08-13T22:20:19Z

Given a lack of feedback on v4, I've put together two alternative
versions to pick between...

(A) In this version I took onboard the feedback from Eli and
Philippe that using "level" might be confusing to users, as
"number" is historically what has been used for the integer
label we give to frames.

The command for selecting a frame by integer is now, 'frame
number <NUMBER>' and almost all references to "level" have now
been removed from the patch.

(B) In this version I've taken onboard the advice from Philippe,
identifying places in the patch where I was mixing use of
"level" and "number". I've doubled down on "level" and removed
most uses of "number" from the patch.

If we select patch 'A' then me might want to update 'frame apply level
...' to 'frame apply number ...' for consistency.

If we select patch 'B' then we will probably need a follow up patch
that goes through the documentation to tighten up references to
"number" vs "level".

I really don't mind which approach we take, I guess I'd probably pick
'B' over 'A' given we already have 'frame apply level ...' in GDB, but
if there's preference for 'A' then that's fine.

I'm also happy to do the follow up patches once we have some agreement
on which way to go.

Thanks,
Andrew

---

Andrew Burgess (1):
gdb: Change how frames are selected for 'frame' and 'info frame'.

gdb/ChangeLog | 36 ++
gdb/NEWS | 8 +
gdb/cli/cli-decode.c | 44 ++-
gdb/command.h | 14 +
gdb/doc/ChangeLog | 8 +
gdb/doc/gdb.texinfo | 108 ++++--
gdb/mi/mi-cmd-stack.c | 4 +-
gdb/stack.c | 535 +++++++++++++++++++---------
gdb/stack.h | 2 +-
gdb/testsuite/ChangeLog | 7 +
gdb/testsuite/gdb.base/frame-selection.c | 52 +++
gdb/testsuite/gdb.base/frame-selection.exp | 157 ++++++++
gdb/testsuite/gdb.mi/mi-frame-selection.c | 34 ++
gdb/testsuite/gdb.mi/mi-frame-selection.exp | 89 +++++
14 files changed, 896 insertions(+), 202 deletions(-)
create mode 100644 gdb/testsuite/gdb.base/frame-selection.c
create mode 100644 gdb/testsuite/gdb.base/frame-selection.exp
create mode 100644 gdb/testsuite/gdb.mi/mi-frame-selection.c
create mode 100644 gdb/testsuite/gdb.mi/mi-frame-selection.exp

--
2.14.4