53404d29a092a6b47f0583377e3d7c336c54ff2d
markd
  Fri Sep 5 12:09:42 2025 -0700
indicate which GFF3 errors can be treated as a warning

diff --git src/lib/gff3.c src/lib/gff3.c
index 0dd27a8de42..5502139e6ad 100644
--- src/lib/gff3.c
+++ src/lib/gff3.c
@@ -78,30 +78,32 @@
 static void gff3AnnErr(struct gff3Ann *g3a, bool canWarn, char *format, ...)
 #if defined(__GNUC__)
 __attribute__((format(printf, 3, 4)))
 #endif
 ;
 
 static void vaGff3FileErr(struct gff3File *g3f, bool canWarn, char *format, va_list args)
 /* Print error message to error file, abort if max errors have been reached */
 {
 bool isWarning = canWarn && (g3f->flags & GFF3_WARN_WHEN_POSSIBLE);
 if (g3f->lf != NULL)
     fprintf(g3f->errFh, "%s:%d: ", g3f->lf->fileName, g3f->lf->lineIx);
 if (isWarning)
     fprintf(g3f->errFh, "WARNING: ");
 vfprintf(g3f->errFh, format, args);
+if (canWarn && !isWarning)
+    fprintf(g3f->errFh, " (error can be a warning)");
 fprintf(g3f->errFh, "\n");
 if (!isWarning)
     {
     g3f->errCnt++;
     if (gff3FileStopDueToErrors(g3f))
         errAbort("GFF3: %d parser errors", g3f->errCnt);
     }
 }
 
 static void gff3FileErr(struct gff3File *g3f, bool canWarn, char *format, ...)
 /* Print error message and abort */
 {
 va_list args;
 va_start(args, format);
 vaGff3FileErr(g3f, canWarn, format, args);