charset: fix cp437 offset on extend
[sheet.git] / charset.plp
index 33e5db49c3af58910f0f2048e1412343cabd5141..74ea8e7c2d4095cc57aee87b80d64e96f495c277 100644 (file)
@@ -226,7 +226,8 @@ sub tabinput {
                        $row{cols} = $1;
                }
                elsif ($param =~ m{ \A (?<offset> \d+) (?: [-] (?<endpoint> \d+) )? \z }x) {
-                       if ($row{offset}) {
+                       if (defined $row{endpoint}) {
+                               # extend earlier range
                                my $skip = int(($row{endpoint} || $row{offset}) / $row{cols});
                                for ($skip + 1 .. ($+{offset} / $row{cols}) - 1) {
                                        $row{skip}->{ $_ * $row{cols} - $row{offset} }++;
@@ -235,7 +236,7 @@ sub tabinput {
                        else {
                                $row{offset} = $+{offset};
                        }
-                       $row{endpoint} = $+{endpoint};
+                       $row{endpoint} = $+{endpoint} || 0;
                }
                else {
                        Alert("Unknown option <q>$param</q> for charset $input");