         ))))
 
 (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))

 "Group position in rdebug-position-re that matches the line number.")

(defconst rdebug-annotation-start-regexp
  "^\\([a-z]+\\)\n"
  "Start of an annotation. Note that in contrast to
gud-rdebug-marker-regexp, we don't allow a colon. That's what
distinguishes the two."  )
(defconst rdebug-annotation-end-regexp
  "\n")


            (message "rdebugtrack: line %s, file %s" target_lineno target_fname)
            (rdebug-rdebugtrack-overlay-arrow t)
            (pop-to-buffer origbuf t)
            )

	  ; Delete processed annotations from buffer.
	  (save-excursion
	    (let ((annotate-start)
		  (annotate-end (point-max)))
	      (goto-char block-start)
	      (while (re-search-forward
		      rdebug-annotation-start-regexp annotate-end t)
		(setq annotate-start (match-beginning 0))
		(if (re-search-forward 
		     rdebug-annotation-end-regexp annotate-end t)
		    (delete-region annotate-start (point))
		;else
		  (forward-line)))
	      )))
	)))
    )

(defun rdebug-rdebugtrack-get-source-buffer (block-str)
  "Return line number and buffer of code indicated by block-str's traceback 
