--- rpl/src/gestion_niveaux.c 2013/03/26 11:05:28 1.45 +++ rpl/src/gestion_niveaux.c 2023/08/07 17:42:51 1.77 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.13 - Copyright (C) 1989-2013 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.35 + Copyright (C) 1989-2023 Dr. BERTRAND Joël This file is part of RPL/2. @@ -190,6 +190,9 @@ instruction_vers_niveau_inferieur(struct (*s_etat_processus).position_courante = (*(*s_etat_processus).l_base_pile_systeme) .adresse_retour; + (*s_etat_processus).debug_programme = + (*(*s_etat_processus).l_base_pile_systeme) + .debug_programme; if ((*s_etat_processus).profilage == d_vrai) { @@ -218,17 +221,9 @@ instruction_vers_niveau_inferieur(struct if (((*s_etat_processus).niveau_recursivite == 0) && ((*s_etat_processus) .gel_liste_variables == d_faux)) { - // Si une routine ATEXIT est enregistrée, on ne détruit pas les - // variables globales pour qu'elles puissent être utilisées depuis - // la routine ATEXIT. - - if (!(((*s_etat_processus).at_exit != NULL) && - ((*s_etat_processus).niveau_courant == 0))) + if (retrait_variables_par_niveau(s_etat_processus) == d_erreur) { - if (retrait_variables_par_niveau(s_etat_processus) == d_erreur) - { - return; - } + return; } }