summaryrefslogtreecommitdiff
path: root/lib/functions.zsh
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2015-11-30 21:08:40 +0100
committerMarc Cornellà <marc.cornella@live.com>2015-11-30 21:21:28 +0100
commitafdfe2391eeab13f2480a88514af895ce660d30c (patch)
tree72c70b63e21d8d57ecb90ad6baf4addc8b9ccab6 /lib/functions.zsh
parent0a79f1e836d6096ec67deabca8105f60b124cbbe (diff)
downloadzsh-afdfe2391eeab13f2480a88514af895ce660d30c.tar.gz
zsh-afdfe2391eeab13f2480a88514af895ce660d30c.tar.bz2
zsh-afdfe2391eeab13f2480a88514af895ce660d30c.zip
Add empty string parameter to start command
Otherwise `start` will confuse the first parameter as the title of a new command prompt if the parameter contains whitespace. That is because the command to be run will be: start "abc def" which opens a new command prompt window with the title "abc def". With the added empty string we force the start command to interpret the passed parameter as the file / command: start "" "abc def" which will be interpreted like `""` is the title and the rest is the file or command to start. ------- **NOTE:** this wouldn't be necessary if the start script in msys was defined differently; that is, if it had the empty string already incorporated in the script (/usr/bin/start), like so: ```diff -cmd //c start "${@//&/^&}" +cmd //c start "" "${@//&/^&}" ``` Notice however that this would make it impossible to use start setting a different title, so it's probably best to leave it as is. More info: http://sourceforge.net/p/msys2/tickets/14/ ------- The change `${(z)open_cmd}` is necessary to force zsh to split the variable by the spaces and interpret it as separate words. More info: http://zsh.sourceforge.net/FAQ/zshfaq03.html#l17
Diffstat (limited to 'lib/functions.zsh')
-rw-r--r--lib/functions.zsh4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/functions.zsh b/lib/functions.zsh
index 1623df2bd..bbdbea5cb 100644
--- a/lib/functions.zsh
+++ b/lib/functions.zsh
@@ -23,7 +23,7 @@ function open_command() {
darwin*) open_cmd="open" ;;
cygwin*) open_cmd="cygstart" ;;
linux*) open_cmd="xdg-open" ;;
- msys*) open_cmd="start" ;;
+ msys*) open_cmd="start \"\"" ;;
*) echo "Platform $OSTYPE not supported"
return 1
;;
@@ -33,7 +33,7 @@ function open_command() {
if [[ "$OSTYPE" == darwin* ]]; then
$open_cmd "$@" &>/dev/null
else
- nohup $open_cmd "$@" &>/dev/null
+ nohup ${(z)open_cmd} "$@" &>/dev/null
fi
}