From 98f8a8a980872f5d8f2a2a277e50a504d74a3f37 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Fri, 29 Nov 2019 20:52:00 +0000 Subject: 44958: vcs_info quilt: Avoid forks --- ChangeLog | 3 +++ Functions/VCS_Info/VCS_INFO_quilt | 10 +++++----- README | 4 ++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 13218b017..316b1624a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2019-11-30 Daniel Shahaf + * 44958: Functions/VCS_Info/VCS_INFO_quilt, README: vcs_info + quilt: Avoid forks + * 44945: Functions/VCS_Info/Backends/VCS_INFO_detect_git: vcs_info git: Optimize detection by running fewer external commands. diff --git a/Functions/VCS_Info/VCS_INFO_quilt b/Functions/VCS_Info/VCS_INFO_quilt index 1f20e895d..fef85964a 100644 --- a/Functions/VCS_Info/VCS_INFO_quilt +++ b/Functions/VCS_Info/VCS_INFO_quilt @@ -78,7 +78,7 @@ function VCS_INFO_quilt-dirfind() { VCS_INFO_bydir_detect ${dir} ret=$? vcs_comm[detect_need_file]=${oldfile} - printf '%s' ${vcs_comm[basedir]} + REPLY=${vcs_comm[basedir]} vcs_comm[basedir]="${olddir}" return ${ret} } @@ -113,8 +113,8 @@ function VCS_INFO_quilt-patch2subject() { ;; esac - pc="$(VCS_INFO_quilt-dirfind .pc .version)" - ret=$? + VCS_INFO_quilt-dirfind .pc .version + ret=$? pc=$REPLY if (( ret == 0 )); then [[ ${quiltmode} == 'standalone' ]] && root=${pc} pc=${pc}/.pc @@ -138,8 +138,8 @@ function VCS_INFO_quilt-patch2subject() { zstyle -s "${context}" quilt-patch-dir patches || patches="${QUILT_PATCHES}" if [[ "${patches}" != /* ]]; then tmp=${patches:-patches} - patches="$(VCS_INFO_quilt-dirfind "${tmp}")" - ret=$? + VCS_INFO_quilt-dirfind "${tmp}" + ret=$? patches=$REPLY (( ret )) && return ${ret} patches=${patches}/${tmp} else diff --git a/README b/README index be7929164..7ece48183 100644 --- a/README +++ b/README @@ -49,6 +49,10 @@ The behaviour of :h has similarly changed. The behaviour has also changed in forms such as ${foo:t2) and *(:t2), but in those cases the previous behaviour was not meaningful. +The vcs_info function VCS_INFO_quilt-dirfind now returns a string value +by setting $REPLY. Previously it printed the value to standard output. +This only affects you if you override that function in your dotfiles. + Incompatibilities between 5.6.2 and 5.7.1 ----------------------------------------- -- cgit 1.4.1