~mdw
/
dvddb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
pldb: Use more sensible `-=' and `+=' syntax for relative updates.
[dvddb]
/
pldb
diff --git
a/pldb
b/pldb
index
2a16fe5
..
2e70b6c
100755
(executable)
--- a/
pldb
+++ b/
pldb
@@
-104,7
+104,7
@@
defcmd "lists", sub {
while (my @r = $st->fetchrow_array) { my ($name) = @r; print "$name\n"; }
};
while (my @r = $st->fetchrow_array) { my ($name) = @r; print "$name\n"; }
};
-defcmd "edit GROUP LIST[
=[+|-]
POS]|-LIST ...", sub {
+defcmd "edit GROUP LIST[
[+|-]=
POS]|-LIST ...", sub {
@_ >= 2 or bail_usage;
my ($group, @ops) = @_;
@_ >= 2 or bail_usage;
my ($group, @ops) = @_;
@@
-128,7
+128,8
@@
defcmd "edit GROUP LIST[=[+|-]POS]|-LIST ...", sub {
my ($list) = ($1);
must_list $list; must_member $group, $list;
$st_del->execute($group, $list);
my ($list) = ($1);
must_list $list; must_member $group, $list;
$st_del->execute($group, $list);
- } elsif ($op =~ /^ ([^=]++) (?: = ([-+])?+ (\d++))?+ $/x) {
+ } elsif ($op =~ /^ ((?: [^-+=]++ | [-+][^=])++)
+ (?: ([-+])?+ = ([-+]?+ \d++))?+ $/x) {
my ($list, $rel, $pos) = ($1, $2, $3);
$st_chk->execute($list);
my ($list, $rel, $pos) = ($1, $2, $3);
$st_chk->execute($list);