     (go--kill-whole-line arg)))
 
 
+(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 (fboundp 'position-bytes)
-    (defalias 'go--position-bytes 'position-bytes)
+    (defalias 'go--position-bytes #'position-bytes)
   (defun go--position-bytes (point) point))
 
 (defun go--old-completion-list-style (list)

      (let ((description (cdr (butlast (godef--call point) 1))))
        (if (not description)
            (message "No description found for expression at point")
          (message "%s" (mapconcat 'identity description "\n"))))
    (file-error (message "Could not run godef binary"))))

(defun godef-jump (point &optional other-window)


(defvar go-mode-map
  (let ((m (make-sparse-keymap)))
    (define-key m "}" #'go-mode-insert-and-indent)
    (define-key m ")" #'go-mode-insert-and-indent)
    (define-key m "," #'go-mode-insert-and-indent)
    (define-key m ":" #'go-mode-insert-and-indent)
    (define-key m "=" #'go-mode-insert-and-indent)
    (define-key m (kbd "C-c C-a") #'go-import-add)
    (define-key m (kbd "C-c C-j") #'godef-jump)
    (define-key m (kbd "C-x 4 C-c C-j") #'godef-jump-other-window)
    (define-key m (kbd "C-c C-d") #'godef-describe)
    m)
  "Keymap used by Go mode to implement electric keys.")

