         ))))
 
 (defun rdebug-goto-traceback-line (pt)
-  "Displays the location in a source file of the selected breakpoint."
+  "Displays the location in a source file of the Ruby traceback line."
   (interactive "d")
   (save-excursion
     (goto-char pt)
-    (let ((s (buffer-substring (point-at-bol) (point-at-eol))))
+    (let ((s (buffer-substring (point-at-bol) (point-at-eol)))
+	  (gud-comint-buffer (current-buffer)))
       (when (string-match rdebug-traceback-line-re s)
         (rdebug-display-line
          (substring s (match-beginning 1) (match-end 1))

    (gud-def gud-next   "next %p"     "\C-n"
	     "Step one line (skip functions).")
    (gud-def gud-print  "p %e"        "\C-p"
	     "Evaluate ruby expression at point.")
    (gud-def gud-remove "clear %d%f:%l" "\C-d"
	     "Remove breakpoint at current line")
    (gud-def gud-run    "run"       "R"

        (rdebug-rdebugtrack-overlay-arrow nil)
      ;else 
      (let* ((procmark (process-mark currproc))
	     (block-start (max comint-last-input-end
			       (- procmark rdebug-rdebugtrack-track-range)))
             (block-str (buffer-substring block-start procmark))
             target target_fname target_lineno target_buffer)

        (if (not (string-match rdebug-rdebugtrack-input-prompt block-str))
