diff --git a/tests/t1700-depri.sh b/tests/t1700-depri.sh index 5c2424d..9fcbf8d 100755 --- a/tests/t1700-depri.sh +++ b/tests/t1700-depri.sh @@ -68,4 +68,30 @@ TODO: 2 deprioritized. TODO: 3 of 3 tasks shown EOF +cat > todo.txt <>> todo.sh -p list +2 (A) notice the sunflowers +1 (B) smell the uppercase Roses +flowers @outside +3 stop +-- +TODO: 3 of 3 tasks shown + +>>> todo.sh depri 3 2 +TODO: 3 is not prioritized. +2 notice the sunflowers +TODO: 2 deprioritized. + +>>> todo.sh -p list +1 (B) smell the uppercase Roses +flowers @outside +2 notice the sunflowers +3 stop +-- +TODO: 3 of 3 tasks shown +EOF + test_done diff --git a/todo.sh b/todo.sh index 4333a84..0d7762a 100755 --- a/todo.sh +++ b/todo.sh @@ -923,10 +923,7 @@ case $action in todo=$(sed "$item!d" "$TODO_FILE") [ -z "$todo" ] && die "TODO: No task $item." - sed -e $item"s/^(.) //" "$TODO_FILE" > /dev/null 2>&1 - - if [ "$?" -eq 0 ]; then - #it's all good, continue + if sed "$item!d" "$TODO_FILE" | grep "^(.) " > /dev/null; then sed -i.bak -e $item"s/^(.) //" "$TODO_FILE" if [ $TODOTXT_VERBOSE -gt 0 ]; then NEWTODO=$(sed "$item!d" "$TODO_FILE") @@ -934,7 +931,7 @@ case $action in echo "TODO: $item deprioritized." fi else - die "$errmsg" + echo "TODO: $item is not prioritized." fi done ;;