diff options
author | Daniel Shahaf <danielsh@apache.org> | 2020-01-15 22:49:09 +0000 |
---|---|---|
committer | Daniel Shahaf <danielsh@apache.org> | 2020-01-15 22:49:09 +0000 |
commit | e899c21863a69226b4e650940c327a3b460023c0 (patch) | |
tree | 58e626a6f5c3c38e88c729d756ad563c10a80787 /Completion/Unix/Command/_make | |
parent | 22c0fe02a53bedb03f6aef5d0e476bbadc655995 (diff) | |
parent | c7bc62aa0674d3677ce019333f4b8cd95aa8d189 (diff) | |
download | zsh-e899c21863a69226b4e650940c327a3b460023c0.tar.gz zsh-e899c21863a69226b4e650940c327a3b460023c0.tar.xz zsh-e899c21863a69226b4e650940c327a3b460023c0.zip |
Merge remote-tracking branch 'origin/master' into 5.9
Right now, as we're preparing to tag the 5.8 release, the 5.9 branch is maintained as a topic branch off master. * origin/master: 45287: zshexpn: Describe parameter elision and add some introductory prose 45302: bin_umask(): Queue signals around umask(). users/24656: docs: Add an example of setting and querying zstyles users/24659: Cross-ref doc for matchers. 45296: D02glob: Clean up after test from users/24633 45290: New helper script for listing XFail tests. users/24633: Add an xfail test for users/24619. unposted: additional typo fix 45280: _git: add -local variants users/24628 (fixed): More doc for selectw-word-style widgets. 45266: Fix losetup completion, broken in da085b7a20729401c725f91ae930200d0deda64f (41720). unposted: Fix punctuation. use /dev/fd on Cygwin for process substitution unposted: Two additional typo fixes. Fix typos reported by codespell in shell code Fix typos reported by codespell in Src/ 45269: Fix misspellings in completions and elsewhere. 45261: _gcc: Detect clang-as-gcc unposted: internal: Remove Vim modeline that interferes with ztst.vim. unposted: internal: ztst.vim: Use :syn-sync to work around (#x) and "`\\\\\\\\`" confusing the highlighting. unposted: internal: zyodl.vim: Support glob qualifiers in example()'s unposted: internal: zyodl.vim: Support yodl comments. github #44: Allow completion for picocom to list symlinks to character devices 45245: _gcc: add some clang specific warnings 45231: _rsync: When completing remote modules, ignore more of the motd. unposted: _tac: Eliminate superfluous variable 45226: _man: Improve completion of file paths 45184: Clarify documentation of %-sequences understood by compadd -[Xx] 45239: Remove 'appendhistory' from zsh-newuser-install 45218: add more options to swaks completion 45196: fix completion after make -C, allowing for -C being used multiple times unposted (after 45183): Fix yodl error: "contrib.yo:4457: No macro: back(...)". 45181: Fix workers/45164: ${(S)%%} will now consider the empty string as a potential match. 45183: Improve documentation examples unposted: Add some tests for ${(S)}, including a regression test for workers/45164. 45169/0002 (tweaked for trailing newlines): Add an expected-to-fail test for workers/44007. 45169/0001: In the test suite, allow test cases to be marked as expected to fail. users/24582 + users/24583: Add regression tests for the previous commit. 24581: Fix array assignments in shell word splitting and completion. 45160: zshexpn: Expand documentation of (S) 45150 + 45152: zshexpn: Use a more minimal example in the documentation of (#b). unposted: internal: Vim ztst support: Add an ftplugin in addition to the syntax highlighter. 45130: _multi_parts: Always pass -f to compadd if given by caller unposted: zerrmsg(): Fix macro guard missed in previous commit unposted: ChangeLog for last commit internal: Allow %L in zerrmsg() in non-debug builds, too.
Diffstat (limited to 'Completion/Unix/Command/_make')
-rw-r--r-- | Completion/Unix/Command/_make | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Completion/Unix/Command/_make b/Completion/Unix/Command/_make index 06971f07a..21ed56184 100644 --- a/Completion/Unix/Command/_make +++ b/Completion/Unix/Command/_make @@ -120,12 +120,12 @@ _make-parseMakefile () { _make() { - local prev="$words[CURRENT-1]" file expl tmp is_gnu incl match basedir + local prev="$words[CURRENT-1]" file expl tmp is_gnu incl match basedir nul=$'\0' local context state state_descr line local -a option_specs local -A VARIABLES VAR_ARGS opt_args local -aU TARGETS keys - local ret=1 + local -i cdir=-1 ret=1 # VAR=VAL on the current command line for tmp in $words; do @@ -142,7 +142,7 @@ _make() { incl="(-|)include" option_specs=( '(-B --always-make)'{-B,--always-make}'[unconditionally make all targets]' - '*'{-C,--directory=}'[change directory first]:change to directory:->dir' + '*'{-C,--directory=}'[change directory first]:change to directory:->cdir' '-d[print lots of debug information]' '--debug=-[print various types of debug information]:debug options:->debug' '(-e --environment-overrides)'{-e,--environment-overrides}'[environment variables override makefiles]' @@ -177,7 +177,7 @@ _make() { # Basic make options only. incl=.include option_specs=( - '-C[change directory first]:directory:->dir' + '-C[change directory first]:directory:->cdir' '-I[include directory for makefiles]:directory:->dir' '-f[specify makefile]:makefile:->file' '-o[specify file not to remake]:file not to remake:->file' @@ -188,11 +188,12 @@ _make() { _arguments -s $option_specs \ '*:make target:->target' && ret=0 - basedir=${(Q)~opt_args[-C]:-${opt_args[--directory]}} - VAR_ARGS[CURDIR]="${basedir:=$PWD}" + [[ $state = cdir ]] && cdir=-2 + basedir=${(j./.)${${~"${(@s.:.):-$PWD:${(Q)${opt_args[-C]:-$opt_args[--directory]}//\\:/$nul}}"}[(R)/*,cdir]}//$nul/:} + VAR_ARGS[CURDIR]="${basedir}" case $state in - (dir) + (*dir) _description directories expl "$state_descr" _files "$expl[@]" -W $basedir -/ && ret=0 ;; |