Pierre Gaston wrote:
    >  Is there a particular problem you're trying to solve for which local
    >  functions would be the appropriate solution?
----
Cleanliness.

Not polluting the global namespace.

Ensuring the function can't be called from outside a function.

It's a trite example, but I do something like:


sub gvim () {
 array orig_args=($@)  gv_files=() gv_ops=()
 int use_tab=0  look_for_ops=1

   sub _exec_gvim() {
     array args
     ((use_tab)) && args=("-p")
     (( ${#gv_ops[@]:-0} )) && args+=(${gv_ops[@]})
     (( $# )) && args+=($@)
     command gvim "${args[@]}"
     unset -f _exec_gvim
   }
   ....


AFAIK, _exec_gvim, can only be called from within "function gvim", no?


Reply via email to