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

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

[elpa] master 2068170 195/215: Merge branch 'master' into enable-disable


From: Rocky Bernstein
Subject: [elpa] master 2068170 195/215: Merge branch 'master' into enable-disable
Date: Sat, 30 Jul 2016 14:49:05 +0000 (UTC)

branch: master
commit 2068170cf1fb14f7ed587bb5490b0cdf2ac6c861
Merge: bc3fa20 bc1f4ba
Author: rocky <address@hidden>
Commit: rocky <address@hidden>

    Merge branch 'master' into enable-disable
---
 .gitignore                         |    1 +
 Cask                               |    7 +
 INSTALL                            |    2 +-
 README.md                          |  115 +++-
 THANKS                             |    6 +
 etc/realgud-logo-square.png        |  Bin 0 -> 8702 bytes
 etc/realgud-logo.png               |  Bin 0 -> 10806 bytes
 etc/realgud-logo.svg               |  106 +++
 etc/realgud.png                    |  Bin 0 -> 100651 bytes
 etc/screenshot.el                  |   84 +++
 realgud-recursive-autoloads.el     | 1300 ++++++++++++++++++++++++++++++++++++
 realgud.el                         |   62 +-
 realgud/common/bp.el               |   53 +-
 realgud/common/buffer/source.el    |   45 +-
 realgud/common/cmds.el             |  288 +++++---
 realgud/common/file.el             |   28 +-
 realgud/common/follow.el           |    2 +-
 realgud/common/fringe-utils.py     |    3 +-
 realgud/common/fringe.el           |   14 +-
 realgud/common/run.el              |    6 +-
 realgud/common/send.el             |   28 +-
 realgud/common/shortkey.el         |  109 ++-
 realgud/common/track.el            |  113 ++--
 realgud/debugger/bashdb/init.el    |    3 +
 realgud/debugger/gdb/init.el       |   16 +-
 realgud/debugger/ipdb/core.el      |   92 ++-
 realgud/debugger/ipdb/init.el      |    5 +-
 realgud/debugger/ipdb/ipdb.el      |    2 +-
 realgud/debugger/nodejs/init.el    |    5 +-
 realgud/debugger/pdb/core.el       |   23 +-
 realgud/debugger/pdb/init.el       |    3 +-
 realgud/debugger/pdb/pdb.el        |    4 +-
 realgud/debugger/perldb/init.el    |   25 +-
 realgud/debugger/remake/init.el    |   18 +-
 realgud/debugger/trepan.pl/init.el |    3 +
 realgud/debugger/trepanjs/init.el  |    6 +-
 realgud/debugger/zshdb/init.el     |    5 +-
 realgud/lang/posix-shell.el        |    2 +-
 realgud/lang/python.el             |    2 +-
 test/Makefile.am                   |    4 +-
 test/test-regexp-bashdb.el         |    2 +-
 test/test-regexp-zshdb.el          |    8 +-
 42 files changed, 2183 insertions(+), 417 deletions(-)

diff --git a/.gitignore b/.gitignore
index c3d7bcd..9b78308 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,3 +22,4 @@ Makefile.in
 elc-stamp
 elc-temp
 script
+/realgud-autoloads.el
diff --git a/Cask b/Cask
index dcfdc80..8ffc929 100644
--- a/Cask
+++ b/Cask
@@ -2,3 +2,10 @@
 (source melpa)
 
 (package-file "realgud.el")
+
+(depends-on "load-relative")
+(depends-on "loc-changes")
+(depends-on "list-utils")
+
+(development
+  (depends-on "test-simple"))
diff --git a/INSTALL b/INSTALL
index 8101860..0ea147f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -18,7 +18,7 @@ the package. However on some systems you may need root 
privileges, you
 may have to use `sudo make install' or perhaps `su root' beforehand.
 
 
-   See http://wiki.github.com/rocky/emacs-dbgr/how-to-install for more
+   See http://wiki.github.com/realgud/realgud/how-to-install for more
 detail as to how to install this package.
 
 Generic Information
diff --git a/README.md b/README.md
index 5155738..4cc06f1 100644
--- a/README.md
+++ b/README.md
@@ -1,23 +1,110 @@
 [![Build Status][travis-image]][travis-url]
-[![MELPA Stable][melpa-image]][melpa-stable]
+[![MELPA][melpa-image]][melpa]
+[![MELPA Stable][melpa-stable-image]][melpa-stable]
 
-A modular GNU Emacs front-end for interacting with external debuggers.
+![RealGUD logo](etc/realgud-logo.png)
 
