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?