summaryrefslogtreecommitdiff
path: root/Functions/Calendar/calendar_edit
diff options
context:
space:
mode:
Diffstat (limited to 'Functions/Calendar/calendar_edit')
-rw-r--r--Functions/Calendar/calendar_edit11
1 files changed, 10 insertions, 1 deletions
diff --git a/Functions/Calendar/calendar_edit b/Functions/Calendar/calendar_edit
index e31decb76..e3ac5c39b 100644
--- a/Functions/Calendar/calendar_edit
+++ b/Functions/Calendar/calendar_edit
@@ -10,12 +10,21 @@ done
zstyle -s ':datetime:calendar:' calendar-file calendar || calendar=~/calendar
+# start of subshell for OS file locking
+(
+# start of block for following always to clear up lockfiles.
+# Not needed but harmless if OS file locking is used.
{
- calendar_lockfiles $calendar || return 1
+ if zmodload -F zsh/system b:zsystem && zsystem supports flock; then
+ zsystem flock $calendar
+ else
+ calendar_lockfiles $calendar || exit 1
+ fi
eval $editor \$calendar
} always {
(( ${#lockfiles} )) && rm -f $lockfiles
}
+)
(( cal_running )) && calendar -s