emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master a3c4726: Update realgud to MELPA stable 1.4.4


From: Rocky Bernstein
Subject: [elpa] master a3c4726: Update realgud to MELPA stable 1.4.4
Date: Sat, 16 Dec 2017 11:31:07 -0500 (EST)

branch: master
commit a3c472662f3d7ecd9c6477ca59192f1fc9c7349f
Author: rocky <address@hidden>
Commit: rocky <address@hidden>

    Update realgud to MELPA stable 1.4.4
---
 packages/realgud/realgud.el                        |  93 +++++------
 packages/realgud/realgud/Makefile.am               |  20 +++
 packages/realgud/realgud/common/bp.el              |   6 +-
 .../realgud/realgud/common/buffer/backtrace.el     |  21 ++-
 packages/realgud/realgud/common/buffer/command.el  |  92 +++++++++--
 packages/realgud/realgud/common/cmds.el            |  58 ++++---
 packages/realgud/realgud/common/fringe.el          |  66 +++-----
 packages/realgud/realgud/common/loc.el             |  27 ++-
 packages/realgud/realgud/common/run.el             |  17 +-
 packages/realgud/realgud/common/shortkey.el        |   8 +-
 packages/realgud/realgud/common/track-mode.el      |   3 +-
 packages/realgud/realgud/common/track.el           | 184 ++++++++++++++-------
 packages/realgud/realgud/common/utils.el           |  12 +-
 packages/realgud/realgud/debugger/bashdb/bashdb.el |   1 +
 packages/realgud/realgud/debugger/bashdb/init.el   |   3 +-
 packages/realgud/realgud/debugger/gdb/core.el      |   6 +-
 packages/realgud/realgud/debugger/gdb/init.el      |   4 +-
 packages/realgud/realgud/debugger/gub/gub.el       |   1 +
 packages/realgud/realgud/debugger/ipdb/ipdb.el     |   1 +
 packages/realgud/realgud/debugger/jdb/jdb.el       |   1 +
 packages/realgud/realgud/debugger/kshdb/init.el    |   3 +-
 packages/realgud/realgud/debugger/kshdb/kshdb.el   |   1 +
 packages/realgud/realgud/debugger/pdb/core.el      |   5 +-
 packages/realgud/realgud/debugger/pdb/pdb.el       |  32 +++-
 packages/realgud/realgud/debugger/perldb/perldb.el |   3 +-
 packages/realgud/realgud/debugger/rdebug/core.el   |   5 +-
 packages/realgud/realgud/debugger/rdebug/rdebug.el |   1 +
 packages/realgud/realgud/debugger/remake/core.el   |  12 +-
 packages/realgud/realgud/debugger/remake/remake.el |   1 +
 .../realgud/realgud/debugger/trepan.pl/init.el     |   1 +
 .../realgud/realgud/debugger/trepan.pl/trepanpl.el |   1 +
 packages/realgud/realgud/debugger/trepan/trepan.el |   1 +
 packages/realgud/realgud/debugger/trepan2/init.el  |  10 +-
 .../realgud/realgud/debugger/trepan2/trepan2.el    |  13 +-
 packages/realgud/realgud/debugger/trepan3k/core.el |   2 +-
 packages/realgud/realgud/debugger/trepan3k/init.el |  10 +-
 .../realgud/realgud/debugger/trepan3k/trepan3k.el  |  14 +-
 packages/realgud/realgud/debugger/zshdb/init.el    |   1 +
 packages/realgud/realgud/debugger/zshdb/zshdb.el   |   1 +
 39 files changed, 485 insertions(+), 256 deletions(-)

diff --git a/packages/realgud/realgud.el b/packages/realgud/realgud.el
index 13a9624..0826911 100644
--- a/packages/realgud/realgud.el
+++ b/packages/realgud/realgud.el
@@ -3,7 +3,7 @@
 ;; Author: Rocky Bernstein <address@hidden>
 ;; Version: 1.4.4
 ;; Package-Type: multi
-;; Package-Requires: ((load-relative "1.3") (loc-changes "1.2") (test-simple  
"1.3.0") (cl-lib "0.5") (emacs "24"))
+;; Package-Requires: ((load-relative "1.2") (loc-changes "1.2") (test-simple  
"1.2.0") (cl-lib "0.5") (emacs "24"))
 ;; URL: http://github.com/realgud/realgud/
 ;; Keywords: gdb, python, perl, go, bash, nodejs, zsh, bashdb, zshdb, remake, 
make, trepan, perldb
 
@@ -68,7 +68,7 @@
 
 ;; Press C-x C-e at the end of the next line configure the program in
 ;; for building via "make" to get set up.
-;; (compile (format "EMACSLOADPATH=:%s:%s ./autogen.sh" (file-name-directory 
(locate-library "test-simple.elc")) (file-name-directory (locate-library 
"load-relative.elc")) (file-name-directory (locate-library "loc-changes.elc"))))
+;; (compile (format "EMACSLOADPATH=:%s:%s:%s ./autogen.sh" 
(file-name-directory (locate-library "test-simple.elc")) (file-name-directory 
(locate-library "load-relative.elc")) (file-name-directory (locate-library 
"loc-changes.elc"))))
 
 (require 'load-relative)
 
@@ -80,28 +80,31 @@
 
 ;; FIXME: extend require-relative for "autoload".
 (defun realgud:load-features()
-  (require-relative-list
-   '(
-     "./realgud/common/track-mode"
-     "./realgud/common/utils"
-     "./realgud/debugger/bashdb/bashdb"
-     "./realgud/debugger/gdb/gdb"
-     "./realgud/debugger/gub/gub"
-     "./realgud/debugger/ipdb/ipdb"
-     "./realgud/debugger/jdb/jdb"
-     "./realgud/debugger/kshdb/kshdb"
-     "./realgud/debugger/nodejs/nodejs"
-     "./realgud/debugger/pdb/pdb"
-     "./realgud/debugger/perldb/perldb"
-     "./realgud/debugger/rdebug/rdebug"
-     "./realgud/debugger/remake/remake"
-     "./realgud/debugger/trepan/trepan"
-     "./realgud/debugger/trepanjs/trepanjs"
-     "./realgud/debugger/trepan.pl/trepanpl"
-     "./realgud/debugger/trepan2/trepan2"
-     "./realgud/debugger/trepan3k/trepan3k"
-     "./realgud/debugger/zshdb/zshdb"
-     ) "realgud-")
+  (progn
+    (require-relative-list
+     '(
+       "./realgud/common/track-mode"
+       "./realgud/common/utils"
+       "./realgud/debugger/bashdb/bashdb"
+       "./realgud/debugger/gdb/gdb"
+       "./realgud/debugger/gub/gub"
+       "./realgud/debugger/ipdb/ipdb"
+       "./realgud/debugger/jdb/jdb"
+       "./realgud/debugger/kshdb/kshdb"
+       "./realgud/debugger/nodejs/nodejs"
+       "./realgud/debugger/pdb/pdb"
+       "./realgud/debugger/perldb/perldb"
+       "./realgud/debugger/rdebug/rdebug"
+       "./realgud/debugger/remake/remake"
+       "./realgud/debugger/trepan/trepan"
+       "./realgud/debugger/trepanjs/trepanjs"
+       "./realgud/debugger/trepan.pl/trepanpl"
+       "./realgud/debugger/trepan2/trepan2"
+       "./realgud/debugger/trepan3k/trepan3k"
+       "./realgud/debugger/zshdb/zshdb"
+       ) "realgud-")
+    (realgud:loaded-features)
+    )
   )
 
 (load-relative "./realgud/common/custom")
