           (goto-char (- (point-max) pos))))))
 
 (defun go-beginning-of-defun (&optional count)
-  (unless count (setq count 1))
-  (let ((first t) failure)
+  (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)))

              (start-line start-column end-line end-column num count)
              (mapcar #'string-to-number rest)

            (when (and (string= (file-name-nondirectory file) file-name))
              (if (> count max-count)
                  (setq max-count count))
              (push (make-go--covered :start-line start-line

;; 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.
