On 29/05/10 05:16, Andres P wrote:
On Tue, May 25, 2010 at 03:36:41PM -0430, Andres P wrote:
`type -p foo` has a return val, so consider this:
     $ time for i in {1..1000}; do [[ $(type -p sh) ]]; done
     real    0m1.564s
     user    0m0.160s
     sys 0m0.337s

     $ time for i in {1..1000}; do type -p sh&>/dev/null; done
     real    0m0.166s
     user    0m0.060s
     sys 0m0.103s

I should have brought this up sooner:

     check_fn() {
     #   if [[ $(type -t "$1") = "function" ]]; then
         if declare -f "$1">/dev/null; then
             echo true
         else
             echo false
         fi
     }

     build() { :; }

     check_fn build # true

     unset build

     check_fn build # false

     check_fn bash  # false

Assuming there's interest, I'll write a patch once master i open again.


Sure.  It is much faster to check for functions that way.

Feel free to base it of my post-3.4 branch is you want to do this pre pacman-3.4 release.

Allan



Reply via email to