 (defun racer-find-definition ()
   "Run the racer find-definition command and process the results."
   (interactive)
-  (let ((racer-tmp-file-name (concat (buffer-file-name) ".racertmp")))
+  (let ((racer-tmp-file-name (make-temp-file "racer")))
     (racer--write-tmp-file racer-tmp-file-name)
     (setenv "RUST_SRC_PATH" (expand-file-name racer-rust-src-path))
     (ring-insert find-tag-marker-ring (point-marker))


(defun racer--prefix ()
  "Run the racer prefix command and process the results."
  (let ((racer-tmp-file-name (concat (buffer-file-name) ".racertmp")))
    (racer--write-tmp-file racer-tmp-file-name)
    (setenv "RUST_SRC_PATH" (expand-file-name racer-rust-src-path))
    (let ((lines (process-lines racer-cmd

          (let ((linenum (match-string 2 line))
                (charnum (match-string 3 line))
                (fname (match-string 4 line)))
	    (find-file fname)
            (goto-char (point-min))
            (forward-line (1- (string-to-number linenum)))
            (forward-char (string-to-number charnum))))))))
