 ;;;   (interactive "d")
 ;;;   (save-excursion
 ;;;     (goto-char pt)
-;;;     (let ((s (buffer-substring (point-at-bol) (point-at-eol))))
+;;;     (let ((s (buffer-substring (line-beginning-position) (line-end-position))))
 ;;;       (when (string-match rdebug--breakpoint-regexp s)
 ;;;         (let* ((enabled
 ;;;                 (string= (substring s (match-beginning 3) (match-end 3)) "y"))

  (interactive "d")
  (save-excursion
    (goto-char pt)
    (let ((s (buffer-substring (point-at-bol) (point-at-eol)))
	  (gud-comint-buffer (current-buffer)))
      (when (string-match rdebug-dollarbang-traceback-line-re s)
        (rdebug-display-line

    (let ((inhibit-read-only t)
	  (current-frame-point nil) ; position in stack buffer of selected frame
	  )
      (rdebug-frames-mode)
      (goto-char (point-min))
      (while (not (eobp))
        (let* ((b (line-beginning-position)) (e (line-end-position))
               (s (buffer-substring b e)))
          (when (string-match rdebug--stack-frame-1st-regexp s)
            (add-text-properties
             (+ b (match-beginning 2)) (+ b (match-end 2))
             (list 'face font-lock-constant-face
                   'font-lock-face font-lock-constant-face))
	    ; Not all stack frames are on one line. 
	    ; handle those that are.
	    (when (string-match rdebug--stack-frame-regexp s)
	      (add-text-properties
	       (+ b (match-beginning 4)) (+ b (match-end 4))
	       (list 'face font-lock-comment-face
		     'font-lock-face font-lock-comment-face))
	      (add-text-properties
             (+ b (match-beginning 5)) (+ b (match-end 5))
             (list 'face font-lock-constant-face
                   'font-lock-face font-lock-constant-face)))

            (when (string= (substring s (match-beginning 1) (match-end 1)) 
			 "-->")
                ;; highlight the currently selected frame
