From 04b6100db6e2829fd81cfffb8fdc666a1d5fccd7 Mon Sep 17 00:00:00 2001 From: Jephte CLAIN Date: Mon, 29 Sep 2014 20:58:31 +0400 Subject: [PATCH] =?UTF-8?q?possibilit=C3=A9=20de=20charger=20syst=C3=A9mat?= =?UTF-8?q?iquement=20un=20module=20pour=20le=20d=C3=A9veloppement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/ulib/ulib | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/ulib/ulib b/lib/ulib/ulib index f017cd8..74069a7 100644 --- a/lib/ulib/ulib +++ b/lib/ulib/ulib @@ -66,6 +66,10 @@ function uprovide() { ULIBPROVIDED=("${ULIBPROVIDED[@]}" "$1") } +# Si cette variable est non vide, urequire recharge toujours le module, même +# s'il a déjà été chargé +__ULIB_FORCE_RELOAD= + function urequire() { # Sourcer un module recherché dans ULIBDIRS # Le module DEFAULTS est traité de façon particulière: si le fichier associé @@ -78,7 +82,7 @@ function urequire() { for __u_ulibdir in "${ULIBDIRS[@]}"; do if [ -f "$__u_ulibdir/$__u_module" ]; then __u_found=1 - if ! uprovided "$__u_module"; then + if [ -n "$__ULIB_FORCE_RELOAD" ] || ! uprovided "$__u_module"; then uprovide "$__u_module" source "$__u_ulibdir/$__u_module" || die fi @@ -88,7 +92,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 ! uprovided "$__u_module"; then + if [ -n "$__ULIB_FORCE_RELOAD" ] || ! uprovided "$__u_module"; then uprovide "$__u_module" source "$__u_ulibdir/$__u_module" || die fi