From 81eb2089878be5b9cb4a4ba89c2e2f537b14fb7e Mon Sep 17 00:00:00 2001
From: Marc Cornellà <marc.cornella@live.com>
Date: Wed, 5 Aug 2020 14:19:26 +0200
Subject: wd: update to latest version

https://github.com/mfaerevaag/wd/commit/3d20d15d58b9349f872a1abab639aae02374f64c

Fixes #9002
---
 plugins/wd/wd.sh | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
 mode change 100644 => 100755 plugins/wd/wd.sh

(limited to 'plugins/wd')

diff --git a/plugins/wd/wd.sh b/plugins/wd/wd.sh
old mode 100644
new mode 100755
index 802ed10ee..618995c63
--- a/plugins/wd/wd.sh
+++ b/plugins/wd/wd.sh
@@ -183,6 +183,11 @@ wd_add()
     then
         wd_remove $point > /dev/null
         printf "%q:%s\n" "${point}" "${PWD/#$HOME/~}" >> $WD_CONFIG
+        if (whence sort >/dev/null); then
+            local config_tmp=$(mktemp "${TMPDIR:-/tmp}/wd.XXXXXXXXXX")
+            # use 'cat' below to ensure we respect $WD_CONFIG as a symlink
+            sort -o "${config_tmp}" $WD_CONFIG  && cat "${config_tmp}" > $WD_CONFIG && rm "${config_tmp}"
+        fi
 
         wd_export_static_named_directories
 
@@ -342,8 +347,8 @@ wd_clean() {
 wd_export_static_named_directories() {
   if [[ -z $WD_SKIP_EXPORT ]]
   then
-    grep '^[0-9a-zA-Z_-]\+:' "$WD_CONFIG" | sed -e "s,~,$HOME," -e 's/:/=/' | while read warpdir ; do
-	    hash -d "$warpdir"
+    command grep '^[0-9a-zA-Z_-]\+:' "$WD_CONFIG" | sed -e "s,~,$HOME," -e 's/:/=/' | while read warpdir ; do
+        hash -d "$warpdir"
     done
   fi
 }
@@ -430,7 +435,10 @@ else
                 break
                 ;;
             "-r"|"--remove"|"rm")
-                wd_remove $2
+                # Loop over all arguments after "rm", separated by whitespace
+                for pointname in "${@:2}" ; do
+                    wd_remove $pointname
+                done
                 break
                 ;;
             "-l"|"list")
-- 
cgit v1.2.3-70-g09d2