Editing @done doesn't remove strikethrough


#1
  1. type a task and append @due( without closing the parentheses
  2. click the dash to add @done with a date
  3. select the @done text
  4. hit delete

At this point you have a syntactically correct @due tag with today’s date! Unfortunately the strikethrough markup persists even though the task is no longer @done.


EDIT clearer animated GIF


Bug in Items > Format As commands
Proposal, require that both ( and ) are always escaped in tag values?
#2

Thanks, I can recreate this. Next step fixing it!


#3

For my proposed solution please see:


#4

I think the bug here is that editing the @done away doesn’t remove the strikethrough. Your proposal might not draw the strikethrough in the first place, but it wouldn’t fix the bug.


#5

I’ve coded this up for the next release. I think it does fix the problem.

Here’s the sequence of events in the next release:

  1. type @due and the line has a tag @due

  2. type @due( and the line has no tags since ( isn’t closed with a )

  3. type @due( some text @done and the line has a single @done tag with a date. Again due( isn’t closed so it’s not recognized as a tag.

  4. type @due( some text @done(value) and the line has a single @done tag with “value”. The reason it works this way in the next release is because when @due( goes searching for the close tag it can’t get past done’s opening (. So it fails. @due is not considered a tag, and everything works out.

I think with this new set of rules it is always safe now to append a tag or a tag with a value.