 ;; macro.
 (if nil
     (declare-function go--position-bytes "go-mode" (point)))
+
 ;; XEmacs unfortunately does not offer position-bytes. We can fall
 ;; back to just using (point), but it will be incorrect as soon as
 ;; multibyte characters are being used.

If you want to automatically run `gofmt' before saving a file,
add the following hook to your emacs configuration:

\(add-hook 'before-save-hook 'gofmt-before-save)

If you want to use `godef-jump' instead of etags (or similar),
consider binding godef-jump to `M-.', which is the default key

          (goto-char (- (point-max) pos))))))

(defun go-beginning-of-defun (&optional count)
  (setq count (or count 1))
  (let ((first t)
        failure)
    (dotimes (i (abs count))
      (while (and (not failure)
                  (or first (go-in-string-or-comment-p)))
