131 lines
19 KiB
HTML
131 lines
19 KiB
HTML
|
<HTML><HEAD>
|
|||
|
<BASEFONT FACE="Times New Roman" SIZE="2" COLOR="#000000">
|
|||
|
</HEAD>
|
|||
|
<BODY>
|
|||
|
<div><H3><b>Safe Tcl Commandes Internes Tcl</b></H3></div>
|
|||
|
<HR ALIGN="center">
|
|||
|
<div><b>NOM</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Safe Base - M<>canisme pour la cr<63>ation et la manipulation d'interpr<70>teurs s<>r.
|
|||
|
</div><br>
|
|||
|
<div><b>SYNTAXE</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;"><b>::safe::interpCreate</b> ?<i>slave</i>? ?<i>options...</i>? <br>
|
|||
|
<b>::safe::interpInit</b> <i>slave</i> ?<i>options...</i>? <br>
|
|||
|
<b>::safe::interpConfigure</b> <i>slave</i> ?<i>options...</i>? <br>
|
|||
|
<b>::safe::interpDelete</b> <i>slave</i> <br>
|
|||
|
<b>::safe::interpAddToAccessPath</b> <i>slave</i> <i>directory</i> <br>
|
|||
|
<b>::safe::interpFindInAccessPath</b> <i>slave</i> <i>directory</i> <br>
|
|||
|
<b>::safe::setLogCmd</b> ?<i>cmd arg...</i>?
|
|||
|
</div><br>
|
|||
|
<div><b>OPTIONS</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">?<b>-accessPath</b> <i>pathList</i>? ?<b>-statics</b> <i>boolean</i>? ?<b>-noStatics</b>? ?<b>-nested</b> <i>boolean</i>? ?<b>-nestedLoadOk</b>? ?<b>-deleteHook</b> <i>script</i>?
|
|||
|
</div><br>
|
|||
|
<div><b>DESCRIPTION</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Safe Tcl est un m<>canisme pour ex<65>cuter des scripts Tcl <20>trangers sans risque et pour fournir un acc<63>s <20> de tels scripts potentiellement dangereux. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Safe Base s'assure que des scripts Tcl <20>trangers ne peuvent nuire <20> l'application h<>te. Safe Base pr<70>vient les attaques d'int<6E>grit<69> et de s<>curit<69>. Les scripts <20>trangers sont emp<6D>ch<63>s de corrompre l'<27>tat de l'application ou de l'ordinateur h<>te. Ces scripts sont <20>galement emp<6D>ch<63>s de r<>v<EFBFBD>ler l'information stock<63>e sur l'ordinateur principal ou dans l'application h<>te <20> n'importe quel espion. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Safe Base permet <20> un interpr<70>teur ma<6D>tre de cr<63>er des interpr<70>teurs s<>curis<69>s et restreints qui contiennent un ensemble d'alias pr<70>d<EFBFBD>finis pour les commandes <A HREF="163.htm"><b>source</b></A>, <A HREF="134.htm"><b>load</b></A>, <A HREF="111.htm"><b>file</b></A>, <A HREF="101.htm"><b>encoding</b></A>, et <A HREF="106.htm"><b>exit</b></A> et peuvent employer des m<>canismes d'auto-chargement et de paquet. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 50px;">Aucune connaissance de la structure de syst<73>me de fichiers n'est n<>cessaire <20> l'interpr<70>teur s<>r, parce qu'il acc<63>de seulement <20> un chemin virtuel contenant des rep<65>res. Quand l'interpr<70>teur s<>r demande le source d'un fichier, il emploie les rep<65>res dans le chemin virtuel en tant qu'<27>l<EFBFBD>ment du nom du fichier; l'interpr<70>teur ma<6D>tre d'une mani<6E>re transparente traduit les rep<65>res en vrais noms de r<>pertoires et ex<65>cute l'op<6F>ration demand<6E>e (voir la section <b>SECURITE</b> ci-dessous pour les d<>tails). Diff<66>rents niveaux de s<>curit<69> peuvent <20>tre choisis en employant les flags optionnels des commandes d<>crites ci-dessous. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Toutes les commandes fournies dans l'interpr<70>teur ma<6D>tre par la commande Safe Base r<>sident dans le namespace <b>safe</b>: </div>
|
|||
|
<br>
|
|||
|
<div><b>COMMANDES</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Les commandes suivantes sont fournies dans le ma<6D>tre interpr<70>teur:
|
|||
|
<DL>
|
|||
|
<DT><b>::safe::interpCreate</b> ?<i>slave</i>? ?<i>options...</i>?
|
|||
|
</DT><DD>Cr<EFBFBD>e un interpr<70>teur s<>r, installe les alias d<>crits dans la section ALIAS et initialise le m<>canisme d'auto-chargement et de paquet comme indiqu<71> par les <A HREF="298.htm"><b>options</b></A> fournies. Voir la section <b>OPTIONS</b> ci-dessous pour un description de l optionnel arguments. ci-dessous pour une description des arguments facultatifs. Si l'argument <i>slave</i> est omis, un nom sera g<>n<EFBFBD>r<EFBFBD>.. <b>::safe::interpCreate</b> renvoie toujours le nom d'interpr<70>teur.
|
|||
|
</DD>
|
|||
|
<DT><br><b>::safe::interpInit</b> <i>slave</i> ?<i>options...</i>?
|
|||
|
</DT><DD>Cette commande est identique <20> <b>interpCreate</b> except<70> qu'elle ne cr<63>e pas l'interpr<70>teur s<>r. <i>slave</i> doit avoir <20>t<EFBFBD> cr<63><72> par d'autres moyens, comme <b>interp </b><b>create-safe</b>.
|
|||
|
</DD>
|
|||
|
<DT><br><b>::safe::interpConfigure</b> <i>slave</i> ?<i>options...</i>?
|
|||
|
</DT><DD>Si aucunes <i>options</i> ne sont donn<6E>es, renvoie les param<61>tres pour toutes les options de l'interpr<70>teur s<>r comme liste d'options et leurs valeurs courantes pour <i>slave</i>. Si un argument additionnel est fourni, renvoie une liste de 2 <20>l<EFBFBD>ments <i>name</i> et <i>value</i> o<> <i>name</i> est le nom complet de cette option et <i>value</i> la valeur courante pour cette option et <i>slave</i>. Si plus de deux arguments additionnels sont fournis, il modifiera l'interpr<70>teur s<>r et changera chacunes et seulement les option fournies. Voir la section <b>OPTIONS</b> ci-dessous pour la description d'options. Exemple d'utilisation:
|
|||
|
<br> # Cr<43>e un nouvel interp avec la m<>me configuration que "$i0" :
|
|||
|
<br> set i1 [eval safe::interpCreate [safe::interpConfigure $i0]]
|
|||
|
<br> # Obtient le deleteHook courant<br>
|
|||
|
<br> set dh [safe::interpConfigure $i0 -del]
|
|||
|
<br> # Change (seulement) l'attribut de chargement statics ok d'un interp
|
|||
|
<br> # et son deleteHook (laissant le reste inchang<6E>) :<br>
|
|||
|
safe::interpConfigure $i0 -delete {foo bar} -statics 0 ;<br>
|
|||
|
</DD>
|
|||
|
<DT><br><b>::safe::interpDelete</b> <i>slave</i>
|
|||
|
</DT><DD>Efface l'interpr<70>teur s<>r et nettoie les structures de donn<6E>es principales correspondantes d'interpr<70>teur. Si un script <i>deleteHook</i> a <20>t<EFBFBD> sp<73>cifi<66> pour cet interpr<70>teur, il est <20>valu<6C> avant l'interpr<70>teur que soit effac<61>, avec le nom de l'interpr<70>teur comme argument additionnel.
|
|||
|
</DD>
|
|||
|
<DT><br><b>::safe::interpFindInAccessPath</b> <i>slave</i> <i>directory</i>
|
|||
|
</DT><DD>Cette commande trouve et renvoie le jeton pour le vrai r<>pertoire <i>directory</i> de l'acc<63>s au chemin virtuel courant de l'interpr<70>teur s<>r. Elle g<>n<EFBFBD>re une erreur si le r<>pertoire n'est pas trouv<75>. Exemple d'utilisation:
|
|||
|
<br> $slave eval [list set tk_library [::safe::interpFindInAccessPath $ name $tk_library]]
|
|||
|
</DD>
|
|||
|
<DT><br><b>::safe::interpAddToAccessPath</b> <i>slave</i> <i>directory</i>
|
|||
|
</DT><DD>Cette commande ajoute <i>directory</i> au chemin virtuel maintenu pour l'interpr<70>teur s<>r dans le ma<6D>tre, et retourne un jeton qui peut <20>tre utilis<69> dans l'interpr<70>teur s<>r pour obtenir acc<63>s aux fichiers dans ce r<>pertoire. Si le r<>pertoire est d<>j<EFBFBD> dans le chemin virtuel, elle renvoie seulement le jeton sans ajouter le r<>pertoire au chemin virtuel de nouveau. Exemple d'utilisation:
|
|||
|
<br>  $slave eval [list set tk_library [::safe::interpAddToAccessPath $nom $ tk_library]]
|
|||
|
</DD>
|
|||
|
<DT><br><b>::safe::setLogCmd</b> ?<i>cmd arg...</i>?
|
|||
|
</DT><DD>Cette commande installe un script qui sera appel<65> quand les <20>v<EFBFBD>nements int<6E>ressants du cycle de vie se produisent pour un interpr<70>teur s<>r. Une fois appel<65>e sans arguments, elle renvoie le script actuellement install<6C>. Si appel<65>e avec un argument, une cha<68>ne vide, le script actuellement install<6C> est enlev<65> et la journalisation est arr<72>t<EFBFBD>e. Le script sera appel<65> avec un argument suppl<70>mentaire, une cha<68>ne d<>crivant l'<27>v<EFBFBD>nement int<6E>ressant. Le but principal est d'aider le debugging des interpr<70>teur s<>rs. En utilisant ce service vous pouvez obtenir des message d'erreurs complets pendant que l'interpr<70>teur s<>r re<72>oit seulement des messages d'erreurs g<>n<EFBFBD>riques. Ceci emp<6D>che l'interpr<70>teur s<>r de voir des messages au sujet des <20>checs et d'autres <20>v<EFBFBD>nements qui pourraient contenir une information sensible telle que de vrais noms de r<>pertoire.
|
|||
|
<br>Exemple d'utilisation:
|
|||
|
<br>::safe::setLogCmd puts stderr
|
|||
|
</DD>
|
|||
|
</DL>
|
|||
|
</div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Ci-dessous vous trouverez la sortie d'une session exemple dans laquelle un interpr<70>teur s<>r a essay<61> de " sourcer " un fichier non trouv<75> dans son chemin d'acc<63>s virtuel. Notez que l'interpr<70>teur s<>r a seulement re<72>u un message d'erreur disant que le fichier n'a pas <20>t<EFBFBD> trouv<75>: </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 153px;">NOTICE for slave interp10 : Created<br>
|
|||
|
NOTICE for slave interp10 : Setting accessPath=(/foo/bar) staticsok=1 nestedok=0 deletehook=()<br>
|
|||
|
NOTICE for slave interp10 : auto_path in interp10 has been set to {$p(:0:)}<br>
|
|||
|
ERROR for slave interp10 : /foo/bar/init.tcl: no such file or directory</div>
|
|||
|
|
|||
|
</div><br>
|
|||
|
<div><b>OPTIONS</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Les options suivantes sont communes <20> <b>::safe::interpCreate</b>, <b>::safe::interpInit</b>, et <b>::safe::interpConfigure</b>. N'importe quel nom d'option peut <20>tre abr<62>g<EFBFBD> <20> son nom non-ambigu minimal. Les noms d'option ne sont ne sont pas sensibles <20> la casse.
|
|||
|
<DL>
|
|||
|
<DT><b>-accessPath</b> <i>directoryList</i></DT><DD>Cette option place la liste de r<>pertoires desquels l'interpr<70>teur s<>r peut <A HREF="163.htm"><b>source</b></A> et <A HREF="134.htm"><b>load</b></A> des fichiers. Si cette option n'est pas sp<73>cifi<66>e, ou si elle est donn<6E>e comme liste vide, l'interpr<70>teur s<>r emploiera les m<>me r<>pertoires que son ma<6D>tre pour auto-chargement. Voir la section <b>SECURITE</b> ci-dessous pour plus de d<>tail au sujet des chemins virtuels, des jetons et du contr<74>le d'acc<63>s.
|
|||
|
</DD>
|
|||
|
<DT><br><b>-statics</b> <i>boolean</i>
|
|||
|
</DT><DD>Cette option indique si l'interpr<70>teur s<>r sera autoris<69> <20> charger les packages statiquement li<6C>s (comme <b>load {} Tk</b>). La valeur par d<>faut est <b>true</b> : les interpr<70>teur s<>rs sont autoris<69> <20> charger les packages statiquement li<6C>s.
|
|||
|
</DD>
|
|||
|
<DT><br><b>-noStatics</b>
|
|||
|
</DT><DD>Cette option est un raccourci de convenance pour <b>-statics false</b> et indique ainsi que l'interpr<70>teur s<>r ne sera pas autoris<69> <20> charger les packages statiquement li<6C>s.
|
|||
|
</DD>
|
|||
|
<DT><br><b>-nested</b> <i>boolean</i>
|
|||
|
</DT><DD>Cette option sp<73>cifie si l'interpr<70>teur s<>r sera autoris<69> <20> charger des packages dans ses propre sous-interpr<70>teurs. La valeur par d<>faut est <b>false</b>: les interpr<70>teur s<>rs ne sont pas autoris<69> <20> charger de packages dans leurs propres interpr<70>teurs secondaires.
|
|||
|
</DD>
|
|||
|
<DT><br><b>-nestedLoadOk</b>
|
|||
|
</DT><DD>Cette option est un raccourci de convenance pour <b>-nested true</b> et indique ainsi que l'interpr<70>teur s<>r sera autoris<69> <20> charger des packages dans ses propres interpr<70>teurs secondaires.
|
|||
|
</DD>
|
|||
|
<DT><br><b>-deleteHook</b> <i>script</i>
|
|||
|
</DT><DD>Quand <20> cette option est donn<6E> un <i>script</i> non vide, elle est <20>valu<6C>e dans le ma<6D>tre avec le nom de l'interpr<70>teur s<>r comme argument additionnel juste avant supprimer r<>ellement l'interpr<70>teur s<>r. Donner une valeur vide enl<6E>ve n'importe quel script d'effacement actuellement install<6C> pour cet interpr<70>teur s<>r. La valeur par d<>faut (<b>{}</b>) n'est n'avoir aucun appel de suppression.
|
|||
|
</DD>
|
|||
|
</DL>
|
|||
|
</div><br>
|
|||
|
<div><b>ALIAS</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Les alias suivants sont fournis dans un interpr<70>teur s<>r:
|
|||
|
<DL>
|
|||
|
<DT><b>source</b> <i>fileName</i>
|
|||
|
</DT><DD>Le fichier requis, un fichier source Tcl, est "sourc<EFBFBD>" dans interpr<70>teur s<>r s'il est trouv<75>. L'alias <A HREF="163.htm"><b>source</b></A> peut seulement " <i>sourcer " </i>les fichier des r<>pertoires qui se trouvent dans le chemin virtuel pour l'interpr<70>teur s<>r. L'alias <A HREF="163.htm"><b>source</b></A> exige de l'interpr<70>teur s<>r qu'il utilise un des noms de jeton dans son chemin virtuel pour d<>signer le r<>pertoire dans lequel le fichier a "sourcer" peut <20>tre trouv<75>. Voir la section sur la <b>SECURITE</b> pour une discussion plus approfondie des restrictions sur les noms de fichiers valides.
|
|||
|
</DD>
|
|||
|
<DT><br><b>load</b> <i>fileName</i>
|
|||
|
</DT><DD>Le fichier requis, un fichier objet partag<61>, est charg<72> dynamiquement dans l'interpr<70>teur s<>r s'il est trouv<75>. Le nom de fichier doit contenir le nom d'un jeton mentionn<6E> dans le chemin virtuel de l'interpr<70>teur s<>r pour <20>tre trouv<75> avec succ<63>s. De plus, le fichier objet partag<61> doit contenir un point d'entr<74>e s<>r; voyez la page de manueluel de la commande <A HREF="134.htm"><b>load</b></A> pour plus de d<>tails.
|
|||
|
</DD>
|
|||
|
<DT><br><b>file</b> ?<i>subCmd args...</i>?
|
|||
|
</DT><DD>L'alias <A HREF="111.htm"><b>file</b></A> donne acc<63>s <20> un sous ensemble s<>r des sous-commandes de <A HREF="111.htm"><b>file</b></A>; il permet seulement les sous-commandes <b>dirname</b>, <A HREF="127.htm"><b>join</b></A>, <b>extension</b>, <b>root</b>, <b>tail</b>, <b>pathname</b> et <A HREF="164.htm"><b>split</b></A>. Pour plus de d<>tails sur ces sous-commandes voyez la page de manueluel pour la commande<A HREF="111.htm"><b> file</b></A>.
|
|||
|
</DD>
|
|||
|
<DT><br><b>encoding</b> ?<i>subCmd args...</i>?
|
|||
|
</DT><DD>L'alias <b>encoding</b> donne acc<63>s <20> un sous ensemble s<>r des sous-commandes de <A HREF="101.htm"><b>encoding</b></A> il interdit de fixer l'encodage syst<73>me, mais permet tout autre sous-commandes incluant <b>system</b> <20> v<>rifier l'encodage courant.
|
|||
|
</DD>
|
|||
|
<DT><br><b>exit</b>
|
|||
|
</DT><DD>L'interpr<70>teur appelant est supprim<69> et son traitement est arr<72>t<EFBFBD>, mais le processus Tcl dans lequel cet interpr<70>teur existe n'est pas termin<69>.</DD>
|
|||
|
</DL>
|
|||
|
</div>
|
|||
|
<br>
|
|||
|
<div><b>SECURITE</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">La Safe Base n'essaye pas d'emp<6D>cher compl<70>tement les attaques d'ennui et de deni de service. Ces formes d'attaque emp<6D>chent temporairement l'application ou l'utilisateur d'utiliser l'ordinateur pour effectuer des t<>ches utiles, par exemple en consommant tout le temps CPU ou tout l'affichage disponible. Ces attaques, quoique graves, sont consid<69>r<EFBFBD>es comme moins importantes en g<>n<EFBFBD>ral que les attaques d'int<6E>grit<69> et d'intimit<69> que la Safe Base doit emp<6D>cher. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 50px;">Les commandes disponibles dans un interpr<70>teur s<>r, en plus de l'ensemble s<>r comme d<>fini en page de manueluel d'<A HREF="126.htm"><b> interp</b></A>, sont des alias de <A HREF="163.htm"><b>source</b></A>, <A HREF="134.htm"><b>load</b></A>, <A HREF="106.htm"><b>exit</b></A>, et des sous-ensembles s<>rs de <A HREF="111.htm"><b>file</b></A> et <A HREF="101.htm"><b>encoding</b></A>. L'interpr<70>teur s<>r peut aussi auto-charger du code et il peut demander que des packages soient charg<72>s.. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Puisque certaines de ces commandes acc<63>dent au syst<73>me de fichiers local, il y a un danger potentiel de fuites d'information au sujet de la structure des r<>pertoires. Pour emp<6D>cher ceci, les commandes qui prennent des noms de fichier comme aguments dans un interpr<70>teur s<>r utilisent des jetons au lieu des noms r<>els de r<>pertoires. Ces jetons sont traduits en nom r<>el de r<>pertoire pendant qu'une requ<71>te pour, ex., sourcer un fichier est trait<69>e par le ma<6D>tre interpr<70>teur. Ce syst<73>me de chemin virtuel est maintenu dans l'interpr<70>teur principal pour chaque interpr<70>teur s<>r cr<63><72> par <b>::safe::interpCreate</b> ou initialis<69> par <b>::safe::interpInit</b> et le chemin pointe des jetons accessibles dans l'interpr<70>teur s<>r vers les noms de chemin r<>els sur le syst<73>me de fichier local emp<6D>chant de ce fait les interpr<70>teurs s<>rs de conna<6E>tre la structure du syst<73>me de fichiers de la machine sur lequel l'interpr<70>teur s'ex<65>cute. Les seuls arguments valides de noms de fichier pour les alias <A HREF="163.htm"><b>source</b></A> et <A HREF="134.htm"><b>load</b></A> fournis <20> l'esclave sont des chemin sous la forme de <b>[file join</b><i>tokenfilename</i><b>]</b> (ie, en utilisant les formats natifs de chemin: <i>token</i><b>/</b><i>filename</i> sous Unix, <i>token</i><b>\</b><i></i><A HREF="113.htm"><i>filename</i></A> sous Windows, et <i>token</i><b>:</b><i>filename</i> sur Mac), o<> <i>token </i>repr<EFBFBD>sente un des r<>pertoires de la liste <i>accessPath</i> et <i>filename</i> est un fichier dans ce r<>pertoire (on ne permet aucun acc<63>s aux sous-r<>pertoires). </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Quand un jeton est utilis<69> par un interpr<70>teur s<>r dans un requ<71>te pour " sourcer " ou charger un fichier, le jeton est v<>rifi<66> et traduit en un nom r<>el de chemin et le fichier a "sourcer" ou charg<72> est localis<69> sur le syst<73>me de fichier. L'interpr<70>teur s<>r n'a jamais connaissance du nom de chemin actuel sous lequel le fichier est stock<63> sur le syst<73>me de fichier. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Pour emp<6D>cher une fuite d'information potentielle <20> partir de fichiers sensibles accidentellement inclus dans l'ensemble de fichiers qui peut <20>tre "sourc<EFBFBD>" par un interpr<70>teur s<>r, l'alias <A HREF="163.htm"><b>source</b></A> restreint l'acc<63>s aux fichiers respectant les contraintes suivantes: le nom de chemin ne doit pas avoir plus de quatorze caract<63>res, ne doit pas contenir plus d'un point ("<b>.</b>"), doit finir avec l'extension <b>.tcl</b> ou <20>tre appel<65> <b>tclIndex</b>. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Chaque <20>l<EFBFBD>ment de la liste initiale de chemin d'acc<63>s sera assign<67> <20> un jeton qui sera plac<61>e dans l'<b>auto_path </b>de l'esclave et le premier <20>l<EFBFBD>ment de cette liste sera fix<69> en tant que <b>tcl_library</b> pour cet esclave. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Si l'argument de chemin d'acc<63>s n'est pas donn<6E> ou est une liste vide, le comportement par d<>faut est de laisser l'esclave acceder aux m<>mes packages que le ma<6D>tre (ou pour <20>tre plus pr<70>cis: seulement les packages <20>crits en Tcl (ne peuvent pas <20>tre dangereux tant qu'ils fonctionnent dans l'interpr<70>teur esclave) et les extensions C qui fournissent un point d'entr<74>e Safe_Init). Dans ce but, l'<b>auto_path</b> du ma<6D>tre sera employ<6F> pour construire le chemin d'acc<63>s de l'esclave. Pour que l'esclave charge avec succ<63>s la biblioth<74>que Tcl (qui inclut le m<>canisme d'auto-chargement) la <b>tcl_library</b> sera ajout<75>e ou d<>plac<61>e <20> la premi<6D>re position si n<>cessaire, dans le chemin d'acc<63>s de l'esclave, ainsi la <b>tcl_library</b> esclave sera la m<>me que celle du ma<6D>tre (son vrai chemin sera cependant toujours invisible <20> l'esclave). Pour que l'auto-chargement fonctionne de m<>me pour l'esclave et le ma<6D>tre dans ce cas par d<>faut, les sous r<>pertoires de premier-niveau de chaque r<>pertoire dans l'<b>auto_path</b> du ma<6D>tre sera aussi ajout<75> (si aucun n'est d<>j<EFBFBD> inclus) au chemin d'acc<63>s de l'esclave. Vous pouvez toujours indiquer un chemin plus restrictif pour lequel les sous r<>pertoires ne seront jamais recherch<63>s explicitement en sp<73>cifiant votre liste de r<>pertoires avec le flag <b>-accessPath</b> au lieu de compter sur ce m<>canisme par d<>faut. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Quand le <i>accessPath</i> est chang<6E> apr<70>s la premi<6D>re cr<63>ation ou l'initialisation (c.a.d au travers de <b>interpConfigure -accessPath</b><i>list</i>), un <A HREF="129.htm"><b>auto_reset</b></A> est automatiquement <20>valu<6C> dans l'interpr<70>teur s<>r pour synchroniser son <b>auto_index</b> avec la nouvelle liste de jetons <br>
|
|||
|
</div><br>
|
|||
|
<div><b>VOIR EGALEMENT</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;"><A HREF="126.htm">interp</A>(n), <A HREF="129.htm">library</A>(n), <A HREF="134.htm">load</A>(n), <A HREF="143.htm">package</A>(n), <A HREF="163.htm">source</A>(n), <A HREF="174.htm">unknown</A>(n)</div><br>
|
|||
|
<div>Derni<EFBFBD>re r<>vision: 8.0</div>
|
|||
|
<br>
|
|||
|
<br><div ALIGN="CENTER"><A HREF="index.htm"><b>Index</b></A> <A HREF="157.htm"><b>Pr<EFBFBD>c<EFBFBD>dent</b></A> <A HREF="159.htm"><b>Suivant</b></A></div>
|
|||
|
</BODY></HTML>
|