Suggestion: Don't reset internal table values on recognized switch value

11 views
Skip to first unread message

Tony G

unread,
Nov 9, 2015, 1:04:16 PM11/9/15
to abstractspoon-t...@googlegroups.com
When a category in the -c switch matches an existing category, except for the case, it replaces the existing category.
Example:
-c test
That replaces category "Test".

The above is recognized/documented behaviour, so I wouldn't call this a bug, but it could be undesirable.

When a match is found, please do not replace an existing category. Perhaps this can be a preference?

Same behaviour should apply to all switches that update internal tables: -ab, -at, -c, -s, -tg, ?

Thanks.
T

.dan.g.

unread,
Nov 9, 2015, 7:04:40 PM11/9/15
to ToDoList (AbstractSpoon) Support
>> When a match is found, please do not replace an existing category

Why not? What's the alternative?

>> but it could be undesirable.

The auto-droplists have worked this way since the very beginning and I've never received a comment about it.

Tony G

unread,
Nov 10, 2015, 8:33:35 PM11/10/15
to ToDoList (AbstractSpoon) Support
What I'm thinking is that for some reason an external process might be using different casing than what was used to create a table value, but I don't think that should change the table value.

So the alternative to replacing "Bob Jones" with "bob jones" is just to not replace it.

Honestly, I can't think of a scenario involving this where some kind of negligence isn't involved in either assigning bad data or in not properly validating data outside of ToDoList. I was thinking of case-sensitive apps like those that can be created with the library which might not check case on comparisons. I would wonder about the existing ToDoList app for Android which may or may not check "de-cased" values. In other words that app might add "bob jones" into a list that includes "Bob Jones".

I know such things aren't your problem but a standard hasn't yet been documented on this. If we're on the same page, I'll update the wiki with a note that command-line values do replace existing values, and may change the casing, so they should have the casing right. Similarly, I'll add some documentation later when I get to the Internals info that developers should follow the convention of the app, and do case-insensitive tests and replacements.

Thanks.
T
Reply all
Reply to author
Forward
0 new messages