-See https://github.com/rocky/emacs-dbgr/wiki/Debuggers-Supported for a list of 
debuggers supported.
+**A modular GNU Emacs front-end for interacting with external debuggers**, 
brought to you by **Rocky Bernstein** 
(address@hidden(https://github.com/rocky)) and **Clément Pit-Claudel** 
(address@hidden(https://github.com/cpitclaudel)).
 
-A debugger can be run out of a *comint* process buffer, or you can use a
-`M-x realgud-track-mode` inside an existing 
[shell](http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell.html), 
or [eshell](https://www.gnu.org/software/emacs/manual/html_mono/eshell.html) 
buffer.
+![RealGUD screenshot](etc/realgud.png)
 
-To install, you'll need a couple of other Emacs packages installed. See
-[the installation 
instructions](http://wiki.github.com/rocky/emacs-dbgr/how-to-install)
-for details.
+# Setup
 
-To get started using, see the
-[notes on using realgud](http://wiki.github.com/rocky/emacs-dbgr/how-to-use).
+You can install RealGUD from [MELPA](http://melpa.org/#/getting-started), a 
repository of Emacs packages. If you don't have MELPA set up, add the following 
to your `.emacs` and restart Emacs:
 
-*Author:*  Rocky Bernstein <address@hidden>
+```elisp
+(require 'package)
+(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/";) t)
+(package-initialize)
+```
 
-[travis-image]: 
https://img.shields.io/travis/rocky/emacs-dbgr.svg?style=flat-square
-[travis-url]: https://travis-ci.org/rocky/emacs-dbgr
-[melpa-image]: http://stable.melpa.org/packages/realgud-badge.svg
+You can then run the following commands to install RealGUD:
+
+```
+M-x package-refresh-contents RET      (to refresh your package database)
+M-x package-install RET realgud RET   (to install and compile `realgud` and 
its dependencies)
+```
+
+Alternatively, you can install RealGUD using 
[el-get](http://www.emacswiki.org/emacs/el-get) or from source directly. See 
[this article](https://github.com/realgud/realgud/wiki/How-to-Install) in our 
wiki for more info.
+
+# Quick start
+
+Use `M-x load-library RET realgud RET` to load RealGUD.
+
+## Launching the debugger
+
+Open a source file, then use `M-x realgud:<debugger-name>` to start your 
favorite debugger (for example, you can use `M-x realgud:pdb` to launch PDB, a 
Python debugger).  RealGUD opens two windows: the *command window* (showing the 
debugger's REPL), and the *source window*, showing your code (with some 
debuggers, such as `realgud:gdb`, this window does not appear until you type 
`start` in the *command window*).  An solid arrow `▶` indicates the current 
line in the source window.  Grayed  [...]
+
+## Using the debugger
+
+All usual debugger commands work in the command window: for example, you can 
type `n RET` in the command window to step forward one source line. But 
RealGUD's power lies in the source window: in it, most single keys correspond 
to a debugger action. For example, you can press `n` in the source window to 
step forward.
+
+## Source window commands
+
+Here is a quick rundown of the most useful commands. “🐁” indicates mouse 
commands (commands that can be run by clicking on a variable or in the 
margins). Many of the commands are accessible from the tool bar 
(`tool-bar-mode`) and the menu (`menu-bar-mode`).
+
+* **Motion commands**
+
+    | Command                                       | Action                   
                     |
+    | --------------------------------------------- | 
--------------------------------------------- |
+    | <kbd>n</kbd>, <kbd>F10</kbd>                  | Next (aka “step over”, 
“step through”)        |
+    | <kbd>s</kbd>, <kbd>SPC</kbd>, <kbd>F11</kbd>  | Step (aka “step into”)   
                     |
+    | <kbd>f</kbd>, <kbd>S-F11</kbd>                | Finish (aka “step out”, 
“return”)             |
+    | <kbd>c</kbd>, <kbd>F5</kbd>                   | Continue (run to next 
break point)            |
+
+* **Using breakpoints**
+
+    | Command                                       | Action                   
                     |
+    | --------------------------------------------- | 
--------------------------------------------- |
+    | <kbd>b</kbd>, <kbd>F9</kbd>                   | Set breakpoint 🐁         
                     |
+    | <kbd>D</kbd>                                  | Clear breakpoint 🐁 (by 
number)                |
+
+* **Inspecting variables**
+
+    | Command                                       | Action                   
                     |
+    | --------------------------------------------- | 
--------------------------------------------- |
+    | <kbd>mouse-2</kbd> (middle button)            | Inspect variable under 
cursor (in tooltip) 🐁  |
+    | <kbd>e</kbd>                                  | Evaluate expression      
                     |
+
+* **Control commands**
+
+    | Command                                       | Action                   
                     |
+    | --------------------------------------------- | 
--------------------------------------------- |
+    | <kbd>q</kbd>, <kbd>S-F5</kbd>                 | Quit                     
                     |
+    | <kbd>R</kbd>, <kbd>r</kbd>                    | Run (aka “restart”)      
                     |
+    | <kbd>S</kbd>                                  | Go to command window     
                     |
+
+# Supported debuggers
+
+RealGUD supports [many external 
debuggers](https://github.com/realgud/realgud/wiki/Debuggers-Supported).  Help 
us [support even 
more](https://github.com/realgud/realgud/wiki/How-to-add-a-new-debugger)!
+
+# Advanced topics
+
+## Extra commands
+
+“⚙” indicates a work-in-progress (contributions welcome!)
+
+| Command                                      | Action                        
                 |
+| -------------------------------------------- | 
---------------------------------------------- |
+| <kbd>U</kbd>                                 | Until (run to a greater 
source line)           |
+| <kbd>u</kbd>, <kbd>&gt;</kbd>                | Up stack (move to older stack 
frame)           |
+| <kbd>d</kbd>, <kbd>&lt;</kbd>                | Down stack (move to younger 
stack frame)       |
+| <kbd>X</kbd>                                 | Clear breakpoint (by line)    
                 |
+| <kbd>j</kbd>                                 | Jump to current line ⚙        
                 |
+| <kbd>-</kbd>                                 | Disable breakpoint ⚙          
                 |
+| <kbd>+</kbd>                                 | Enable breakpoint ⚙           
                 |
+
+## Tracking an existing debugger process
+
+Use `M-x realgud-track-mode` inside an existing 
[shell](http://www.gnu.org/software/emacs/manual/html_node/emacs/Shell.html), 
or [eshell](https://www.gnu.org/software/emacs/manual/html_mono/eshell.html) 
buffer to track an already-running debugger process.
+
+### RealGUD's wiki
+
+Browse the [wiki](http://wiki.github.com/realgud/realgud/) for more 
information about [setting 
up](http://wiki.github.com/realgud/realgud/how-to-install), [using 
realgud](http://wiki.github.com/realgud/realgud/how-to-use), [exploring 
features](https://github.com/realgud/realgud/wiki/Features), and lots more.
+
+[travis-image]: https://api.travis-ci.org/realgud/realgud.svg?branch=master
+[travis-url]: https://travis-ci.org/realgud/realgud
+[melpa-stable-image]: http://stable.melpa.org/packages/realgud-badge.svg
 [melpa-stable]: http://stable.melpa.org/#/realgud
+[melpa-image]: http://melpa.org/packages/realgud-badge.svg
+[melpa]: http://melpa.org/#/realgud
diff --git a/THANKS b/THANKS
index bacb71c..3bdda08 100644
--- a/THANKS
+++ b/THANKS
@@ -9,3 +9,9 @@ NYC Emacs Meetup and Nicolas Dudebout - straightening me out on 
set-keymap-paren
 Kilian Kilger - gdb fixes
 
 Sean Farley - ipdb support
+
+Clément Pit-Claudel - improvements, bug fixes, and emacs compliance too varied 
to categorize.
+                      See git commits for details
+
+
+amelio-vazquez-reina - documentation
diff --git a/etc/realgud-logo-square.png b/etc/realgud-logo-square.png
new file mode 100644
index 0000000..d6a5d40
Binary files /dev/null and b/etc/realgud-logo-square.png differ
diff --git a/etc/realgud-logo.png b/etc/realgud-logo.png
new file mode 100644
index 0000000..c1349ce
Binary files /dev/null and b/etc/realgud-logo.png differ
diff --git a/etc/realgud-logo.svg b/etc/realgud-logo.svg
new file mode 100644
index 0000000..99ad3fc
--- /dev/null
+++ b/etc/realgud-logo.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   xml:space="preserve"
+   id="svg4768"
+   viewBox="0.171 0.201 2880.0002 640"
+   height="60"
+   width="270"
+   version="1.0"
+   inkscape:version="0.91 r"
+   sodipodi:docname="realgud.svg"
+   inkscape:export-filename="/home/clement/desktop/realgud.png"
+   inkscape:export-xdpi="180"
+   inkscape:export-ydpi="180"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1030"
+     id="namedview72"
+     showgrid="false"
+     inkscape:zoom="4"
+     inkscape:cx="115.47042"
+     inkscape:cy="38.714008"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg4768"
+     fit-margin-top="3"
+     fit-margin-left="3"
+     fit-margin-right="3"
+     fit-margin-bottom="3" />
+<!-- Parts of this image extracted from GNU Emacs' icon (the white wave-like 
shape) -->
+<defs
+     id="defs4770" /><rect
+     style="display:none;fill:none"
+     id="rect4772"
+     y="101.52715"
+     x="-665.96661"
+     height="512"
+     width="512" /><g
+     style="display:none"
+     id="g4788"
+     transform="translate(-666.13763,101.32614)"><g
+       style="display:inline"
+       id="g4790" /></g><g
+     style="display:none"
+     id="g4806"
+     transform="translate(-666.13763,101.32614)"><g
+       style="display:inline"
+       id="g4808"><path
+         style="display:none;fill:#050505"
+         id="path4810"
+         d="m 349.098,256.651 c -0.265,-0.254 37.637,27.605 39.421,25.012 
6.362,-9.252 82.046,-93.137 84.784,-116.236 0.242,-2.003 -0.516,-4.096 
-0.516,-4.096 0,0 -1.19,-0.144 -6.325,-4.314 -2.692,-2.192 -5.483,-4.581 
-5.483,-4.581 -16.054,0.998 -57.885,41.559 -111.062,103.568"
+         inkscape:connector-curvature="0" /></g></g><text
+     xml:space="preserve"
+     
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:688.39953613px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu
 
Medium';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-25.458374"
+     y="569.73444"
+     id="text3492"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan3494"
+       x="-25.458374"
+       y="569.73444"
+       
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu
 Medium';fill:#000000">R</tspan></text>
+<g
+     id="g3515"
+     transform="matrix(0.89624184,0,0,0.89624184,406.60585,174.82476)"
+     inkscape:export-xdpi="349.85999"
+     inkscape:export-ydpi="349.85999"><path
+       
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:13.33816814;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4235-9"
+       d="m 501.09769,256.201 c 0,136.65118 -109.6574,247.42885 
-244.92663,247.42885 -135.26924,0 -244.92675,-110.77767 -244.92675,-247.42886 
0,-136.6512 109.65751,-247.4288435 244.92675,-247.4288435 135.26923,0 
244.92663,110.7776435 244.92663,247.4288435 z"
+       inkscape:connector-curvature="0" /><path
+       
style="opacity:1;fill:#a40000;fill-opacity:1;stroke:#ffffff;stroke-width:13.33816814;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4235"
+       d="m 489.28614,256.20099 c 0,130.06122 -104.36919,235.49665 
-233.11509,235.49665 -128.7459,0 -233.1152,-105.43543 -233.1152,-235.49665 
0,-130.06122 104.3693,-235.496645 233.1152,-235.496645 128.7459,0 
233.11509,105.435425 233.11509,235.496645 z"
+       inkscape:connector-curvature="0" /><path
+       
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4237"
+       d="m 175.0003,422.31057 c 0,0 19.7385,1.39634 45.1312,-0.84159 
10.2834,-0.9063 49.3267,-4.74128 78.5169,-11.14289 0,0 35.5899,-7.61669 
54.6301,-14.63335 19.9225,-7.34185 30.7636,-13.57304 35.6433,-22.40243 
-0.2128,-1.80907 1.5024,-8.22438 -7.685,-12.07788 -23.4887,-9.85199 
-50.73,-8.06998 -104.6338,-9.21285 -59.7772,-2.05391 -79.6627,-12.05971 
-90.2556,-20.11838 -10.1579,-8.17519 -5.05,-30.79254 38.4742,-50.71499 
21.9244,-10.60898 107.8705,-30.18698 107.8705,-30.18698 -28.9451,-14 [...]
+       inkscape:connector-curvature="0" /></g><text
+     xml:space="preserve"
+     
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:688.3994751px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu
 
Medium';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="860.70557"
+     y="569.73444"
+     id="text3492-3"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan3494-6"
+       x="860.70557"
+       y="569.73444"
+       
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu
 Medium';fill:#000000">alGUD</tspan></text>
+</svg>
diff --git a/etc/realgud.png b/etc/realgud.png
new file mode 100644
index 0000000..6e8c4e9
Binary files /dev/null and b/etc/realgud.png differ
diff --git a/etc/screenshot.el b/etc/screenshot.el
new file mode 100644
index 0000000..e43ee88
--- /dev/null
+++ b/etc/screenshot.el
@@ -0,0 +1,84 @@
+;;; Prepare a RealGUD screenshot
+
+;; Run ‘cask exec emacs -Q -L . -l etc/screenshot.el’ from the project's root 
to
+;; build a screenshot.
+
+(defvar my/fringe-width 12)
+
+(defun my/cleanup ()
+  (dolist (buffer (buffer-list))
+    (kill-buffer buffer)))
+
+(defun my/prepare-UI ()
+  "Prepare UI for taking a screenshot."
+  (ido-mode)
+  (tool-bar-mode)
+  (menu-bar-mode -1)
+  (scroll-bar-mode -1)
+  (column-number-mode)
+  (fringe-mode (cons my/fringe-width my/fringe-width))
+  (blink-cursor-mode -1)
+  (setq-default cursor-type 'bar
+                split-width-threshold 80
+                truncate-partial-width-windows t
+                frame-title-format (format "RealGUD:PDB @ Emacs %s" 
emacs-version)
+                x-gtk-use-system-tooltips nil)
+  (load-theme 'tango t)
+  ;; (set-face-attribute 'tooltip nil :height 60)
+  (set-face-attribute 'match nil :background "yellow1")
+  (set-face-attribute 'default nil :family "Ubuntu Mono" :height 90)
+  (set-face-attribute 'mode-line nil :foreground "gray60" :background "black")
+  (set-face-attribute 'mode-line-inactive nil :foreground "gray60" :background 
"#404045")
+  (set-face-attribute 'mode-line-buffer-id nil :foreground "#eab700")
+  (set-fontset-font t 'unicode "Ubuntu Mono")
+  (set-frame-size nil 140 20)
+  (redisplay t))
+
+(defun my/load-RealGUD ()
+  "Load RealGUD."
+  (package-initialize)
+  (load-library "realgud")
+  (setq realgud-bp-fringe-indicator-style
+        '(realgud-bp-filled . realgud-bp-hollow)))
+
+(defvar my/source-buffer nil)
+(defvar my/command-buffer nil)
+
+(defun my/load-example ()
+  "Prepare an example file and start the debugger."
+  (save-window-excursion
+    (find-file "realgud/common/fringe-utils.py")
+    (setq my/source-buffer (current-buffer))
+    (hl-line-mode 1)
+    (realgud:pdb (format "python3 -m pdb %S" buffer-file-name))
+    (sit-for 3) ;; Give PDB some time to start
+    (setq my/command-buffer (current-buffer))
+    (font-lock-add-keywords ;; Hide default directory
+     nil `((,(regexp-quote default-directory) 0 '(face nil display "<demo>/") 
append)) t)
+    (font-lock-mode 1))
+  (switch-to-buffer my/source-buffer)
+  (set-window-buffer (split-window-horizontally) my/command-buffer))
+
+(defun my/prepare-screenshot-1 ()
+  "Prepare for taking a screenshot."
+  (my/prepare-UI)
+  (my/load-RealGUD)
+  (my/load-example)
+  (with-current-buffer my/source-buffer
+    (dolist (line '(4 12 17))
+      (goto-char (point-min))
+      (forward-line (1- line))
+      (realgud:cmd-break nil)
+      (sit-for 1)))
+  (goto-char (point-min))
+  (recenter-top-bottom 0)
+  (realgud:cmd-next)
+  (sit-for 1)
+  (realgud:cmd-continue)
+  (sit-for 1)
+  (hl-line-highlight)
+  (set-window-start (get-buffer-window my/command-buffer) 1)
+  (message nil))
+
+(print default-directory)
+(run-with-idle-timer 0 nil #'my/prepare-screenshot-1)
diff --git a/realgud-recursive-autoloads.el b/realgud-recursive-autoloads.el
new file mode 100644
index 0000000..63539c5
--- /dev/null
+++ b/realgud-recursive-autoloads.el
@@ -0,0 +1,1300 @@
+;;; realgud-recursive-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+
+;;;### (autoloads nil "realgud/common/backtrace-mode" 
"realgud/common/backtrace-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/backtrace-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/backtrace-mode" '("realgud-backtrace-mode-map" 
"realgud-backtrace-mode" "realgud:frames-menu")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/backtrack-mode" 
"realgud/common/backtrack-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/backtrack-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/backtrack-mode" '("realgud-backtrack-set-debugger" 
"realgud-backtrack-mode" "realgud-backtrack-mode-map" 
"realgud-backtrack-mode-vars")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/bp" "realgud/common/bp.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/bp.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/bp" '("realgud-bp-")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/bp-image-data" 
"realgud/common/bp-image-data.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/bp-image-data.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/bp-image-data" '("realgud-bp-disabled-" 
"realgud-bp-enabled-tiff-data" "realgud-bp-enabled-svg-data" 
"realgud-bp-enabled-pbm-data" "realgud-bp-xpm-data")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/buffer/backtrace" 
"realgud/common/buffer/backtrace.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/buffer/backtrace.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/buffer/backtrace" '("realgud-backtrace-" "realgud-goto-" 
"realgud:backtrace-" "realgud-track-divert-string" "realgud-backtrace?")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/buffer/command" 
"realgud/common/buffer/command.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/buffer/command.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/buffer/command" '("realgud-cmdbuf-" 
"realgud:cmdbuf-buffers-describe" "realgud:cmdbuf-info-describe" 
"realgud-cmdbuf?")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/buffer/helper" 
"realgud/common/buffer/helper.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/buffer/helper.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/buffer/helper" '("realgud:srcbuf-info-describe" 
"realgud-get-process" "realgud-get-srcbuf-from-cmdbuf" 
"realgud-get-cmdbuf-from-srcbuf" "realgud-get-cmdbuf-from-backtrace")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/buffer/info" 
"realgud/common/buffer/info.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/buffer/info.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/buffer/info" '("realgud:info-mode-hook" "realgud:info-mode" 
"realgud-backtrace-info")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/buffer/source" 
"realgud/common/buffer/source.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/buffer/source.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/buffer/source" '("realgud-srcbuf-" "realgud-srcbuf?")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/cmds" "realgud/common/cmds.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/cmds.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/cmds" '("realgud-safe-mode" "realgud:cmd-quit" 
"realgud:cmd-terminate")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/core" "realgud/common/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/core" '("realgud-" "realgud:")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/custom" "realgud/common/custom.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/custom.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/custom" '("realgud-srcbuf-lock" "realgud-key-prefix")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/eval" "realgud/common/eval.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/eval.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/eval" '("realgud:tooltip-eval" "realgud:eval-process-output")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/file" "realgud/common/file.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/file.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/file" '("realgud-file-remap")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/fringe" "realgud/common/fringe.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/fringe.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/fringe" '("realgud-overlay-" 
"realgud-fringe-erase-history-arrows" "realgud-fringe-history-set" 
"realgud-fringe-set-arrow")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/helper" "realgud/common/helper.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/helper.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/helper" '("realgud-" "with-current-buffer-safe" 
"buffer-killed?" "realgud:debugger-name-transform" "fn-p-to-fn?-alias")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/init" "realgud/common/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/init" '("realgud-line-number-face" 
"realgud-backtrace-number-face" "realgud-file-name-face")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/key" "realgud/common/key.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/key.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/key" '("realgud-populate-src-buffer-map-plain" 
"realgud-populate-common-keys" "realgud-populate-common-fn-keys-function" 
"realgud-populate-common-fn-keys-standard")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/lang" "realgud/common/lang.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/lang.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/lang" '("realgud-suggest-lang-file" "realgud-lang-mode?" 
"realgud:suggest-file-from-buffer")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/loc" "realgud/common/loc.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/loc.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/loc" '("realgud-loc?" "realgud-loc" "realgud:loc-describe")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/lochist" "realgud/common/lochist.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/lochist.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/lochist" '("realgud-loc-hist-" "realgud-loc-hist")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/menu" "realgud/common/menu.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/menu.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/menu" '("realgud-menu-item" "realgud-populate-debugger-menu")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/regexp" "realgud/common/regexp.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/regexp.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/regexp" '("realgud:regexp-captured-num" 
"realgud:variable-basename-hash" "realgud-loc-pat" "realgud-pat-hash" 
"realgud-command-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/reset" "realgud/common/reset.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/reset.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/reset" '("realgud:reset")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/run" "realgud/common/run.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/run.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/run" '("realgud:run-debugger")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/send" "realgud/common/send.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/send.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/send" '("realgud:send-" "realgud-send-" 
"comint-output-filter-orig" "realgud-expand-format" "realgud-command")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/shortkey" "realgud/common/shortkey.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/shortkey.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/shortkey" '("realgud:goto-loc-hist-" "realgud-short-key-" 
"realgud:shortkey-mode-map" "realgud-get-short-key-mode-map" 
"realgud-populate-src-buffer-map")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/track" "realgud/common/track.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/track.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/track" '("realgud-goto-line-for-" "realgud-track-" 
"realgud:goto-" "realgud-short-key-on-tracing?" "realgud:track-set-debugger")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/track-mode" 
"realgud/common/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/track-mode" '("realgud-track-mode" "realgud:tool-bar-map" 
"realgud-track-mode-map" "realgud-track-mode-setup" "realgud-track-mode-vars")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/utils" "realgud/common/utils.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/utils.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/utils" '("realgud:strip" "realgud:flatten")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/common/window" "realgud/common/window.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/common/window.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/common/window" '("realgud:window-bt-undisturb-src" 
"realgud-window-cmd-undisturb-src" "realgud-window-src-undisturb-cmd" 
"realgud-window-src" "realgud-window-update-position")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/bashdb/bashdb" 
"realgud/debugger/bashdb/bashdb.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/bashdb/bashdb.el
+
+(autoload 'realgud:bashdb "realgud/debugger/bashdb/bashdb" "\
+Invoke the bashdb shell debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE specifies how to run bash. You will be prompted
+for a command line is one isn't supplied.
+
+OPT-CMD-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `bashdb-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
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/bashdb/bashdb" '("realgud:bashdb-command-name" "bashdb")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/bashdb/core" 
"realgud/debugger/bashdb/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/bashdb/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/bashdb/core" '("realgud:bashdb-" "bashdb-query-cmdline" 
"bashdb-parse-cmd-args" "bashdb-suggest-invocation" "bashdb-reset")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/bashdb/init" 
"realgud/debugger/bashdb/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/bashdb/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/bashdb/init" '("realgud:bashdb-pat-hash" 
"realgud:bashdb-command-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/bashdb/track-mode" 
"realgud/debugger/bashdb/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/bashdb/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/bashdb/track-mode" '("bashdb-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/gdb/core" 
"realgud/debugger/gdb/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/gdb/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/gdb/core" '("realgud:gdb-")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/gdb/gdb" "realgud/debugger/gdb/gdb.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/gdb/gdb.el
+
+(autoload 'realgud:gdb "realgud/debugger/gdb/gdb" "\
+Invoke the gdb debugger and start the Emacs user interface.
+
+OPT-CMD-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'.
+
+Normally, command buffers are reused when the same debugger is
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/gdb/gdb" '("realgud:gdb-pid-associate" 
"realgud:gdb-pid-command-buffer" "realgud:gdb-pid" 
"realgud:gdb-find-command-buffer" "realgud:gdb-command-name")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/gdb/init" 
"realgud/debugger/gdb/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/gdb/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/gdb/init" '("realgud:gdb-frame-num-regexp" 
"realgud:gdb-frame-start-regexp" "realgud:gdb-frame-file-regexp" 
"realgud:gdb-command-hash" "realgud:gdb-pat-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/gdb/track-mode" 
"realgud/debugger/gdb/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/gdb/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/gdb/track-mode" '("realgud:gdb-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/gub/core" 
"realgud/debugger/gub/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/gub/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/gub/core" '("realgud:gub-" "gub-query-cmdline" 
"gub-parse-cmd-args" "gub-suggest-invocation" "gub-reset")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/gub/gub" "realgud/debugger/gub/gub.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/gub/gub.el
+
+(autoload 'realgud-gub "realgud/debugger/gub/gub" "\
+Invoke the Go SSA debugger, gub and start the Emacs user interface.
+
+String COMMAND-LINE specifies how to run gub.
+
+Normally command buffers are reused when the same debugger is
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset.
+
+\(fn &optional OPT-COMMAND-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/gub/gub" '("realgud:gub-command-name" "realgud-gub-fn" 
"gub")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/gub/init" 
"realgud/debugger/gub/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/gub/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/gub/init" '("realgud:gub-frame-" "realgud:gub-command-hash" 
"realgud:gub-selected-frame-arrow" "realgud:gub-pat-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/gub/track-mode" 
"realgud/debugger/gub/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/gub/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/gub/track-mode" '("realgud:gub-goto-panic-location" 
"realgud:gub-goto-location" "gub-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/ipdb/core" 
"realgud/debugger/ipdb/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/ipdb/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/ipdb/core" '("realgud:ipdb-" "ipdb-parse-" "ipdb-reset" 
"ipdb-suggest-invocation" "ipdb-query-cmdline")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/ipdb/init" 
"realgud/debugger/ipdb/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/ipdb/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/ipdb/init" '("realgud:ipdb-pat-hash" 
"realgud:ipdb-command-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/ipdb/ipdb" 
"realgud/debugger/ipdb/ipdb.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/ipdb/ipdb.el
+
+(autoload 'realgud:ipdb "realgud/debugger/ipdb/ipdb" "\
+Invoke the ipdb Python debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE specifies how to run ipdb. You will be prompted
+for a command line is one isn't supplied.
+
+OPT-COMMAND-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `ipdb-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
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(autoload 'realgud:ipdb-remote "realgud/debugger/ipdb/ipdb" "\
+Invoke the ipdb Python debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE specifies how to run ipdb. You will be prompted
+for a command line is one isn't supplied.
+
+OPT-COMMAND-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `ipdb-parse-remote-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
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/ipdb/ipdb" '("realgud:ipdb-command-name" "ipdb")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/ipdb/track-mode" 
"realgud/debugger/ipdb/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/ipdb/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/ipdb/track-mode" '("ipdb-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/jdb/backtrack-mode" 
"realgud/debugger/jdb/backtrack-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/jdb/backtrack-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/jdb/backtrack-mode" '("realgud:jdb-goto-control-frame-line" 
"jdb-backtrack-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/jdb/core" 
"realgud/debugger/jdb/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/jdb/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/jdb/core" '("realgud:jdb-" "jdb-reset" 
"jdb-suggest-invocation")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/jdb/file" 
"realgud/debugger/jdb/file.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/jdb/file.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/jdb/file" '("gud-jdb-")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/jdb/init" 
"realgud/debugger/jdb/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/jdb/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/jdb/init" '("realgud:jdb-")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/jdb/jdb" "realgud/debugger/jdb/jdb.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/jdb/jdb.el
+
+(autoload 'realgud:jdb "realgud/debugger/jdb/jdb" "\
+Invoke the Java jdb debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `jdb-parse-cmd-args' and path elements found by that
+are expanded using `expand-file-name'.
+
+Normally, command buffers are reused when the same debugger is
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/jdb/jdb" '("realgud:jdb-command-name" "jdb")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/jdb/track-mode" 
"realgud/debugger/jdb/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/jdb/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/jdb/track-mode" '("realgud:jdb-track-mode" 
"realgud:jdb-goto-control-frame-line" "realgud:jdb-goto-syntax-error-line")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/kshdb/core" 
"realgud/debugger/kshdb/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/kshdb/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/kshdb/core" '("realgud:kshdb-" "kshdb-query-cmdline" 
"kshdb-parse-cmd-args" "kshdb-suggest-invocation" "kshdb-reset")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/kshdb/init" 
"realgud/debugger/kshdb/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/kshdb/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/kshdb/init" '("realgud:kshdb-pat-hash" 
"realgud:kshdb-command-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/kshdb/kshdb" 
"realgud/debugger/kshdb/kshdb.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/kshdb/kshdb.el
+
+(autoload 'realgud:kshdb "realgud/debugger/kshdb/kshdb" "\
+Invoke the Korn shell debugger, kshdb, and start the Emacs user interface.
+
+String COMMAND-LINE specifies how to run kshdb.
+
+Normally command buffers are reused when the same debugger is
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset.
+
+\(fn &optional OPT-COMMAND-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/kshdb/kshdb" '("realgud:kshdb-command-name" "kshdb")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/kshdb/track-mode" 
"realgud/debugger/kshdb/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/kshdb/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/kshdb/track-mode" '("kshdb-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/nodejs/core" 
"realgud/debugger/nodejs/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/nodejs/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/nodejs/core" '("realgud:nodejs-" "nodejs-query-cmdline" 
"nodejs-parse-cmd-args")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/nodejs/init" 
"realgud/debugger/nodejs/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/nodejs/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/nodejs/init" '("realgud:nodejs-frame-" 
"realgud:nodejs-pat-hash" "realgud:nodejs-debugger-name" 
"realgud:nodejs-command-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/nodejs/nodejs" 
"realgud/debugger/nodejs/nodejs.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/nodejs/nodejs.el
+
+(autoload 'realgud:nodejs "realgud/debugger/nodejs/nodejs" "\
+Invoke the nodejs shell debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE specifies how to run nodejs.
+
+OPT-CMD-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `nodejs-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
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/nodejs/nodejs" '("realgud:nodejs-command-name")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/nodejs/track-mode" 
"realgud/debugger/nodejs/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/nodejs/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/nodejs/track-mode" '("realgud:nodejs-track-mode-internal" 
"nodejs-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/pdb/core" 
"realgud/debugger/pdb/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/pdb/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/pdb/core" '("realgud:pdb-" "pdb-parse-" "pdb-reset" 
"pdb-suggest-invocation" "pdb-query-cmdline")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/pdb/init" 
"realgud/debugger/pdb/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/pdb/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/pdb/init" '("realgud:pdb-pat-hash" 
"realgud:pdb-command-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/pdb/pdb" "realgud/debugger/pdb/pdb.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/pdb/pdb.el
+
+(autoload 'realgud:pdb "realgud/debugger/pdb/pdb" "\
+Invoke the pdb Python debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE specifies how to run pdb. You will be prompted
+for a command line is one isn't supplied.
+
+OPT-COMMAND-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `pdb-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
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(autoload 'realgud:pdb-remote "realgud/debugger/pdb/pdb" "\
+Invoke the pdb Python debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE specifies how to run pdb. You will be prompted
+for a command line is one isn't supplied.
+
+OPT-COMMAND-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `pdb-parse-remote-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
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/pdb/pdb" '("realgud:pdb-command-name" "pdb")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/pdb/track-mode" 
"realgud/debugger/pdb/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/pdb/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/pdb/track-mode" '("pdb-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/perldb/core" 
"realgud/debugger/perldb/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/perldb/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/perldb/core" '("realgud:perldb-")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/perldb/init" 
"realgud/debugger/perldb/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/perldb/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/perldb/init" '("realgud:perldb-loc-regexp" 
"realgud:perldb-loc-noeval-regexp" "realgud:perldb-loc-eval-regexp" 
"realgud:perldb-command-hash" "realgud:perldb-pat-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/perldb/perldb" 
"realgud/debugger/perldb/perldb.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/perldb/perldb.el
+
+(autoload 'realgud:perldb "realgud/debugger/perldb/perldb" "\
+Invoke the Perl debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE specifies how to run nodejs.
+
+OPT-CMD-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `perldb-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
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/perldb/perldb" '("realgud:perldb-command-name")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/perldb/track-mode" 
"realgud/debugger/perldb/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/perldb/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/perldb/track-mode" '("perldb-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/rdebug/core" 
"realgud/debugger/rdebug/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/rdebug/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/rdebug/core" '("realgud:rdebug-" "rdebug-query-cmdline" 
"rdebug-parse-cmd-args" "rdebug-suggest-invocation" "rdebug-reset")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/rdebug/init" 
"realgud/debugger/rdebug/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/rdebug/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/rdebug/init" '("realgud-rdebug-pat-hash" 
"realgud-rdebug-command-hash" "realgud-rdebug-frame-file-line-regexp" 
"realgud-rdebug-frame-start-regexp" "realgud-rdebug-frame-num-regexp")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/rdebug/rdebug" 
"realgud/debugger/rdebug/rdebug.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/rdebug/rdebug.el
+
+(autoload 'realgud:rdebug "realgud/debugger/rdebug/rdebug" "\
+Invoke the rdebug Ruby debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `trepan8-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
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/rdebug/rdebug" '("realgud:rdebug-command-name" 
"rdebug-get-script-name" "rdebug")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/rdebug/track-mode" 
"realgud/debugger/rdebug/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/rdebug/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/rdebug/track-mode" '("rdebug-track-mode" 
"rdebug-track-mode-internal")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/remake/core" 
"realgud/debugger/remake/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/remake/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/remake/core" '("realgud:remake-" "remake-suggest-" 
"remake-query-cmdline" "remake-parse-cmd-args" "remake-reset")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/remake/init" 
"realgud/debugger/remake/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/remake/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/remake/init" '("realgud:remake-frame-" 
"realgud:remake-command-hash" "realgud:remake-selected-frame-arrow" 
"realgud:remake-pat-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/remake/remake" 
"realgud/debugger/remake/remake.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/remake/remake.el
+
+(autoload 'realgud:remake "realgud/debugger/remake/remake" "\
+See `realgud:remake' for details
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/remake/remake" '("realgud:remake-run-debugger" 
"realgud:remake-command-name" "remake")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/remake/track-mode" 
"realgud/debugger/remake/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/remake/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/remake/track-mode" '("remake-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan.pl/backtrack-mode"
+;;;;;;  "realgud/debugger/trepan.pl/backtrack-mode.el" (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan.pl/backtrack-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan.pl/backtrack-mode" 
'("realgud:trepanpl-goto-control-frame-line" "trepanpl-backtrack-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan.pl/core" 
"realgud/debugger/trepan.pl/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan.pl/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan.pl/core" '("realgud:trepanpl-")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan.pl/init" 
"realgud/debugger/trepan.pl/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan.pl/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan.pl/init" '("realgud:trepanpl-")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan.pl/track-mode" 
"realgud/debugger/trepan.pl/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan.pl/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan.pl/track-mode" 
'("realgud:trepanpl-goto-syntax-error-line" "realgud:trepanpl-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan.pl/trepanpl" 
"realgud/debugger/trepan.pl/trepanpl.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan.pl/trepanpl.el
+
+(autoload 'realgud:trepan\.pl "realgud/debugger/trepan.pl/trepanpl" "\
+Invoke the trepan.pl Perl debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE specifies how to run trepan.pl. You will be prompted
+for a command line is one isn't supplied.
+
+OPT-CMD-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `realgud:trepanpl-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
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan.pl/trepanpl" '("realgud:trepanpl-command-name" 
"trepan.pl")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan/backtrack-mode" 
"realgud/debugger/trepan/backtrack-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan/backtrack-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan/backtrack-mode" 
'("realgud:trepan-goto-control-frame-line" "trepan-backtrack-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan/core" 
"realgud/debugger/trepan/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan/core" '("realgud:trepan-" "trepan-reset" 
"trepan-suggest-invocation")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan/init" 
"realgud/debugger/trepan/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan/init" '("realgud:trepan-command-hash" 
"realgud:trepan-debugger-name" "realgud:trepan-frame-file-regexp" 
"realgud:trepan-selected-frame-indicator" "realgud:trepan-pat-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan/track-mode" 
"realgud/debugger/trepan/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan/track-mode" '("trepan-track-mode" 
"realgud:trepan-goto-control-frame-line" 
"realgud:trepan-goto-syntax-error-line")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan/trepan" 
"realgud/debugger/trepan/trepan.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan/trepan.el
+
+(autoload 'realgud:trepan "realgud/debugger/trepan/trepan" "\
+Invoke the trepan Ruby debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `trepan-parse-cmd-args' and path elements found by that
+are expanded using `expand-file-name'.
+
+Normally, command buffers are reused when the same debugger is
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan/trepan" '("realgud:trepan-command-name" "trepan")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan2/core" 
"realgud/debugger/trepan2/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan2/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan2/core" '("realgud:trepan2-" "trepan2-query-cmdline" 
"trepan2-parse-cmd-args" "trepan2-suggest-invocation" "trepan2-reset")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan2/init" 
"realgud/debugger/trepan2/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan2/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan2/init" '("realgud:trepan2-pat-hash" 
"realgud:trepan2-command-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan2/track-mode" 
"realgud/debugger/trepan2/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan2/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan2/track-mode" '("trepan2-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan2/trepan2" 
"realgud/debugger/trepan2/trepan2.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan2/trepan2.el
+
+(autoload 'realgud:trepan2 "realgud/debugger/trepan2/trepan2" "\
+Invoke the trepan2 Python debugger and start the Emacs user interface.
+
+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
+are expanded using `realgud:expand-file-name-if-exists'.
+
+Normally, command buffers are reused when the same debugger is
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan2/trepan2" '("realgud:trepan2-command-name" "trepan2")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan3k/core" 
"realgud/debugger/trepan3k/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan3k/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan3k/core" '("realgud:trepan3k-" "trepan3k-query-cmdline" 
"trepan3k-parse-cmd-args" "trepan3k-suggest-invocation" "trepan3k-reset")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan3k/init" 
"realgud/debugger/trepan3k/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan3k/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan3k/init" '("realgud:trepan3k-pat-hash" 
"realgud:trepan3k-command-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan3k/track-mode" 
"realgud/debugger/trepan3k/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan3k/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan3k/track-mode" '("trepan3k-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepan3k/trepan3k" 
"realgud/debugger/trepan3k/trepan3k.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepan3k/trepan3k.el
+
+(autoload 'realgud:trepan3k "realgud/debugger/trepan3k/trepan3k" "\
+Invoke the trepan3k Python debugger and start the Emacs user interface.
+
+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
+are expanded using `realgud:expand-file-name-if-exists'.
+
+Normally, command buffers are reused when the same debugger is
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepan3k/trepan3k" '("realgud:trepan3k-command-name" 
"trepan3k")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepanjs/backtrack-mode"
+;;;;;;  "realgud/debugger/trepanjs/backtrack-mode.el" (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepanjs/backtrack-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepanjs/backtrack-mode" 
'("realgud:trepanjs-goto-control-frame-line" "trepanjs-backtrack-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepanjs/core" 
"realgud/debugger/trepanjs/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepanjs/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepanjs/core" '("realgud:trepanjs-")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepanjs/init" 
"realgud/debugger/trepanjs/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepanjs/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepanjs/init" '("realgud:trepanjs-frame-" 
"realgud:trepanjs-pat-hash" "realgud:trepanjs-file-regexp" 
"realgud:trepanjs-debugger-name" "realgud:trepanjs-command-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepanjs/track-mode" 
"realgud/debugger/trepanjs/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepanjs/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepanjs/track-mode" 
'("realgud:trepanjs-goto-syntax-error-line" "trepanjs-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/trepanjs/trepanjs" 
"realgud/debugger/trepanjs/trepanjs.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/trepanjs/trepanjs.el
+
+(autoload 'realgud:trepanjs "realgud/debugger/trepanjs/trepanjs" "\
+Invoke the trepanjs Ruby debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `trepanjs-parse-cmd-args' and path elements found by that
+are expanded using `expand-file-name'.
+
+Normally, command buffers are reused when the same debugger is
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/trepanjs/trepanjs" '("realgud:trepanjs-command-name" 
"trepanjs")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/zshdb/core" 
"realgud/debugger/zshdb/core.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/zshdb/core.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/zshdb/core" '("realgud:zshdb-" "zshdb-query-cmdline" 
"zshdb-parse-cmd-args" "zshdb-suggest-invocation" "zshdb-reset")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/zshdb/init" 
"realgud/debugger/zshdb/init.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/zshdb/init.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/zshdb/init" '("realgud:zshdb-pat-hash" 
"realgud:zshdb-command-hash")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/zshdb/track-mode" 
"realgud/debugger/zshdb/track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/zshdb/track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/zshdb/track-mode" '("zshdb-track-mode")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/debugger/zshdb/zshdb" 
"realgud/debugger/zshdb/zshdb.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/debugger/zshdb/zshdb.el
+
+(autoload 'realgud:zshdb "realgud/debugger/zshdb/zshdb" "\
+Invoke the zshdb Z-shell debugger and start the Emacs user interface.
+
+String OPT-CMD-LINE specifies how to run zshdb.
+
+OPT-CMD-LINE is treated like a shell string; arguments are
+tokenized by `split-string-and-unquote'. The tokenized string is
+parsed by `zshdb-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
+reinvoked inside a command buffer with a similar command. If we
+discover that the buffer has prior command-buffer information and
+NO-RESET is nil, then that information which may point into other
+buffers and source buffers which may contain marks and fringe or
+marginal icons is reset. See `loc-changes-clear-buffer' to clear
+fringe and marginal icons.
+
+\(fn &optional OPT-CMD-LINE NO-RESET)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/debugger/zshdb/zshdb" '("realgud:zshdb-command-name" "zshdb")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/lang/js" "realgud/lang/js.el" (0 0
+;;;;;;  0 0))
+;;; Generated autoloads from realgud/lang/js.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/lang/js" '("realgud:js-backtrace-loc-pat" "realgud:js-term-escape")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/lang/perl" "realgud/lang/perl.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/lang/perl.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/lang/perl" '("realgud:perl-goto-errmsg-line" 
"realgud-perl-populate-command-keys" "realgud-perl-ignore-file-re" 
"realgud-perl-errmsg-loc-pat" "realgud-perl-carp-loc-pat")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/lang/posix-shell" "realgud/lang/posix-shell.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/lang/posix-shell.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/lang/posix-shell" '("realgud-shell-frame-" "realgud:POSIX-debugger-" 
"realgud-shell-backtrace-loc-pat" "realgud-posix-shell-populate-command-keys")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/lang/python" "realgud/lang/python.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/lang/python.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/lang/python" '("realgud:python-trepan-" "realgud-python-" 
"realgud:python-debugger-font-lock-keywords" "realgud-pytest-error-loc-pat" 
"realgud:pytest-goto-errmsg-line")))
+
+;;;***
+
+;;;### (autoloads nil "realgud/lang/ruby" "realgud/lang/ruby.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from realgud/lang/ruby.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"realgud/lang/ruby" '("realgud:" "realgud-ruby-" "realgud-rubinius-" 
"realgud-rspec-backtrace-loc-pat" "realgud-rails-backtrace-loc-pat")))
+
+;;;***
+
+;;;### (autoloads nil "test/test-common-helper" "test/test-common-helper.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from test/test-common-helper.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"test/test-common-helper" '("realgud-test-info")))
+
+;;;***
+
+;;;### (autoloads nil "test/test-gdb" "test/test-gdb.el" (0 0 0 0))
+;;; Generated autoloads from test/test-gdb.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"test/test-gdb" '("realgud:gdb-executable")))
+
+;;;***
+
+;;;### (autoloads nil "test/test-remake" "test/test-remake.el" (0
+;;;;;;  0 0 0))
+;;; Generated autoloads from test/test-remake.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"test/test-remake" '("realgud-exec-shell")))
+
+;;;***
+
+;;;### (autoloads nil "test/test-send" "test/test-send.el" (0 0 0
+;;;;;;  0))
+;;; Generated autoloads from test/test-send.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"test/test-send" '("setup")))
+
+;;;***
+
+;;;### (autoloads nil "test/test-srcbuf" "test/test-srcbuf.el" (0
+;;;;;;  0 0 0))
+;;; Generated autoloads from test/test-srcbuf.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"test/test-srcbuf" '("temp-cmdbuf" "setup")))
+
+;;;***
+
+;;;### (autoloads nil "test/test-track-mode" "test/test-track-mode.el"
+;;;;;;  (0 0 0 0))
+;;; Generated autoloads from test/test-track-mode.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes 
"test/test-track-mode" '("temp-cmdbuf" "setup")))
+
+;;;***
+
+;;;### (autoloads nil nil ("realgud/common/attach.el" 
"realgud/common/follow.el"
+;;;;;;  "test/bt-helper.el" "test/regexp-helper.el" "test/test-bashdb.el"
+;;;;;;  "test/test-bp.el" "test/test-bt-pdb.el" "test/test-bt-rdebug.el"
+;;;;;;  "test/test-bt-trepan.el" "test/test-bt-trepan2.el" 
"test/test-bt-trepan3k.el"
+;;;;;;  "test/test-bt-zshdb.el" "test/test-buf-bt.el" "test/test-buf-cmd.el"
+;;;;;;  "test/test-core.el" "test/test-file.el" "test/test-gdb-core.el"
+;;;;;;  "test/test-gub-core.el" "test/test-ipdb.el" "test/test-jdb.el"
+;;;;;;  "test/test-lang.el" "test/test-loc-regexp-gub.el" 
"test/test-loc-regexp-nodejs.el"
+;;;;;;  "test/test-loc-regexp-trepan.el" "test/test-loc-regexp-trepanpl.el"
+;;;;;;  "test/test-loc.el" "test/test-lochist.el" "test/test-nodejs.el"
+;;;;;;  "test/test-pdb.el" "test/test-perldb.el" "test/test-rdebug.el"
+;;;;;;  "test/test-realgud.el" "test/test-regexp-bashdb.el" 
"test/test-regexp-gdb.el"
+;;;;;;  "test/test-regexp-gub.el" "test/test-regexp-ipdb.el" 
"test/test-regexp-jdb.el"
+;;;;;;  "test/test-regexp-nodejs.el" "test/test-regexp-pdb.el" 
"test/test-regexp-perldb.el"
+;;;;;;  "test/test-regexp-rdebug.el" "test/test-regexp-remake.el"
+;;;;;;  "test/test-regexp-ruby.el" "test/test-regexp-trepan.el" 
"test/test-regexp-trepan2.el"
+;;;;;;  "test/test-regexp-trepan3k.el" "test/test-regexp-trepanjs.el"
+;;;;;;  "test/test-regexp-trepanpl.el" "test/test-regexp-zshdb.el"
+;;;;;;  "test/test-regexp.el" "test/test-remake-core.el" 
"test/test-shortkey.el"
+;;;;;;  "test/test-track.el" "test/test-trepan2.el" "test/test-trepan3k.el"
+;;;;;;  "test/test-trepanpl.el" "test/test-utils.el" "test/test-zshdb.el")
+;;;;;;  (0 0 0 0))
+
+;;;***
+
+(provide 'realgud-recursive-autoloads)
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; realgud-recursive-autoloads.el ends here
diff --git a/realgud.el b/realgud.el
index dae4da3..96289a0 100644
--- a/realgud.el
+++ b/realgud.el
@@ -3,7 +3,7 @@
 ;; Author: Rocky Bernstein
 ;; Version: 1.3.1
 ;; Package-Requires: ((load-relative "1.0") (list-utils "0.4.2") (loc-changes 
"1.1") (test-simple  "1.0"))
-;; URL: http://github.com/rocky/emacs-dbgr
+;; URL: http://github.com/realgud/realgud/
 ;; Compatibility: GNU Emacs 24.x
 
 ;; Copyright (C) 2015, 2016 Free Software Foundation, Inc
@@ -25,6 +25,14 @@
 
 ;;; Commentary:
 
+;; A modular GNU Emacs front-end for interacting with external debuggers.
+;;
+;; Quick start: https://github.com/realgud/realgud/
+;;
+;; See URL `https://github.com/realgud/realgud/wiki/Features' for features, and
+;; URL `https://github.com/realgud/realgud/wiki/Debuggers-Supported' for
+;; debuggers we can handle.
+;;
 ;; Once upon a time in an Emacs far far away and a programming-style
 ;; deservedly banished, there was a monolithic Cathederal-like
 ;; debugger front-end called gub.  This interfaced with a number of
@@ -40,15 +48,9 @@
 ;;
 ;; Oh, and because global variables are largely banned, we can support
 ;; several simultaneous debug sessions.
-;;
-;; See URL `https://github.com/rocky/emacs-dbgr/wiki/Features' for
-;; features.
-
-;; See URL `https://github.com/rocky/emacs-dbgr/wiki/Debuggers-Supported' for
-;; debuggers we can handle.
 
 ;; If you don't see your favorite debugger, see URL
-;; `https://github.com/rocky/emacs-dbgr/wiki/How-to-add-a-new-debugger/'
+;; `https://github.com/realgud/realgud/wiki/How-to-add-a-new-debugger/'
 ;; for how you can add your own.
 
 ;; The debugger is run out of a comint process buffer, or you can use
@@ -59,7 +61,7 @@
 ;; installed.  If you install via melpa (`package-install') or
 ;; `el-get', these will be pulled in automatically.  See the
 ;; installation instructions URL
-;; `https://github.com/rocky/emacs-dbgr/wiki/How-to-Install' for all
+;; `https://github.com/realgud/realgud/wiki/How-to-Install' for all
 ;; the ways to to install and more details on installation.
 
 ;;; Code:
@@ -156,6 +158,48 @@ development version and you already have this package 
loaded."
 ;; Load everything.
 (realgud:load-features)
 
+
+;;; Autoloads-related code
+
+;; This section is needed because package.el doesn't recurse into 
subdirectories
+;; when looking for autoload-able forms.  As a workaround, we statically
+;; generate our own autoloads, and force Emacs to read them by adding an extra
+;; autoloded form.
+
+;;;###autoload
+(defconst realgud--recursive-autoloads-file-name 
"realgud-recursive-autoloads.el"
+  "Where to store autoloads for subdirectory contents.")
+
+;;;###autoload
+(defconst realgud--recursive-autoloads-base-directory
+  (file-name-directory
+   (if load-in-progress load-file-name
+     buffer-file-name)))
+
+;;;###autoload
+(with-demoted-errors "Error in RealGUD's autoloads: %s"
+  (load (expand-file-name realgud--recursive-autoloads-file-name
+                          realgud--recursive-autoloads-base-directory)
+        t t))
+
+(defun realgud--rebuild-recursive-autoloads ()
+  "Update RealGUD's recursive autoloads.
+This is needed because the package.el infrastructure doesn't
+process autoloads in subdirectories; instead we create an
+additional autoloads file of our own, and we load it from an
+autoloaded form.  Maintainers should run this after adding
+autoloaded functions, and commit the resulting changes."
+  (interactive)
+  (let ((generated-autoload-file
+         (expand-file-name realgud--recursive-autoloads-file-name
+                           realgud--recursive-autoloads-base-directory)))
+    (when (file-exists-p generated-autoload-file)
+      (delete-file generated-autoload-file))
+    (dolist (name (directory-files-recursively
+                   realgud--recursive-autoloads-base-directory "" t))
+      (when (file-directory-p name)
+        (update-directory-autoloads name)))))
+
 (provide-me)
 
 ;;; realgud.el ends here
diff --git a/realgud/common/bp.el b/realgud/common/bp.el
index 84a1019..159daeb 100644
--- a/realgud/common/bp.el
+++ b/realgud/common/bp.el
@@ -80,15 +80,27 @@ overlay for a realgud property."
 
 (defface realgud-bp-enabled-face
   '((t :foreground "red" :weight bold))
-  "Face for enabled breakpoints."
+  "Face for enabled breakpoints (in the fringe or margin)."
   :group 'realgud-bp)
 
 (defface realgud-bp-disabled-face
   '((t :foreground "grey" :weight bold))
-  "Face for disabled breakpoints."
+  "Face for disabled breakpoints (in the fringe or margin).
+Only used in text terminals: fringe icons always use
+`realgud-bp-enabled-face'."
   :group 'realgud-bp)
 
-(defcustom realgud-bp-fringe-indicator-style '(realgud-bp-filled . 
realgud-bp-hollow)
+(defface realgud-bp-line-enabled-face
+  '((t :inherit diff-removed))
+  "Face for lines with enabled breakpoints."
+  :group 'realgud-bp)
+
+(defface realgud-bp-line-disabled-face
+  '((t))
+  "Face for lines with disabled breakpoints."
+  :group 'realgud-bp)
+
+(defcustom realgud-bp-fringe-indicator-style '(filled-rectangle . 
hollow-rectangle)
   "Which fringe icon to use for breakpoints."
   :type '(choice (const :tag "Disc" (realgud-bp-filled . realgud-bp-hollow))
                  (const :tag "Square" (filled-square . hollow-square))
@@ -108,15 +120,14 @@ If nil, use margins instead."
         (and window (car (window-fringes window)))
         0)))
 
-(defun realgud-bp-add-fringe-icon (overlay icon face)
+(defun realgud-bp-add-fringe-icon (overlay icon)
   "Add a fringe icon to OVERLAY.
-ICON is a fringe icon symbol; the corresponding icon gets
-highlighted with FACE."
+ICON is a symbol registered with `define-fringe-bitmap'."
   ;; Ensure that the fringe is wide enough
   (unless (>= (realgud-bp--fringe-width) 8)
     (set-fringe-mode `(8 . ,right-fringe-width)))
   ;; Add the fringe icon
-  (let* ((fringe-spec `(left-fringe ,icon ,face)))
+  (let* ((fringe-spec `(left-fringe ,icon realgud-bp-enabled-face)))
     (overlay-put overlay 'before-string (propertize "x" 'display 
fringe-spec))))
 
 (defun realgud-bp-add-margin-indicator (overlay text image face)
@@ -142,25 +153,29 @@ Use the fringe if available, and the margin otherwise.  
Record
 breakpoint status ENABLE? and breakpoint number BP-NUM in
 overlay.  BUF is the buffer that POS refers to; it detaults to
 the current buffer."
-  (let* ((margin-text) (face) (margin-icon) (fringe-icon))
+  (let* ((bp-text) (bp-face) (line-face) (margin-icon) (fringe-icon))
     (realgud-set-bp-icons)
     (if enable?
-        (setq margin-text "B"
-              face 'realgud-bp-enabled-face
+        (setq bp-text "B"
+              bp-face 'realgud-bp-enabled-face
+              line-face 'realgud-bp-line-enabled-face
               margin-icon realgud-bp-enabled-icon
               fringe-icon (car realgud-bp-fringe-indicator-style))
-      (setq margin-text "b"
-            face 'realgud-bp-disabled-face
+      (setq bp-text "b"
+            bp-face 'realgud-bp-disabled-face
+            line-face 'realgud-bp-line-disabled-face
             margin-icon realgud-bp-disabled-icon
             fringe-icon (cdr realgud-bp-fringe-indicator-style)))
-    (let ((help-echo (format "%s%s: mouse-1 to clear" margin-text bp-num)))
-      (setq margin-text (propertize margin-text 'help-echo help-echo)))
+    (let ((help-echo (format "%s%s: mouse-1 to clear" bp-text bp-num)))
+      (setq bp-text (propertize bp-text 'help-echo help-echo)))
     (with-current-buffer (or buf (current-buffer))
-      (realgud-bp-remove-icons pos pos bp-num)
-      (let ((ov (make-overlay pos pos (current-buffer) t nil)))
+      (realgud-bp-remove-icons pos (1+ pos) bp-num)
+      (let* ((eol (save-excursion (goto-char pos) (point-at-eol)))
+             (ov (make-overlay pos (1+ eol) (current-buffer) t nil)))
         (if (and realgud-bp-use-fringe (display-images-p))
-            (realgud-bp-add-fringe-icon ov fringe-icon face)
-          (realgud-bp-add-margin-indicator ov margin-text margin-icon face))
+            (realgud-bp-add-fringe-icon ov fringe-icon)
+          (realgud-bp-add-margin-indicator ov bp-text margin-icon bp-face))
+        (overlay-put ov 'face line-face)
         (overlay-put ov 'realgud t)
         (overlay-put ov 'realgud-bp-num bp-num)
         (overlay-put ov 'realgud-bp-enabled enable?)))))
@@ -171,7 +186,7 @@ BUF is the buffer which pos refers to (default: current 
buffer).
 If BPNUM is non-nil, only remove overlays maching that breakpoint
 number."
   (with-current-buffer (or buf (current-buffer))
-    (realgud-bp-remove-icons pos pos bpnum)))
+    (realgud-bp-remove-icons pos (1+ pos) bpnum)))
 
 (defun realgud-bp-add-info (loc)
   "Record bp information for location LOC."
diff --git a/realgud/common/buffer/source.el b/realgud/common/buffer/source.el
index cf47d83..b050014 100644
--- a/realgud/common/buffer/source.el
+++ b/realgud/common/buffer/source.el
@@ -1,11 +1,11 @@
 ;;; Copyright (C) 2010, 2012-2015 Rocky Bernstein <address@hidden>
 ;;; source-code buffer code
 (eval-when-compile
-  (require 'cl-lib)
   (defvar realgud-srcbuf-info) ;; is buffer local
   (defvar realgud-cmdbuf-info) ;; in the cmdbuf, this is buffer local
   )
 
+(require 'cl-lib)
 (require 'load-relative)
 (require-relative-list '("../helper" "../key") "realgud-")
 
@@ -38,6 +38,7 @@ to be debugged."
                 ;; variable. Short-key-mode may change the read-only
                 ;; state, so we need restore this value when leaving
                 ;; short-key mode
+  prev-local-map ;; Local map before enabling short-key-mode
 
   loc-hist       ;; ring of locations seen
 
@@ -54,6 +55,7 @@ to be debugged."
 (realgud-struct-field-setter "realgud-srcbuf-info" "cmdproc")
 (realgud-struct-field-setter "realgud-srcbuf-info" "short-key?")
 (realgud-struct-field-setter "realgud-srcbuf-info" "was-read-only?")
+(realgud-struct-field-setter "realgud-srcbuf-info" "prev-local-map")
 
 (defun realgud-srcbuf-info-set? ()
   "Return non-nil if `realgud-srcbuf-info' is set."
@@ -67,6 +69,31 @@ to be debugged."
         (not (buffer-killed? (realgud-sget 'srcbuf-info 'cmdproc)))
    )))
 
+(defun realgud--read-cmd-buf (prompt)
+  "Read a command buffer, prompting with PROMPT."
+  (let* ((cmd-bufs (cl-remove-if-not #'realgud-cmdbuf? (buffer-list)))
+         (buf-names (mapcar #'buffer-name cmd-bufs))
+         (default (car buf-names)))
+    (when buf-names
+      ;; Use completing-read instead of read-buffer: annoyingly, ido's
+      ;; read-buffer ignores predicates.
+      (setq prompt (format "%s (default: %s): " prompt default))
+      (get-buffer (completing-read prompt buf-names nil t nil nil default)))))
+
+(defun realgud--ensure-attached (&optional src-buf)
+  "Try to attach SRC-BUF to a command buffer.
+If SRC-BUF is already attached, do nothing.  Otherwise, prompt
+the user for a command buffer to associate SRC-BUF to.  Returns
+non-nil if association was successful.  SRC-BUF defaults to
+current buffer."
+  (setq src-buf (or src-buf (current-buffer)))
+  (unless (realgud-srcbuf? src-buf)
+    (let ((cmd-buf (realgud--read-cmd-buf "Command buffer to attach to")))
+      (if cmd-buf
+          (realgud-srcbuf-init src-buf cmd-buf)
+        (message "No debugger process found to attach %s to" (buffer-name)))))
+  (realgud-srcbuf? src-buf))
+
 (defun realgud-srcbuf-debugger-name (&optional src-buf)
   "Return the debugger name recorded in the debugger command-process buffer."
   (with-current-buffer-safe (or src-buf (current-buffer))
@@ -117,18 +144,10 @@ in it with those from CMDPROC-BUFFER"
        (realgud-srcbuf-info-cmdproc= cmdproc-buffer)
       (realgud-srcbuf-init src-buffer cmdproc-buffer))))
 
-;; FIXME: rewrite to add prompt function that only suggests
-;; command buffers;
-(defun realgud:cmdbuf-associate(cmdbuf-name)
-  "Associate a command buffer with for the current buffer which is
-assumed to be a source-code buffer"
-  (interactive "brealgud command buffer: ")
-  (let ((cmdbuf (get-buffer cmdbuf-name)))
-    (unless (realgud-cmdbuf? cmdbuf)
-      (error "%s doesn't smell like a command buffer" cmdbuf-name))
-    (realgud-srcbuf-init-or-update (current-buffer) cmdbuf )
-    (realgud-short-key-mode-setup 't)
-  ))
+(defun realgud:cmdbuf-associate ()
+  "Associate a command buffer with the current (source-code) buffer."
+  ;; realgud-short-key-mode-setup will attempt to associate if needed.
+  (realgud-short-key-mode-setup t))
 
 (defun realgud-srcbuf-bp-list(&optional buffer)
   "Return a list of breakpoint loc structures that reside in
diff --git a/realgud/common/cmds.el b/realgud/common/cmds.el
index 03990f5..4b2f3eb 100644
--- a/realgud/common/cmds.el
+++ b/realgud/common/cmds.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015 Free Software Foundation, Inc
+;; Copyright (C) 2015, 2016 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -51,27 +51,88 @@ when command was run from a menu."
         t)
     t))
 
-(defun realgud:cmd-run-command(arg cmd-name default-cmd-template
-                                   &optional no-record? frame-switch?
-                                   realgud-prompts?)
-  "Run debugger command CMD-NAME using DEFAULT-CMD-TEMPLATE
-if none has been set in the command hash. If key is given we'll set
-a shortcut for that key."
-  (let ((buffer (current-buffer))
-       (cmdbuf (realgud-get-cmdbuf))
-       (cmd-hash)
-       (cmd)
-       )
-    (with-current-buffer-safe cmdbuf
-      (realgud-cmdbuf-info-in-srcbuf?= (not (realgud-cmdbuf? buffer)))
-      (setq cmd-hash (realgud-cmdbuf-info-cmd-hash realgud-cmdbuf-info))
-      (unless (and cmd-hash (setq cmd (gethash cmd-name cmd-hash)))
-       (setq cmd default-cmd-template))
-      )
-    (if (equal cmd "*not-implemented*")
+(defun realgud:cmd--line-number-from-prefix-arg ()
+  "Guess or read a line number based on prefix arg.
+Returns (nil) for current line, and a list whose car is the line
+number otherwise."
+  (cond
+   ((numberp current-prefix-arg)
+    current-prefix-arg)
+   ((consp current-prefix-arg)
+    (let* ((min-line (save-excursion
+                       (goto-char (point-min))
+                       (line-number-at-pos)))
+           (max-line (save-excursion
+                       (goto-char (point-max))
+                       (line-number-at-pos)))
+           (prompt (format "Line number (%d..%d)? " min-line max-line))
+           (picked-line 0))
+      (while (not (<= min-line picked-line max-line))
+        (setq picked-line (read-number prompt)))
+      (list picked-line)))))
+
+(defmacro realgud:cmd--with-line-override (line &rest body)
+  "Run BODY with %l format specifier bound to LINE.
+This is needed because going to LINE explicitly would interfere
+with other motion initiated by debugger messages."
+  (declare (indent 1)
+           (debug t))
+  (let ((line-var (make-symbol "--line--")))
+    `(let* ((,line-var ,line)
+            (realgud-expand-format-overrides
+             (cons (cons ?l (and ,line-var (number-to-string ,line-var)))
+                   realgud-expand-format-overrides)))
+       ,@body)))
+
+(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 "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)
+    hash)
+  "Default hash of command name → debugger command.
+This is used as a fallback when the debugger-specific command
+hash does not specify a custom debugger command.")
+
+(defun realgud:cmd-run-command(arg cmd-name &optional
+                                   default-cmd-template no-record?
+                                   frame-switch? realgud-prompts?)
+  "Run debugger command CMD-NAME.
+If CMD-NAME isn't set in the command buffer's command hash, use
+DEFAULT-CMD-TEMPLATE and fall back to looking CMD-NAME up in
+`realgud:cmd-get-cmd-hash'."
+  (let* ((buffer (current-buffer))
+         (cmdbuf (realgud-get-cmdbuf))
+         (cmd-hash (with-current-buffer-safe cmdbuf
+                     (realgud-cmdbuf-info-cmd-hash realgud-cmdbuf-info)))
+         (cmd (or (and (hash-table-p cmd-hash)
+                       (gethash cmd-name cmd-hash))
+                  default-cmd-template
+                  (gethash cmd-name realgud-cmd:default-hash))))
+    (if (or (null cmd) (equal cmd "*not-implemented*"))
        (message "Command %s is not implemented for this debugger" cmd-name)
-      ;; else
       (progn
+        ;; Set flag to know which buffer to jump back to
+        (with-current-buffer-safe cmdbuf
+          (realgud-cmdbuf-info-in-srcbuf?= (not (realgud-cmdbuf? buffer))))
+        ;; Run actual command
        (realgud-command cmd arg no-record? frame-switch? realgud-prompts?)
        ;; FIXME: Figure out how to update the position if the source
        ;; buffer is displayed.
@@ -95,26 +156,37 @@ ARG, CMD-NAME, DEFAULT-CMD-TEMPLATE are as in 
`realgud:cmd-run-command'.
 KEY is ignored.  NO-RECORD?, FRAME-SWITCH?, REALGUD-PROMPTS? are
 as in `realgud:cmd-run-command'."
   (realgud:cmd-run-command arg cmd-name default-cmd-template
-                   no-record? frame-switch?
-                   realgud-prompts?))
+                           no-record? frame-switch?
+                           realgud-prompts?))
 
 (make-obsolete 'realgud:cmd-remap 'realgud:cmd-run-command "1.3.1")
 
 (defun realgud:cmd-backtrace(arg)
-  "Show the current call stack"
+  "Show the current call stack."
   (interactive "p")
-  (realgud:cmd-run-command arg "backtrace" "backtrace")
+  (realgud:cmd-run-command arg "backtrace")
   )
 
-(defun realgud:cmd-break(arg)
-  "Set a breakpoint at the current line"
-  (interactive "p")
-  (realgud:cmd-run-command arg "break" "break %X:%l"))
-
-(defun realgud:cmd-clear(line-num)
-  "Delete breakpoint at the current line"
-  (interactive "p")
-  (realgud:cmd-run-command line-num "clear" "clear %l"))
+(defun realgud:cmd-break (&optional line-number)
+  "Set a breakpoint at the current line.
+With prefix argument LINE-NUMBER, prompt for line number."
+  (interactive (realgud:cmd--line-number-from-prefix-arg))
+  (realgud:cmd--with-line-override line-number
+                                   (realgud:cmd-run-command line-number 
"break")))
+
+(defun realgud:cmd-clear(&optional line-number)
+  "Delete breakpoint at the current line.
+With prefix argument LINE-NUMBER, prompt for line number."
+  (interactive (realgud:cmd--line-number-from-prefix-arg))
+  (realgud:cmd--with-line-override line-number
+                                   (realgud:cmd-run-command line-number 
"clear")))
+
+(defun realgud:cmd-jump(&optional line-number)
+  "Jump to current line.
+With prefix argument LINE-NUMBER, prompt for line number."
+  (interactive (realgud:cmd--line-number-from-prefix-arg))
+  (realgud:cmd--with-line-override line-number
+    (realgud:cmd-run-command (line-number-at-pos) "jump")))
 
 (defun realgud:cmd-continue(&optional arg)
     "Continue execution.
@@ -125,7 +197,7 @@ running."
                    (list (read-string "Continue args: " nil nil nil t))))
     (when (or arg (realgud:prompt-if-safe-mode
                    "Continue to next breakpoint?"))
-      (realgud:cmd-run-command arg "continue" "continue")))
+      (realgud:cmd-run-command arg "continue")))
 
 (defun realgud:bpnum-on-current-line()
   "Return number of one breakpoint on current line, if any.
@@ -153,7 +225,7 @@ numeric prefix argument, delete breakpoint with that number
 instead.  With prefix argument (C-u), or when no breakpoint can
 be found on the current line, prompt for a breakpoint number."
     (interactive (realgud:bpnum-from-prefix-arg))
-    (realgud:cmd-run-command bpnum "delete" "delete %p"))
+    (realgud:cmd-run-command bpnum "delete"))
 
 (defun realgud:cmd-disable(bpnum)
     "Disable breakpoint BPNUM.
@@ -162,7 +234,7 @@ numeric prefix argument, disable breakpoint with that number
 instead.  With prefix argument (C-u), or when no breakpoint can
 be found on the current line, prompt for a breakpoint number."
     (interactive (realgud:bpnum-from-prefix-arg))
-    (realgud:cmd-run-command bpnum "disable" "disable %p"))
+    (realgud:cmd-run-command bpnum "disable"))
 
 (defun realgud:cmd-enable(bpnum)
     "Enable breakpoint BPNUM.
@@ -171,7 +243,7 @@ numeric prefix argument, enable breakpoint with that number
 instead.  With prefix argument (C-u), or when no breakpoint can
 be found on the current line, prompt for a breakpoint number."
     (interactive (realgud:bpnum-from-prefix-arg))
-    (realgud:cmd-run-command bpnum "enable" "enable %p"))
+    (realgud:cmd-run-command bpnum "enable"))
 
 (defun realgud-cmds--add-remove-bp (pos)
   "Add or delete breakpoint at POS."
@@ -180,7 +252,7 @@ be found on the current line, prompt for a breakpoint 
number."
     (let ((existing-bp-num (realgud:bpnum-on-current-line)))
       (if existing-bp-num
           (realgud:cmd-delete existing-bp-num)
-        (realgud:cmd-break pos)))))
+        (realgud:cmd-break)))))
 
 (defun realgud-cmds--mouse-add-remove-bp (event)
   "Add or delete breakpoint on line pointed to by EVENT.
@@ -195,14 +267,14 @@ EVENT should be a mouse click on the left fringe or 
margin."
 (defun realgud:cmd-eval(arg)
     "Evaluate an expression."
     (interactive "MEval expesssion: ")
-    (realgud:cmd-run-command arg "eval" "eval %s")
+    (realgud:cmd-run-command arg "eval")
 )
 
 (defun realgud:cmd-eval-region(start end)
     "Evaluate current region."
     (interactive "r")
     (let ((text (buffer-substring-no-properties start end)))
-      (realgud:cmd-run-command text "eval" "eval %s")))
+      (realgud:cmd-run-command text "eval")))
 
 (defun realgud:cmd-eval-dwim()
   "Eval the current region if active; otherwise, prompt."
@@ -217,101 +289,95 @@ EVENT should be a mouse click on the left fringe or 
margin."
 This command is often referred to as 'step out' as opposed to
 'step over' or 'step into'."
     (interactive "p")
-    (realgud:cmd-run-command arg "finish" "finish")
+    (realgud:cmd-run-command arg "finish")
 )
 
 (defun realgud:cmd-frame(arg)
     "Change the current frame number to the value of the numeric argument.
 If no argument specified use 0 or the most recent frame."
     (interactive "p")
-    (realgud:cmd-run-command arg "frame" "frame %p" t t)
+    (realgud:cmd-run-command arg "frame" nil t t)
 )
 
-(defun realgud:cmd-kill(arg)
-  "kill debugger process"
-  (interactive "p")
-  (realgud:cmd-run-command arg "kill" "kill" nil nil t)
-  )
+(defun realgud:cmd-kill()
+  "Kill debugger process."
+  (interactive)
+  (realgud:cmd-run-command nil "kill" nil nil nil t))
 
 (defun realgud:cmd-newer-frame(&optional arg)
     "Move the current frame to a newer (more recent) frame.
 With a numeric argument move that many levels forward."
     (interactive "p")
-    (realgud:cmd-run-command arg "down" "down %p" "<" t t)
+    (realgud:cmd-run-command arg "down" nil t t)
 )
 
-(defun realgud:cmd-next(&optional arg)
+(defun realgud:cmd-next(&optional count)
     "Step one source line at current call level.
 
-With a numeric argument, step that many times. This command is
-often referred to as 'step through' as opposed to 'step into' or
-'step out'.
+With numeric argument COUNT, step that many times. This command is
+often referred to as `step through' as opposed to `step into' or
+`step out'.
 
-The definition of 'next' is debugger specific so, see the
-debugger documentation for a more complete definition of what is
-getting stepped."
+The definition of `next' is debugger specific, so see the
+documentation of your debugger for a more complete definition of
+what is getting stepped."
     (interactive "p")
-    (realgud:cmd-run-command arg "next" "next %p")
-)
+    (realgud:cmd-run-command count "next"))
 
-(defun realgud:cmd-next-no-arg(&optional arg)
-    "Step one source line at current call level.
+(defun realgud:cmd-next-no-arg()
+  "Step one source line at current call level.
 
 The definition of 'next' is debugger specific so, see the
 debugger documentation for a more complete definition of what is
 getting stepped."
     (interactive)
-    (realgud:cmd-run-command nil "next" "next")
-)
+    (realgud:cmd-next))
 
 (defun realgud:cmd-older-frame(&optional arg)
   "Move the current frame to an older (less recent) frame.
 With a numeric argument move that many levels back."
     (interactive "p")
-    (realgud:cmd-run-command arg "up" "up %p" t t)
+    (realgud:cmd-run-command arg "up" nil t t)
 )
 
-(defun realgud:cmd-repeat-last(&optional arg)
-    "Repeat the last command (or generally what <enter> does."
-    (interactive "")
-    (realgud:cmd-run-command arg "repeat-last" "\n" t nil t)
-)
+(defun realgud:cmd-repeat-last()
+  "Repeat the last command (or generally what <enter> does."
+  (interactive)
+  (realgud:cmd-run-command nil "repeat-last" nil t nil t))
 
-(defun realgud:cmd-restart(&optional arg)
-    "Restart execution."
-    (interactive "")
-    (realgud:cmd-run-command arg "restart" "run" t nil t)
-)
+(defun realgud:cmd-restart()
+  "Restart execution."
+  (interactive)
+  (if (realgud:prompt-if-safe-mode
+                "Restart program?")
+      (realgud:cmd-run-command nil "restart" nil t nil t)))
 
-(defun realgud:cmd-shell(&optional arg)
-    "Drop to a shell."
-    (interactive "")
-    (realgud:cmd-run-command arg "shell" "shell")
-)
+(defun realgud:cmd-shell()
+  "Drop to a shell."
+  (interactive)
+  (realgud:cmd-run-command nil "shell"))
 
-(defun realgud:cmd-step(&optional arg)
+(defun realgud:cmd-step(&optional count)
     "Step one source line.
 
-With a numeric argument, step that many times.
-This command is often referred to as 'step into' as opposed to
-'step over' or 'step out'.
+With a numeric prefix argument COUNT, step that many times.
+This command is often referred to as `step into' as opposed to
+`step over' or `step out'.
 
-The definition of 'step' is debugger specific so, see the
-debugger documentation for a more complete definition of what is
-getting stepped."
+The definition of `step' is debugger specific, so see the
+documentation of your debugger for a more complete definition of
+what is getting stepped."
     (interactive "p")
-    (realgud:cmd-run-command arg "step" "step %p")
-)
+    (realgud:cmd-run-command count "step"))
 
 (defun realgud:cmd-step-no-arg()
     "Step one source line.
 
-The definition of 'step' is debugger specific so, see the
-debugger documentation for a more complete definition of what is
-getting stepped."
+The definition of `step' is debugger specific, so see the
+documentation of your debugger for a more complete definition of
+what is getting stepped."
     (interactive)
-    (realgud:cmd-run-command nil "step" "step")
-)
+    (realgud:cmd-step))
 
 (defun realgud:cmd-terminate ()
   "Gently terminate source and command buffers without possibly
@@ -330,32 +396,34 @@ Continue until the current line. In some cases this is 
really
 two commands - setting a temporary breakpoint on the line and
 continuing execution."
     (interactive "p")
-    (realgud:cmd-run-command arg "until" "until")
+    (realgud:cmd-run-command arg "until")
 )
 
 (defun realgud:cmd-quit (&optional arg)
   "Gently terminate execution of the debugged program."
   (interactive "p")
-  (let ((buffer (current-buffer))
-       (cmdbuf (realgud-get-cmdbuf))
-       (cmd-hash)
-       (cmd)
-       )
-    (if cmdbuf
-       (progn
-         (with-current-buffer cmdbuf
-           (realgud-cmdbuf-info-in-srcbuf?= (not (realgud-cmdbuf? buffer)))
-           (setq cmd-hash (realgud-cmdbuf-info-cmd-hash realgud-cmdbuf-info))
-           (unless (and cmd-hash (setq cmd (gethash "quit" cmd-hash)))
-             (setq cmd "quit"))
+  (if (realgud:prompt-if-safe-mode
+                "Quit debugger?")
+      (let ((buffer (current-buffer))
+           (cmdbuf (realgud-get-cmdbuf))
+           (cmd-hash)
+           (cmd)
            )
-         (realgud-command cmd arg 't)
+       (if cmdbuf
+           (progn
+             (with-current-buffer cmdbuf
+               (realgud-cmdbuf-info-in-srcbuf?= (not (realgud-cmdbuf? buffer)))
+               (setq cmd-hash (realgud-cmdbuf-info-cmd-hash 
realgud-cmdbuf-info))
+               (unless (and cmd-hash (setq cmd (gethash "quit" cmd-hash)))
+                 (setq cmd "quit"))
+               )
+          (realgud-command cmd arg t)
          (if cmdbuf (realgud:terminate cmdbuf))
          )
-      ; else
-      (realgud:terminate-srcbuf buffer)
-      )
-    )
-  )
+         ;; else
+         (realgud:terminate-srcbuf buffer)
+         )
+       )
+    ))
 
 (provide-me "realgud-")
diff --git a/realgud/common/file.el b/realgud/common/file.el
index b4c378c..5bbf8ee 100644
--- a/realgud/common/file.el
+++ b/realgud/common/file.el
@@ -29,22 +29,18 @@ found"
   "Return the column of the first column position of SOURCE-TEXT
 at LINE-NUMBER or nil if it is not there"
   (condition-case nil
-      (if (file-exists-p filename)
-         (let ((file-buffer (find-file-noselect filename)))
-           (with-current-buffer-safe file-buffer
-             (save-excursion
-               (goto-char (point-min))
-               (forward-line (1- line-number))
-               (unless no-strip-blanks
-                 (setq source-text (realgud:strip source-text)))
-               (if (search-forward source-text (point-at-eol))
-                   (- (current-column)
-                      (length source-text))))))
-       ;; else
-       nil)
-    (error nil))
-)
-
+      (when (and source-text (file-exists-p filename))
+        (let ((file-buffer (find-file-noselect filename)))
+          (with-current-buffer-safe file-buffer
+            (save-excursion
+              (goto-char (point-min))
+              (forward-line (1- line-number))
+              (unless no-strip-blanks
+                (setq source-text (realgud:strip source-text)))
+              (when (search-forward source-text (point-at-eol))
+                (goto-char (match-beginning 0))
+                (current-column))))))
+    (error nil)))
 
 ;; FIXME: should allow column number to be passed in.
 (defun realgud:file-loc-from-line(filename line-number
diff --git a/realgud/common/follow.el b/realgud/common/follow.el
index a360522..7b379c9 100644
--- a/realgud/common/follow.el
+++ b/realgud/common/follow.el
@@ -27,7 +27,7 @@
     ))
 
 (defun realgud:follow-point()
-  (interactive "")
+  (interactive)
   (realgud:follow (point)))
 
 (defun realgud:follow-event(event)
diff --git a/realgud/common/fringe-utils.py b/realgud/common/fringe-utils.py
old mode 100644
new mode 100755
index c344e50..784cdb0
--- a/realgud/common/fringe-utils.py
+++ b/realgud/common/fringe-utils.py
@@ -1,3 +1,5 @@
+#!/usr/bin/env python3
+
 def bit2char(byte, offset):
     return "X" if byte & (1 << offset) else " "
 
@@ -14,7 +16,6 @@ def compile_bitmap(bmp_lines):
     bmp_bytes = []
     for line in bmp_lines:
         s = sum(char2bit(c, offset) for (offset, c) in enumerate(line))
-        print(s)
         bmp_bytes.append(s.to_bytes(1, byteorder="big"))
     return b"".join(bmp_bytes)
 
diff --git a/realgud/common/fringe.el b/realgud/common/fringe.el
index da6ade0..237a97f 100644
--- a/realgud/common/fringe.el
+++ b/realgud/common/fringe.el
@@ -6,7 +6,7 @@
 (declare-function realgud-loc-hist-item-at       'realgud-lochist)
 (declare-function buffer-killed?                 'helper)
 (declare-function realgud-loc-cmd-marker         'realgud-loc)
-(declare-function realgud:loc-follow             'realgud-loc)
+(declare-function realgud:follow-mark            'realgud-follow)
 (declare-function realgud-loc-marker             'realgud-loc)
 
 ;; Bitmap for hollow overlay-arrow in fringe
@@ -168,14 +168,14 @@ session which should also erase those fringe arrows."
   "Goto the position stored in realgud-overlay-arrow1"
   (interactive "")
   (if realgud-overlay-arrow1
-      (realgud:loc-follow realgud-overlay-arrow1))
+      (realgud:follow-mark realgud-overlay-arrow1))
   )
 
 (defun realgud-goto-arrow2()
   "Goto the position stored in realgud-overlay-arrow2"
   (interactive "")
   (if realgud-overlay-arrow2
-      (realgud:loc-follow realgud-overlay-arrow2))
+      (realgud:follow-mark realgud-overlay-arrow2))
   )
 
 
@@ -183,7 +183,7 @@ session which should also erase those fringe arrows."
   "Goto the position stored in realgud-overlay-arrow3"
   (interactive "")
   (if realgud-overlay-arrow3
-      (realgud:loc-follow realgud-overlay-arrow3))
+      (realgud:follow-mark realgud-overlay-arrow3))
   )
 
 (defun realgud-recenter-arrow1()
@@ -205,15 +205,15 @@ session which should also erase those fringe arrows."
     (with-current-buffer-safe buffer
       (if (and realgud-overlay-arrow3
               (eq (marker-buffer realgud-overlay-arrow3) buffer))
-         (realgud:loc-follow realgud-overlay-arrow3)
+         (realgud:follow-mark realgud-overlay-arrow3)
        )
       (if (and realgud-overlay-arrow2
               (eq (marker-buffer realgud-overlay-arrow2) buffer))
-         (realgud:loc-follow realgud-overlay-arrow2)
+         (realgud:follow-mark realgud-overlay-arrow2)
       )
       (if (and realgud-overlay-arrow1
               (eq (marker-buffer realgud-overlay-arrow1) buffer))
-         (realgud:loc-follow realgud-overlay-arrow1)
+         (realgud:follow-mark realgud-overlay-arrow1)
        )
       (redisplay)
       )
diff --git a/realgud/common/run.el b/realgud/common/run.el
index 1108673..fc6268e 100644
--- a/realgud/common/run.el
+++ b/realgud/common/run.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015 Free Software Foundation, Inc
+;; Copyright (C) 2015, 2016 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -155,7 +155,7 @@ details of the error. The command buffer or nil is 
returned."
 (defun realgud:run-debugger (debugger-name query-cmdline-fn parse-cmd-args-fn
                                           minibuffer-history
                                           &optional opt-command-line
-                                          no-reset)
+                                          no-reset opt-script-name)
   "Invoke the a debugger and start the Emacs user interface.
 
 String OPT-COMMAND-LINE specifies how to run DEBUGGER-NAME. You
@@ -174,7 +174,7 @@ Otherwise nil is returned.
         (cmd-args (split-string-and-unquote cmd-str))
         (parsed-args (funcall parse-cmd-args-fn cmd-args))
         (script-args (caddr parsed-args))
-        (script-name (car script-args))
+        (script-name (or opt-script-name (car script-args)))
         (parsed-cmd-args
          (remove-if 'nil (realgud:flatten parsed-args)))
         )
diff --git a/realgud/common/send.el b/realgud/common/send.el
index 39ac519..c068c4f 100644
--- a/realgud/common/send.el
+++ b/realgud/common/send.el
@@ -116,11 +116,19 @@ results into the command buffer."
 (defun realgud-send-command-invisible (command-str)
   (realgud-send-command command-str (function realgud-send-command-process)))
 
+(defvar realgud-expand-format-overrides nil
+  "An alist of overrides for `realgud-expand-format'.
+Each element should have the form (KEY . VALUE).  Key should be a
+single-character escape accepted by `realgud-expand-format';
+value should be a string.  Every time %KEY is encountered in te
+string, it will be replaced by VALUE instead of being processed
+as usual.  If VALUE is nil, the override is ignored.")
 
 (defun realgud-expand-format (fmt-str &optional opt-str opt-buffer)
-  "Expands commands format characters inside FMT-STRING using values
-from the debugging session. OPT-STR is an optional string.
-Some %-escapes in the string arguments are expanded. These are:
+  "Expands commands format characters inside FMT-STR.
+OPT-STR is an optional string (used with %p and %s).  Values are
+taken from current buffer, or OPT-BUFFER if non-nil.  Some
+%-escapes in the string arguments are expanded.  These are:
 
   %f -- Name without directory of current source file.
   %F -- Name without directory or extension of current source file.
@@ -128,13 +136,12 @@ Some %-escapes in the string arguments are expanded. 
These are:
   %X -- Expanded name of current source file.
   %d -- Directory of current source file.
   %l -- Number of current source line.
-  %p -- Numeric prefix argument converted to a string
-        If no prefix argument %p is the null string.
   %c -- Fully qualified class name derived from the expression
         surrounding point.
-  %s -- value of opt-str.
+  %p -- Value of OPT-STR, converted to string using `int-to-string'
+  %s -- Value of OPT-STR.
 
-"
+%p and %s are replaced by an empty string if OPT-STR is nil."
   (let* ((buffer (or opt-buffer (current-buffer)))
         (srcbuf (realgud-get-srcbuf buffer))
         (src-file-name (and srcbuf (buffer-file-name srcbuf)))
@@ -148,6 +155,7 @@ Some %-escapes in the string arguments are expanded. These 
are:
              (concat
               result (match-string 1 fmt-str)
               (cond
+               ((cdr (assq key realgud-expand-format-overrides)))
                ((eq key ?d)
                 (or (and src-file-name
                          (file-name-directory src-file-name))
@@ -182,9 +190,9 @@ Some %-escapes in the string arguments are expanded. These 
are:
                ;;  (gud-read-address))
                ;; ((eq key ?c)
                ;;   (gud-find-class srcbuf))
-               ((eq key ?p) (if opt-str (int-to-string opt-str) ""))
-               ((eq key ?s) opt-str)
-               (t key)))))
+                ((eq key ?p) (if opt-str (int-to-string opt-str) ""))
+                ((eq key ?s) (or opt-str ""))
+                (t key)))))
       (setq fmt-str (substring fmt-str (match-end 2))))
     ;; There might be text left in FMT-STR when the loop ends.
     (concat result fmt-str)))
diff --git a/realgud/common/shortkey.el b/realgud/common/shortkey.el
index 987788f..ef5cb86 100644
--- a/realgud/common/shortkey.el
+++ b/realgud/common/shortkey.el
@@ -14,7 +14,7 @@
 (declare-function realgud-cmdbuf?                       
'realgud-buffer-command)
 (declare-function realgud:debugger-name-transform       'realgud-helper)
 (declare-function realgud-get-cmdbuf                    'realgud-buffer-helper)
-(declare-function realgud:loc-follow                    'realgud-loc)
+(declare-function realgud:follow-mark                   'realgud-follow)
 (declare-function realgud-loc-hist-item-at              'realgud-lochist)
 (declare-function realgud-cmdbuf-loc-hist               'realgud-command)
 (declare-function realgud-populate-debugger-menu        'realgud-menu)
@@ -22,6 +22,7 @@
 (declare-function realgud-populate-src-buffer-map-plain 'realgud-key)
 (declare-function realgud-srcbuf-info-short-key?=,      'realgud-source)
 (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)
 
 ;; (defvar realgud::tool-bar-map) ;; fully defined in track-mode.el
@@ -42,6 +43,7 @@
     (define-key map "8"        'realgud:goto-loc-hist-8)
     (define-key map "9"        'realgud:goto-loc-hist-9)
     (define-key map "b"        'realgud:cmd-break)
+    (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 "U"        'realgud:cmd-until)
@@ -103,58 +105,39 @@ minor mode is active.
     ))
 
 (defun realgud-short-key-mode-setup (mode-on?)
-  "Called when entering or leaving `realgud-short-key-mode'. Variable
-MODE-ON? a boolean which specifies if we are going into or out of this mode."
-  (if (realgud-srcbuf?)
-    (let* ((cmdbuf (realgud-get-cmdbuf))
-          (shortkey-keymap (realgud-get-short-key-mode-map cmdbuf))
-          )
-
-      ;; If there's a shortkey keymap that is custom
-      ;; for this debugger mode, use it.
-      (when shortkey-keymap
-       (cond
-        (mode-on?
-         (set (make-local-variable 'tool-bar-map) realgud:tool-bar-map)
-         (use-local-map shortkey-keymap))
-        ('t
-         (kill-local-variable 'realgud:tool-bar-map)
-         (use-local-map nil))
-         ))
-
-      ;; Ensure action only is performed when the state actually is toggled.
-      ;; or when not read-only
-      (when (or (not buffer-read-only)
-               (not (eq (realgud-sget 'srcbuf-info 'short-key?) mode-on?)))
-       ;; Save the current state, so we can determine when the
-       ;; state is toggled in the future.
-       (when (not (eq (realgud-sget 'srcbuf-info 'short-key?) mode-on?))
-         (realgud-srcbuf-info-short-key?= mode-on?)
-         (setq realgud-short-key-mode mode-on?)
-         (if mode-on?
-             ;; mode is being turned on.
-             (progn
-               (realgud-srcbuf-info-was-read-only?= buffer-read-only)
-
-               ;; If there's a shortkey keymap that is custom
-               ;; for this debugger mode, use it.
-               (if shortkey-keymap (use-local-map shortkey-keymap))
-
-               (local-set-key [m-insert] 'realgud-short-key-mode)
-               (when realgud-srcbuf-lock (setq buffer-read-only t))
-               (run-mode-hooks 'realgud-short-key-mode-hook))
-           ;; mode is being turned off: restore read-only state.
-           (setq buffer-read-only
-                 (realgud-sget 'srcbuf-info 'was-read-only?))))
-    ;; (with-current-buffer-safe cmdbuf
-    ;;   (realgud-cmdbuf-info-src-shortkey?= mode-on?)
-    ;;   (realgud-cmdbuf-info-in-srcbuf?= mode-on?)
-    ;;   )
-    ))
-    (progn
-      (setq realgud-short-key-mode nil)
-      (error "buffer %s does not seem to be attached to a debugger"
-          (buffer-name)))))
+  "Set up or tear down `realgud-short-key-mode'.
+MODE-ON? is a boolean indicating whether the mode should be
+turned on or off."
+  (setq realgud-short-key-mode mode-on?)
+  ;; When enabling, try to find a command buffer to attach to.
+  (when (and realgud-short-key-mode (not (realgud--ensure-attached)))
+    (setq realgud-short-key-mode nil))
+  ;; Now apply mode change
+  (cond
+   ;; Mode was just enabled
+   (realgud-short-key-mode
+    ;; Record info to restore it when disabling
+    (unless (equal (realgud-sget 'srcbuf-info 'short-key?) 
realgud-short-key-mode)
+      (realgud-srcbuf-info-prev-local-map= (current-local-map))
+      (realgud-srcbuf-info-was-read-only?= buffer-read-only))
+    ;; Apply local map
+    (let ((keymap (realgud-get-short-key-mode-map (realgud-get-cmdbuf))))
+      (when keymap (use-local-map keymap)))
+    ;; Finish setting up
+    (set (make-local-variable 'tool-bar-map) realgud:tool-bar-map)
+    (local-set-key [m-insert] #'realgud-short-key-mode)
+    (setq buffer-read-only realgud-srcbuf-lock)
+    (run-mode-hooks 'realgud-short-key-mode-hook))
+   ;; Mode was just disabled
+   (t
+    (kill-local-variable 'tool-bar-map)
+    (when (realgud-srcbuf-info-set?)
+      ;; Restore previous state
+      (use-local-map (realgud-sget 'srcbuf-info 'prev-local-map))
+      (setq buffer-read-only (realgud-sget 'srcbuf-info 'was-read-only?)))))
+  ;; Record state
+  (when (realgud-srcbuf-info-set?)
+    (realgud-srcbuf-info-short-key?= realgud-short-key-mode)))
 
 (defun realgud-short-key-mode-off ()
   "Turn off `realgud-short-key-mode' in all buffers."
@@ -166,7 +149,7 @@ MODE-ON? a boolean which specifies if we are going into or 
out of this mode."
          (realgud-short-key-mode -1)))))
 
 (defun realgud-populate-src-buffer-map (map)
-  "Bind all common keys and menu used in the dbgr src buffers.
+  "Bind all common keys and menu used in src buffers.
 This includes the keys bound to `realgud-key-prefix' (typically C-x
 C-a)."
   (realgud-populate-src-buffer-map-plain map)
@@ -183,7 +166,7 @@ C-a)."
       (let* ((loc-hist (realgud-cmdbuf-loc-hist cmdbuf))
            (loc (realgud-loc-hist-item-at loc-hist (- num)))
            (loc-marker (realgud-loc-marker loc)))
-       (realgud:loc-follow loc-marker))
+       (realgud:follow-mark loc-marker))
       ;; else
        (message "No command buffer associated with this buffer")
     )))
@@ -191,34 +174,32 @@ C-a)."
 
 (defun realgud:goto-loc-hist-4 ()
   "Go to position 4th from the newest position."
-  (interactive "")
+  (interactive)
   (realgud:goto-loc-hist 4))
 
 (defun realgud:goto-loc-hist-5 ()
   "Go to position 5th from the newest position."
-  (interactive "")
+  (interactive)
   (realgud:goto-loc-hist 5))
 
 (defun realgud:goto-loc-hist-6 ()
-  (interactive "")
+  "Go to position 6th from the newest position."
+  (interactive)
   (realgud:goto-loc-hist 6))
 
 (defun realgud:goto-loc-hist-7 ()
   "Go to position 7th from the newest position."
-  (interactive "")
+  (interactive)
   (realgud:goto-loc-hist 7))
 
 (defun realgud:goto-loc-hist-8 ()
   "Go to position 8th from the newest position."
-  (interactive "")
+  (interactive)
   (realgud:goto-loc-hist 8))
 
 (defun realgud:goto-loc-hist-9 ()
   "Go to position 9th from the newest position."
-  (interactive "")
+  (interactive)
   (realgud:goto-loc-hist 9))
 
 (provide-me "realgud-")
-
-;;; Local variables:
-;;; End:
diff --git a/realgud/common/track.el b/realgud/common/track.el
index 3cadf04..af62291 100644
--- a/realgud/common/track.el
+++ b/realgud/common/track.el
@@ -155,6 +155,16 @@ marks set in buffer-local variables to extract text"
       (realgud-track-loc text (point-marker))
     ))
 
+(defun realgud:track-complain-if-not-in-cmd-buffer (&optional buf errorp)
+  "Complain if BUF (default: current buffer) is not a command buffer.
+With non-nil ERRORP, raise an exception.  Otherwise, print a
+message."
+  (setq buf (or buf (current-buffer)))
+  (unless (realgud-cmdbuf? buf)
+    (funcall (if errorp #'error #'message)
+             "Buffer %s is not a debugger command buffer" buf)
+    t))
+
 (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.
@@ -179,7 +189,7 @@ evaluating (realgud-cmdbuf-info-loc-regexp 
realgud-cmdbuf-info)"
         (bp-loc)
         (cmdbuf (or opt-cmdbuf (current-buffer)))
         )
-    (if (realgud-cmdbuf? cmdbuf)
+    (unless (realgud:track-complain-if-not-in-cmd-buffer cmdbuf t)
        (if (not (equal "" text))
            (with-current-buffer cmdbuf
              (if (realgud-sget 'cmdbuf-info 'divert-output?)
@@ -207,23 +217,18 @@ evaluating (realgud-cmdbuf-info-loc-regexp 
realgud-cmdbuf-info)"
                         (or (not frame-num)
                             (eq frame-num (realgud-cmdbuf-pat 
"top-frame-num")))))
                    (realgud-track-loc-action loc cmdbuf (not selected-frame)
-                                          shortkey-on-tracing?)
+                                              shortkey-on-tracing?)
                    (realgud-cmdbuf-info-in-debugger?= 't)
-                   (realgud-cmdbuf-mode-line-update)
-                   )
-               (progn
-                 (setq bp-loc (realgud-track-bp-delete text-sans-loc cmd-mark 
cmdbuf))
-                 (if bp-loc
-                     (let ((src-buffer (realgud-loc-goto bp-loc)))
-                       (realgud-cmdbuf-add-srcbuf src-buffer cmdbuf)
-                       (with-current-buffer src-buffer
-                         (realgud-bp-del-info bp-loc)
-                         ))))
-               )
-             )
-         )
-      ;; else
-      (error "Buffer %s is not a debugger command buffer" cmdbuf))
+                    (realgud-cmdbuf-mode-line-update))
+                (dolist (bp-loc (realgud-track-bp-delete text-sans-loc 
cmd-mark cmdbuf))
+                  (let ((src-buffer (realgud-loc-goto bp-loc)))
+                    (realgud-cmdbuf-add-srcbuf src-buffer cmdbuf)
+                    (with-current-buffer src-buffer
+                      (realgud-bp-del-info bp-loc)
+                      ))))
+              )
+          )
+        )
     )
   )
 
@@ -378,7 +383,7 @@ Otherwise return nil."
   ;; can accomodate a family of debuggers -- one at a time -- for the
   ;; buffer process.
 
-  (if (realgud-cmdbuf?)
+  (unless (realgud:track-complain-if-not-in-cmd-buffer)
       (let
          ((loc-regexp (or opt-regexp
                           (realgud-sget 'cmdbuf-info 'loc-regexp)))
@@ -422,10 +427,8 @@ Otherwise return nil."
          ;; else
          (and (message
                (concat "Buffer variable for regular expression pattern not"
-                       " given and not passed as a parameter")) nil)))
-    ;; else
-    (and (message "Current buffer %s is not a debugger command buffer"
-                 (current-buffer)) nil)
+                        " given and not passed as a parameter"))
+               nil)))
     )
   )
 
@@ -443,8 +446,8 @@ Otherwise return nil. CMD-MARK is set in the realgud-loc 
object created.
 
   (setq cmdbuf (or cmdbuf (current-buffer)))
   (with-current-buffer cmdbuf
-    (if (realgud-cmdbuf?)
-       (let* ((loc-pat (realgud-cmdbuf-pat "brkpt-set")))
+    (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))
@@ -486,18 +489,15 @@ Otherwise return nil. CMD-MARK is set in the realgud-loc 
object created.
                                    loc-or-error)))
                            nil)))
                  nil))
-           nil))
-      (and (message "Current buffer %s is not a debugger command buffer"
-                   (current-buffer)) nil)
+            nil))
       )
     )
 )
 
 (defun realgud-track-bp-delete(text &optional cmd-mark cmdbuf ignore-file-re)
-  "Do regular-expression matching see if a breakpoint has been
-deleted inside string TEXT. If we match, we will return the
-breakpoint location of the breakpoint found from in command
-buffer. Otherwise nil is returned."
+  "Do regular-expression matching to see if a breakpoint has been
+deleted inside string TEXT. Return a list of breakpoint locations
+of the breakpoints found in command buffer."
 
   ; NOTE: realgud-cmdbuf-info is a buffer variable local to the process
   ; running the debugger. It contains a realgud-cmdbuf-info "struct". In
@@ -507,37 +507,26 @@ buffer. Otherwise nil is returned."
 
   (setq cmdbuf (or cmdbuf (current-buffer)))
   (with-current-buffer cmdbuf
-    (if (realgud-cmdbuf?)
-       (let* ((loc-pat (realgud-cmdbuf-pat "brkpt-del"))
-              (found-loc nil)
-              )
-         (if loc-pat
-             (let ((bp-num-group   (realgud-loc-pat-num loc-pat))
-                   (loc-regexp     (realgud-loc-pat-regexp loc-pat))
-                   (loc))
-               (if (and loc-regexp (string-match loc-regexp text))
-                   (let* ((bp-num (string-to-number (match-string bp-num-group 
text)))
-                          (info realgud-cmdbuf-info)
-                          (bp-list (realgud-cmdbuf-info-bp-list info))
-                          )
-                     (while (and (not found-loc) (setq loc (car-safe bp-list)))
-                       (setq bp-list (cdr bp-list))
-                       (if (eq (realgud-loc-num loc) bp-num)
-                           (progn
-                             (setq found-loc loc)
-                             ;; Remove loc from breakpoint list
-                             (realgud-cmdbuf-info-bp-list=
-                              (remove loc (realgud-cmdbuf-info-bp-list info))))
-                       ))
-                     ;; return the location:
-                     found-loc)
-                 nil))
-           nil))
-      (and (message "Current buffer %s is not a debugger command buffer"
-                   (current-buffer)) nil)
-      )
-    )
-)
+    (unless (realgud:track-complain-if-not-in-cmd-buffer cmdbuf t)
+      (let* ((loc-pat (realgud-cmdbuf-pat "brkpt-del")))
+        (when loc-pat
+          (let ((bp-num-group (realgud-loc-pat-num loc-pat))
+                (loc-regexp   (realgud-loc-pat-regexp loc-pat)))
+            (when (and loc-regexp (string-match loc-regexp text))
+              (let* ((bp-nums-str (match-string bp-num-group text))
+                     (bp-num-strs (split-string bp-nums-str "[^0-9]+" t))
+                     (bp-nums (mapcar #'string-to-number bp-num-strs))
+                     (info realgud-cmdbuf-info)
+                     (all-bps (realgud-cmdbuf-info-bp-list info))
+                     (found-locs nil))
+                (dolist (loc all-bps)
+                  (when (memq (realgud-loc-num loc) bp-nums)
+                    (push loc found-locs)
+                    ;; Remove loc from breakpoint list
+                    (realgud-cmdbuf-info-bp-list=
+                     (remove loc (realgud-cmdbuf-info-bp-list info)))))
+                ;; return the locations
+                found-locs))))))))
 
 (defun realgud-track-bp-enable-disable(text loc-pat enable? &optional cmdbuf)
   "Do regular-expression matching see if a breakpoint has been enabled or 
disabled inside
diff --git a/realgud/debugger/bashdb/init.el b/realgud/debugger/bashdb/init.el
index 1a34b81..49a58dd 100644
--- a/realgud/debugger/bashdb/init.el
+++ b/realgud/debugger/bashdb/init.el
@@ -101,4 +101,7 @@ realgud-loc-pat struct")
 (setf (gethash "quit"   realgud:bashdb-command-hash) "quit")
 (setf (gethash "until"  realgud:bashdb-command-hash) "continue %l")
 
+;; Unsupported features:
+(setf (gethash "jump"  realgud:bashdb-command-hash) "*not-implemented*")
+
 (provide-me "realgud:bashdb-")
diff --git a/realgud/debugger/gdb/init.el b/realgud/debugger/gdb/init.el
index adef823..8b7ac86 100644
--- a/realgud/debugger/gdb/init.el
+++ b/realgud/debugger/gdb/init.el
@@ -70,24 +70,12 @@ realgud-loc-pat struct")
 ;; response.
 ;; For example:
 ;;   Deleted breakpoint 1
+;;   Deleted breakpoints 1 2 3 4
 (setf (gethash "brkpt-del" realgud:gdb-pat-hash)
       (make-realgud-loc-pat
-       :regexp (format "^Deleted breakpoint %s.\n"
-                      realgud:regexp-captured-num)
+       :regexp "^Deleted breakpoints? \\(\\([0-9]+ *\\)+\\)\n"
        :num 1))
 
-
-;; Regular expression that describes a debugger "delete" (breakpoint)
-;; list response.
-;; For example:
-;;   Deleted breakpoints 1 2 3
-(setf (gethash "brkpts-del" realgud:gdb-pat-hash)
-      (make-realgud-loc-pat
-       :regexp (format "^Deleted breakpoints %s.\n"
-                      realgud:regexp-captured-num)
-       :string 1))
-
-
 (defconst realgud:gdb-frame-start-regexp
   "\\(?:^\\|\n\\)")
 
diff --git a/realgud/debugger/ipdb/core.el b/realgud/debugger/ipdb/core.el
index e8a1a8c..1bd3b46 100644
--- a/realgud/debugger/ipdb/core.el
+++ b/realgud/debugger/ipdb/core.el
@@ -19,6 +19,7 @@
 
 (eval-when-compile (require 'cl))
 
+(require 'comint)
 (require 'load-relative)
 (require-relative-list '("../../common/track"
                         "../../common/core"
@@ -31,6 +32,7 @@
 (declare-function realgud-parse-command-arg 'realgud-core)
 (declare-function realgud-query-cmdline 'realgud-core)
 (declare-function realgud-suggest-invocation 'realgud-core)
+(declare-function realgud-get-cmdbuf   'realgud-buffer-helper)
 
 ;; FIXME: I think the following could be generalized and moved to
 ;; realgud-... probably via a macro.
@@ -42,7 +44,7 @@
 
 (easy-mmode-defmap ipdb-minibuffer-local-map
   '(("\C-i" . comint-dynamic-complete-filename))
-  "Keymap for minibuffer prompting of gud startup command."
+  "Keymap for minibuffer prompting of debugger startup command."
   :inherit minibuffer-local-map)
 
 ;; FIXME: I think this code and the keymaps and history
@@ -54,6 +56,15 @@
    'realgud:ipdb-minibuffer-history
    opt-debugger))
 
+;; FIXME: I think this code and the keymaps and history
+;; variable chould be generalized, perhaps via a macro.
+(defun ipdb-remote-query-cmdline ()
+  (realgud-query-cmdline
+   'ipdb-suggest-invocation
+   ipdb-minibuffer-local-map
+   'realgud:ipdb-remote-minibuffer-history
+   "telnet"))
+
 (defun ipdb-parse-cmd-args (orig-args)
   "Parse command line ORIG-ARGS for the annotate level and name of script to 
debug.
 
@@ -161,16 +172,20 @@ For example for the following input:
    '(telnet localhost 6900))
 
 we might return:
-   ((\"telnet\" \"localhost\" \"6900\") (\"ipdb\") (\"\") nil)
+   ((\"telnet\" \"localhost\" \"6900\") nil nil nil)
 
 Note that the script name path has been expanded via `expand-file-name'.
 "
-    (list orig-args '("ipdb") '("") nil)
+    (list orig-args '("ipdb") nil nil nil)
   )
 
   ;; To silence Warning: reference to free variable
 (defvar realgud:ipdb-command-name)
 
+(defun ipdb-remote-suggest-invocation (debugger-name)
+  "Suggest an ipdb command invocation via `realgud-suggest-invocaton'"
+  "telnet 127.0.0.1 4000")
+
 (defun ipdb-suggest-invocation (debugger-name)
   "Suggest a ipdb command invocation via `realgud-suggest-invocaton'"
   (realgud-suggest-invocation realgud:ipdb-command-name
@@ -195,63 +210,42 @@ breakpoints, etc.)."
 ;;   (setcdr (assq 'ipdb-debugger-support-minor-mode minor-mode-map-alist)
 ;;       ipdb-debugger-support-minor-mode-map-when-deactive))
 
+(defconst realgud:ipdb-complete-script
+  (concat
+   "from IPython import get_ipython;"
+   "comp = '''%s''';"
+   "prefix, candidates = get_ipython().Completer.complete(line_buffer = comp);"
+   "print(';'.join([prefix] + candidates))"))
+
 (defun realgud:ipdb-backend-complete ()
   "Send a command to the ipdb buffer and parse the output.
 
 The idea here is to rely on the
 `comint-redirect-send-command-to-process' function to send a
-python command that will return the completions for the given
-input. Specifically, here is the python code:
-
->>> from IPython import get_ipython
->>> comp = '''%s'''
->>> ';'.join(get_ipython().complete(comp.split()[-1] if len(comp)else '', 
comp)[1])
-
-This returns a list of strings that match the current word (hence
-why we need the `bounds-of-thing-at-point')."
+python command `realgud:ipdb-complete-script' that will return
+the completions for the given input."
   (interactive)
   (let ((buffer (current-buffer))
         (cmdbuf (realgud-get-cmdbuf))
         (process (get-buffer-process (current-buffer)))
-        (end-position (point))
-        (bounds (bounds-of-thing-at-point 'word))
-        )
+        (start-pos (save-excursion (comint-goto-process-mark) (point)))
+        (end-pos (point)))
 
     ;; get the input string
-    (save-excursion
-      (comint-goto-process-mark)
-      (let* ((start-position (point))
-             (input-str (buffer-substring-no-properties start-position
-                                                        end-position))
-             )
-        (when (not (= (length input-str) 0))
-          (let* ((python-str (concat
-                              "from IPython import get_ipython; "
-                              "comp = '''%s''';"
-                              "';'.join(get_ipython()"
-                              ".complete(comp.split()[-1] if len(comp)"
-                              "else '', comp)[1])"))
-                 (command-str (format python-str input-str))
-                 (output-str (with-temp-buffer
-                               (let ((tmpbuf (current-buffer)))
-                                 (comint-redirect-send-command-to-process
-                                  command-str tmpbuf process nil t)
-                                 ;; Wait for the process to complete
-                                 (set-buffer (process-buffer process))
-                                 (while (null comint-redirect-completed)
-                                   (accept-process-output nil 0 5)) ;; wait 5ms
-                                 (set-buffer tmpbuf)
-                                 (buffer-substring (1+ (point-min))
-                                                   (1- (1- (point-max)))))))
-                 )
-
-            ;; we need to change the start position to that of the current word
-            ;; since python returns just the word (and not the whole line)
-            (if (car bounds) (setq start-position (car bounds)))
-
-            (list start-position
-                  end-position
-                  (split-string output-str ";"))))))))
+    (when (> end-pos start-pos)
+      (let* ((input-str (buffer-substring-no-properties start-pos end-pos))
+             (command-str (format realgud:ipdb-complete-script input-str))
+             (output-str (with-temp-buffer
+                           (comint-redirect-send-command-to-process
+                            command-str (current-buffer) process nil t)
+                           ;; Wait for the process to complete
+                           (with-current-buffer (process-buffer process)
+                             (while (null comint-redirect-completed)
+                               (accept-process-output nil 0 5))) ;; wait 5ms
+                           (buffer-substring (point-min) (1- (point-max)))))
+             (output-values (split-string output-str ";"))
+             (prefix (car output-values)))
+        (list (- end-pos (length prefix)) end-pos (cdr output-values))))))
 
 (defun realgud:ipdb-completion-at-point ()
   (let ((ipdb (realgud:ipdb-backend-complete)))
diff --git a/realgud/debugger/ipdb/init.el b/realgud/debugger/ipdb/init.el
index 96ef9e3..07ae8ad 100644
--- a/realgud/debugger/ipdb/init.el
+++ b/realgud/debugger/ipdb/init.el
@@ -71,10 +71,11 @@ realgud-loc-pat struct")
        :file-group 2
        :line-group 3))
 
-;;  Regular expression that describes a "delete breakpoint" line
+;; Regular expression that describes a "delete breakpoint" line
+;; Python 3 includes a file name and line number; Python 2 doesn't
 (setf (gethash "brkpt-del" realgud:ipdb-pat-hash)
       (make-realgud-loc-pat
-       :regexp "^Deleted breakpoint \\([0-9]+\\)\n"
+       :regexp "^Deleted breakpoint \\([0-9]+\\)"
        :num 1))
 
 (setf (gethash "font-lock-keywords" realgud:ipdb-pat-hash)
diff --git a/realgud/debugger/ipdb/ipdb.el b/realgud/debugger/ipdb/ipdb.el
index 447aeef..27dff12 100644
--- a/realgud/debugger/ipdb/ipdb.el
+++ b/realgud/debugger/ipdb/ipdb.el
@@ -109,7 +109,7 @@ fringe and marginal icons.
   (let ((cmd-buf (realgud:run-debugger "ipdb" 'ipdb-remote-query-cmdline
                                        'ipdb-parse-remote-cmd-args
                                        'realgud:ipdb-remote-minibuffer-history
-                                       opt-cmd-line no-reset))
+                                       opt-cmd-line no-reset "remote-ipdb"))
         )
     (add-hook 'completion-at-point-functions
               'realgud:ipdb-completion-at-point nil t)
diff --git a/realgud/debugger/nodejs/init.el b/realgud/debugger/nodejs/init.el
index 118eb22..e20211e 100644
--- a/realgud/debugger/nodejs/init.el
+++ b/realgud/debugger/nodejs/init.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015 Free Software Foundation, Inc
+;; Copyright (C) 2015, 2016 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -161,4 +161,7 @@ realgud-loc-pat struct")
 (setf (gethash "step"       realgud:nodejs-command-hash) "step")
 (setf (gethash "next"       realgud:nodejs-command-hash) "next")
 
+;; Unsupported features:
+(setf (gethash "jump"  realgud:nodejs-command-hash) "*not-implemented*")
+
 (provide-me "realgud:nodejs-")
diff --git a/realgud/debugger/pdb/core.el b/realgud/debugger/pdb/core.el
index 520c7c7..18ad431 100644
--- a/realgud/debugger/pdb/core.el
+++ b/realgud/debugger/pdb/core.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015 Free Software Foundation, Inc
+;; Copyright (C) 2015, 2016 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -41,7 +41,7 @@
 
 (easy-mmode-defmap pdb-minibuffer-local-map
   '(("\C-i" . comint-dynamic-complete-filename))
-  "Keymap for minibuffer prompting of gud startup command."
+  "Keymap for minibuffer prompting of debugger startup command."
   :inherit minibuffer-local-map)
 
 ;; FIXME: I think this code and the keymaps and history
@@ -53,6 +53,15 @@
    'realgud:pdb-minibuffer-history
    opt-debugger))
 
+;; FIXME: I think this code and the keymaps and history
+;; variable chould be generalized, perhaps via a macro.
+(defun pdb-remote-query-cmdline (not-used)
+  (realgud-query-cmdline
+   'pdb-remote-suggest-invocation
+   pdb-minibuffer-local-map
+   'realgud:pdb-remote-minibuffer-history
+   "telnet"))
+
 (defun pdb-parse-cmd-args (orig-args)
   "Parse command line ORIG-ARGS for the annotate level and name of script to 
debug.
 
@@ -160,16 +169,22 @@ For example for the following input:
    '(telnet localhost 6900))
 
 we might return:
-   ((\"telnet\" \"localhost\" \"6900\") (\"pdb\") (\"\") nil)
+   ((\"telnet\" \"localhost\" \"6900\") nil nil nil)
 
 Note that the script name path has been expanded via `expand-file-name'.
 "
-    (list orig-args '("pdb") '("") nil)
+    (list orig-args nil nil nil)
   )
 
   ;; To silence Warning: reference to free variable
 (defvar realgud:pdb-command-name)
 
+(defun pdb-remote-suggest-invocation (debugger-name)
+  "Suggest a pdb command invocation via `realgud-suggest-invocaton'"
+  "telnet 127.0.0.1 4000"
+  )
+
+
 (defun pdb-suggest-invocation (debugger-name)
   "Suggest a pdb command invocation via `realgud-suggest-invocaton'"
   (realgud-suggest-invocation realgud:pdb-command-name
diff --git a/realgud/debugger/pdb/init.el b/realgud/debugger/pdb/init.el
index 9aa5b0b..ac346b8 100644
--- a/realgud/debugger/pdb/init.el
+++ b/realgud/debugger/pdb/init.el
@@ -71,9 +71,10 @@ realgud-loc-pat struct")
        :line-group 3))
 
 ;;  Regular expression that describes a "delete breakpoint" line
+;; Python 3 includes a file name and line number; Python 2 doesn't
 (setf (gethash "brkpt-del" realgud:pdb-pat-hash)
       (make-realgud-loc-pat
-       :regexp "^Deleted breakpoint \\([0-9]+\\)\n"
+       :regexp "^Deleted breakpoint \\([0-9]+\\)"
        :num 1))
 
 (setf (gethash "font-lock-keywords" realgud:pdb-pat-hash)
diff --git a/realgud/debugger/pdb/pdb.el b/realgud/debugger/pdb/pdb.el
index 4e907b7..1946478 100644
--- a/realgud/debugger/pdb/pdb.el
+++ b/realgud/debugger/pdb/pdb.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015 Free Software Foundation, Inc
+;; Copyright (C) 2015, 2016 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -99,7 +99,7 @@ fringe and marginal icons.
   (realgud:run-debugger "pdb" 'pdb-remote-query-cmdline
                        'pdb-parse-remote-cmd-args
                        'realgud:pdb-remote-minibuffer-history
-                       opt-cmd-line no-reset)
+                       opt-cmd-line no-reset "remote-pdb")
   )
 
 
diff --git a/realgud/debugger/perldb/init.el b/realgud/debugger/perldb/init.el
index 537703d..27c47c0 100644
--- a/realgud/debugger/perldb/init.el
+++ b/realgud/debugger/perldb/init.el
@@ -1,4 +1,19 @@
-;;; Copyright (C) 2011, 2014-2015 Rocky Bernstein <address@hidden>
+;;; Copyright (C) 2011, 2014-2016 Free Software Foundation, Inc
+
+;; Author: Rocky Bernstein <address@hidden>
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;; Regular expressions for nodejs Javascript debugger.
 ;;; Stock Perl debugger perldb
 
 (eval-when-compile (require 'cl))
@@ -119,4 +134,12 @@ realgud-loc-pat struct")
 (setf (gethash "until"     realgud:perldb-command-hash) "c %l")
 (setf (gethash "perldb" realgud-command-hash) realgud:perldb-command-hash)
 
+;; Unsupported features:
+(setf (gethash "frame" realgud:perldb-command-hash) "*not-implemented*")
+(setf (gethash "shell" realgud:perldb-command-hash) "*not-implemented*")
+(setf (gethash "up"    realgud:perldb-command-hash) "*not-implemented*")
+(setf (gethash "down"  realgud:perldb-command-hash) "*not-implemented*")
+(setf (gethash "jump"  realgud:perldb-command-hash) "*not-implemented*")
+(setf (gethash "kill"  realgud:perldb-command-hash) "*not-implemented*")
+
 (provide-me "realgud:perldb-")
diff --git a/realgud/debugger/remake/init.el b/realgud/debugger/remake/init.el
index d2888c1..fbaa643 100644
--- a/realgud/debugger/remake/init.el
+++ b/realgud/debugger/remake/init.el
@@ -1,4 +1,18 @@
-;;; Copyright (C) 2011, 2014 Rocky Bernstein <address@hidden>
+;; Copyright (C) 2011, 2014, 2016 Free Software Foundation, Inc
+;; Author: Rocky Bernstein <address@hidden>
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 ;;; Regular expressions for GNU Make debugger: remake
 
 (eval-when-compile (require 'cl))
@@ -131,5 +145,7 @@ backtrace listing.")
 (setf (gethash "eval"   realgud:remake-command-hash) "expand %s")
 (setf (gethash "remake" realgud-command-hash) realgud:remake-command-hash)
 
+;; Unsupported features:
+(setf (gethash "jump"  realgud:remake-command-hash) "*not-implemented*")
 
 (provide-me "realgud:remake-")
diff --git a/realgud/debugger/trepan.pl/init.el 
b/realgud/debugger/trepan.pl/init.el
index 0d9e744..0cbb9ab 100644
--- a/realgud/debugger/trepan.pl/init.el
+++ b/realgud/debugger/trepan.pl/init.el
@@ -274,4 +274,7 @@ backtrace listing.")
 (setf (gethash realgud:trepanpl-debugger-name
               realgud-command-hash) realgud:trepanpl-command-hash)
 
+;; Unsupported features:
+(setf (gethash "jump"  realgud:trepanpl-command-hash) "*not-implemented*")
+
 (provide-me "realgud:trepanpl-")
diff --git a/realgud/debugger/trepanjs/init.el 
b/realgud/debugger/trepanjs/init.el
index 77c7da6..4caf050 100644
--- a/realgud/debugger/trepanjs/init.el
+++ b/realgud/debugger/trepanjs/init.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015 Free Software Foundation, Inc
+;; Copyright (C) 2015-2016 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -142,5 +142,9 @@ realgud-loc-pat struct")
 ;; do step 1 and trepanjs doesn't handle this. Or when it does,
 ;; it will probably look like step(1)
 (setf (gethash "eval"       realgud:trepanjs-command-hash) "eval('%s')")
+(setf (gethash "quit"       realgud:trepanjs-command-hash) "quit()")
+
+;; Unsupported features:
+(setf (gethash "kill"  realgud:trepanjs-command-hash) "*not-implemented*")
 
 (provide-me "realgud:trepanjs-")
diff --git a/realgud/debugger/zshdb/init.el b/realgud/debugger/zshdb/init.el
index f2fd9b5..8c0a88e 100644
--- a/realgud/debugger/zshdb/init.el
+++ b/realgud/debugger/zshdb/init.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015 Free Software Foundation, Inc
+;; Copyright (C) 2015, 2016 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -99,4 +99,7 @@ realgud-loc-pat struct")
 (setf (gethash "quit"   realgud:zshdb-command-hash) "quit")
 (setf (gethash "until"  realgud:zshdb-command-hash) "continue %l")
 
+;; Unsupported features:
+(setf (gethash "jump"  realgud:zshdb-command-hash) "*not-implemented*")
+
 (provide-me "realgud:zshdb-")
diff --git a/realgud/lang/posix-shell.el b/realgud/lang/posix-shell.el
index f929d07..4f006d2 100644
--- a/realgud/lang/posix-shell.el
+++ b/realgud/lang/posix-shell.el
@@ -103,7 +103,7 @@ traceback) line."  )
 ;;   Removed 1 breakpoint(s).
 (defconst realgud:POSIX-debugger-brkpt-del-pat
   (make-realgud-loc-pat
-   :regexp (format "^Deleted breakpoint %s.\n"
+   :regexp (format "^Deleted breakpoint %s\n"
                   realgud:regexp-captured-num)
    :num 1))
 
diff --git a/realgud/lang/python.el b/realgud/lang/python.el
index e3ae1cf..3737b9f 100644
--- a/realgud/lang/python.el
+++ b/realgud/lang/python.el
@@ -83,7 +83,7 @@ traceback) line."  )
 ;;  Regular expression that describes a "breakpoint set" line
 (defconst realgud:python-trepan-brkpt-set-pat
   (make-realgud-loc-pat
-   :regexp "^Breakpoint \\([0-9]+\\) set at line \\([0-9]+\\)[ \t\n]+of file 
\\(.+\\)\\(\n\\|$\\)"
+   :regexp "^Breakpoint \\([0-9]+\\) set at line \\([0-9]+\\)[ \t\n]+of file[ 
\t\n]+\\(.+\\)\\(\n\\|$\\)"
    :num 1
    :file-group 3
    :line-group 2))
diff --git a/test/Makefile.am b/test/Makefile.am
index c0e7ede..c56f333 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -50,11 +50,11 @@ check-elget: $(EL_GET_CHECK_FILES)
 
 #: Run all tests with minimum verbosity
 check-short:
-       $(MAKE) check 2>&1  | ruby ../make-check-filter.rb
+       $(MAKE) check 2>&1  | ruby make-check-filter.rb
 
 #: Run all tests with minimum verbosity via el-get
 check-short-elget:
-       $(MAKE) check-elget 2>&1  | ruby ../make-check-filter.rb
+       $(MAKE) check-elget 2>&1  | ruby make-check-filter.rb
 
 test-%.run:
        (cd $(top_srcdir)/test && $(EMACS) --batch --no-site-file --no-splash 
--load $(@:.run=.el))
diff --git a/test/test-regexp-bashdb.el b/test/test-regexp-bashdb.el
index 9d84ee3..5e34b0f 100644
--- a/test/test-regexp-bashdb.el
+++ b/test/test-regexp-bashdb.el
@@ -112,7 +112,7 @@
                         (match-end file-group)))
 
 (note "breakpoint delete matching")
-(setq test-text "Deleted breakpoint 1.\n")
+(setq test-text "Deleted breakpoint 1\n")
 (assert-t (numberp (loc-match test-text bp-del-pat)) "breakpoint delete 
matching")
 
 (note "breakpoint enable matching")
diff --git a/test/test-regexp-zshdb.el b/test/test-regexp-zshdb.el
index ee511b3..1ffecad 100644
--- a/test/test-regexp-zshdb.el
+++ b/test/test-regexp-zshdb.el
@@ -18,7 +18,6 @@
 (eval-when-compile
   (defvar file-group)
   (defvar frame-re)
-  (defvar frame-pat)
   (defvar line-group)
   (defvar num-group)
   (defvar test-pos)
@@ -29,10 +28,11 @@
   (defvar test-text)
   (defvar brkpt-del)
   (defvar bp-del-pat)
-  (defvar bp-enable-pat)
-  (defvar bp-disable-pat)
 )
 
+(set (make-local-variable 'bp-del-pat)
+      (gethash "brkpt-del" realgud:zshdb-pat-hash))
+
 (setq prompt-pat (gethash "prompt"             realgud:zshdb-pat-hash))
 (setq frame-pat  (gethash "debugger-backtrace" realgud:zshdb-pat-hash))
 
@@ -103,7 +103,7 @@
                         (match-end line-group)))
 
 (note "breakpoint delete matching")
-(setq test-text "Deleted breakpoint 1.\n")
+(setq test-text "Deleted breakpoint 1\n")
 (assert-t (numberp (loc-match test-text bp-del-pat)) "breakpoint delete 
matching")
 
 (note "breakpoint enable matching")



reply via email to

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