c793baeadd2bd290bf1aba0cf522e79cde51fa7a

Author
Sebastian Gniazdowski <sgniazdowski@gmail.com>
Committer
Sebastian Gniazdowski <sgniazdowski@gmail.com>
Date

Message

znt: optimize heap usage for older Zsh's (e.g. 5.0.8)

Diff

 1diff --git a/plugins/zsh-navigation-tools/n-list b/plugins/zsh-navigation-tools/n-list
 2index 0a98d86e1831c9d60403864b3529dacb8a9d2b94..55c08515b853984b3610335d1a11d94cf0a0ca72 100644
 3--- a/plugins/zsh-navigation-tools/n-list
 4+++ b/plugins/zsh-navigation-tools/n-list
 5@@ -224,7 +224,11 @@ zcurses timeout main -1
 6 key=""
 7 keypad=""
 8 
 9-list=( "$@" )
10+# This loop makes script faster on some Zsh's (e.g. 5.0.8)
11+repeat 1; do
12+    list=( "$@" )
13+done
14+
15 last_element="$#list"
16 
17 while (( 1 )); do
18diff --git a/plugins/zsh-navigation-tools/n-panelize b/plugins/zsh-navigation-tools/n-panelize
19index a70565c79b03e32c616a78d0d4138fb72557e975..01d01cb9eba4219c5670b25b22b6b453028752f7 100644
20--- a/plugins/zsh-navigation-tools/n-panelize
21+++ b/plugins/zsh-navigation-tools/n-panelize
22@@ -32,7 +32,11 @@ if [ -t 0 ]; then
23         return 1
24     fi
25 
26-    list=( `"$@"` )
27+    # This loop makes script faster on some Zsh's (e.g. 5.0.8)
28+    repeat 1; do
29+        list=( `"$@"` )
30+    done
31+
32     # TODO: $? doesn't reach user
33     [ "$?" -eq 127 ] && return $?
34 else
35@@ -42,7 +46,10 @@ else
36         return 1
37     fi
38 
39-    list=( "${(@f)"$(<&0)"}" )
40+    # This loop makes script faster on some Zsh's (e.g. 5.0.8)
41+    repeat 1; do
42+        list=( "${(@f)"$(<&0)"}" )
43+    done
44 
45     if [[ ! -c /dev/tty ]]; then
46         exec <&2