Skip to content

Commit 40a3b0b

Browse files
committed
add dwim version of eval expression function
1 parent 9854235 commit 40a3b0b

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

gdb-mi.el

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2383,12 +2383,22 @@ If ARG is non-nil, you may modify the watcher expression before creation."
23832383
(interactive)
23842384
(gdb-create-watcher-from-switch t))
23852385

2386+
(defun gdb-eval-expression-dwim ()
2387+
"Evaluate a region if it is active, otherwise evaluate symbol at point."
2388+
(interactive)
2389+
(if (use-region-p)
2390+
(gdb--eval-expression (buffer-substring-no-properties (region-beginning) (region-end)))
2391+
(gdb--eval-expression (thing-at-point 'symbol))))
2392+
23862393
(defun gdb-eval-expression ()
23872394
"Evaluate expression once and print result."
23882395
(interactive)
2396+
(gdb--eval-expression (gdb--read-line "Expression to evaluate: ")))
2397+
2398+
(defun gdb--eval-expression (expression)
2399+
"Evaluate given expression and print result."
23892400
(gdb--with-valid-session
23902401
(let* ((frame (or (gdb--session-selected-frame session) (user-error "No frame is selected")))
2391-
(expression (gdb--read-line "Expression to evaluate: "))
23922402
result)
23932403
(when expression
23942404
(setq result (gdb--get-data (concat "-data-evaluate-expression " (gdb--escape-argument expression))

0 commit comments

Comments
 (0)