improve error message consistency
diff --git a/read.go b/read.go
index a597dd4..7d42a1d 100644
--- a/read.go
+++ b/read.go
@@ -45,7 +45,6 @@
 			return nil
 		case token.EOL, token.COMMENT:
 			pos, tok, lit = s.Scan()
-			continue
 		case token.LBRACK:
 			pos, tok, lit = s.Scan()
 			if tok != token.IDENT {
@@ -98,8 +97,10 @@
 				return err
 			}
 		default:
-			return fmt.Errorf("%s invalid token %s: %q", fset.Position(pos),
-				tok, lit)
+			if sect == "" {
+				return errfn("expected section header")
+			}
+			return errfn("expected section header or variable declaration")
 		}
 	}
 	panic("never reached")