> In an attempt to improve the bash-completion package we're trying to
> improve the bash completion library functions by passing variables by
> reference.  Passing variables by reference however, has a caveat in that
> local variables override the passing by reference, e.g.:

This isn't a problem specific to bash; it's a library interface design
issue.  The usual solution is to pick a unique prefix for exported public
library functions (e.g., "rl_") and a different one for private library
variables and interfaces that's unlikely to conflict with anything a user
might use (e.g., "_rl_").

> Thoughts?  Ideas?  Is there a bash-builtin to detect conflicts?  If not,
> wouldn't it be an idea to add such a builtin?

There's no reason to add a builtin to detect these conflicts.  It's often
the case that overriding the global version of a variable is the desired
effect.

Chet

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/


Reply via email to