diff options
Diffstat (limited to 'Functions')
-rw-r--r-- | Functions/Calendar/calendar_add | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Functions/Calendar/calendar_add b/Functions/Calendar/calendar_add index e8c535d59..04401bc9f 100644 --- a/Functions/Calendar/calendar_add +++ b/Functions/Calendar/calendar_add @@ -74,7 +74,7 @@ fi if [[ -n $reply[rpttime] && $line = ${~uidpat} ]]; then # Yes, so record this as a recurring event. their_uid=${(U)match[1]} - recurring_uids[$their_uid]=1 + recurring_uids[$their_uid]=$reply[time] fi done fi @@ -113,6 +113,11 @@ fi # No, so assume this is a straightforward replacement # of a non-recurring event. (( ! old_recurring )) && continue + # It's recurring, but if this is a one-off at the + # same time as the previous one, replace anyway. + [[ -z $parse_old[$rpttime] ]] && + (( ${parse_new[time]} == ${parse_old[time]} )) && + continue fi fi fi |