              (+ b (match-beginning 5)) (+ b (match-end 5))
              (list 'face font-lock-constant-face
                    'font-lock-face font-lock-constant-face))
-            (if (string= (substring s (match-beginning 1) (match-end 1)) 
+            (when (string= (substring s (match-beginning 1) (match-end 1)) 
 			 "-->")
                 ;; highlight the currently selected frame
                 (add-text-properties b e
                                      (list 'face 'bold
                                            'font-lock-face 'bold))
-              ;; remove the trailing ## 
-              (beginning-of-line)
-              (delete-char 2)
-              (insert "  "))
+		(setq overlay-arrow-position (make-marker))
+		(set-marker overlay-arrow-position (point))
+		(setq frame-point (point)))
 	    (add-text-properties b e
 				 (list 'mouse-face 'highlight
-				       'keymap rdebug--stack-frame-map))
+				       'keymap rdebug-frames-mode-map))
 	    (let ((fn-str (substring s (match-beginning 3) (match-end 3)))
 		  (fn-start (+ b (match-beginning 3))))
 	      (if (string-match "\\([^(]+\\)(" fn-str)


;; -- locals

(defun rdebug--setup-locals-buffer (buf)
  (with-current-buffer buf
    (setq mode-name "RDEBUG Locals")))

;;-----------------------------------------------------------------------------
;; ALB - redefinition of gud-reset for our own purposes

		   (+ fn-start (match-beginning 1)) (+ fn-start (match-end 1))
		   (list 'face font-lock-function-name-face
			 'font-lock-face font-lock-function-name-face))))))
	;; remove initial ###  or -->
	(beginning-of-line)
	(delete-char 3)
        (forward-line)
        (beginning-of-line)))))

(defun rdebug-goto-stack-frame (pt)
  "Show the rdebug stack frame corresponding at PT in the rdebug stack buffer."
  (interactive "d")
  (save-excursion
    (goto-char pt)
