Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: vcs_info: quoting (backticks) in git_patches_applied
- X-seq: zsh-workers 33390
- From: Daniel Hahler <dhahler@xxxxxxxxx>
- To: Zsh Hackers' List <zsh-workers@xxxxxxx>
- Subject: Re: vcs_info: quoting (backticks) in git_patches_applied
- Date: Thu, 09 Oct 2014 00:05:23 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:message-id:date:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=nQ7m+Z+PAab1rCZmFmQrAAK1Df67ZlhkQa6mvhAqHIk=; b=nJ10AXNbI6fcnn13C0SSsmlgqjWykTmy+sGgaTcDAgwwdHw2QOHVcu8b9EKfnfofIh OJc2SGzlRJjq376xuCW1dVVdMAtd7Opxhf0iDlFxgIA4uTn4dETb2TGiact38TCROHty xDx+W8RyaMmKMO8hSWCmAwIBGp6+pR5rVaBn8D6dhBGWGWx0L65B+7jMmiQVqRjUMuSK tYMYlHMKn3nXVrb2NxD5+pybVlntJ1O+HlbvmheO0Yekp+IiBDxf9mB5XkPIP1lul1sL PzJT5cqhtLsRN67PO4lO98v9RHX1s/5Rpe3GbkkOkCv/UDkcm/88idBdbGH56DU/uwus LtMw==
- In-reply-to: <87a956i80i.fsf@ft.bewatermyfriend.org>
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- References: <54355781.7080004@thequod.de> <87a956i80i.fsf@ft.bewatermyfriend.org>
On 08.10.2014 23:09, Frank Terbeck wrote:
>> I've noticed that there is a problem when using `%m` in vcs_info,
>> where the default `get-applied-string` hook returns something with
> I'm a bit confused. There is no default gen-applied-string hook.
You are right - there is no default hook, but the default handling in case of no hook.
>>> 6410ed117e51a4288d06132d18e2ffdf33f51313 Add snippets `'`, `"` and `doc`
> And there is no such commit in zsh's git repository.
The commit is not in zsh's history, but in another private/local repo/branch.
>> While the backticks can be replaced in the prompt itself, it might be
>> better to quote it in `VCS_INFO_git_handle_patches`:
> [...]
>> - git_applied_s=${git_patches_applied[1]}
>> + git_applied_s=${(qqq)git_patches_applied[1]}
> [...]
>> There is probably a better place to apply the quoting, e.g. when reading
>> the patches from the file, or a more central place in vcs_info, because
>> this is likely to affect other backends, too.
>
> I don't think we should post-process these values. The hooks should
> return properly quoted data
I've added an own gen-applied-string hook, which quotes the value, but the default behavior is to get the data via:
elif [[ -d "${gitdir}/rebase-merge" ]]; then
patchdir="${gitdir}/rebase-merge"
local p
for p in ${(f)"$(< "${patchdir}/done")"}; do
# remove action
git_patches_applied+=("${${(s: :)p}[2,-1]}")
done
The quoting needs to get applied to all places where the Git sources are being read in Functions/VCS_Info/Backends/VCS_INFO_get_data_git then probably, and also in the code for other VCS (e.g. hg).
> (I suppose your problem is that your hook
> does returns a - maybe even single - backtick and you use the
> prompt_subst option which would cause problems) as the rest of the
> configuration requires.
That's correct.
Regards,
Daniel.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author