@@ -113,42 +116,20 @@
   )
 
 (defun realgud:loaded-features()
-  "Return a list of loaded debugger features. These are the
-features that start with 'realgud-' and also include standalone debugger 
features
-like 'pydbgr'."
-  (let ((result nil)
-       (feature-str))
-    (dolist (feature features result)
-      (setq feature-str (symbol-name feature))
-      (cond ((eq 't
-                (string-prefix-p feature-str "realgud-"))
-            (setq result (cons feature-str result)))
-           ((eq 't
-                (string-prefix-p feature-str "nodejs"))
-            (setq result (cons feature-str result)))
-           ((eq 't
-                ;; No trailing '-' to get a plain "trepan".
-                (string-prefix-p feature-str "trepan"))
-            (setq result (cons feature-str result)))
-           ((eq 't
-                ;; No trailing '-' to get a plain "trepanx".
-                (string-prefix-p feature-str "trepanx"))
-            (setq result (cons feature-str result)))
-           ('t nil))
-       )
-      )
-)
+  "Return a list of loaded debugger features. These are the features
+that start with 'realgud-' and 'realgud:'"
+
+  (delq nil
+               (mapcar (lambda (x) (and (string-match-p 
"^\\(realgud:\\|realgud-\\)" (symbol-name x)) x))
+                               features)))
 
 (defun realgud:unload-features()
   "Remove all features loaded from this package. Used in
 `realgud:reload-features'. See that."
-  (interactive "")
-  (let ((result (realgud:loaded-features)))
-    (dolist (feature result result)
-      (unless (symbolp feature) (setq feature (make-symbol feature)))
-      (if (featurep feature)
-       (unload-feature feature) 't))
-  ))
+  (let ((removal-set (realgud:loaded-features)))
+       (dolist (feature removal-set)
+         (unload-feature feature t))
+       removal-set)) ; return removed set
 
 (defun realgud:reload-features()
   "Reload all features loaded from this package. Useful if have
diff --git a/packages/realgud/realgud/Makefile.am 
b/packages/realgud/realgud/Makefile.am
index 75a2af8..c87e282 100644
--- a/packages/realgud/realgud/Makefile.am
+++ b/packages/realgud/realgud/Makefile.am
@@ -1 +1,21 @@
+# Directories to run recursive makes
 SUBDIRS = common debugger lang
+
+# lispdir needs to get set here because it seems
+# to automatically use the parent root. Not sure
+# why that is since none of the other subdirectories have this
+# problem.
+lispdir = ${datarootdir}/emacs/site-lisp/realgud
+
+# By default this is based off of $lispdir, but that
+# is set funny, so we'll be explicit about lispdir_realgud,
+# although in fact it isn't used.
+lispdir_realgud = ${datarootdir}/emacs/site-lisp/realgud
+
+# .nosearch isn't a lisp file, but we want it installed along with the
+# lisp files.
+lisp_LISP = .nosearch
+
+# Overwrite clean-lisp target so it doesn't remove .nosearch
+# Note: There are no lisp files in this directory
+clean-lisp:
diff --git a/packages/realgud/realgud/common/bp.el 
b/packages/realgud/realgud/common/bp.el
index 8d426e3..4e13a15 100644
--- a/packages/realgud/realgud/common/bp.el
+++ b/packages/realgud/realgud/common/bp.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2010, 2012-2015 Free Software Foundation, Inc
+;; Copyright (C) 2010, 2012-2015, 2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -106,12 +106,12 @@ Only used in text terminals: fringe icons always use
   :group 'realgud-bp)
 
 (defface realgud-bp-line-enabled-face
-  '((t :inherit diff-removed))
+  '((t :underline "red"))
   "Face for lines with enabled breakpoints."
   :group 'realgud-bp)
 
 (defface realgud-bp-line-disabled-face
-  '((t))
+  '((t :underline "gray"))
   "Face for lines with disabled breakpoints."
   :group 'realgud-bp)
 
diff --git a/packages/realgud/realgud/common/buffer/backtrace.el 
b/packages/realgud/realgud/common/buffer/backtrace.el
index 84290be..0a7908f 100644
--- a/packages/realgud/realgud/common/buffer/backtrace.el
+++ b/packages/realgud/realgud/common/buffer/backtrace.el
@@ -28,14 +28,16 @@
 (require-relative-list
  '("command") "realgud-buffer-")
 
-(declare-function realgud-cmdbuf-debugger-name 'realgud-buffer-command)
-(declare-function realgud-cmdbuf?              'realgud-buffer-command)
+(declare-function realgud-cmdbuf-debugger-name        'realgud-buffer-command)
+(declare-function realgud-cmdbuf?                     'realgud-buffer-command)
+(declare-function realgud-cmdbuf-info-divert-output?= 'realgud-buffer-command)
 (declare-function realgud-backtrace-mode (cmdbuf))
 (declare-function realgud:cmd-backtrace (arg))
 (declare-function realgud-cmdbuf-pat(key))
 (declare-function realgud-cmdbuf-info-in-srcbuf?= (arg))
 (declare-function realgud-get-cmdbuf 'realgud-buffer-helper)
 (declare-function realgud:file-loc-from-line 'realgud-file)
+(declare-function buffer-killed?       'realgud-helper)
 (declare-function realgud:loc-describe 'realgud-loc)
 
 (cl-defstruct realgud-backtrace-info
@@ -407,6 +409,15 @@ filename, line number, whether the frame is selected as 
text properties."
            ;; FIXME: Remove hack that group 1 is always the frame indicator.
            (frame-indicator
             (substring stripped-string (match-beginning 1) (match-end 1)))
+           ;; From https://github.com/realgud/realgud/pull/192
+           ;; Each frame of backtrace is searched via string-match
+           ;; invocation and a position of the current frame is
+           ;; updated via (setq last-pos (match-end 0)) in the end of
+           ;; the loop. But somewhere in the body of the loop (I do
+           ;; not know exactly where), there is another call to
+           ;; string-match and it messes up all positions.
+           (whole-match-begin (match-beginning 0))
+           (whole-match-end (match-end 0))
            (frame-num-pos)
 
            )
@@ -462,12 +473,12 @@ filename, line number, whether the frame is selected as 
text properties."
 
        (when (and (stringp filename) (numberp line-num))
          (let ((loc (realgud:file-loc-from-line filename line-num cmdbuf)))
-           (put-text-property (match-beginning 0) (match-end 0)
+           (put-text-property whole-match-begin whole-match-end
                               'loc loc string)
            ))
-       (put-text-property (match-beginning 0) (match-end 0)
+       (put-text-property whole-match-begin whole-match-end
                           'frame-num  frame-num string)
-       (setq last-pos (match-end 0))
+       (setq last-pos whole-match-end)
 
        (if (string-match frame-indicator-re frame-indicator)
          (setq selected-frame-num frame-num))
diff --git a/packages/realgud/realgud/common/buffer/command.el 
b/packages/realgud/realgud/common/buffer/command.el
index bd8aaca..8e0e66c 100644
--- a/packages/realgud/realgud/common/buffer/command.el
+++ b/packages/realgud/realgud/common/buffer/command.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015-2016 Free Software Foundation, Inc
+;; Copyright (C) 2015-2017 Free Software Foundation, Inc
 ;; Author: Rocky Bernstein <address@hidden>
 
 ;; This program is free software; you can redistribute it and/or modify
@@ -156,6 +156,51 @@
       (insert "\n")
       )))
 
+;; FIXME: this is a cheat. We are inserting
+;; and afterwards inserting ""
+(defun realgud:cmdbuf-bp-list-describe (info)
+  (let ((bp-list (realgud-cmdbuf-info-bp-list info)))
+    (cond (bp-list
+          (insert "** Breakpoint list (bp-list)\n")
+          (dolist (loc bp-list "")
+            (let ((bp-num (realgud-loc-num loc)))
+              (insert (format "*** Breakpoint %d\n" bp-num))
+              (realgud:org-mode-append-loc loc))))
+         ;; Since we are inserting, the below in fact
+         ;; inserts nothing. The string return is
+         ;; aspirational for when this is fixed
+         (t "\n")
+         )))
+
+(defun realgud:org-mode-encode (header object)
+  "Return an org-mode representation of OBJECT as an org-mode string."
+  (format "%s%s" header
+         (cond ((not object) "nil\n")
+               ((stringp object)      (format "%s\n" object))
+               ((keywordp object)     (json-encode-string
+                                        (substring (symbol-name object) 1)))
+               ((symbolp object)      (json-encode-string
+                                        (symbol-name object)))
+               ((numberp object)      (json-encode-number object))
+               ((arrayp object)       (json-encode-array object))
+               ((hash-table-p object) (realgud:org-mode-encode-htable object))
+               ;; ((listp object)        (realgud:org-mode-encodelist object))
+               (t                     (signal 'error (list object))))))
+
+(defun realgud:org-mode-encode-htable (hash-table)
+  "Return an  org-mode representation of HASH-TABLE as a s."
+  (format "%s"
+         (json-join
+          (let (r)
+            (maphash
+             (lambda (k v)
+               (push (format
+                      "  - %s\t::\t%s" k (realgud:org-mode-encode v ""))
+                     r))
+             hash-table)
+            r)
+          "")))
+
 (defun realgud:cmdbuf-info-describe (&optional buffer)
   "Display realgud-cmdcbuf-info fields of BUFFER.
 BUFFER is either a debugger command or source buffer. If BUFFER is not given
@@ -172,21 +217,25 @@ Information is put in an internal buffer called 
*Describe*."
                (switch-to-buffer (get-buffer-create "*Describe*"))
                (setq buffer-read-only 'nil)
                (delete-region (point-min) (point-max))
-               (insert "#+STARTUP: showall\n")
                ;;(insert "#+OPTIONS:    H:2 num:nil toc:t \\n:nil ::t |:t 
^:nil -:t f:t *:t tex:t d:(HIDE) tags:not-in-toc\n")
-               (insert (format "#+TITLE: Debugger info for %s\n" cmdbuf-name))
-               (insert "** General Information (")
-               (insert-text-button
-                "realgud-cmdbuf-info"
-                ;; FIXME figure out how to set buffer to cmdbuf so we get 
cmdbuf value
-                'action (lambda(button) (describe-variable 
'realgud-cmdbuf-info))
-                'help-echo "mouse-2: help-on-variable")
-               (insert ")\n")
+               (insert (format "#+TITLE: Debugger info for %s
+
+This is based on an org-mode buffer. Hit tab to expand/contract sections.
+\n"
+                               cmdbuf-name))
+               (insert "** General Information (realgud-cmdbuf-info)\n")
+               ;; (insert "** General Information (")
+               ;; (insert-text-button
+               ;;  "realgud-cmdbuf-info"
+               ;;  ;; FIXME figure out how to set buffer to cmdbuf so we get 
cmdbuf value
+               ;;  'action (lambda(button) (describe-variable 
'realgud-cmdbuf-info))
+               ;;  'help-echo "mouse-2: help-on-variable")
+               ;; (insert ")\n")
 
                (mapc 'insert
                      (list
                       (format "  - Debugger name     ::\t%s\n"
-                              (json-encode (realgud-cmdbuf-info-debugger-name 
info)))
+                              (realgud-cmdbuf-info-debugger-name info))
                       (format "  - Command-line args ::\t%s\n"
                               (json-encode (realgud-cmdbuf-info-cmd-args 
info)))
                       (format "  - Starting directory ::\t%s\n"
@@ -197,19 +246,28 @@ Information is put in an internal buffer called 
*Describe*."
                               (realgud-cmdbuf-info-last-input-end info))
                       (format "  - Source should go into short-key mode? :: 
%s\n"
                               (realgud-cmdbuf-info-src-shortkey? info))
-                      (format "  - Breakpoint list   ::\t %s\n"
-                              (realgud-cmdbuf-info-bp-list info))
-                      (format "  - Remap table for debugger commands 
::\n\t%s\n"
-                              (json-encode (realgud-cmdbuf-info-cmd-hash 
info)))
-                      (format "  - Backtrace buffer  ::\t%s\n"
-                              (realgud-cmdbuf-info-bt-buf info))
                       (format "  - In debugger?      ::\t%s\n"
                               (realgud-cmdbuf-info-in-debugger? info))
+
+                      (realgud:org-mode-encode "\n*** Remap table for debugger 
commands\n"
+                                                     
(realgud-cmdbuf-info-cmd-hash info))
+                      ;; (realgud:org-mode-encode "\n*** Backtrace buffer"
+                      ;;                               
(realgud-cmdbuf-info-bt-buf info))
+                      ;; (format "  - Backtrace buffer  ::\t%s\n"
+                      ;;   (realgud-cmdbuf-info-bt-buf info))
                       ))
                (insert "\n")
+               (realgud:cmdbuf-bp-list-describe info)
+               (insert "\n")
                (realgud:cmdbuf-buffers-describe info)
                (insert "\n")
                (realgud:loc-hist-describe (realgud-cmdbuf-info-loc-hist info))
+               (insert "
+#+STARTUP: overview
+     #+STARTUP: content
+     #+STARTUP: showall
+     #+STARTUP: showeverything
+")
                (goto-char (point-min))
                (realgud:info-mode)
                )
diff --git a/packages/realgud/realgud/common/cmds.el 
b/packages/realgud/realgud/common/cmds.el
index 8f02555..9c7f88f 100644
--- a/packages/realgud/realgud/common/cmds.el
+++ b/packages/realgud/realgud/common/cmds.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015-2016 Free Software Foundation, Inc
+;; Copyright (C) 2015-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -16,6 +16,7 @@
 ;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 (require 'load-relative)
+(require 'thingatpt)
 (require-relative-list  '("send" "core") "realgud-")
 (require-relative-list  '("buffer/command") "realgud-buffer-")
 (require-relative-list  '("buffer/source") "realgud-buffer-")
@@ -86,26 +87,31 @@ with other motion initiated by debugger messages."
 
 (defconst realgud-cmd:default-hash
   (let ((hash (make-hash-table :test 'equal)))
-    (puthash "backtrace" "backtrace" hash)
-    (puthash "break" "break %X:%l" hash)
-    (puthash "clear" "clear %l" hash)
-    (puthash "continue" "continue" hash)
-    (puthash "delete" "delete %p" hash)
-    (puthash "disable" "disable %p" hash)
-    (puthash "down" "down %p" hash)
-    (puthash "enable" "enable %p" hash)
-    (puthash "eval" "eval %s" hash)
-    (puthash "finish" "finish" hash)
-    (puthash "frame" "frame %p" hash)
-    (puthash "jump" "jump %l" hash)
-    (puthash "kill" "kill" hash)
-    (puthash "next" "next %p" hash)
+    (puthash "backtrace"   "backtrace" hash)
+    (puthash "break"       "break %X:%l" hash)
+    (puthash "break_fn"    "break %s" hash)
+    (puthash "clear"       "clear %l" hash)
+    (puthash "continue"    "continue" hash)
+    (puthash "delete"      "delete %p" hash)
+    (puthash "delete_all"  "delete" hash)
+    (puthash "disable"     "disable %p" hash)
+    (puthash "disable_all" "disable" hash)
+    (puthash "down"        "down %p" hash)
+    (puthash "enable"      "enable %p" hash)
+    (puthash "enable_all"  "enable" hash)
+    (puthash "eval"        "eval %s" hash)
+    (puthash "finish"      "finish" hash)
+    (puthash "frame"       "frame %p" hash)
+    (puthash "help"        "help" hash)
+    (puthash "jump"        "jump %l" hash)
+    (puthash "kill"        "kill" hash)
+    (puthash "next"        "next %p" hash)
     (puthash "repeat-last" "\n" hash)
-    (puthash "restart" "run" hash)
-    (puthash "shell" "shell" hash)
-    (puthash "step" "step %p" hash)
-    (puthash "until" "until" hash)
-    (puthash "up" "up %p" hash)
+    (puthash "restart"     "run" hash)
+    (puthash "shell"       "shell" hash)
+    (puthash "step"        "step %p" hash)
+    (puthash "until"       "until" hash)
+    (puthash "up"          "up %p" hash)
     hash)
   "Default hash of command name → debugger command.
 This is used as a fallback when the debugger-specific command
@@ -283,6 +289,18 @@ EVENT should be a mouse click on the left fringe or 
margin."
                           #'realgud:cmd-eval-region
                         #'realgud:cmd-eval)))
 
+(defun realgud:cmd-eval-at-point()
+  "Eval symbol under point."
+  (interactive)
+
+  (beginning-of-thing 'symbol)
+  (set-mark-command 'nil)
+  (end-of-thing 'symbol)
+
+  (realgud:cmd-run-command
+   (read-string "Eval: " (thing-at-point 'symbol))
+   "eval"))
+
 (defun realgud:cmd-finish(&optional arg)
     "Run until the completion of the current stack frame.
 
diff --git a/packages/realgud/realgud/common/fringe.el 
b/packages/realgud/realgud/common/fringe.el
index c50153b..f974e28 100644
--- a/packages/realgud/realgud/common/fringe.el
+++ b/packages/realgud/realgud/common/fringe.el
@@ -29,51 +29,27 @@
 
 ;; FIXME: Figure out how to do this as a macro.
 
-(if (equal 'dark (frame-parameter nil 'background-mode))
-    (progn
-      (defface realgud-overlay-arrow1
-       '((t
-          :foreground "green"
-          :weight bold))
-       "Fringe face for current position."
-       :group 'realgud)
-
-      (defface realgud-overlay-arrow2
-       '((t
-          :foreground "white"
-          :weight bold))
-       "Fringe face for position one back in fringe."
-       :group 'realgud)
-
-      (defface realgud-overlay-arrow3
-       '((t
-          :foreground "gray"
-          :weight bold))
-       "Fringe face for position two back in fringe."
-       :group 'realgud)
-      )
-  ;; else
-  (progn
-    (defface realgud-overlay-arrow1
-      '((t
-        :foreground "black"
-        :weight bold))
-      "Fringe face for current position."
-      :group 'realgud)
-
-    (defface realgud-overlay-arrow2
-      '((t
-        :foreground "gray"
-        :weight bold))
-      "Fringe face for position one back in fringe."
-      :group 'realgud)
-
-    (defface realgud-overlay-arrow3
-      '((t
-        :foreground "gainsboro"
-        :weight bold))
-      "Fringe face for position two back in fringe."
-      :group 'realgud)))
+(defface realgud-overlay-arrow1
+  '((((class color) (min-colors 16) (background light)) :foreground 
"ForestGreen" :weight bold)
+    (((class color) (min-colors 16) (background dark))  :foreground 
"PaleGreen" :weight bold)
+    (((class color) (min-colors 8)) :foreground "green")
+    (((class grayscale) (background light)) :foreground "Black" :weight bold)
+    (((class grayscale) (background dark))  :foreground "White" :weight bold)
+    (t :weight bold))
+    "Realgud fringe face for current position indicator."
+    :group 'realgud)
+
+(defface realgud-overlay-arrow2
+  '((((background  dark)) :foreground "white" :weight bold)
+    (((background light)) :foreground "black" :weight bold))
+  "Fringe face for current position."
+  :group 'realgud)
+
+(defface realgud-overlay-arrow3
+  '((((background  dark)) :foreground "DimGray")
+    (((background light)) :foreground "DarkGray"))
+  "Fringe face for current position."
+  :group 'realgud)
 
 
 (defvar realgud-overlay-arrow1 nil
diff --git a/packages/realgud/realgud/common/loc.el 
b/packages/realgud/realgud/common/loc.el
index 76584c0..f90436f 100644
--- a/packages/realgud/realgud/common/loc.el
+++ b/packages/realgud/realgud/common/loc.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015-2016 Free Software Foundation, Inc
+;; Copyright (C) 2015-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -62,9 +62,16 @@ without buffer properties."
 Information is put in an internal buffer called *Describe*."
   (interactive "")
   (switch-to-buffer (get-buffer-create "*Describe*"))
-  (let ((link-start) (link-end) (map) (filename))
+  (realgud:org-mode-append-loc loc))
+
+(defun realgud:org-mode-append-loc (loc)
+  "Display realgud-cmdcbuf-info.
+Information is put in an internal buffer called *Describe*."
+  (let ((column-number (realgud-loc-column-number loc))
+       (bp-num (realgud-loc-num loc))
+       (source-text (realgud-loc-source-text loc))
+       (filename (realgud-loc-filename loc)))
     (insert "  - filename      :: ")
-    (setq filename (realgud-loc-filename loc))
     (put-text-property
      (insert-text-button filename
                         'action 'realgud:follow-event
@@ -75,10 +82,16 @@ Information is put in an internal buffer called *Describe*."
     (mapc 'insert
          (list
           (format "  - line number   :: %s\n" (realgud-loc-line-number loc))
-          (format "  - brkpt num     :: %s\n" (realgud-loc-num loc))
-          (format "  - column number :: %s\n"
-                  (realgud-loc-column-number loc))
-          (format "  - source text   :: %s\n" (realgud-loc-source-text loc))
+          (if bp-num
+              (format "  - brkpt num     :: %s\n" (realgud-loc-num loc))
+            "")
+          (if column-number
+              (format "  - column number :: %s\n"
+                      (realgud-loc-column-number loc))
+            "")
+          (if source-text
+              (format "  - source text   :: %s\n" (realgud-loc-source-text 
loc))
+            "")
           ))
     ;; Make locations clickable
     (insert "  - source marker :: ")
diff --git a/packages/realgud/realgud/common/run.el 
b/packages/realgud/realgud/common/run.el
index f78bd35..b34a3f0 100644
--- a/packages/realgud/realgud/common/run.el
+++ b/packages/realgud/realgud/common/run.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015-2016 Free Software Foundation, Inc
+;; Copyright (C) 2015-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -198,6 +198,21 @@ Otherwise nil is returned.
     )
   )
 
+;; For name = trepan2 we produce:
+;;
+;; (defalias 'trepan2 'realgud:trepan2)
+;; (defvar realgud:trepan2-delayed-minibuffer-history nil
+;;   "minibuffer history list for the command `realgud:trepan2-delayed'.")
+
+(defmacro realgud-deferred-invoke-setup (name)
+  `(progn
+     (defalias
+       ',(intern (concat name "-delayed"))
+       ',(intern (concat "realgud:" name "-delayed")))
+     (defvar ,(intern (concat "realgud:" name "-delayed-minibuffer-history")) 
nil
+      ,(format "minibuffer history for the command `%s-delayed'" name))
+     ))
+
 (provide-me "realgud:")
 
 ;; Local Variables:
diff --git a/packages/realgud/realgud/common/shortkey.el 
b/packages/realgud/realgud/common/shortkey.el
index 43c741f..3483eed 100644
--- a/packages/realgud/realgud/common/shortkey.el
+++ b/packages/realgud/realgud/common/shortkey.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc
+;; Copyright (C) 2010-2015, 2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -16,7 +16,7 @@
 ;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 (require 'load-relative)
-(require-relative-list '("custom" "eval" "helper" "key" "lochist" "loc"
+(require-relative-list '("cmds" "custom" "eval" "helper" "key" "lochist" "loc"
                         "menu")
                       "realgud-")
 (require-relative-list '("buffer/command" "buffer/helper" "buffer/source")
@@ -27,6 +27,7 @@
 )
 
 
+(declare-function realgud-cmds--mouse-add-remove-bp     'realgud-cmds)
 (declare-function realgud-cmdbuf?                       
'realgud-buffer-command)
 (declare-function realgud:debugger-name-transform       'realgud-helper)
 (declare-function realgud-get-cmdbuf                    'realgud-buffer-helper)
@@ -40,6 +41,8 @@
 (declare-function realgud-srcbuf-info-was-read-only?=   'realgud-source)
 (declare-function realgud-srcbuf-info-prev-local-map=   'realgud-source)
 (declare-function realgud-srcbuf?                       'realgud-buffer-source)
+(declare-function realgud--ensure-attached              'realgud-buffer-source)
+(declare-function realgud-srcbuf-info-set?              'realgud-buffer-source)
 
 ;; (defvar realgud::tool-bar-map) ;; fully defined in track-mode.el
 
@@ -62,6 +65,7 @@
     (define-key map "j"        'realgud:cmd-jump)
     (define-key map "c"        'realgud:cmd-continue)
     (define-key map "e"        'realgud:cmd-eval-dwim)
+    (define-key map "E"        'realgud:cmd-eval-at-point)
     (define-key map "U"        'realgud:cmd-until)
     (define-key map [mouse-2]  'realgud:tooltip-eval)
     (define-key map [left-fringe mouse-1] #'realgud-cmds--mouse-add-remove-bp)
diff --git a/packages/realgud/realgud/common/track-mode.el 
b/packages/realgud/realgud/common/track-mode.el
index b996e91..bb30e5b 100644
--- a/packages/realgud/realgud/common/track-mode.el
+++ b/packages/realgud/realgud/common/track-mode.el
@@ -30,8 +30,7 @@
 (declare-function realgud-fringe-erase-history-arrows 'realgud-buffer-command)
 (declare-function realgud:track-set-debugger          'realgud-track)
 (declare-function realgud-populate-debugger-menu      'realgud-menu)
-(declare-function realgud-cmdbuf-info-divert-output?=
-                 'realgud-buffer-command)
+(declare-function realgud-cmdbuf-info-divert-output?= 'realgud-buffer-command)
 (declare-function realgud-cmdbuf-info-prior-prompt-regexp=
                  'realgud-buffer-command)
 (declare-function realgud-cmdbuf-info-set?
diff --git a/packages/realgud/realgud/common/track.el 
b/packages/realgud/realgud/common/track.el
index f26a0ed..1bae618 100644
--- a/packages/realgud/realgud/common/track.el
+++ b/packages/realgud/realgud/common/track.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015-2016 Free Software Foundation, Inc
+;; Copyright (C) 2015-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -29,10 +29,11 @@
 (require-relative-list
  '("core"           "file"     "fringe"
    "helper"         "init"     "loc"    "lochist"
-   "regexp"         "shortkey" "window"
+   "regexp"         "shortkey" "window" "utils"
    "bp"
    ) "realgud-")
 
+
 (require-relative-list
  '("buffer/command" "buffer/helper" "buffer/source") "realgud-buffer-")
 
@@ -41,6 +42,12 @@
   :type 'symbolp
   :group 'realgud)
 
+(defcustom realgud-eval-message-print-length 1000
+"If non-nil, truncate eval output into the echo area"
+  :type 'symbolp
+  :group 'realgud)
+
+(declare-function buffer-killed?                      'realgud-helper)
 (declare-function fn-p-to-fn?-alias                   'realgud-helper)
 (declare-function realgud-bp-add-info                 'realgud-bp)
 (declare-function realgud-bp-del-info                 'realgud-bp)
@@ -76,6 +83,7 @@
 (declare-function realgud-window-src                  'realgud-window)
 (declare-function realgud-window-src-undisturb-cmd    'realgud-window)
 (declare-function realgud-window-update-position      'realgud-window)
+(declare-function realgud:join-string                 'realgud-utils)
 
 (make-variable-buffer-local  (defvar realgud-track-mode))
 (fn-p-to-fn?-alias 'realgud-loc-p)
@@ -167,6 +175,33 @@ message."
              "Buffer %s is not a debugger command buffer" buf)
     t))
 
+(defun realgud:get-output-command(text)
+  "Splits the TEXT by newline."
+  (car (split-string text "\n")))
+
+(defun realgud:get-eval-output(text)
+  "Gets the output stripping the command and debugger prompt from the TEXT."
+  (realgud:join-string (butlast (cdr (split-string text "\n"))) "\n"))
+
+(defun realgud:get-command-name(command-name)
+  "Gets the COMMAND-NAME for this particular debugger."
+  (gethash command-name (buffer-local-value 'realgud-command-name-hash 
(current-buffer))))
+
+(defun realgud:eval-command-p(text)
+  "Checks the TEXT if the command that was ran was an eval command."
+  (let ((cmd-name (realgud:get-command-name "eval")))
+       (and (stringp cmd-name) (string-prefix-p (realgud:get-command-name 
"eval") (realgud:get-output-command text)))))
+
+(defun realgud:truncate-eval-message(text)
+  "Truncates the TEXT to the size of realgud-eval-message-print-length."
+  (if (< realgud-eval-message-print-length (length text))
+      (substring text 0 realgud-eval-message-print-length)
+    text))
+
+(defun realgud:message-eval-results(text)
+  "Output the TEXT to the message area."
+  (message (realgud:truncate-eval-message (realgud:get-eval-output text))))
+
 (defun realgud:track-from-region(from to &optional cmd-mark opt-cmdbuf
                                      shortkey-on-tracing? no-warn-if-no-match?)
   "Find and position a buffer at the location found in the marked region.
@@ -192,6 +227,9 @@ evaluating (realgud-cmdbuf-info-loc-regexp 
realgud-cmdbuf-info)"
         (cmdbuf (or opt-cmdbuf (current-buffer)))
         )
     (unless (realgud:track-complain-if-not-in-cmd-buffer cmdbuf t)
+      (if (realgud:eval-command-p text)
+          (realgud:message-eval-results text))
+
        (if (not (equal "" text))
            (with-current-buffer cmdbuf
              (if (realgud-sget 'cmdbuf-info 'divert-output?)
@@ -460,65 +498,79 @@ Otherwise return nil. CMD-MARK is set in the realgud-loc 
object created.
   (setq cmdbuf (or cmdbuf (current-buffer)))
   (with-current-buffer cmdbuf
     (unless (realgud:track-complain-if-not-in-cmd-buffer cmdbuf t)
-        (let* ((loc-pat (realgud-cmdbuf-pat "brkpt-set")))
-         (if loc-pat
-             (let ((bp-num-group   (realgud-loc-pat-num loc-pat))
-                   (loc-regexp     (realgud-loc-pat-regexp loc-pat))
-                   (file-group     (realgud-loc-pat-file-group loc-pat))
-                   (line-group     (realgud-loc-pat-line-group loc-pat))
-                   (text-group     (realgud-loc-pat-text-group loc-pat))
-                   (ignore-file-re (realgud-loc-pat-ignore-file-re loc-pat))
-                   (callback-loc-fn (realgud-sget 'cmdbuf-info 
'callback-loc-fn))
+      (let* ((loc-pat (realgud-cmdbuf-pat "brkpt-set"))
+            (shortkey-mode? (realgud-sget 'cmdbuf-info 'src-shortkey?)))
+       (if loc-pat
+           (let ((bp-num-group   (realgud-loc-pat-num loc-pat))
+                 (loc-regexp     (realgud-loc-pat-regexp loc-pat))
+                 (file-group     (realgud-loc-pat-file-group loc-pat))
+                 (line-group     (realgud-loc-pat-line-group loc-pat))
+                 (text-group     (realgud-loc-pat-text-group loc-pat))
+                 (ignore-file-re (realgud-loc-pat-ignore-file-re loc-pat))
+                 (callback-loc-fn (realgud-sget 'cmdbuf-info 'callback-loc-fn))
                    )
-               (if loc-regexp
-                   (if (string-match loc-regexp text)
-                       (let* ((bp-num (match-string bp-num-group text))
-                              (filename (match-string file-group text))
-                              (line-str (match-string line-group text))
-                              (source-str (and text-group (match-string 
text-group text)))
-                              (lineno (string-to-number (or line-str "1")))
-                              )
-                         (cond (callback-loc-fn
-                                (funcall callback-loc-fn text
-                                         filename lineno source-str
-                                         ignore-file-re cmd-mark))
-
-                               ('t
-                                (unless line-str
-                                  (message "line number not found -- using 1"))
-                                (if (and filename lineno)
-                                    (let* ((directory
-                                            (cond ((boundp 
'starting-directory) starting-directory)
-                                                  (t nil)))
-                                           (loc-or-error
-                                            (realgud:file-loc-from-line
-                                             filename lineno
-                                             cmd-mark
-                                             source-str
-                                             (string-to-number bp-num)
-                                             ignore-file-re nil directory
-                                             )))
-                                      (if (stringp loc-or-error)
-                                          (progn
-                                            (message loc-or-error)
-                                            ;; set to return nil
-                                            nil)
-                                        ;; else
-                                        (let ((loc loc-or-error))
-                                          ;; Add breakpoint to list of 
breakpoints
-                                          (with-current-buffer-safe 
(marker-buffer (realgud-loc-marker loc))
-                                            (realgud-bp-add-info loc))
-
-                                          (realgud-cmdbuf-info-bp-list=
-                                           (cons loc (realgud-sget 
'cmdbuf-info 'bp-list)))
-                                          ;; Set to return location
-                                          loc-or-error))))
-                                nil))))
-                 nil))
-            nil))
+             (if loc-regexp
+                 (if (string-match loc-regexp text)
+                     (let* ((bp-num (match-string bp-num-group text))
+                            (filename (match-string file-group text))
+                            (line-str (match-string line-group text))
+                            (source-str (and text-group (match-string 
text-group text)))
+                            (lineno (string-to-number (or line-str "1")))
+                            )
+                       (cond (callback-loc-fn
+                              (funcall callback-loc-fn text
+                                       filename lineno source-str
+                                       ignore-file-re cmd-mark))
+
+                             ('t
+                              (unless line-str
+                                (message "line number not found -- using 1"))
+                              (if (and filename lineno)
+                                  (let* ((directory
+                                          (cond ((boundp 'starting-directory) 
starting-directory)
+                                                (t nil)))
+                                         (srcbuf)
+                                         (loc-or-error
+                                          (realgud:file-loc-from-line
+                                           filename lineno
+                                           cmd-mark
+                                           source-str
+                                           (string-to-number bp-num)
+                                           ignore-file-re nil directory
+                                           )))
+                                    (if (stringp loc-or-error)
+                                        (progn
+                                          (message loc-or-error)
+                                          ;; set to return nil
+                                          nil)
+                                      ;; else
+                                      (let ((loc loc-or-error)
+                                            (bp-list (realgud-sget 
'cmdbuf-info 'bp-list)))
+
+                                        ;; Add src buffer mentioned and set it 
possibly to go into shortkey mode
+                                        (setq srcbuf (realgud-loc-goto loc))
+                                        (realgud-cmdbuf-add-srcbuf srcbuf 
cmdbuf)
+                                        (realgud-srcbuf-init-or-update srcbuf 
cmdbuf)
+                                        (with-current-buffer srcbuf
+                                          (realgud-short-key-mode-setup
+                                           (or realgud-short-key-on-tracing? 
shortkey-mode?)
+                                           ))
+
+                                        ;; Add breakpoint to list of 
breakpoints
+                                        (with-current-buffer-safe 
(marker-buffer (realgud-loc-marker loc))
+                                                                  
(realgud-bp-add-info loc))
+
+                                        (unless (member loc bp-list)
+                                          (realgud-cmdbuf-info-bp-list= (cons 
loc bp-list)))
+
+                                        ;; Set to return location
+                                        loc-or-error))))
+                              nil))))
+               nil))
+         nil))
       )
     )
-)
+  )
 
 (defun realgud-track-bp-delete(text &optional cmd-mark cmdbuf ignore-file-re)
   "Do regular-expression matching to see if a breakpoint has been
@@ -724,7 +776,18 @@ find a location. non-nil if we can find a location.
        (if loc (or (realgud-track-loc-action loc cmdbuf) 't)
          nil))
       ))
-    )
+  )
+
+(defun realgud:populate-command-hash(key value)
+  "Adds a KEY and VALUE to the realgud-command-name-hash the command name to a 
debugger specific command."
+  (puthash key
+           (replace-regexp-in-string "%.*" "" (car (split-string value " ")))
+           realgud-command-name-hash))
+
+(defun realgud-set-command-name-hash-to-buffer-local (command-hash)
+  "Sets the eval string as a buffer local variable from the COMMAND-HASH."
+  (set (make-local-variable 'realgud-command-name-hash) (make-hash-table :test 
'equal))
+  (maphash 'realgud:populate-command-hash command-hash))
 
 (defun realgud:track-set-debugger (debugger-name)
   "Set debugger name and information associated with that
@@ -746,6 +809,9 @@ we can't find a debugger with that information.`.
       (setq regexp-hash (gethash base-variable-name realgud-pat-hash))
       (setq command-hash (gethash base-variable-name realgud-command-hash))
       )
+
+    (realgud-set-command-name-hash-to-buffer-local command-hash)
+
     (if regexp-hash
        (let* (
               (mode-name (concat " " (capitalize base-variable-name) "-Track"))
diff --git a/packages/realgud/realgud/common/utils.el 
b/packages/realgud/realgud/common/utils.el
index bc2eee0..9a6d8d3 100644
--- a/packages/realgud/realgud/common/utils.el
+++ b/packages/realgud/realgud/common/utils.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2016 Free Software Foundation, Inc
+;; Copyright (C) 2016-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -30,6 +30,16 @@
    (t
     (append (realgud:flatten (car mylist)) (realgud:flatten (cdr mylist))))))
 
+(if (or (< emacs-major-version 24)
+       (and (= emacs-major-version 24) (<= emacs-minor-version 3)))
+    ;; From
+    ;; 
https://stackoverflow.com/questions/12999530/is-there-a-function-that-joins-a-string-into-a-delimited-string
+    (defun realgud:join-string (list joiner)
+      (mapconcat 'identity list joiner))
+  (progn
+    (require 'subr-x)
+    (defalias 'realgud:join-string 'string-join)))
+
 (defun realgud:canonic-major-mode()
   "Return
     - 'eshell if we are in eshell-mode,
diff --git a/packages/realgud/realgud/debugger/bashdb/bashdb.el 
b/packages/realgud/realgud/debugger/bashdb/bashdb.el
index 8ca9d38..ffffbe2 100644
--- a/packages/realgud/realgud/debugger/bashdb/bashdb.el
+++ b/packages/realgud/realgud/debugger/bashdb/bashdb.el
@@ -77,6 +77,7 @@ fringe and marginal icons.
                        opt-cmd-line no-reset)
   )
 
+;;;###autoload
 (defalias 'bashdb 'realgud:bashdb)
 
 (provide-me "realgud-")
diff --git a/packages/realgud/realgud/debugger/bashdb/init.el 
b/packages/realgud/realgud/debugger/bashdb/init.el
index 7eead68..e527b2d 100644
--- a/packages/realgud/realgud/debugger/bashdb/init.el
+++ b/packages/realgud/realgud/debugger/bashdb/init.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015-2016 Free Software Foundation, Inc
+;; Copyright (C) 2015-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -100,6 +100,7 @@ realgud-loc-pat struct")
 (setf (gethash "bashdb" realgud-command-hash) realgud:bashdb-command-hash)
 
 (setf (gethash "clear"  realgud:bashdb-command-hash) "clear %l")
+(setf (gethash "eval"   realgud:bashdb-command-hash) "eval %s")
 (setf (gethash "quit"   realgud:bashdb-command-hash) "quit")
 (setf (gethash "until"  realgud:bashdb-command-hash) "continue %l")
 
diff --git a/packages/realgud/realgud/debugger/gdb/core.el 
b/packages/realgud/realgud/debugger/gdb/core.el
index 0c49a3c..50b8ce3 100644
--- a/packages/realgud/realgud/debugger/gdb/core.el
+++ b/packages/realgud/realgud/debugger/gdb/core.el
@@ -124,7 +124,7 @@ Note that path elements have been expanded via 
`expand-file-name'.
             ((equal "-i" arg)
              (warn "realgud doesn't support the -i option; option ignored")
              (setq args (cddr args)))
-            ;; path-argument ooptions
+            ;; path-argument options
             ((member arg '("-cd" ))
              (setq arg (pop args))
              (nconc debugger-args
@@ -137,8 +137,8 @@ Note that path elements have been expanded via 
`expand-file-name'.
              (nconc debugger-args (car pair))
              (setq args (cadr pair)))
             ;; Anything else must be the script to debug.
-            (t (setq script-name arg)
-               (setq script-args args))
+            (t (setq script-name (realgud:expand-file-name-if-exists arg))
+               (setq script-args (cons script-name (cdr args))))
             )))
        (list debugger-args nil script-args annotate-p)))))
 
diff --git a/packages/realgud/realgud/debugger/gdb/init.el 
b/packages/realgud/realgud/debugger/gdb/init.el
index 92bb5d6..e2c4a80 100644
--- a/packages/realgud/realgud/debugger/gdb/init.el
+++ b/packages/realgud/realgud/debugger/gdb/init.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015-2016 Free Software Foundation, Inc
+;; Copyright (C) 2015-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -132,10 +132,12 @@ realgud-loc-pat struct")
 (setf (gethash "break"    realgud:gdb-command-hash) "break %X:%l")
 (setf (gethash "clear"    realgud:gdb-command-hash) "clear %X:%l")
 (setf (gethash "continue" realgud:gdb-command-hash) "continue")
+(setf (gethash "delete"   realgud:gdb-command-hash) "delete %p")
 (setf (gethash "eval"     realgud:gdb-command-hash) "print %s")
 (setf (gethash "quit"     realgud:gdb-command-hash) "quit")
 (setf (gethash "run"      realgud:gdb-command-hash) "run")
 (setf (gethash "step"     realgud:gdb-command-hash) "step %p")
+
 (setf (gethash "gdb" realgud-command-hash) realgud:gdb-command-hash)
 
 (setf (gethash "gdb" realgud-pat-hash) realgud:gdb-pat-hash)
diff --git a/packages/realgud/realgud/debugger/gub/gub.el 
b/packages/realgud/realgud/debugger/gub/gub.el
index 6a7ad15..5338501 100644
--- a/packages/realgud/realgud/debugger/gub/gub.el
+++ b/packages/realgud/realgud/debugger/gub/gub.el
@@ -80,6 +80,7 @@ marginal icons is reset."
   (realgud-gub-fn opt-command-line no-reset)
   )
 
+;;;###autoload
 (defalias 'gub 'realgud-gub)
 
 (provide-me "realgud-")
diff --git a/packages/realgud/realgud/debugger/ipdb/ipdb.el 
b/packages/realgud/realgud/debugger/ipdb/ipdb.el
index 022acbd..23ba2ad 100644
--- a/packages/realgud/realgud/debugger/ipdb/ipdb.el
+++ b/packages/realgud/realgud/debugger/ipdb/ipdb.el
@@ -117,6 +117,7 @@ fringe and marginal icons.
   )
 
 
+;;;###autoload
 (defalias 'ipdb 'realgud:ipdb)
 
 (provide-me "realgud-")
diff --git a/packages/realgud/realgud/debugger/jdb/jdb.el 
b/packages/realgud/realgud/debugger/jdb/jdb.el
index 575e091..047dd51 100644
--- a/packages/realgud/realgud/debugger/jdb/jdb.el
+++ b/packages/realgud/realgud/debugger/jdb/jdb.el
@@ -102,6 +102,7 @@ fringe and marginal icons.
     )
   )
 
+;;;###autoload
 (defalias 'jdb 'realgud:jdb)
 (provide-me "realgud-")
 
diff --git a/packages/realgud/realgud/debugger/kshdb/init.el 
b/packages/realgud/realgud/debugger/kshdb/init.el
index e6f6f74..ed4281c 100644
--- a/packages/realgud/realgud/debugger/kshdb/init.el
+++ b/packages/realgud/realgud/debugger/kshdb/init.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2010-2011, 2016 Free Software Foundation, Inc
+;; Copyright (C) 2010-2011, 2016-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -121,5 +121,6 @@ realgud-loc-pat struct")
 
 (setf (gethash "kshdb" realgud-pat-hash) realgud:kshdb-pat-hash)
 (setf (gethash "clear" realgud:kshdb-command-hash) "clear %l")
+(setf (gethash "eval" realgud:kshdb-command-hash) "eval %s")
 
 (provide-me "realgud:kshdb-")
diff --git a/packages/realgud/realgud/debugger/kshdb/kshdb.el 
b/packages/realgud/realgud/debugger/kshdb/kshdb.el
index 9355ee3..397d832 100644
--- a/packages/realgud/realgud/debugger/kshdb/kshdb.el
+++ b/packages/realgud/realgud/debugger/kshdb/kshdb.el
@@ -64,6 +64,7 @@ marginal icons is reset."
                         no-reset)
     ))
 
+;;;###autoload
 (defalias 'kshdb 'realgud:kshdb)
 (provide-me "realgud-")
 
diff --git a/packages/realgud/realgud/debugger/pdb/core.el 
b/packages/realgud/realgud/debugger/pdb/core.el
index 16c5dbd..3d80fb9 100644
--- a/packages/realgud/realgud/debugger/pdb/core.el
+++ b/packages/realgud/realgud/debugger/pdb/core.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2014-2016 Free Software Foundation, Inc
+;; Copyright (C) 2014-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -15,6 +15,7 @@
 (require-relative-list '("init") "realgud:pdb-")
 
 
+(declare-function realgud:expand-file-name-if-exists 'realgud-core)
 (declare-function realgud-lang-mode? 'realgud-lang)
 (declare-function realgud-parse-command-arg 'realgud-core)
 (declare-function realgud-query-cmdline 'realgud-core)
@@ -138,7 +139,7 @@ Note that the script name path has been expanded via 
`expand-file-name'.
            (nconc debugger-args (car pair))
            (setq args (cadr pair)))
           ;; Anything else must be the script to debug.
-          (t (setq script-name (expand-file-name arg))
+          (t (setq script-name (realgud:expand-file-name-if-exists arg))
              (setq script-args (cons script-name (cdr args))))
           )))
       (list interpreter-args debugger-args script-args annotate-p))))
diff --git a/packages/realgud/realgud/debugger/pdb/pdb.el 
b/packages/realgud/realgud/debugger/pdb/pdb.el
index 8ddd380..8f1b74d 100644
--- a/packages/realgud/realgud/debugger/pdb/pdb.el
+++ b/packages/realgud/realgud/debugger/pdb/pdb.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015-2016 Free Software Foundation, Inc
+;; Copyright (C) 2015-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -16,6 +16,8 @@
 ;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;  `pdb' Main interface to pdb via Emacs
+
+(require 'python) ; for python-shell-interpreter
 (require 'load-relative)
 (require-relative-list '("core" "track-mode") "realgud:pdb-")
 (require-relative-list '("../../common/run")  "realgud:")
@@ -46,6 +48,8 @@ This should be an executable on your path, or an absolute 
file name."
 (declare-function pdb-query-cmdline    'realgud:pdb-core)
 (declare-function pdb-parse-cmd-args   'realgud:pdb-core)
 (declare-function realgud:run-debugger 'realgud:run)
+(declare-function realgud:run-process  'realgud:core)
+(declare-function realgud:flatten      'realgud-utils)
 
 ;;;###autoload
 (defun realgud:pdb (&optional opt-cmd-line no-reset)
@@ -103,6 +107,32 @@ fringe and marginal icons.
   )
 
 
+;;;###autoload
 (defalias 'pdb 'realgud:pdb)
 
+;;;###autoload
+(defun realgud:pdb-delayed ()
+  "This is like `pdb', but assumes inside the program to be debugged, you
+have a call to the debugger somewhere, e.g. 'from trepan.api import debug; 
debug()'.
+Therefore we invoke python rather than the debugger initially.
+
+"
+  (interactive)
+  (let* ((initial-debugger python-shell-interpreter)
+        (actual-debugger "pdb")
+        (cmd-str (pdb-query-cmdline initial-debugger))
+        (cmd-args (split-string-and-unquote cmd-str))
+        ;; XXX: python gets registered as the interpreter rather than
+        ;; a debugger, and the debugger position (nth 1) is missing:
+        ;; the script-args takes its place.
+        (parsed-args (pdb-parse-cmd-args cmd-args))
+        (script-args (nth 1 parsed-args))
+        (script-name (car script-args))
+        (parsed-cmd-args
+         (cl-remove-if 'nil (realgud:flatten parsed-args))))
+    (realgud:run-process actual-debugger script-name parsed-cmd-args
+                        'realgud:pdb-minibuffer-history)))
+
+(realgud-deferred-invoke-setup "pdb")
+
 (provide-me "realgud-")
diff --git a/packages/realgud/realgud/debugger/perldb/perldb.el 
b/packages/realgud/realgud/debugger/perldb/perldb.el
index 7c4b447..c74ad9f 100644
--- a/packages/realgud/realgud/debugger/perldb/perldb.el
+++ b/packages/realgud/realgud/debugger/perldb/perldb.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2011, 2014-2016 Free Software Foundation, Inc
+;; Copyright (C) 2011, 2014-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -36,7 +36,6 @@
 ;; The end.
 ;;
 
-(declare-function perldb-track-mode (bool))
 (declare-function realgud:perldb-query-cmdline  'realgud:perldb-core)
 (declare-function realgud:perldb-parse-cmd-args 'realgud:perldb-core)
 
diff --git a/packages/realgud/realgud/debugger/rdebug/core.el 
b/packages/realgud/realgud/debugger/rdebug/core.el
index bd66518..18d13f3 100644
--- a/packages/realgud/realgud/debugger/rdebug/core.el
+++ b/packages/realgud/realgud/debugger/rdebug/core.el
@@ -14,6 +14,7 @@
                       "realgud-")
 (require-relative-list '("init") "realgud-rdebug-")
 
+(declare-function realgud:expand-file-name-if-exists 'realgud-core)
 (declare-function realgud-lang-mode? 'realgud-lang)
 (declare-function realgud-parse-command-arg  'realgud-core)
 (declare-function realgud-query-cmdline      'realgud-core)
@@ -131,8 +132,8 @@ NOTE: the above should have each item listed in quotes.
            (nconc debugger-args (car pair))
            (setq args (cadr pair)))
           ;; Anything else must be the script to debug.
-          (t (setq script-name arg)
-             (setq script-args args))
+          (t (setq script-name (realgud:expand-file-name-if-exists arg))
+             (setq script-args (cons script-name (cdr args))))
           )))
       (list interpreter-args debugger-args script-args annotate-p))))
 
diff --git a/packages/realgud/realgud/debugger/rdebug/rdebug.el 
b/packages/realgud/realgud/debugger/rdebug/rdebug.el
index 253f015..3abd307 100644
--- a/packages/realgud/realgud/debugger/rdebug/rdebug.el
+++ b/packages/realgud/realgud/debugger/rdebug/rdebug.el
@@ -119,5 +119,6 @@ fringe and marginal icons.
   )
 
 
+;;;###autoload
 (defalias 'rdebug 'realgud:rdebug)
 (provide-me "realgud-")
diff --git a/packages/realgud/realgud/debugger/remake/core.el 
b/packages/realgud/realgud/debugger/remake/core.el
index 7f2772c..632363c 100644
--- a/packages/realgud/realgud/debugger/remake/core.el
+++ b/packages/realgud/realgud/debugger/remake/core.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2011, 2014-2016 Free Software Foundation, Inc
+;; Copyright (C) 2011, 2014-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -89,16 +89,6 @@ we might return:
       (while args
        (let ((arg (pop args)))
          (cond
-          ;; ;; Annotation or emacs option with level number.
-          ;; ((or (member arg '("--annotate" "-A"))
-          ;;   (equal arg "--emacs"))
-          ;;  (setq annotate-p t)
-          ;;  (nconc debugger-args (list (pop args))))
-          ;; ;; Combined annotation and level option.
-          ;; ((string-match "^--annotate=[0-9]" arg)
-          ;;  (nconc debugger-args (list (pop args)) )
-          ;;  (setq annotate-p t))
-
           ((member arg '("--file" "--makefile" "-f"))
            (setq remake-args (nconc remake-args (list arg)))
            (setq makefile-name (realgud:expand-file-name-if-exists
diff --git a/packages/realgud/realgud/debugger/remake/remake.el 
b/packages/realgud/realgud/debugger/remake/remake.el
index 2b75f72..e07cb1b 100644
--- a/packages/realgud/realgud/debugger/remake/remake.el
+++ b/packages/realgud/realgud/debugger/remake/remake.el
@@ -83,6 +83,7 @@ This should be an executable on your path, or an absolute 
file name."
   (realgud:remake-run-debugger opt-cmd-line no-reset)
   )
 
+;;;###autoload
 (defalias 'remake 'realgud:remake)
 
 (provide-me "realgud-")
diff --git a/packages/realgud/realgud/debugger/trepan.pl/init.el 
b/packages/realgud/realgud/debugger/trepan.pl/init.el
index 2865180..f3bf383 100644
--- a/packages/realgud/realgud/debugger/trepan.pl/init.el
+++ b/packages/realgud/realgud/debugger/trepan.pl/init.el
@@ -269,6 +269,7 @@ backtrace listing.")
   the trepanpl command to use, like 'quit!'")
 
 (setf (gethash "break"  realgud:trepanpl-command-hash) "break %x %l")
+(setf (gethash "eval"   realgud:trepanpl-command-hash) "eval %s")
 (setf (gethash "quit"   realgud:trepanpl-command-hash) "quit!")
 (setf (gethash "until"   realgud:trepanpl-command-hash) "continue %l")
 (setf (gethash realgud:trepanpl-debugger-name
diff --git a/packages/realgud/realgud/debugger/trepan.pl/trepanpl.el 
b/packages/realgud/realgud/debugger/trepan.pl/trepanpl.el
index 0b4ac32..689c03d 100644
--- a/packages/realgud/realgud/debugger/trepan.pl/trepanpl.el
+++ b/packages/realgud/realgud/debugger/trepan.pl/trepanpl.el
@@ -68,6 +68,7 @@ fringe and marginal icons.
                        'realgud:trepanpl-minibuffer-history
                        opt-cmd-line no-reset))
 
+;;;###autoload
 (defalias 'trepan.pl 'realgud:trepan.pl)
 (provide-me "realgud-")
 ;;; trepanpl.el ends here
diff --git a/packages/realgud/realgud/debugger/trepan/trepan.el 
b/packages/realgud/realgud/debugger/trepan/trepan.el
index 41c51b1..d98c129 100644
--- a/packages/realgud/realgud/debugger/trepan/trepan.el
+++ b/packages/realgud/realgud/debugger/trepan/trepan.el
@@ -66,6 +66,7 @@ fringe and marginal icons.
                        opt-cmd-line no-reset)
   )
 
+;;;###autoload
 (defalias 'trepan 'realgud:trepan)
 (provide-me "realgud-")
 ;;; trepan.el ends here
diff --git a/packages/realgud/realgud/debugger/trepan2/init.el 
b/packages/realgud/realgud/debugger/trepan2/init.el
index 7d05ed3..62221e1 100644
--- a/packages/realgud/realgud/debugger/trepan2/init.el
+++ b/packages/realgud/realgud/debugger/trepan2/init.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2010-2012, 2014-2016 Free Software Foundation, Inc
+;; Copyright (C) 2010-2012, 2014-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -41,9 +41,14 @@ realgud-loc-pat struct")
 (setf (gethash "loc" realgud:trepan2-pat-hash)
       realgud:python-trepan-loc-pat)
 
+;; Regular expression that describes a trepan2 prompt.
+;; Note: the prompt in nested debugging
+;; For example:
+;; (trepan2)
+;; ((trepan2))
 (setf (gethash "prompt" realgud:trepan2-pat-hash)
       (make-realgud-loc-pat
-       :regexp   "^(trepan2) "
+       :regexp   "^(+trepan2)+ "
        ))
 
 ;; Regular expression that describes a trepan2 backtrace line.
@@ -102,6 +107,7 @@ realgud-loc-pat struct")
   "Hash key is command name like 'shell' and the value is
   the trepan2 command to use, like 'python'")
 
+(setf (gethash "eval"  realgud:trepan2-command-hash) "eval %s")
 (setf (gethash "shell" realgud:trepan2-command-hash) "python")
 (setf (gethash "until" realgud:trepan2-command-hash) "continue %l")
 
diff --git a/packages/realgud/realgud/debugger/trepan2/trepan2.el 
b/packages/realgud/realgud/debugger/trepan2/trepan2.el
index 73415cd..3b12bb3 100644
--- a/packages/realgud/realgud/debugger/trepan2/trepan2.el
+++ b/packages/realgud/realgud/debugger/trepan2/trepan2.el
@@ -9,6 +9,7 @@
 
 ;; Main interface to trepan2 via Emacs
 
+(require 'python) ; for python-shell-interpreter
 (require 'load-relative)
 (require-relative-list '("../../common/helper") "realgud-")
 (require-relative-list '("../../common/run")    "realgud:")
@@ -26,6 +27,8 @@
 (declare-function trepan2-parse-cmd-args 'realgud:trepan2-core)
 (declare-function trepan2-track-mode     'realgud:pydbgr-track-mode)
 (declare-function realgud:run-debugger   'realgud:run)
+(declare-function realgud:run-process  'realgud:core)
+(declare-function realgud:flatten      'realgud-utils)
 
 ;; -------------------------------------------------------------------
 ;; User-definable variables
@@ -45,6 +48,9 @@ This should be an executable on your path, or an absolute 
file name."
 ;;
 
 ;;;###autoload
+(defalias 'trepan2 'realgud:trepan2)
+
+;;;###autoload
 (defun realgud:trepan2 (&optional opt-cmd-line no-reset)
   "Invoke the trepan2 Python debugger and start the Emacs user interface.
 
@@ -69,16 +75,15 @@ fringe and marginal icons.
                        opt-cmd-line no-reset)
   )
 
-(defalias 'trepan2 'realgud:trepan2)
-
 ;;;###autoload
 (defun realgud:trepan2-delayed ()
   "This is like `trepan2', but assumes inside the program to be debugged, you
 have a call to the debugger somewhere, e.g. 'from trepan.api import debug; 
debug()'.
 Therefore we invoke python rather than the debugger initially.
+
 "
   (interactive)
-  (let* ((initial-debugger "python")
+  (let* ((initial-debugger python-shell-interpreter)
         (actual-debugger "trepan2")
         (cmd-str (trepan2-query-cmdline initial-debugger))
         (cmd-args (split-string-and-unquote cmd-str))
@@ -93,6 +98,6 @@ Therefore we invoke python rather than the debugger initially.
     (realgud:run-process actual-debugger script-name parsed-cmd-args
                         'realgud:trepan2-minibuffer-history)))
 
-(defalias 'trepan2-delayed 'realgud:trepan2-delayed)
+(realgud-deferred-invoke-setup "trepan2")
 
 (provide-me "realgud-")
diff --git a/packages/realgud/realgud/debugger/trepan3k/core.el 
b/packages/realgud/realgud/debugger/trepan3k/core.el
index 215949f..d7f14f8 100644
--- a/packages/realgud/realgud/debugger/trepan3k/core.el
+++ b/packages/realgud/realgud/debugger/trepan3k/core.el
@@ -155,7 +155,7 @@ NOTE: the above should have each item listed in quotes.
 
 (defun trepan3k-suggest-invocation (debugger-name)
   "Suggest a trepan3k command invocation via `realgud-suggest-invocaton'"
-  (realgud-suggest-invocation (or debugger-name realgud:trepan2-command-name)
+  (realgud-suggest-invocation (or debugger-name realgud:trepan3k-command-name)
                              realgud:trepan3k-minibuffer-history
                              "python" "\\.py"
                              realgud:trepan3k-command-name))
diff --git a/packages/realgud/realgud/debugger/trepan3k/init.el 
b/packages/realgud/realgud/debugger/trepan3k/init.el
index 6749ed3..ed4740d 100644
--- a/packages/realgud/realgud/debugger/trepan3k/init.el
+++ b/packages/realgud/realgud/debugger/trepan3k/init.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2010-2016 Free Software Foundation, Inc
+;; Copyright (C) 2010-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -47,9 +47,14 @@ realgud-loc-pat struct")
 (setf (gethash "loc" realgud:trepan3k-pat-hash)
       realgud:python-trepan-loc-pat)
 
+;; Regular expression that describes a trepan3k prompt.
+;; Note: the prompt in nested debugging
+;; For example:
+;; (trepan3)
+;; ((trepan3k))
 (setf (gethash "prompt" realgud:trepan3k-pat-hash)
       (make-realgud-loc-pat
-       :regexp   "^(trepan3k) "
+       :regexp   "^(+trepan3k+) "
        ))
 
 ;; realgud-loc-pat that describes a trepan3k backtrace line.
@@ -108,6 +113,7 @@ realgud-loc-pat struct")
   "Hash key is command name like 'shell' and the value is
   the trepan3k command to use, like 'python'")
 
+(setf (gethash "eval"  realgud:trepan3k-command-hash) "eval %s")
 (setf (gethash "shell" realgud:trepan3k-command-hash) "python")
 (setf (gethash "until" realgud-command-hash) "continue %l")
 
diff --git a/packages/realgud/realgud/debugger/trepan3k/trepan3k.el 
b/packages/realgud/realgud/debugger/trepan3k/trepan3k.el
index 6d861f3..2b473e4 100644
--- a/packages/realgud/realgud/debugger/trepan3k/trepan3k.el
+++ b/packages/realgud/realgud/debugger/trepan3k/trepan3k.el
@@ -7,6 +7,7 @@
 ;; the Free Software Foundation, either version 3 of the License, or
 ;; (at your option) any later version.
 
+(require 'python) ; for python-shell-interpreter
 (require 'load-relative)
 (require-relative-list '("../../common/helper") "realgud-")
 (require-relative-list '("../../common/run")    "realgud:")
@@ -23,6 +24,8 @@
 (declare-function trepan3k-query-cmdline  'realgud:trepan3k-core)
 (declare-function trepan3k-parse-cmd-args 'realgud:trepan3k-core)
 (declare-function realgud:run-debugger    'realgud:run)
+(declare-function realgud:run-process     'realgud:core)
+(declare-function realgud:flatten         'realgud-utils)
 
 ;; -------------------------------------------------------------------
 ;; User-definable variables
@@ -48,7 +51,7 @@ This should be an executable on your path, or an absolute 
file name."
 
 String OPT-CMD-LINE is treated like a shell string; arguments are
 tokenized by `split-string-and-unquote'. The tokenized string is
-parsed by `trepan2-parse-cmd-args' and path elements found by that
+parsed by `trepan3k-parse-cmd-args' and path elements found by that
 are expanded using `realgud:expand-file-name-if-exists'.
 
 Normally, command buffers are reused when the same debugger is
@@ -67,6 +70,7 @@ fringe and marginal icons.
                        opt-cmd-line no-reset)
   )
 
+;;;###autoload
 (defalias 'trepan3k 'realgud:trepan3k)
 
 ;;;###autoload
@@ -76,9 +80,9 @@ have a call to the debugger somewhere, e.g. 'from trepan.api 
import debug; debug
 Therefore we invoke python rather than the debugger initially.
 "
   (interactive)
-  (let* ((initial-debugger "python")
+  (let* ((initial-debugger python-shell-interpreter)
         (actual-debugger "trepan3k")
-        (cmd-str (trepan2-query-cmdline initial-debugger))
+        (cmd-str (trepan3k-query-cmdline initial-debugger))
         (cmd-args (split-string-and-unquote cmd-str))
         ;; XXX: python gets registered as the interpreter rather than
         ;; a debugger, and the debugger position (nth 1) is missing:
@@ -89,8 +93,8 @@ Therefore we invoke python rather than the debugger initially.
         (parsed-cmd-args
          (cl-remove-if 'nil (realgud:flatten parsed-args))))
     (realgud:run-process actual-debugger script-name parsed-cmd-args
-                        'realgud:trepan3k-minibuffer-history)))
+                        'realgud:trepan3k-deferred-minibuffer-history)))
 
-(defalias 'trepan3k-delayed 'realgud:trepan3k-delayed)
+(realgud-deferred-invoke-setup "trepan3k")
 
 (provide-me "realgud-")
diff --git a/packages/realgud/realgud/debugger/zshdb/init.el 
b/packages/realgud/realgud/debugger/zshdb/init.el
index 90af96b..3fac621 100644
--- a/packages/realgud/realgud/debugger/zshdb/init.el
+++ b/packages/realgud/realgud/debugger/zshdb/init.el
@@ -96,6 +96,7 @@ realgud-loc-pat struct")
 (setf (gethash "zshdb"  realgud-command-hash) realgud:zshdb-command-hash)
 
 (setf (gethash "clear"  realgud:zshdb-command-hash) "clear %l")
+(setf (gethash "eval"   realgud:zshdb-command-hash) "eval %s")
 (setf (gethash "quit"   realgud:zshdb-command-hash) "quit")
 (setf (gethash "until"  realgud:zshdb-command-hash) "continue %l")
 
diff --git a/packages/realgud/realgud/debugger/zshdb/zshdb.el 
b/packages/realgud/realgud/debugger/zshdb/zshdb.el
index 9f3a6b6..362ed39 100644
--- a/packages/realgud/realgud/debugger/zshdb/zshdb.el
+++ b/packages/realgud/realgud/debugger/zshdb/zshdb.el
@@ -83,6 +83,7 @@ fringe and marginal icons.
     ;;   )
     ))
 
+;;;###autoload
 (defalias 'zshdb 'realgud:zshdb)
 
 (provide-me "realgud-")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]