From d30a501b1c6b8e8164b266318e26ce6d2e4719cf Mon Sep 17 00:00:00 2001 From: Sebastian Gniazdowski Date: Tue, 15 Dec 2015 09:35:29 +0100 Subject: [PATCH] znt: more optimizing workarounds for 5.0.6 <= zsh < 5.2 --- plugins/zsh-navigation-tools/README.md | 2 +- plugins/zsh-navigation-tools/n-list | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/zsh-navigation-tools/README.md b/plugins/zsh-navigation-tools/README.md index 630b2e840..4420dab82 100644 --- a/plugins/zsh-navigation-tools/README.md +++ b/plugins/zsh-navigation-tools/README.md @@ -105,7 +105,7 @@ colorize output of the tools, via their config files (check out e.g. n-cd.conf, it uses this). ## Performance -ZNT are fastest with Zsh before 5.0.8 and starting from 5.2 +ZNT are fastest with Zsh before 5.0.6 and starting from 5.2 vim:filetype=conf diff --git a/plugins/zsh-navigation-tools/n-list b/plugins/zsh-navigation-tools/n-list index d13e048bf..388712bd0 100644 --- a/plugins/zsh-navigation-tools/n-list +++ b/plugins/zsh-navigation-tools/n-list @@ -243,7 +243,9 @@ while (( 1 )); do # Take all elements, including duplicates and non-selectables typeset +U list - list=( "$@" ) + repeat 1; do + list=( "$@" ) + done # Remove non-selectable elements [ "$#NLIST_NONSELECTABLE_ELEMENTS" -gt 0 ] && for i in "${(nO)NLIST_NONSELECTABLE_ELEMENTS[@]}"; do @@ -309,7 +311,9 @@ while (( 1 )); do # Take all elements, including duplicates and non-selectables typeset +U list - list=( "$@" ) + repeat 1; do + list=( "$@" ) + done # Remove non-selectable elements only when in uniq mode [ "$NLIST_IS_UNIQ_MODE" -eq 1 ] && [ "$#NLIST_NONSELECTABLE_ELEMENTS" -gt 0 ] &&