summaryrefslogtreecommitdiff
path: root/plugins/zsh-navigation-tools
diff options
context:
space:
mode:
authorSebastian Gniazdowski <sgniazdowski@gmail.com>2015-12-04 19:51:09 +0100
committerSebastian Gniazdowski <sgniazdowski@gmail.com>2015-12-04 19:51:09 +0100
commitc793baeadd2bd290bf1aba0cf522e79cde51fa7a (patch)
tree24621872827db42407fdfef8f37228914bc67ae8 /plugins/zsh-navigation-tools
parent89205f90e533478f231beebbcf7b889bb085159e (diff)
downloadzsh-c793baeadd2bd290bf1aba0cf522e79cde51fa7a.tar.gz
zsh-c793baeadd2bd290bf1aba0cf522e79cde51fa7a.tar.bz2
zsh-c793baeadd2bd290bf1aba0cf522e79cde51fa7a.zip
znt: optimize heap usage for older Zsh's (e.g. 5.0.8)
Diffstat (limited to 'plugins/zsh-navigation-tools')
-rw-r--r--plugins/zsh-navigation-tools/n-list6
-rw-r--r--plugins/zsh-navigation-tools/n-panelize11
2 files changed, 14 insertions, 3 deletions
diff --git a/plugins/zsh-navigation-tools/n-list b/plugins/zsh-navigation-tools/n-list
index 0a98d86e1..55c08515b 100644
--- a/plugins/zsh-navigation-tools/n-list
+++ b/plugins/zsh-navigation-tools/n-list
@@ -224,7 +224,11 @@ zcurses timeout main -1
key=""
keypad=""
-list=( "$@" )
+# This loop makes script faster on some Zsh's (e.g. 5.0.8)
+repeat 1; do
+ list=( "$@" )
+done
+
last_element="$#list"
while (( 1 )); do
diff --git a/plugins/zsh-navigation-tools/n-panelize b/plugins/zsh-navigation-tools/n-panelize
index a70565c79..01d01cb9e 100644
--- a/plugins/zsh-navigation-tools/n-panelize
+++ b/plugins/zsh-navigation-tools/n-panelize
@@ -32,7 +32,11 @@ if [ -t 0 ]; then
return 1
fi
- list=( `"$@"` )
+ # This loop makes script faster on some Zsh's (e.g. 5.0.8)
+ repeat 1; do
+ list=( `"$@"` )
+ done
+
# TODO: $? doesn't reach user
[ "$?" -eq 127 ] && return $?
else
@@ -42,7 +46,10 @@ else
return 1
fi
- list=( "${(@f)"$(<&0)"}" )
+ # This loop makes script faster on some Zsh's (e.g. 5.0.8)
+ repeat 1; do
+ list=( "${(@f)"$(<&0)"}" )
+ done
if [[ ! -c /dev/tty ]]; then
exec <&2