Commit 07e1852c authored by Yuan Fu's avatar Yuan Fu Committed by Eli Zaretskii

Enhance memory address evaluation in gdb-mi

Before, the memory buffer evaluated the expression as address and used
the fixed result in each stop.  This change store the expression
itself and reevaluates it in each stop to yield an address.
We also add a warning (a red bold exclamation mark) on the header line
when the content of the page doesn't represent the memory location
user requested for.  That happends when some error occurs in
evaluating the address, and we display the last successfully displayed
memory page.
* lisp/progmodes/gdb-mi.el (gdb-memory-address-expression)
(gdb--memory-display-warning): New variables.
(gdb-memory-address): Change default value to nil; add docstring.
(def-gdb-trigger-and-handler, gdb-invalidate-memory)
(gdb-memory-set-address): Replace 'gdb-memory-address' with
'gdb-memory-address-expression'.
(gdb-memory-header): Add code to display
'gdb-memory-address-expression' on header line.  Move the mouse event
from address to expression.  Add code to display the warning.
(gdb-memory-header): Fix the error from
'propertize' when 'gdb-memory-address-expression' or
'gdb-memory-address' is nil.
(gdb-read-memory-custom): Change 'error' to 'user-error'.  Add code to
display the warning.  (Bug#39180)
parent 30abcda5
Pipeline #4764 passed with stage
in 73 minutes and 58 seconds