charset: drop cell output code support
[sheet.git] / charset.plp
index d96ca454159657c87035b4ced238d8535c7c58bb..ff5419f9d904f0f127bda044dbde01305fc9e25a 100644 (file)
@@ -121,8 +121,18 @@ sub range_cell {
                $rest = $len if $len < $rest; #TODO: optimise
                if ($len -= $rest) {
                        # continued on new row
-                       $table->{$offset + $colsize*$rest} //= [$len*$colsize, "$class joinu", $name, $title];
-                       $name = '';
+                       my @next = ($len * $colsize, "$class joinu");
+                       if ($len > $rest) {
+                               # minority remains
+                               push @next, $name, $title;
+                               $title ||= $name;
+                               $name = '';
+                       }
+                       else {
+                               # minority on next row
+                               push @next, '"', $title || $name;
+                       }
+                       $table->{$offset + $colsize*$rest} //= \@next;
                        $class .= ' joind';
                }
                $len = $rest;
@@ -163,10 +173,6 @@ for my $row (@request) {
                for my $lsb (0 .. $cols - 1) {
                        my $val = ( ($msb * $cols) + $lsb ) * $colsize;
                        if ($row->{cell}) {
-                               if (ref $row->{cell} eq 'CODE') {
-                                       print $row->{cell}->($val);
-                                       next;
-                               }
                                print range_cell($row->{cell}, $val);
                                next;
                        }