     ;; Operators (punctuation)
     (modify-syntax-entry ?+  "." st)
     (modify-syntax-entry ?-  "." st)
-    (modify-syntax-entry ?*  "." st)
-    (modify-syntax-entry ?/  "." st)
+    (modify-syntax-entry ?*  ". 23" st)   ; also part of comments
+    (modify-syntax-entry ?/  ". 124b" st) ; ditto
     (modify-syntax-entry ?%  "." st)
     (modify-syntax-entry ?&  "." st)
     (modify-syntax-entry ?|  "." st)

         (not (looking-at go-mode-non-terminating-keywords-regexp)))))))

(defun go-mode-whitespace-p (char)
  "Is char whitespace in the syntax table for go."
  (eq 32 (char-syntax char)))

(defun go-mode-backward-skip-comments ()
  "Skip backward over comments and whitespace."

    (modify-syntax-entry ?\' "." st)
    (modify-syntax-entry ?`  "." st)
    (modify-syntax-entry ?\\ "." st)

    ;; Newline is a comment-ender.
    (modify-syntax-entry ?\n "> b" st)

    st)
  "Syntax table for Go mode.")
