__ULIB_FORCE_RELOAD ne doit pas être transitif
This commit is contained in:
parent
eeab145265
commit
f59a4439fe
|
@ -1 +1 @@
|
|||
007013000
|
||||
007013001
|
||||
|
|
|
@ -67,7 +67,8 @@ function uprovide() {
|
|||
}
|
||||
|
||||
# Si cette variable est non vide, urequire recharge toujours le module, même
|
||||
# s'il a déjà été chargé
|
||||
# s'il a déjà été chargé. Cette valeur n'est pas transitive: il faut toujours
|
||||
# recharger explicitement tous les modules désirés
|
||||
__ULIB_FORCE_RELOAD=
|
||||
|
||||
function urequire() {
|
||||
|
@ -77,12 +78,17 @@ function urequire() {
|
|||
# Si un module n'est pas trouvé, quitter le script avec die()
|
||||
local __u_module __u_ulibdir __u_found
|
||||
[ -n "$*" ] || set DEFAULTS
|
||||
|
||||
# garder une copie de la valeur originale et casser la transitivité
|
||||
local __ulib_force_reload="$__ULIB_FORCE_RELOAD"
|
||||
local __ULIB_FORCE_RELOAD
|
||||
|
||||
for __u_module in "$@"; do
|
||||
__u_found=
|
||||
for __u_ulibdir in "${ULIBDIRS[@]}"; do
|
||||
if [ -f "$__u_ulibdir/$__u_module" ]; then
|
||||
__u_found=1
|
||||
if [ -n "$__ULIB_FORCE_RELOAD" ] || ! uprovided "$__u_module"; then
|
||||
if [ -n "$__ulib_force_reload" ] || ! uprovided "$__u_module"; then
|
||||
uprovide "$__u_module"
|
||||
source "$__u_ulibdir/$__u_module" || die
|
||||
fi
|
||||
|
@ -92,7 +98,7 @@ function urequire() {
|
|||
if [ -z "$__u_found" -a "$__u_module" == DEFAULTS ]; then
|
||||
__u_found=1
|
||||
for __u_module in base pretty sysinfos compat; do
|
||||
if [ -n "$__ULIB_FORCE_RELOAD" ] || ! uprovided "$__u_module"; then
|
||||
if [ -n "$__ulib_force_reload" ] || ! uprovided "$__u_module"; then
|
||||
uprovide "$__u_module"
|
||||
source "$__u_ulibdir/$__u_module" || die
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue