diff --git a/eeprom/decode-dimms b/eeprom/decode-dimms index 4dab039..252f010 100755 --- a/eeprom/decode-dimms +++ b/eeprom/decode-dimms @@ -438,10 +438,21 @@ sub real_printl($$) # print a line w/ label and values $label = html_encode($label); @values = map { html_encode($_) } @values; print "$label"; - if ($opt_merge && $same_values) { + if (!$opt_merge) { + print "$_" foreach @values; + } elsif ($same_values) { print "$values[0]"; } else { - print "$_" foreach @values; + # For HTML output, merge adjacent cells even if + # the whole line cannot be merged. + my $colcnt = 0; + while (@values) { + $colcnt++; + my $value = shift @values; + next if (@values && $value eq $values[0]); + print " 1 ? " colspan=$colcnt" : "") .">$value"; + $colcnt = 0; + } } print "\n"; } else {