__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
|
# 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=
|
__ULIB_FORCE_RELOAD=
|
||||||
|
|
||||||
function urequire() {
|
function urequire() {
|
||||||
|
@ -77,12 +78,17 @@ function urequire() {
|
||||||
# Si un module n'est pas trouvé, quitter le script avec die()
|
# Si un module n'est pas trouvé, quitter le script avec die()
|
||||||
local __u_module __u_ulibdir __u_found
|
local __u_module __u_ulibdir __u_found
|
||||||
[ -n "$*" ] || set DEFAULTS
|
[ -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
|
for __u_module in "$@"; do
|
||||||
__u_found=
|
__u_found=
|
||||||
for __u_ulibdir in "${ULIBDIRS[@]}"; do
|
for __u_ulibdir in "${ULIBDIRS[@]}"; do
|
||||||
if [ -f "$__u_ulibdir/$__u_module" ]; then
|
if [ -f "$__u_ulibdir/$__u_module" ]; then
|
||||||
__u_found=1
|
__u_found=1
|
||||||
if [ -n "$__ULIB_FORCE_RELOAD" ] || ! uprovided "$__u_module"; then
|
if [ -n "$__ulib_force_reload" ] || ! uprovided "$__u_module"; then
|
||||||
uprovide "$__u_module"
|
uprovide "$__u_module"
|
||||||
source "$__u_ulibdir/$__u_module" || die
|
source "$__u_ulibdir/$__u_module" || die
|
||||||
fi
|
fi
|
||||||
|
@ -92,7 +98,7 @@ function urequire() {
|
||||||
if [ -z "$__u_found" -a "$__u_module" == DEFAULTS ]; then
|
if [ -z "$__u_found" -a "$__u_module" == DEFAULTS ]; then
|
||||||
__u_found=1
|
__u_found=1
|
||||||
for __u_module in base pretty sysinfos compat; do
|
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"
|
uprovide "$__u_module"
|
||||||
source "$__u_ulibdir/$__u_module" || die
|
source "$__u_ulibdir/$__u_module" || die
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue