($alias,$comment) = ($1,$2);
} elsif (m/^\#/) {
next; # future extension
- } elsif (m/^([^#: ])\: [^#]* (\#.*)$/) {
+ } elsif (m/^([^#: ]+)\: [^#]* (\#.*)$/) {
($alias,$comment) = ($1,$2);
} else {
die "generator output $_ ?";
sub perhaps_generate ($) {
my ($num) = @_;
- return undef if $no_generate;
my $alias = $by_number[$num];
return $alias if $alias;
+ return undef if $no_generate;
return undef unless $num > $#by_number;
run_generator qw(create), (comment_make $num);
$alias = $by_number[$num];
@ARGV==0 or
badusage "invalid arguments to list";
my $num = $min_number;
- while ($num <= $#by_number) {
+ $num ||= 0;
+ for (; $num <= $#by_number; $num++) {
my $alias = $by_number[$num];
report $alias if $alias;
+ $num++;
}
}
badusage "invalid arguments to some";
my ($count) = $1;
my $num = $min_number;
+ $num ||= 0;
while ($count > 0) {
- my $alias = generate $num;
+ my $alias = perhaps_generate $num;
if ($alias) {
report $alias;
$count--;
} else {
- last if $num > $#by_number; # -N
+ if ($num > $#by_number) {
+ print STDERR <<END or fail "stderr: $!";
+$us: fewer than requested aliases printed, due to -N
+END
+ last;
+ }
$num++;
}
}
$op eq '-' ? $rarg :
confess "$op ??";
for (; $num<=$limit; $num++) {
- my $alias = generate $num;
+ my $alias = perhaps_generate $num;
report $alias if $alias;
}
}
or badusage "comment pattern must start with \`#'";
$comment_re = $comment_pattern;
$comment_re =~ s/\W/\\$&/g;
-($comment_re =~ s'\\<number\\>'([1-9]\d{0,8})'g) == 1 #'
+($comment_re =~ s'\\<number\\>'(0|[1-9]\d{0,8})'g) == 1 #'
or badusage "comment pattern (\`$comment_pattern')".
" must contain \`<number>' exactly once";