     (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.")

    ;; Operators (punctuation)
    (modify-syntax-entry ?+  "." st)
    (modify-syntax-entry ?-  "." st)
    (modify-syntax-entry ?*  "." st)
    (modify-syntax-entry ?/  "." st)
    (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 newline, or char whitespace in the syntax table for go."
  (or (eq char ?\n)
      (eq 32 (char-syntax char))))

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