                       (go-guru--enclosing-unique)))
          (block (if (> (length enclosing) 0) (elt enclosing 0))))
     (when block
-      (goto-char (1+ (cdr (assoc 'start block))))
-      (set-mark (1+ (cdr (assoc 'end block))))
+      (go-guru--goto-byte (1+ (cdr (assoc 'start block))))
+      (set-mark (byte-to-position (1+ (cdr (assoc 'end block)))))
       (setq go-guru--last-enclosing (subseq enclosing 1))
       (message "Region: %s" (cdr (assoc 'desc block)))
       (setq deactivate-mark nil))))

    (find-file (car file-line-pos))
    (goto-char (point-min))
    (forward-line (1- (string-to-number (cadr file-line-pos))))
    (forward-char (1- (string-to-number (caddr file-line-pos))))))

(defun go-guru--goto-pos-no-file (posn)
  "Given `file:line:col', go to the line and column. The file

  (let ((file-line-pos (split-string posn ":")))
    (goto-char (point-min))
    (forward-line (1- (string-to-number (cadr file-line-pos))))
    (go-guru--goto-byte-column (string-to-number (caddr file-line-pos)))))

;;;###autoload
(defun go-guru-callees ()
