• Marc Cornellà's avatar
    Add empty string parameter to start command · afdfe239
    Marc Cornellà authored
    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
    afdfe239
functions.zsh 5.95 KB