about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--Functions/Calendar/calendar8
-rw-r--r--Functions/Calendar/calendar_add6
-rw-r--r--Functions/Calendar/calendar_edit6
-rw-r--r--Functions/Calendar/calendar_show2
-rw-r--r--Functions/Calendar/calendar_sort6
6 files changed, 26 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 11300ef9b..b7ce3e22a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-04-13  Peter Stephenson  <pws@csr.com>
+
+	* unposted: Functions/Calendar/calendar, Functions/Calendar/calendar_add,
+	Functions/Calendar/calendar-edit, Functions/Calendar/calendar_show,
+	Functions/Calendar/calendar_sort:  Fall back to link file locking if
+	system file locking fails; don't need dcop for kdialog.
+
 2010-04-12  Clint Adams  <clint@zsh.org>
 
 	* 27876: Completion/Debian/Command/_axi-cache: completion for
@@ -13003,5 +13010,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4952 $
+* $Revision: 1.4953 $
 *****************************************************
diff --git a/Functions/Calendar/calendar b/Functions/Calendar/calendar
index bbfa9ffb0..e4cdff8e4 100644
--- a/Functions/Calendar/calendar
+++ b/Functions/Calendar/calendar
@@ -266,9 +266,11 @@ chmod 600 $mycmds
     # Attempt to lock both $donefile and $calendar.
     # Don't lock $newfile; we've tried our best to make
     # the name unique.
-    if zmodload -F zsh/system b:zsystem && zsystem supports flock; then
-      zsystem flock $calendar
-      zsystem flock $donefile
+    if zmodload -F zsh/system b:zsystem && zsystem supports flock &&
+      zsystem flock $calendar 2>/dev/null &&
+      zsystem flock $donefile 2>/dev/null; then
+      # locked OK
+      :
     else
       calendar_lockfiles $calendar $donefile || exit 1
     fi
diff --git a/Functions/Calendar/calendar_add b/Functions/Calendar/calendar_add
index ac5caecd7..eded25b2a 100644
--- a/Functions/Calendar/calendar_add
+++ b/Functions/Calendar/calendar_add
@@ -74,8 +74,10 @@ fi
 # Not needed but harmless if OS file locking is used.
 {
   if (( ! nolock )); then
-    if zmodload -F zsh/system b:zsystem && zsystem supports flock; then
-      zsystem flock $calendar
+    if zmodload -F zsh/system b:zsystem && zsystem supports flock &&
+      zsystem flock $calendar 2>/dev/null; then
+      # locked OK
+      :
     else
       calendar_lockfiles $calendar || exit 1
     fi
diff --git a/Functions/Calendar/calendar_edit b/Functions/Calendar/calendar_edit
index 430c3b2e9..ae8885048 100644
--- a/Functions/Calendar/calendar_edit
+++ b/Functions/Calendar/calendar_edit
@@ -20,8 +20,10 @@ zstyle -s ':datetime:calendar:' calendar-file calendar || calendar=~/calendar
 # start of block for following always to clear up lockfiles.
 # Not needed but harmless if OS file locking is used.
 {
-  if zmodload -F zsh/system b:zsystem && zsystem supports flock; then
-    zsystem flock $calendar
+  if zmodload -F zsh/system b:zsystem && zsystem supports flock &&
+    zsystem flock $calendar 2>/dev/null; then
+    # locked OK
+    :
   else
     calendar_lockfiles $calendar || exit 1
   fi
diff --git a/Functions/Calendar/calendar_show b/Functions/Calendar/calendar_show
index 5be589945..0e236fd17 100644
--- a/Functions/Calendar/calendar_show
+++ b/Functions/Calendar/calendar_show
@@ -13,7 +13,7 @@ zmodload -i zsh/parameter || return
 # HERE: this should be configurable and we should be able to do
 # better if xmessage isn't available, e.g. wish.
 if [[ -n $DISPLAY &&  $start -eq $stop ]]; then
-  if [[ -n ${commands[kdialog]} && -n $KDE_SESSION_UID ]] && dcop >&/dev/null
+  if [[ -n ${commands[kdialog]} && -n $KDE_SESSION_UID ]]
   then
     # We're in a KDE session, most probably.
     # Simple:
diff --git a/Functions/Calendar/calendar_sort b/Functions/Calendar/calendar_sort
index 4911e34a2..0eddd12c7 100644
--- a/Functions/Calendar/calendar_sort
+++ b/Functions/Calendar/calendar_sort
@@ -16,8 +16,10 @@ zstyle -s ':datetime:calendar:' calendar-file calendar || calendar=~/calendar
 # start of block for following always to clear up lockfiles.
 # Not needed but harmless if OS file locking is used.
 {
-  if zmodload -F zsh/system b:zsystem && zsystem supports flock; then
-    zsystem flock $calendar
+  if zmodload -F zsh/system b:zsystem && zsystem supports flock &&
+    zsystem flock $calendar; then
+    # locked OK
+    :
   else
     calendar_lockfiles $calendar || exit 1
   fi