(defun pathname-at-dot ()
  "get the pathname dot is pointing to, delimited on the left and right by
  by space, quote, lf, or cr; leaving off ending slash, asterisk, at, colon
  or backqoute."
  (save-excursion
   (re-search-backward "[ \",\011\012]")
   (forward-char)
   (let ((left (dot)))
     (re-search-forward "[^ \",\011\012][^ \",\011\012]*")
     (re-search-backward "[^/*@:`]")
     (forward-char)
     (buffer-substring left (dot))
     )))

(defun buffer-name-at-dot ()
  "get the buffer name dot is pointing to, delimited on the left and right by
  by space, quote, lf, or cr"
  (save-excursion
   (re-search-backward "[ \",\011\012]")
   (forward-char)
   (let ((left (dot)))
     (re-search-forward "[^ \",\011\012][^ \",\011\012]*")
     (buffer-substring left (dot))
     )))

(defun visit-file-dot-points-to ()
  (interactive)
  (let ((name (pathname-at-dot)))
    (if (file-exists-p name)
	(progn (message "Visiting: %s" name) (find-file name))
      (message "%s doesn't exist?" name ))))


;(defun visit-buffer-dot-points-to ()
;  (interactive)
;  (pop-to-buffer (buffer-name-at-dot) nil))

(defun visit-buffer-dot-points-to ()
  (interactive)
  (switch-to-buffer (buffer-name-at-dot)))



