        ;; Post-match form that runs after last sub-match.
        (go--fontify-param-post)
        ;; Subexp 1 is the param variable name, if any.
-       (1 ,(if go-fontify-variables 'font-lock-variable-name-face 'go--default-face))
+       (1 font-lock-variable-name-face nil t)
        ;; Subexp 2 is the param type name, if any. We set the LAXMATCH
        ;; flag to allow optional regex groups.
        (2 font-lock-type-face nil t)))

     ;; Match variable names in var decls, constant names in const
     ;; decls, and type names in type decls.
     (go--match-decl
      (1 ,(if go-fontify-variables 'font-lock-variable-name-face 'go--default-face) nil t)
      (2 font-lock-constant-face nil t)
      (3 font-lock-type-face nil t))


          (let ((md (match-data)))
            (cond
             ((string= decl "var")
              (setf (nth 4 md) nil (nth 5 md) nil (nth 6 md) nil (nth 7 md) nil)
              (when (not go-fontify-variables)
                (setf (nth 2 md) nil (nth 3 md) nil)))
             ((string= decl "const")
              (setf (nth 2 md) nil (nth 3 md) nil (nth 6 md) nil (nth 7 md) nil))
             ((string= decl "type")
              (setf (nth 2 md) nil (nth 3 md) nil (nth 4 md) nil (nth 5 md) nil)))
            (set-match-data md)))

         (go-fontify-variables
          (save-match-data
            ;; Left side of ":=" assignmnet.
            (when (looking-at ".*:=")
