]> git.eshelyaron.com Git - emacs.git/commit
Unify and improve gdb-mi source buffer display logic
authorYuan Fu <casouri@gmail.com>
Mon, 6 Apr 2020 07:56:15 +0000 (09:56 +0200)
committerMartin Rudalics <rudalics@gmx.at>
Mon, 6 Apr 2020 07:56:15 +0000 (09:56 +0200)
commitfd4ee361395060c8afa95393245ac8d51655ae54
tree7fb6cc73f0792261e9ea4bf16cc2302d9fbbbd44
parent981cea9b624f61de3bc84226d19303ff3f8cbd8b
Unify and improve gdb-mi source buffer display logic

Unify the behavior of source buffer display for gdb-mi.  Before this
change, stepping and other gdb command handlers use 'gud-display-line',
and 'gdb-goto-breakpoint' uses 'gdb-display-source-buffer'.  Now whenever
gdb-mi code tries to open a source buffer, 'gdb-display-source-buffer'
is used.  Also, simplify the logic in 'gdb-display-source-buffer' and
add a feature to limit the maximum number of source windows.

* doc/emacs/building.texi (GDB User Interface Layout): Explain source
file display in GDB.
* etc/NEWS (gdb-mi): Add news about source display.
* lisp/progmodes/gdb-mi.el (gdb-source-window): Remove variable,
change to 'gdb-source-window-list'.
(gdb-source-window-list): New variable.
(gdb-display-source-buffer-action,
gdb-max-source-window-count): New options.
(gdb-init-1, gdb-setup-windows, gdb-load-window-configuration,
gdb-restore-windows): Use 'gdb-source-window' rather than
'gdb-source-window-list'.
(gdb-save-window-configuration): Use 'gdb-source-window' rather than
'gdb-source-window-list'.  And consider any buffer that is not a
command or function buffer as a source buffer.
(gdb-display-source-buffer): Use new logic.
(gdb-goto-breakpoint): Remove 'display-buffer' call
and don't set 'gdb-source-buffer' anymore.
* lisp/progmodes/gud.el (gud-display-line): If used by gdb-mi, use
'gdb-display-source-buffer' rather than 'display-buffer'.  Don't set
'gdb-source-buffer' anymore.
doc/emacs/building.texi
etc/NEWS
lisp/progmodes/gdb-mi.el
lisp/progmodes/gud.el