zsh-users
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: zsh-users@zsh.org
Subject: Re: Expanding quotes
Date: Mon, 23 Dec 2013 11:15:15 -0800	[thread overview]
Message-ID: <131223111515.ZM31989@torch.brasslantern.com> (raw)
In-Reply-To: <l99seh$5bo$1@ger.gmane.org>

On Dec 23,  6:38pm, Yuri D'Elia wrote:
}
} On 12/17/2013 07:26 PM, Bart Schaefer wrote:
} > There's a basic conflict in the completion system in that it can't "know"
} > if you mean for the literal string backslash-quote to be completed, or if
} > you mean for the backslash to have its usual semantic effect on the quote.
} 
} Hhhm, how could this happen? Surely, zsh seem to take note if the
} argument to be completed starts with a quote.

It's a syntactic question as well as a semantic one.  For example, you
typed

    ls *\"

and expected completion to treat backslash-dquote as a unit matching a
literal double quote.  But someone else might type

    ls *"

and expect completion to *supply* the missing backslash, because there
is a file name ending with a quote.  It gets even more complicated if
the backslash is inside another set of quotes, etc.  We spent quite a
lot of time (years ago) responding to complaints about this kind of thing
before finally concluding that we couldn't please everybody and should
stick with making the common cases work.

A third complication is that there are a huge number of different ways
to apply quoting, and trying to figure out which one corresponds to what
the user already typed is difficult to generalize.  The globbing code
that generates the list of possible files returns a particular quoting
scheme that would have to be converted to the user's arbitrary quoting.

Consequently there are a number of cases that either never came up when
this was all being developed, or that have been deemed to seldom come
up in practice, where the results are imperfect.

We'd be happy to find some more volunteers to work on the internals of
completion to resolve more of these cases.


  reply	other threads:[~2013-12-23 19:15 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-17 14:48 Yuri D'Elia
2013-12-17 18:26 ` Bart Schaefer
2013-12-23 17:38   ` Yuri D'Elia
2013-12-23 19:15     ` Bart Schaefer [this message]
2013-12-24 15:12       ` Ray Andrews
2013-12-24 16:24         ` Yuri D'Elia
2013-12-24 17:18           ` Ray Andrews
2013-12-26 14:50             ` Yuri D'Elia
2013-12-26 19:54               ` Ray Andrews
2013-12-24 16:11       ` Yuri D'Elia
2013-12-25  6:59         ` Bart Schaefer

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=131223111515.ZM31989@torch.brasslantern.com \
    --to=schaefer@brasslantern.com \
    --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).