Both move_all_tasks_to() and move_tasks() take a list of grep patterns
to exclude.
It turned out that move_all_tasks_to() was calling move_tasks() with a
string instead of a list, leading to broken quoting.
Fix that by passing the pattern list to move_tasks() and let
move_tasks() add the "-e" option in front of it. Also add a
DeprecationWarning in move_tasks() if someone passes a string instead of
an iterable of strings.
Both move_all_tasks_to() and move_tasks() take a list of grep patterns to exclude.
It turned out that move_all_tasks_to() was calling move_tasks() with a string instead of a list, leading to broken quoting.
Fix that by passing the pattern list to move_tasks() and let move_tasks() add the "-e" option in front of it. Also add a DeprecationWarning in move_tasks() if someone passes a string instead of an iterable of strings.