zsh-users
 help / color / mirror / code / Atom feed
From: Oliver Kiddle <okiddle@yahoo.co.uk>
To: Oliver Schmidhauser <oli@glow.li>
Cc: zsh-users@zsh.org
Subject: Re: _mpc breaks when folder contains spaces
Date: Tue, 22 Aug 2017 17:57:57 +0200	[thread overview]
Message-ID: <29908.1503417477@thecus.kiddle.eu> (raw)
In-Reply-To: <20170822111229.GA28217@localhost>

Oliver Schmidhauser wrote:
>
> I have a problem with mpc and the completion function.

> mpc add Electronic/Laserkraft\ 3D/mpd error: No such directory

> I've attached a .patch for _mpc which fixes this issue, as in it
> replaced `\ ` with ` ` before it is being passed to `mpc tab`. This
> probably doesn't fix the root of the issue, why `$word[CURRENT]`
> contains "Electronic/Laserkraft\ 3D" instead of "Electronic/Laserkraft
> 3D". It probably also breaks when a folder actually contains `\ `.

It looks like you forgot to include the attachment. Does it resemble the
following patch? I believe it is the correct fix.

> The second issue I have is `mpc tab` outputing errors while I am
> trying to autocomplete, breaking the current prompt so that I have to
> `Ctrl+C` and restart.

I'll take a look at that and post a patch to -workers later. The mpc
function should be using _call_program in the many places when calling
out to mpc. That takes care of redirecting stderr among other things.

Oliver

diff --git a/Completion/Unix/Command/_mpc b/Completion/Unix/Command/_mpc
index e0c6888b0..d4073c3cd 100644
--- a/Completion/Unix/Command/_mpc
+++ b/Completion/Unix/Command/_mpc
@@ -147,7 +147,7 @@ _mpc_helper_files() {
     list=( ${${(f)"$(mpc listall)"}%%/*})
     _wanted files expl file compadd -qS/ -a list
   else
-    list=(${(f)"$(mpc tab $words[CURRENT])"})
+    list=(${(f)"$(mpc tab ${(Q)words[CURRENT]})"})
     _wanted files expl file _multi_parts / list
   fi
 }


  reply	other threads:[~2017-08-22 16:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-22 11:12 Oliver Schmidhauser
2017-08-22 15:57 ` Oliver Kiddle [this message]
2017-08-22 17:49   ` Oliver Schmidhauser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=29908.1503417477@thecus.kiddle.eu \
    --to=okiddle@yahoo.co.uk \
    --cc=oli@glow.li \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).