]> code.delx.au - gnu-emacs/blobdiff - lisp/progmodes/gud.el
(gud-stop-subjob): Using jdb, suspend threads
[gnu-emacs] / lisp / progmodes / gud.el
index 3e86001c7c841a7f9909cb7554db4d69246c0b89..4e56383f3a43bc64bcc15723b48418afcd64e0a4 100644 (file)
@@ -139,7 +139,9 @@ Used to grey out relevant toolbar icons.")
   (with-current-buffer gud-comint-buffer
     (if (string-equal gud-target-name "emacs")
        (comint-stop-subjob)
-      (comint-interrupt-subjob))))
+      (if (eq gud-minor-mode 'jdb)
+         (gud-call "suspend")
+       (comint-interrupt-subjob)))))
 
 (easy-mmode-defmap gud-menu-map
   '(([help]     "Info (debugger)" . gud-goto-info)
@@ -889,7 +891,7 @@ It is passed through FILTER before we look at it."
                    (string-match "^#\\([0-9]+\\) +[0-9a-fx]+ in \\([:0-9a-zA-Z_]+\\) (" e)
                    (string-match "^#\\([0-9]+\\) +\\([:0-9a-zA-Z_]+\\) (" e)))
              (if (not (string-match
-                       "at \\([-0-9a-zA-Z_.]+\\):\\([0-9]+\\)$" e))
+                       "at \\([-0-9a-zA-Z_/.]+\\):\\([0-9]+\\)$" e))
                  nil
                (setcar newlst
                        (list (nth 0 (car newlst))
@@ -901,7 +903,7 @@ It is passed through FILTER before we look at it."
            (setq newlst
                  (cons
                   (if (string-match
-                       "at \\([-0-9a-zA-Z_.]+\\):\\([0-9]+\\)$" e)
+                       "at \\([-0-9a-zA-Z_/.]+\\):\\([0-9]+\\)$" e)
                       (list name num (match-string 1 e)
                             (match-string 2 e))
                     (list name num))
@@ -2445,6 +2447,9 @@ comint mode, which see."
   :group 'gud
   :type 'boolean)
 
+(declare-function tramp-file-name-localname "tramp" (vec))
+(declare-function tramp-dissect-file-name "tramp" (name &optional nodefault))
+
 ;; Perform initializations common to all debuggers.
 ;; The first arg is the specified command line,
 ;; which starts with the program to debug.
@@ -2502,7 +2507,9 @@ comint mode, which see."
       (if w
          (setcar w
                  (if (file-remote-p default-directory)
-                     (setq file (file-name-nondirectory file))
+                     ;; Tramp has already been loaded if we are here.
+                     (setq file (tramp-file-name-localname
+                                 (tramp-dissect-file-name file)))
                    file))))
     (apply 'make-comint (concat "gud" filepart) program nil
           (if massage-args (funcall massage-args file args) args))
@@ -3339,6 +3346,10 @@ ACTIVATEP non-nil means activate mouse motion events."
       (kill-local-variable 'gud-tooltip-mouse-motions-active)
       (kill-local-variable 'track-mouse))))
 
+(defvar tooltip-last-mouse-motion-event)
+(declare-function tooltip-hide "tooltip" (&optional ignored-arg))
+(declare-function tooltip-start-delayed-tip "tooltip" ())
+
 (defun gud-tooltip-mouse-motion (event)
   "Command handler for mouse movement events in `global-map'."
   (interactive "e")
@@ -3373,6 +3384,9 @@ With arg, dereference expr if ARG is positive, otherwise do not derereference."
 
 (define-obsolete-function-alias 'tooltip-gud-toggle-dereference
                                 'gud-tooltip-dereference "22.1")
+(defvar tooltip-use-echo-area)
+(declare-function tooltip-show "tooltip" (text &optional use-echo-area))
+(declare-function tooltip-strip-prompt "tooltip" (process output))
 
 ; This will only display data that comes in one chunk.
 ; Larger arrays (say 400 elements) are displayed in
@@ -3395,6 +3409,8 @@ With arg, dereference expr if ARG is positive, otherwise do not derereference."
        (sdb (concat expr "/"))))
 
 (declare-function gdb-enqueue-input "gdb-ui" (item))
+(declare-function tooltip-expr-to-print "tooltip" (event))
+(declare-function tooltip-event-buffer "tooltip" (event))
 
 (defun gud-tooltip-tips (event)
   "Show tip for identifier or selection under the mouse.