+proc note-info {lno vid name description} {
+ global note_infos
+ lappend note_infos [list $lno $vid $name $description]
+}
+
+proc display-note-infos {} {
+ global note_infos note_missings notes
+
+ set nmissing [llength $note_missings]
+ debug "display-note-infos $nmissing [array size notes]"
+
+ if {[llength $note_infos]} {
+ set tiny "[llength $note_infos] warnings"
+ } elseif {$nmissing && [array size notes]} {
+ set tiny "$nmissing missing"
+ } else {
+ return
+ }
+
+ set infodata {}
+
+ foreach info $note_infos {
+ manyset $info lno vid name description
+ append infodata "vessel"
+ append infodata " $vid"
+ if {[string length $name]} { append infodata " $name" }
+ append infodata ": " $description "\n"
+ }
+
+ if {$nmissing} {
+ append infodata "$nmissing vessels not mentioned in notes:\n"
+ set last_island {}
+ foreach info [lsort $note_missings] {
+ manyset $info island name vid
+ if {[string compare $island $last_island]} {
+ append infodata "# $island:\n"
+ set last_island $island
+ }
+ append infodata [format "%-9d %-29s =\n" $vid $name]
+ }
+ }
+
+ parser-control-failed-core .ctrl.notes notes \
+ white blue 0 \
+ $tiny \
+ "[llength $note_infos] warnings;\
+ $nmissing vessels missing" \
+ "Full description of warnings and missing vessels:" \
+ $infodata
+}