Fix typo: occured ==> occurred 88/7988/4
Vincent COUVERT [Mon, 16 Jul 2012 11:12:57 +0000 (13:12 +0200)]
Change-Id: I141597cf09e8904e432776456ede3f7ab209727b

182 files changed:
scilab/CHANGES_5.3.X
scilab/modules/api_scilab/help/en_US/capi/Scierror.xml
scilab/modules/call_scilab/examples/call_scilab/c/LabWindow/CallsciC.c
scilab/modules/call_scilab/examples/call_scilab/c/common/myprog.c
scilab/modules/call_scilab/examples/call_scilab/c/visual_studio/CallsciC.c
scilab/modules/call_scilab/examples/call_scilab/cpp/common/myprog.c
scilab/modules/call_scilab/help/en_US/GetLastJob.xml
scilab/modules/call_scilab/help/en_US/SendScilabJob.xml
scilab/modules/call_scilab/help/en_US/StartScilab.xml
scilab/modules/call_scilab/help/en_US/TerminateScilab.xml
scilab/modules/call_scilab/includes/call_scilab.h
scilab/modules/commons/locales/ca_ES.po
scilab/modules/commons/locales/commons.pot
scilab/modules/commons/locales/cs_CZ.po
scilab/modules/commons/locales/de_DE.po
scilab/modules/commons/locales/es_ES.po
scilab/modules/commons/locales/fr_FR.po
scilab/modules/commons/locales/it_IT.po
scilab/modules/commons/locales/ja_JP.po
scilab/modules/commons/locales/pl_PL.po
scilab/modules/commons/locales/pt_BR.po
scilab/modules/commons/locales/ru_RU.po
scilab/modules/commons/locales/uk_UA.po
scilab/modules/commons/locales/zh_CN.po
scilab/modules/commons/locales/zh_TW.po
scilab/modules/commons/src/java/org/scilab/modules/commons/xml/XConfiguration.java
scilab/modules/commons/src/jni/GiwsException.cpp
scilab/modules/commons/src/jni/GiwsException.hxx
scilab/modules/console/src/java/org/scilab/modules/console/ClearConsoleAction.java
scilab/modules/console/src/java/org/scilab/modules/console/CompletionAction.java
scilab/modules/console/src/java/org/scilab/modules/console/ConsoleboxAction.java
scilab/modules/console/src/java/org/scilab/modules/console/DelEndOfLineAction.java
scilab/modules/console/src/java/org/scilab/modules/console/DelLastWordAction.java
scilab/modules/console/src/java/org/scilab/modules/console/DelNextCharAction.java
scilab/modules/console/src/java/org/scilab/modules/console/DelPreviousCharAction.java
scilab/modules/console/src/java/org/scilab/modules/console/DelWholeLineAction.java
scilab/modules/console/src/java/org/scilab/modules/console/HelpAction.java
scilab/modules/console/src/java/org/scilab/modules/console/InterruptScilabWorkOrCopy.java
scilab/modules/console/src/java/org/scilab/modules/console/InterruptScilabWorkOrCut.java
scilab/modules/console/src/java/org/scilab/modules/console/LineBeginningAction.java
scilab/modules/console/src/java/org/scilab/modules/console/LineEndAction.java
scilab/modules/console/src/java/org/scilab/modules/console/NextCharAction.java
scilab/modules/console/src/java/org/scilab/modules/console/PageDownAction.java
scilab/modules/console/src/java/org/scilab/modules/console/PageUpAction.java
scilab/modules/console/src/java/org/scilab/modules/console/PasteClipboard.java
scilab/modules/console/src/java/org/scilab/modules/console/PreviousCharAction.java
scilab/modules/console/src/java/org/scilab/modules/console/SelectAllAction.java
scilab/modules/console/src/java/org/scilab/modules/console/ValidationAction.java
scilab/modules/core/help/en_US/error_handling/errcatch.xml
scilab/modules/core/includes/returnProperty.h
scilab/modules/core/src/c/parse.c
scilab/modules/core/src/c/run.c
scilab/modules/core/src/fortran/clause.f
scilab/modules/development_tools/macros/test_run_level.sci
scilab/modules/differential_equations/src/fortran/rchek2.f
scilab/modules/differential_equations/src/fortran/stoda.f
scilab/modules/differential_equations/src/fortran/stode.f
scilab/modules/elementary_functions/src/fortran/slatec/dxlegf.f
scilab/modules/fileio/help/en_US/fileinfo.xml
scilab/modules/fileio/help/en_US/mgetl.xml
scilab/modules/graphic_export/locales/ca_ES.po
scilab/modules/graphic_export/locales/cs_CZ.po
scilab/modules/graphic_export/locales/de_DE.po
scilab/modules/graphic_export/locales/es_ES.po
scilab/modules/graphic_export/locales/fr_FR.po
scilab/modules/graphic_export/locales/graphic_export.pot
scilab/modules/graphic_export/locales/it_IT.po
scilab/modules/graphic_export/locales/ja_JP.po
scilab/modules/graphic_export/locales/pl_PL.po
scilab/modules/graphic_export/locales/pt_BR.po
scilab/modules/graphic_export/locales/ru_RU.po
scilab/modules/graphic_export/locales/uk_UA.po
scilab/modules/graphic_export/locales/zh_CN.po
scilab/modules/graphic_export/locales/zh_TW.po
scilab/modules/graphic_export/sci_gateway/cpp/sci_xend.cpp
scilab/modules/graphic_export/src/java/org/scilab/modules/graphic_export/FileExporter.java
scilab/modules/graphics/help/en_US/interaction/event_handler_functions.xml
scilab/modules/graphics/help/en_US/interaction/xclick.xml
scilab/modules/graphics/includes/BasicAlgos.h
scilab/modules/graphics/includes/SetProperty.h
scilab/modules/graphics/includes/pixel_mode.h
scilab/modules/graphics/sci_gateway/c/sci_get.c
scilab/modules/graphics/src/c/SetProperty.c
scilab/modules/graphics/src/c/getHandleProperty/CheckTicksProperty.h
scilab/modules/graphics/src/c/getHandleProperty/GetHashTable.h
scilab/modules/graphics/src/c/getHandleProperty/SetHashTable.h
scilab/modules/graphics/src/c/getHandleProperty/SetPropertyStatus.h
scilab/modules/graphics/src/c/getHandleProperty/getPropertyAssignedValue.h
scilab/modules/graphics/src/c/sciCall.c
scilab/modules/gui/images/icons/16x16/actions/stock_search.png [changed from symlink to file mode: 0000->0644]
scilab/modules/gui/locales/ca_ES.po
scilab/modules/gui/locales/cs_CZ.po
scilab/modules/gui/locales/de_DE.po
scilab/modules/gui/locales/es_ES.po
scilab/modules/gui/locales/fr_FR.po
scilab/modules/gui/locales/gui.pot
scilab/modules/gui/locales/it_IT.po
scilab/modules/gui/locales/ja_JP.po
scilab/modules/gui/locales/pl_PL.po
scilab/modules/gui/locales/pt_BR.po
scilab/modules/gui/locales/ru_RU.po
scilab/modules/gui/locales/uk_UA.po
scilab/modules/gui/locales/zh_CN.po
scilab/modules/gui/locales/zh_TW.po
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/window/OSXAdapter.java
scilab/modules/gui/src/java/org/scilab/modules/gui/events/GlobalEventFilter.java
scilab/modules/gui/src/java/org/scilab/modules/gui/events/callback/ScilabCloseCallBack.java
scilab/modules/gui/src/java/org/scilab/modules/gui/helpbrowser/ScilabHelpBrowser.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/ClosingOperationsManager.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/ImageExporter.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/PrinterHelper.java
scilab/modules/helptools/src/java/org/scilab/modules/helptools/SciDocMain.java
scilab/modules/helptools/src/java/org/scilab/modules/helptools/SynopsisLexer.java
scilab/modules/helptools/src/java/org/scilab/modules/helptools/XML/XMLLexer.java
scilab/modules/helptools/src/java/org/scilab/modules/helptools/c/CLexer.java
scilab/modules/helptools/src/java/org/scilab/modules/helptools/java/JavaLexer.java
scilab/modules/helptools/src/java/org/scilab/modules/helptools/scilab/HTMLWithStyleScilabCodeHandler.java
scilab/modules/helptools/src/java/org/scilab/modules/helptools/scilab/ScilabLexer.java
scilab/modules/interpolation/help/en_US/lsq_splin.xml
scilab/modules/io/help/en_US/unix_g.xml
scilab/modules/javasci/examples/v2/Example1.java
scilab/modules/javasci/help/en_US/javasci_step_by_step.xml
scilab/modules/javasci/tests/java/org/scilab/tests/modules/javasci/testBug9544.java
scilab/modules/jvm/locales/ca_ES.po
scilab/modules/jvm/locales/cs_CZ.po
scilab/modules/jvm/locales/de_DE.po
scilab/modules/jvm/locales/es_ES.po
scilab/modules/jvm/locales/fr_FR.po
scilab/modules/jvm/locales/it_IT.po
scilab/modules/jvm/locales/ja_JP.po
scilab/modules/jvm/locales/jvm.pot
scilab/modules/jvm/locales/pl_PL.po
scilab/modules/jvm/locales/pt_BR.po
scilab/modules/jvm/locales/ru_RU.po
scilab/modules/jvm/locales/uk_UA.po
scilab/modules/jvm/locales/zh_CN.po
scilab/modules/jvm/locales/zh_TW.po
scilab/modules/jvm/src/c/loadClasspath.c
scilab/modules/optimization/tests/unit_tests/semidef.dia.ref
scilab/modules/optimization/tests/unit_tests/semidef.tst
scilab/modules/preferences/src/java/org/scilab/modules/preferences/XConfigManager.java
scilab/modules/renderer/includes/RendererFontManager.h
scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/textRendering/FontManager.java
scilab/modules/scinotes/locales/ca_ES.po
scilab/modules/scinotes/locales/cs_CZ.po
scilab/modules/scinotes/locales/de_DE.po
scilab/modules/scinotes/locales/es_ES.po
scilab/modules/scinotes/locales/fr_FR.po
scilab/modules/scinotes/locales/it_IT.po
scilab/modules/scinotes/locales/ja_JP.po
scilab/modules/scinotes/locales/pl_PL.po
scilab/modules/scinotes/locales/pt_BR.po
scilab/modules/scinotes/locales/ru_RU.po
scilab/modules/scinotes/locales/scinotes.pot
scilab/modules/scinotes/locales/uk_UA.po
scilab/modules/scinotes/locales/zh_CN.po
scilab/modules/scinotes/locales/zh_TW.po
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/CompoundUndoManager.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/FunctionScanner.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/IndentScanner.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/KeywordEvent.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/MatchingBlockManager.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/MatchingBlockScanner.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/SciNotesLineNumberPanel.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/ScilabDocument.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/ScilabEditorPane.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/ScilabLexer.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/NavigatorWindow.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/SciNotesMessages.java
scilab/modules/scinotes/tests/nonreg_tests/bug_7564.tst
scilab/modules/scinotes/tests/nonreg_tests/bug_8697.tst
scilab/modules/sparse/help/en_US/matrixmanip/sprand.xml
scilab/modules/sparse/tests/unit_tests/sprand.dia.ref
scilab/modules/sparse/tests/unit_tests/sprand.tst
scilab/modules/types/src/java/org/scilab/modules/types/ScilabSparseException.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variableeditor/undo/CellsUndoableEdit.java
scilab/modules/umfpack/src/c/common_umfpack.c
scilab/modules/xcos/src/java/org/scilab/modules/xcos/configuration/ConfigurationManager.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/io/scicos/Element.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/PaletteManager.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/utils/FileUtils.java
scilab/modules/xml/help/en_US/xmlValidate.xml

index a85a504..7ee86c5 100644 (file)
@@ -1988,7 +1988,7 @@ Bug Fixes:
 * Bug 7348 fixed - ATOMS: A module was loaded twice if it was installed both in
                    the "user" and the "allusers" section.
 
-* Bug 7405 fixed - The toolbar was not updated when an undocking occured.
+* Bug 7405 fixed - The toolbar was not updated when an undocking occurred.
 
 * Bug 7452 fixed - demos nmplot from Optimization and Simulation -> fminsearch
                    -> nmplot* did not work.
index ae22457..c9344ec 100644 (file)
@@ -68,7 +68,7 @@
 
 int sci_myscierror(char * fname)
 {
-  Scierror(133,"An error has occured: %d\n", 1);
+  Scierror(133,"An error has occurred: %d\n", 1);
 
   return 0;
 }
index d067eb4..b59b158 100644 (file)
@@ -5,8 +5,8 @@
 #pragma comment(lib, "../../../../../../bin/libScilab.lib")
 #pragma comment(lib, "../../../../../../bin/MALLOC.lib")
 /*--------------------------------------------------------------------------*/
-#include <stdlib.h> 
-#include <stdio.h> 
+#include <stdlib.h>
+#include <stdio.h>
 #include <string.h>
 #include "call_scilab.h"
 #include "stack-c.h"
 /*--------------------------------------------------------------------------*/
 static int example1(void)
 {
-       static double A[]={1,2,3,4};  int mA=2,nA=2;
-       static double b[]={4,5};  int mb=2,nb=1;
-
-
-       /* Create Scilab matrices A and b */
-       WriteMatrix("A", &mA, &nA, A);
-       WriteMatrix("b", &mb, &nb, b);
-
-       SendScilabJob("disp('A=');");
-       SendScilabJob("disp(A);");
-       SendScilabJob("disp('b=');");
-       SendScilabJob("disp(b);");
-       SendScilabJob("disp('x=A\\b');");
-
-       if ( SendScilabJob("A,b,x=A\\b;") != 0) 
-       {
-               fprintf(stdout,"Error occured during scilab execution (SendScilabJob)\n");
-       }
-       else 
-       {
-               double *cxtmp=NULL;
-               int m,n,lp,i;
-
-               /* Get m and n */
-               GetMatrixptr("x", &m, &n, &lp);
-
-               cxtmp=(double*)malloc((m*n)*sizeof(double));
-
-               ReadMatrix("x", &m, &n, cxtmp);
-
-               for(i=0;i<m*n;i++)
-               {
-                       fprintf(stdout,"x[%d] = %5.2f\n",i,cxtmp[i]);
-               }
-
-               if (cxtmp) 
-               {
-                       free(cxtmp);
-                       cxtmp=NULL;
-               }
-       }
-       return 0;
+    static double A[] = {1, 2, 3, 4};
+    int mA = 2, nA = 2;
+    static double b[] = {4, 5};
+    int mb = 2, nb = 1;
+
+
+    /* Create Scilab matrices A and b */
+    WriteMatrix("A", &mA, &nA, A);
+    WriteMatrix("b", &mb, &nb, b);
+
+    SendScilabJob("disp('A=');");
+    SendScilabJob("disp(A);");
+    SendScilabJob("disp('b=');");
+    SendScilabJob("disp(b);");
+    SendScilabJob("disp('x=A\\b');");
+
+    if ( SendScilabJob("A,b,x=A\\b;") != 0)
+    {
+        fprintf(stdout, "Error occurred during scilab execution (SendScilabJob)\n");
+    }
+    else
+    {
+        double *cxtmp = NULL;
+        int m, n, lp, i;
+
+        /* Get m and n */
+        GetMatrixptr("x", &m, &n, &lp);
+
+        cxtmp = (double*)malloc((m * n) * sizeof(double));
+
+        ReadMatrix("x", &m, &n, cxtmp);
+
+        for (i = 0; i < m * n; i++)
+        {
+            fprintf(stdout, "x[%d] = %5.2f\n", i, cxtmp[i]);
+        }
+
+        if (cxtmp)
+        {
+            free(cxtmp);
+            cxtmp = NULL;
+        }
+    }
+    return 0;
 }
 /*--------------------------------------------------------------------------*/
 static int example2(void)
 {
-       int code=0;
-
-       char **JOBS = NULL;
-       const int SizeJOBS = 5;
-       int i=0;
-       int m = 0, n = 0;
-       double *cxtmp = NULL;
-
-       JOBS=(char**)malloc(sizeof(char**)*SizeJOBS);
-
-       for (i=0;i<SizeJOBS;i++)
-       {
-               JOBS[i]=(char*)malloc(sizeof(char*)*1024);
-       }
-
-       strcpy(JOBS[0],"A=1 ..");
-       strcpy(JOBS[1],"+3;");
-       strcpy(JOBS[2],"B = 8;");
-       strcpy(JOBS[3],"+3;");
-    strcpy(JOBS[4],"C=A+B;"); /* C = 12 */
-
-       
-       for(i=0;i<SizeJOBS;i++)
-       {
-               printf("JOBS[%d] = %s\n",i,JOBS[i]);
-       }
-       
-       code=SendScilabJobs(JOBS,SizeJOBS);
-
-       if (code)
-       {
-               char lastjob[4096]; // bsiz in scilab 4096 max
-               if (GetLastJob(lastjob,4096))
-               {
-                       printf("Error %s\n",lastjob);
-               }
-       }
-       
-       m = 1; n = 1;
-       cxtmp = (double*)malloc((m*n)*sizeof(double));
-
-       ReadMatrix("C", &m, &n, cxtmp);
-
-       printf("Result :\n");
-       for(i=0;i<m*n;i++)
-       {
-               fprintf(stdout,"C[%d] = %5.2f\n",i,cxtmp[i]);
-       }
-
-       for (i=0;i<SizeJOBS;i++)
-       {
-               if (JOBS[i]) {free(JOBS[i]);JOBS[i]=NULL;}
-       }
-       return 1;
+    int code = 0;
+
+    char **JOBS = NULL;
+    const int SizeJOBS = 5;
+    int i = 0;
+    int m = 0, n = 0;
+    double *cxtmp = NULL;
+
+    JOBS = (char**)malloc(sizeof(char**) * SizeJOBS);
+
+    for (i = 0; i < SizeJOBS; i++)
+    {
+        JOBS[i] = (char*)malloc(sizeof(char*) * 1024);
+    }
+
+    strcpy(JOBS[0], "A=1 ..");
+    strcpy(JOBS[1], "+3;");
+    strcpy(JOBS[2], "B = 8;");
+    strcpy(JOBS[3], "+3;");
+    strcpy(JOBS[4], "C=A+B;"); /* C = 12 */
+
+
+    for (i = 0; i < SizeJOBS; i++)
+    {
+        printf("JOBS[%d] = %s\n", i, JOBS[i]);
+    }
+
+    code = SendScilabJobs(JOBS, SizeJOBS);
+
+    if (code)
+    {
+        char lastjob[4096]; // bsiz in scilab 4096 max
+        if (GetLastJob(lastjob, 4096))
+        {
+            printf("Error %s\n", lastjob);
+        }
+    }
+
+    m = 1;
+    n = 1;
+    cxtmp = (double*)malloc((m * n) * sizeof(double));
+
+    ReadMatrix("C", &m, &n, cxtmp);
+
+    printf("Result :\n");
+    for (i = 0; i < m * n; i++)
+    {
+        fprintf(stdout, "C[%d] = %5.2f\n", i, cxtmp[i]);
+    }
+
+    for (i = 0; i < SizeJOBS; i++)
+    {
+        if (JOBS[i])
+        {
+            free(JOBS[i]);
+            JOBS[i] = NULL;
+        }
+    }
+    return 1;
 }
 /*--------------------------------------------------------------------------*/
 static int example3(void)
 {
-       SendScilabJob("plot3d();quit;");
-       printf("\nClose Graphical Windows to close this example.\n");
-       while( ScilabHaveAGraph() )
-       {
-               ScilabDoOneEvent();
-       }
-       return 1; 
+    SendScilabJob("plot3d();quit;");
+    printf("\nClose Graphical Windows to close this example.\n");
+    while ( ScilabHaveAGraph() )
+    {
+        ScilabDoOneEvent();
+    }
+    return 1;
 }
 /*--------------------------------------------------------------------------*/
 int main(void)
 /* int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR szCmdLine, int iCmdShow) */
 {
-       if ( StartScilab(NULL,NULL,NULL) == FALSE ) printf("Error : StartScilab\n");
-       printf("\nexample 1\n");
-       example1();
-       printf("\npress return\n");
-       getchar();
-       
-       printf("\nexample 2\n");
-       example2();
-       printf("\npress return\n");
-       getchar();
-       
-       printf("\nexample 3\n");
-       example3();
-       printf("\npress return\n");
-       getchar();
-
-       
-       if ( TerminateScilab(NULL) == FALSE ) printf("Error : TerminateScilab\n");
-       return 0;
+    if ( StartScilab(NULL, NULL, NULL) == FALSE ) printf("Error : StartScilab\n");
+    printf("\nexample 1\n");
+    example1();
+    printf("\npress return\n");
+    getchar();
+
+    printf("\nexample 2\n");
+    example2();
+    printf("\npress return\n");
+    getchar();
+
+    printf("\nexample 3\n");
+    example3();
+    printf("\npress return\n");
+    getchar();
+
+
+    if ( TerminateScilab(NULL) == FALSE ) printf("Error : TerminateScilab\n");
+    return 0;
 }
 /*--------------------------------------------------------------------------*/
index 7fe89be..08acf24 100644 (file)
@@ -50,7 +50,7 @@ static int first_example(void)
 
     if ( SendScilabJob("A,b,x=A\\b;") != 0)
     {
-        fprintf(stdout, "Error occured during scilab execution (SendScilabJob)\n");
+        fprintf(stdout, "Error occurred during scilab execution (SendScilabJob)\n");
     }
     else
     {
index f551c40..0045335 100644 (file)
@@ -4,8 +4,8 @@
 #pragma comment(lib, "../../../../../../bin/call_scilab.lib")
 #pragma comment(lib, "../../../../../../bin/api_scilab.lib")
 /*--------------------------------------------------------------------------*/
-#include <stdlib.h> 
-#include <stdio.h> 
+#include <stdlib.h>
+#include <stdio.h>
 #include <string.h>
 #include "call_scilab.h"
 #include "api_scilab.h"
@@ -18,144 +18,148 @@ static int example1(void)
 {
     SciErr sciErr;
 
-       static double A[] = {1, 2, 3, 4};
+    static double A[] = {1, 2, 3, 4};
     int mA = 2, nA = 2;
 
-       static double b[] = {4, 5};
+    static double b[] = {4, 5};
     int mb = 2, nb = 1;
 
-       /* Create Scilab matrices A and b */
+    /* Create Scilab matrices A and b */
     sciErr = createNamedMatrixOfDouble(pvApiCtx, "A", mA, nA, A);
-    if(sciErr.iErr)
+    if (sciErr.iErr)
     {
         printError(&sciErr, 0);
         return -1;
     }
 
     sciErr = createNamedMatrixOfDouble(pvApiCtx, "b", mb, nb, b);
-    if(sciErr.iErr)
+    if (sciErr.iErr)
     {
         printError(&sciErr, 0);
         return -1;
     }
 
-       SendScilabJob("disp('A=');");
-       SendScilabJob("disp(A);");
-       SendScilabJob("disp('b=');");
-       SendScilabJob("disp(b);");
-       SendScilabJob("disp('x=A\\b');");
-
-       if ( SendScilabJob("A,b,x=A\\b;") != 0) 
-       {
-               fprintf(stdout,"Error occured during scilab execution (SendScilabJob)\n");
-       }
-       else 
-       {
-               double *cxtmp = NULL;
-               int m = 0, n = 0;
+    SendScilabJob("disp('A=');");
+    SendScilabJob("disp(A);");
+    SendScilabJob("disp('b=');");
+    SendScilabJob("disp(b);");
+    SendScilabJob("disp('x=A\\b');");
+
+    if ( SendScilabJob("A,b,x=A\\b;") != 0)
+    {
+        fprintf(stdout, "Error occurred during scilab execution (SendScilabJob)\n");
+    }
+    else
+    {
+        double *cxtmp = NULL;
+        int m = 0, n = 0;
         int i = 0;
 
-               /* Get m and n dimensions of x */
+        /* Get m and n dimensions of x */
         sciErr = readNamedMatrixOfDouble(pvApiCtx, "x", &m, &n , NULL);
-        if(sciErr.iErr)
+        if (sciErr.iErr)
         {
             printError(&sciErr, 0);
             return -1;
         }
 
-               cxtmp = (double*)malloc((m*n)*sizeof(double));
+        cxtmp = (double*)malloc((m * n) * sizeof(double));
         sciErr = readNamedMatrixOfDouble(pvApiCtx, "x", &m, &n , cxtmp);
-        if(sciErr.iErr)
+        if (sciErr.iErr)
         {
             printError(&sciErr, 0);
             return -1;
         }
 
-               for(i = 0; i < m*n; i++)
-               {
-                       fprintf(stdout, "x[%d] = %5.2f\n", i, cxtmp[i]);
-               }
-
-               if (cxtmp) 
-               {
-                       free(cxtmp);
-                       cxtmp = NULL;
-               }
-       }
-       return 0;
+        for (i = 0; i < m * n; i++)
+        {
+            fprintf(stdout, "x[%d] = %5.2f\n", i, cxtmp[i]);
+        }
+
+        if (cxtmp)
+        {
+            free(cxtmp);
+            cxtmp = NULL;
+        }
+    }
+    return 0;
 }
 /*--------------------------------------------------------------------------*/
 static int example2(void)
 {
-       SendScilabJob("plot3d();");
-       printf("\nClose Graphical Windows to close this example.\n");
-       while( ScilabHaveAGraph() )
-       {
-               ScilabDoOneEvent();
-       }
-       return 1; 
+    SendScilabJob("plot3d();");
+    printf("\nClose Graphical Windows to close this example.\n");
+    while ( ScilabHaveAGraph() )
+    {
+        ScilabDoOneEvent();
+    }
+    return 1;
 }
 /*--------------------------------------------------------------------------*/
 static int example3(void)
 {
-       int code = 0;
-
-       char **JOBS = NULL;
-       const int SizeJOBS = 6;
-       int i = 0;
-
-       JOBS = (char**)malloc(sizeof(char**)*SizeJOBS);
-
-       for (i=0;i<SizeJOBS;i++)
-       {
-               JOBS[i]=(char*)malloc(sizeof(char*)*1024);
-       }
-
-       strcpy(JOBS[0],"A=1 ..");
-       strcpy(JOBS[1],"+3;");
-       strcpy(JOBS[2],"B = 8;");
-       strcpy(JOBS[3],"+3;");
-       strcpy(JOBS[4],"disp('C=');");
-    strcpy(JOBS[5],"C=A+B;disp(C);"); /* C = 12 */
-
-       code = SendScilabJobs(JOBS, SizeJOBS);
-
-       if (code)
-       {
-               char lastjob[4096]; // bsiz in scilab 4096 max
-               if (GetLastJob(lastjob, 4096))
-               {
-                       printf("Error %s\n", lastjob);
-               }
-       }
-
-       for (i = 0; i < SizeJOBS; i++)
-       {
-               if (JOBS[i]) {free(JOBS[i]); JOBS[i] = NULL;}
-       }
-       return 1;
+    int code = 0;
+
+    char **JOBS = NULL;
+    const int SizeJOBS = 6;
+    int i = 0;
+
+    JOBS = (char**)malloc(sizeof(char**) * SizeJOBS);
+
+    for (i = 0; i < SizeJOBS; i++)
+    {
+        JOBS[i] = (char*)malloc(sizeof(char*) * 1024);
+    }
+
+    strcpy(JOBS[0], "A=1 ..");
+    strcpy(JOBS[1], "+3;");
+    strcpy(JOBS[2], "B = 8;");
+    strcpy(JOBS[3], "+3;");
+    strcpy(JOBS[4], "disp('C=');");
+    strcpy(JOBS[5], "C=A+B;disp(C);"); /* C = 12 */
+
+    code = SendScilabJobs(JOBS, SizeJOBS);
+
+    if (code)
+    {
+        char lastjob[4096]; // bsiz in scilab 4096 max
+        if (GetLastJob(lastjob, 4096))
+        {
+            printf("Error %s\n", lastjob);
+        }
+    }
+
+    for (i = 0; i < SizeJOBS; i++)
+    {
+        if (JOBS[i])
+        {
+            free(JOBS[i]);
+            JOBS[i] = NULL;
+        }
+    }
+    return 1;
 }
 /*--------------------------------------------------------------------------*/
 int main(void)
 /* int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR szCmdLine, int iCmdShow) */
 {
-       if ( StartScilab(NULL, NULL, 0) == FALSE ) 
+    if ( StartScilab(NULL, NULL, 0) == FALSE )
     {
         printf("Error : StartScilab\n");
         return 0;
     }
 
-       printf("\nexample 1\n");
-       example1();
-       system("pause");
-       printf("\nexample 2\n");
-       example2();
-       system("pause");
-       printf("\nexample 3\n");
-       example3();
-       system("pause");
-       
-       if ( TerminateScilab(NULL) == FALSE ) printf("Error : TerminateScilab\n");
-       return 0;
+    printf("\nexample 1\n");
+    example1();
+    system("pause");
+    printf("\nexample 2\n");
+    example2();
+    system("pause");
+    printf("\nexample 3\n");
+    example3();
+    system("pause");
+
+    if ( TerminateScilab(NULL) == FALSE ) printf("Error : TerminateScilab\n");
+    return 0;
 }
 /*--------------------------------------------------------------------------*/
index 910262e..4311f04 100644 (file)
-#include <stdio.h> 
+#include <stdio.h>
 #include "stack-c.h"
-/*--------------------------------------------------------------------------*/ 
+/*--------------------------------------------------------------------------*/
 #ifndef SCI
-       #define SCI "SCI=../../.." 
-#endif 
+#define SCI "SCI=../../.."
+#endif
 #define TRUE 1
 #define FALSE 0
-/*--------------------------------------------------------------------------*/ 
+
+/*--------------------------------------------------------------------------*/
 /* See routines/system/call_scilab.h */
-extern int StartScilab(char *SCIpath,char *ScilabStartup,int *Stacksize);
+extern int StartScilab(char *SCIpath, char *ScilabStartup, int *Stacksize);
 extern int TerminateScilab(char *ScilabQuit);
-extern int SendScilabJob(char *job); 
-/*--------------------------------------------------------------------------*/ 
+extern int SendScilabJob(char *job);
+/*--------------------------------------------------------------------------*/
 double f(double x)
 {
-  return x*x + 1;
+    return x * x + 1;
 }
-/*--------------------------------------------------------------------------*/ 
-static int my_plot() 
+/*--------------------------------------------------------------------------*/
+static int my_plot()
 {
-  int m,n,lx,ly,i;
-  /* Scilab is called to build the abscissae vector and 
-     to allocate the ordinates */
+    int m, n, lx, ly, i;
+    /* Scilab is called to build the abscissae vector and
+       to allocate the ordinates */
 
-  SendScilabJob("x=1:0.1:10;y=x;");
-  GetMatrixptr("x", &m, &n, &lx);  
-  GetMatrixptr("y", &m, &n, &ly);  
-  /* 
-   * y(i)=f(x(i))
-   */
-  for ( i=0; i < m*n ; i++) 
-    *stk(ly+i) = f(*stk(lx+i));
-  /* 
-   * plot(x,y);
-   */
-  SendScilabJob("plot(y,x);");
+    SendScilabJob("x=1:0.1:10;y=x;");
+    GetMatrixptr("x", &m, &n, &lx);
+    GetMatrixptr("y", &m, &n, &ly);
+    /*
+     * y(i)=f(x(i))
+     */
+    for ( i = 0; i < m * n ; i++)
+        *stk(ly + i) = f(*stk(lx + i));
+    /*
+     * plot(x,y);
+     */
+    SendScilabJob("plot(y,x);");
 }
-/*--------------------------------------------------------------------------*/ 
+/*--------------------------------------------------------------------------*/
 static int my_job()
 {
-  static char job[256];
-  /* storing a matrix inside scilab */
-  static double A[]={1,2,3,4};
-  int mA=2,nA=2;
-  static double b[]={4,5};
-  int mb=2,nb=1;
-  int m,n,lp,i;
-  WriteMatrix("A", &mA, &nA, A); /* if failed make my_job return O; */
-  WriteMatrix("b", &mb, &nb, b);
+    static char job[256];
+    /* storing a matrix inside scilab */
+    static double A[] = {1, 2, 3, 4};
+    int mA = 2, nA = 2;
+    static double b[] = {4, 5};
+    int mb = 2, nb = 1;
+    int m, n, lp, i;
+    WriteMatrix("A", &mA, &nA, A); /* if failed make my_job return O; */
+    WriteMatrix("b", &mb, &nb, b);
 
-  if ( SendScilabJob("A,b,x=0\\b;") == 27) 
-    fprintf(stdout,"division by zero...\n");
-  else 
+    if ( SendScilabJob("A,b,x=0\\b;") == 27)
+        fprintf(stdout, "division by zero...\n");
+    else
     {
-      GetMatrixptr("x", &m, &n, &lp);
-      for ( i=0 ; i < m*n ; i++) 
-       fprintf(stdout,"x[%d] = %5.2f\n",i,*stk(i+lp));
+        GetMatrixptr("x", &m, &n, &lp);
+        for ( i = 0 ; i < m * n ; i++)
+            fprintf(stdout, "x[%d] = %5.2f\n", i, *stk(i + lp));
     }
 
-  if ( SendScilabJob("A,b,x=A\\b;") != 0) 
+    if ( SendScilabJob("A,b,x=A\\b;") != 0)
     {
-      fprintf(stdout,"Error occured during scilab execution\n");
+        fprintf(stdout, "Error occurred during scilab execution\n");
     }
-  else 
+    else
     {
-      GetMatrixptr("x", &m, &n, &lp);
-      for ( i=0 ; i < m*n ; i++) 
-       fprintf(stdout,"x[%d] = %5.2f\n",i,*stk(i+lp));
+        GetMatrixptr("x", &m, &n, &lp);
+        for ( i = 0 ; i < m * n ; i++)
+            fprintf(stdout, "x[%d] = %5.2f\n", i, *stk(i + lp));
     }
-} 
-/*--------------------------------------------------------------------------*/ 
+}
+/*--------------------------------------------------------------------------*/
 /* I want to integrate the previous equation */
-int my_ode_job() 
+int my_ode_job()
 {
-  double x[]={1,0,0} ; int mx=3,nx=1;
-  double time[]={0.4,4}; int mt=1,nt=2;
-  fprintf(stdout,"linking \n");
-  SendScilabJob("ilib_for_link('odeex','my_ode.c',[],'c');");
-  fprintf(stdout,"link done  \n");
-  SendScilabJob("exec('loader.sce');link('show')");
-  WriteMatrix("x", &mx, &nx, x);
-  WriteMatrix("time", &mt, &nt,time);
-  /* scilab is called to solve the ODE */
-  SendScilabJob("y=ode(x,0,time,''mon_ode''),");
+    double x[] = {1, 0, 0} ;
+    int mx = 3, nx = 1;
+    double time[] = {0.4, 4};
+    int mt = 1, nt = 2;
+    fprintf(stdout, "linking \n");
+    SendScilabJob("ilib_for_link('odeex','my_ode.c',[],'c');");
+    fprintf(stdout, "link done  \n");
+    SendScilabJob("exec('loader.sce');link('show')");
+    WriteMatrix("x", &mx, &nx, x);
+    WriteMatrix("time", &mt, &nt, time);
+    /* scilab is called to solve the ODE */
+    SendScilabJob("y=ode(x,0,time,''mon_ode''),");
 }
-/*--------------------------------------------------------------------------*/ 
+/*--------------------------------------------------------------------------*/
 #if _MSC_VER
-       int main(void)  
+int main(void)
 #else
-       int MAIN__(void) 
+int MAIN__(void)
 #endif
 {
-       if ( StartScilab(NULL,NULL,NULL) == FALSE ) printf("Error : StartScilab \n");
-  my_ode_job();
-  my_job();
-  my_plot() ;
-  cc_test();
-  if ( TerminateScilab(NULL) == FALSE ) printf("Error : TerminateScilab \n");
-  return 0;
+    if ( StartScilab(NULL, NULL, NULL) == FALSE ) printf("Error : StartScilab \n");
+    my_ode_job();
+    my_job();
+    my_plot() ;
+    cc_test();
+    if ( TerminateScilab(NULL) == FALSE ) printf("Error : TerminateScilab \n");
+    return 0;
 }
-/*--------------------------------------------------------------------------*/ 
+/*--------------------------------------------------------------------------*/
index 160f595..f274212 100644 (file)
@@ -53,7 +53,7 @@
         <term>returns</term>
         <listitem>
           <para>1 (TRUE) if the operation is successfull.</para>
-          <para>0 (FALSE) if an error during initialization occured.</para>
+          <para>0 (FALSE) if an error during initialization occurred.</para>
         </listitem>
       </varlistentry>
     </variablelist>
index f54b1db..1945e69 100644 (file)
@@ -58,7 +58,7 @@
 // A simple SendScilabJob example
 
 if (SendScilabJob("disp('unfinished quote)")!=0){ // This will fail
- printf("An error occured\n");
+ printf("An error occurred\n");
 }
 SendScilabJob("myMatrix=['sample','for the help']");
  ]]></programlisting>
index 1806f77..5d96861 100644 (file)
@@ -72,7 +72,7 @@
         <term>returns</term>
         <listitem>
           <para>1 (TRUE) if the operation is successfull.</para>
-          <para>0 (FALSE) if an error during initialization occured.</para>
+          <para>0 (FALSE) if an error during initialization occurred.</para>
         </listitem>
       </varlistentry>
     </variablelist>
index d0720ac..937ee07 100644 (file)
@@ -49,7 +49,7 @@
         <term>returns</term>
         <listitem>
           <para>1 (TRUE) if the operation is successfull.</para>
-          <para>0 (FALSE) if an error during initialization occured.</para>
+          <para>0 (FALSE) if an error during initialization occurred.</para>
         </listitem>
       </varlistentry>
     </variablelist>
index 16574e1..a416ab4 100644 (file)
@@ -132,11 +132,11 @@ extern "C" {
      * fail or not
      * @return 0 if no error. Not 0 for an error.
      */
-    int getLastErrorValue(void); 
+    int getLastErrorValue(void);
 
     /**
      * This function returns the last error message generated by Scilab
-     * It should be used to display the error which occured
+     * It should be used to display the error which occurred
      * @return the error message
      */
     char* getLastErrorMessageSingle(void);
index 5350fcf..0e0bad7 100644 (file)
@@ -25,10 +25,10 @@ msgstr "No s'ha pogut carregar el fitxer: "
 msgid "Could not write the file: "
 msgstr ""
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr ""
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
index a946c1a..c04c97d 100644 (file)
@@ -33,12 +33,12 @@ msgstr ""
 
 #
 # File: src/java/org/scilab/modules/commons/xml/XConfiguration.java, line: 81
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr ""
 
 #
 # File: src/java/org/scilab/modules/commons/xml/XConfiguration.java, line: 82
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
index 8389239..521919a 100644 (file)
@@ -25,11 +25,11 @@ msgstr "Nelze načíst soubor: "
 msgid "Could not write the file: "
 msgstr "Nelze zapisovat do souboru: "
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr "Udála se závažná chyba: nelze načíst soubor s nastavením."
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
 "Při načítání souboru s nastavením se udála chyba, zkuste načíst výchozí."
index 8ddf3c1..aff973d 100644 (file)
@@ -25,10 +25,10 @@ msgstr "Konnte Datei nicht laden: "
 msgid "Could not write the file: "
 msgstr ""
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr ""
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
index 78efa52..d701567 100644 (file)
@@ -25,10 +25,10 @@ msgstr "No se puede cargar el archivo: "
 msgid "Could not write the file: "
 msgstr ""
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr ""
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
index 9a0922f..622a68b 100644 (file)
@@ -25,10 +25,10 @@ msgstr "Impossible de charger le fichier : "
 msgid "Could not write the file: "
 msgstr ""
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr ""
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
index 738370b..76afe30 100644 (file)
@@ -25,13 +25,13 @@ msgstr "Non è stato possibile caricare il file: "
 msgid "Could not write the file: "
 msgstr "Impossibile scrivere il file: "
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr ""
 "Si è verificato un errore grave: impossibile caricare il file delle "
 "preferenze."
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
 "Si è verificato un errore caricando il file delle preferenze, prova a "
index cc47ac7..3fdaf04 100644 (file)
@@ -25,10 +25,10 @@ msgstr "ファイルを読み込めません: "
 msgid "Could not write the file: "
 msgstr "ファイルに書き込めません: "
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr "深刻なエラーが発生しました: 設定ファイルを読み込めません."
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr "設定ファイルを読み込む際にエラーが発生しました, デフォルトの設定ファイルをリロードます."
index 04e9aea..75d2ed5 100644 (file)
@@ -25,10 +25,10 @@ msgstr "Nie można załadowac pliku: "
 msgid "Could not write the file: "
 msgstr ""
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr ""
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
index a5a7d04..31b5b9f 100644 (file)
@@ -25,10 +25,10 @@ msgstr "Não conseguiu carregar o arquivo: "
 msgid "Could not write the file: "
 msgstr ""
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr ""
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
index 708decd..4257a4b 100644 (file)
@@ -25,11 +25,11 @@ msgstr "Не удаётся загрузить файл: "
 msgid "Could not write the file: "
 msgstr "Не удалось записать файл: "
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr "Произошла серьёзная ошибка: нельзя загрузить файл настроек."
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
 "Во время загрузки файла настроек произошла ошибка, попытайтесь перезагрузить "
index 024dda1..53b29ba 100644 (file)
@@ -25,11 +25,11 @@ msgstr "Не вдалося завантажити файл: "
 msgid "Could not write the file: "
 msgstr "Не вдалося виконати запис до файла: "
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr "Сталася критична помилка: не вдалося завантажити файл налаштувань."
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
 "Під час спроби завантаження файла налаштувань сталася помилка. Спробуйте "
index 0e684be..923be23 100644 (file)
@@ -25,10 +25,10 @@ msgstr "无法加载文件 "
 msgid "Could not write the file: "
 msgstr ""
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr ""
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
index bb02641..072f0de 100644 (file)
@@ -25,10 +25,10 @@ msgstr "無法讀取檔案: "
 msgid "Could not write the file: "
 msgstr ""
 
-msgid "A severe error occured: cannot load the preferences file."
+msgid "A severe error occurred: cannot load the preferences file."
 msgstr ""
 
 msgid ""
-"An error occured when loading the preferences file, try to reload the "
+"An error occurred when loading the preferences file, try to reload the "
 "default one."
 msgstr ""
index ebbbce8..b72606d 100644 (file)
@@ -78,8 +78,8 @@ public class XConfiguration {
 
     private static final String ERROR_READ = Messages.gettext("Could not load file: ");
     private static final String ERROR_WRITE = Messages.gettext("Could not write the file: ");
-    private static final String SEVERE_ERROR = Messages.gettext("A severe error occured: cannot load the preferences file.");
-    private static final String PARSING_ERROR = Messages.gettext("An error occured when loading the preferences file, try to reload the default one.");
+    private static final String SEVERE_ERROR = Messages.gettext("A severe error occurred: cannot load the preferences file.");
+    private static final String PARSING_ERROR = Messages.gettext("An error occurred when loading the preferences file, try to reload the default one.");
 
     private static final XPathFactory xpathFactory = XPathFactory.newInstance();
     private static final Map < Class<?>, StringParser > conv = new HashMap < Class<?>, StringParser > ();
index ad0659b..db61b72 100644 (file)
@@ -41,7 +41,7 @@ namespace GiwsException {
 /**
 * Each subclass of JniExcpetion should call the super constructor
 * and the setErrorMessage function to set the message.
-* @param curEnv java envirnonment where the exception occured.
+* @param curEnv java envirnonment where the exception occurred.
 */
 JniException::JniException(JNIEnv * curEnv) throw() : exception()
 {
@@ -90,7 +90,7 @@ return m_oJavaMessage;
 }
 
 /**
-* @return Java stack trace where the exception occured.
+* @return Java stack trace where the exception occurred.
 */
 std::string JniException::getJavaStackTrace(void) const throw()
 {
@@ -152,7 +152,7 @@ return res;
   }
 
   /**
-   * @return full stack trace when the exception occured.
+   * @return full stack trace when the exception occurred.
    */
   std::string JniException::retrieveStackTrace(JNIEnv * curEnv)
   {
@@ -300,7 +300,7 @@ return res;
   */
   
   /**
-  * @param curEnv java environment where the exception occured.
+  * @param curEnv java environment where the exception occurred.
   */
   JniCallMethodException::JniCallMethodException(JNIEnv * curEnv) throw() : JniException(curEnv)
   {
@@ -334,7 +334,7 @@ setErrorMessage(errorMessage);
   JniMethodNotFoundException::~JniMethodNotFoundException(void) throw() {}
   
   /**
-   * @param curEnv java envirnonment where the exception occured.
+   * @param curEnv java envirnonment where the exception occurred.
    */
   JniObjectCreationException::JniObjectCreationException(JNIEnv * curEnv, const std::string & className) throw() : JniException(curEnv)
   {
@@ -345,7 +345,7 @@ setErrorMessage(errorMessage);
   JniObjectCreationException::~JniObjectCreationException(void) throw() {}
 
   /**
-   * @param curEnv java envirnonment where the exception occured.
+   * @param curEnv java envirnonment where the exception occurred.
    */
   JniMonitorException::JniMonitorException(JNIEnv * curEnv, const std::string & className) throw() : JniException(curEnv)
   {
index 34ea609..7100557 100644 (file)
@@ -83,7 +83,7 @@ std::string m_oErrorMessage;
 /** Java description of the exception*/
 std::string m_oJavaMessage;
 
-/** Java stackTrace when the exception occured */
+/** Java stackTrace when the exception occurred */
 std::string m_oJavaStackTrace;
 
 /** Name of the exception (ie class name).*/
@@ -99,7 +99,7 @@ public:
 /**
 * Each subclass of JniExcpetion should call the super constructor
 * and the setErrorMessage function to set the message.
-* @param curEnv java environment where the exception occured.
+* @param curEnv java environment where the exception occurred.
 */
 JniException(JNIEnv * curEnv) throw() ;
 JniException() throw() : exception() { };
@@ -124,7 +124,7 @@ virtual std::string whatStr(void) const throw();
 std::string getJavaDescription(void) const throw();
 
 /**
-* @return Java stack trace where the exception occured.
+* @return Java stack trace where the exception occurred.
 */
 std::string getJavaStackTrace(void) const throw();
 
@@ -151,7 +151,7 @@ private:
 */
 std::string retrieveExceptionMessage(JNIEnv * curEnv);
 /**
-* @return full stack trace when the exception occured.
+* @return full stack trace when the exception occurred.
 */
 std::string retrieveStackTrace(JNIEnv * curEnv);
 
@@ -195,7 +195,7 @@ class GIWSEXPORT JniCallMethodException : public JniException
 public:
 
   /**
-   * @param curEnv java envirnonment where the exception occured.
+   * @param curEnv java envirnonment where the exception occurred.
    */
   JniCallMethodException(JNIEnv * curEnv) throw();
 
@@ -244,7 +244,7 @@ class GIWSEXPORT JniObjectCreationException : public JniException
 public:
 
 /**
-* @param curEnv java envirnonment where the exception occured.
+* @param curEnv java envirnonment where the exception occurred.
 */
 JniObjectCreationException(JNIEnv * curEnv, const std::string & className) throw();
 virtual ~JniObjectCreationException(void) throw();
@@ -261,7 +261,7 @@ class GIWSEXPORT JniMonitorException : public JniException
 public:
 
 /**
-* @param curEnv java envirnonment where the exception occured.
+* @param curEnv java envirnonment where the exception occurred.
 */
 JniMonitorException(JNIEnv * curEnv, const std::string & className) throw();
 virtual ~JniMonitorException(void) throw();
index 21a4ea5..0589416 100644 (file)
@@ -22,21 +22,21 @@ import org.scilab.modules.action_binding.InterpreterManagement;
  * @author Allan CORNET
  */
 public class ClearConsoleAction extends AbstractConsoleAction {
-       private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-       /**
-        * Constructor
-        */
-       public ClearConsoleAction() {
-               super();
-       }
+    /**
+     * Constructor
+     */
+    public ClearConsoleAction() {
+        super();
+    }
 
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               InterpreterManagement.putCommandInScilabQueue("clc();");
-       }
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        InterpreterManagement.putCommandInScilabQueue("clc();");
+    }
 }
index d86e97a..fc74480 100644 (file)
@@ -30,59 +30,59 @@ import org.scilab.modules.completion.Completion;
  * @author Allan CORNET
  */
 public class CompletionAction extends AbstractConsoleAction {
-        private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-        /**
-         * Constructor
-         */
-        public CompletionAction() {
-                super();
-        }
+    /**
+     * Constructor
+     */
+    public CompletionAction() {
+        super();
+    }
 
-        /**
-         * Threats the event
-         * @param e the action event that occured
-         * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-         */
-        public void actionPerformed(ActionEvent e) {
-               int caretPosition = configuration.getInputParsingManager().getCaretPosition();
-               if (caretPosition == 0) {
-                   return;
-               }
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        int caretPosition = configuration.getInputParsingManager().getCaretPosition();
+        if (caretPosition == 0) {
+            return;
+        }
 
-                Point location = configuration.getInputParsingManager().getWindowCompletionLocation();
-                List<CompletionItem> completionItems = configuration.getCompletionManager().getCompletionItems();
-                AbstractSciCompletionWindow win = (AbstractSciCompletionWindow) configuration.getCompletionWindow();
+        Point location = configuration.getInputParsingManager().getWindowCompletionLocation();
+        List<CompletionItem> completionItems = configuration.getCompletionManager().getCompletionItems();
+        AbstractSciCompletionWindow win = (AbstractSciCompletionWindow) configuration.getCompletionWindow();
 
-                if (completionItems != null && completionItems.size() == 1) {
-                        /* Only one item returned, autoselected and appended to command line */
-                        configuration.getCompletionWindow().show(completionItems, location);
-                        win.addCompletedWord(caretPosition);
+        if (completionItems != null && completionItems.size() == 1) {
+            /* Only one item returned, autoselected and appended to command line */
+            configuration.getCompletionWindow().show(completionItems, location);
+            win.addCompletedWord(caretPosition);
 
-                        ((AbstractSciCompletionWindow) configuration.getCompletionWindow()).setVisible(false);
-                } else if (completionItems != null && completionItems.size() != 0) {
-                        String [] completionArray = new String [completionItems.size()];
+            ((AbstractSciCompletionWindow) configuration.getCompletionWindow()).setVisible(false);
+        } else if (completionItems != null && completionItems.size() != 0) {
+            String [] completionArray = new String [completionItems.size()];
 
-                        int i = 0;
-                        Iterator < CompletionItem >  it = completionItems.iterator();
-                        while  (it.hasNext()) {
-                                CompletionItem currentItem = it.next();
-                                completionArray[i] = currentItem.getReturnValue();
-                                i++;
-                        }
+            int i = 0;
+            Iterator < CompletionItem >  it = completionItems.iterator();
+            while  (it.hasNext()) {
+                CompletionItem currentItem = it.next();
+                completionArray[i] = currentItem.getReturnValue();
+                i++;
+            }
 
-                        java.util.Arrays.sort(completionArray);
-                        String commonPartOfWord = Completion.getCommonPart(completionArray, completionItems.size());
+            java.util.Arrays.sort(completionArray);
+            String commonPartOfWord = Completion.getCommonPart(completionArray, completionItems.size());
 
-                        caretPosition = configuration.getInputParsingManager().getCaretPosition();
-                        String currentLine = configuration.getInputParsingManager().getCommandLine();
+            caretPosition = configuration.getInputParsingManager().getCaretPosition();
+            String currentLine = configuration.getInputParsingManager().getCommandLine();
 
-                        if ((commonPartOfWord.length() != 0) && (caretPosition == currentLine.length())) {
-                                if (configuration.getInputParsingManager().getPartLevel(0).length() != 0) {
-                                    win.addCompletedWord(commonPartOfWord, caretPosition);
-                                }
-                        }
-                        configuration.getCompletionWindow().show(completionItems, location);
+            if ((commonPartOfWord.length() != 0) && (caretPosition == currentLine.length())) {
+                if (configuration.getInputParsingManager().getPartLevel(0).length() != 0) {
+                    win.addCompletedWord(commonPartOfWord, caretPosition);
                 }
+            }
+            configuration.getCompletionWindow().show(completionItems, location);
         }
+    }
 }
index 17620bf..4395b6d 100644 (file)
@@ -22,32 +22,32 @@ import org.scilab.modules.action_binding.InterpreterManagement;
  * @author Allan CORNET
  */
 public class ConsoleboxAction extends AbstractConsoleAction {
-       private static final long serialVersionUID = 1L;
-       private static final String OSNAME = System.getProperty("os.name").toLowerCase();
+    private static final long serialVersionUID = 1L;
+    private static final String OSNAME = System.getProperty("os.name").toLowerCase();
 
-       /**
-        * Constructor
-        */
-       public ConsoleboxAction() {
-               super();
-       }
-       
-       /**
-        * check if Windows
-        * @return true if windows
-        */
-       private static boolean isWindows() {
-               return OSNAME.indexOf("windows") != -1;
-       }
-       
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               if (isWindows()) {
-                       InterpreterManagement.putCommandInScilabQueue("consolebox('toggle');");
-               }
-       }
+    /**
+     * Constructor
+     */
+    public ConsoleboxAction() {
+        super();
+    }
+
+    /**
+     * check if Windows
+     * @return true if windows
+     */
+    private static boolean isWindows() {
+        return OSNAME.indexOf("windows") != -1;
+    }
+
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        if (isWindows()) {
+            InterpreterManagement.putCommandInScilabQueue("consolebox('toggle');");
+        }
+    }
 }
index d8b284d..f0d822f 100644 (file)
@@ -25,29 +25,29 @@ import com.artenum.rosetta.core.action.AbstractConsoleAction;
  */
 public class DelEndOfLineAction extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Constructor
-        */
-       public DelEndOfLineAction() {
-               super();
-       }
-
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               int currentPosition = configuration.getInputCommandView().getCaretPosition();
-               int textLength = configuration.getInputCommandViewStyledDocument().getLength();
-
-               try {
-                       configuration.getInputCommandViewStyledDocument().remove(currentPosition, textLength - currentPosition);
-               } catch (BadLocationException e1) {
-                       e1.printStackTrace();
-               }
-       }
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Constructor
+     */
+    public DelEndOfLineAction() {
+        super();
+    }
+
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        int currentPosition = configuration.getInputCommandView().getCaretPosition();
+        int textLength = configuration.getInputCommandViewStyledDocument().getLength();
+
+        try {
+            configuration.getInputCommandViewStyledDocument().remove(currentPosition, textLength - currentPosition);
+        } catch (BadLocationException e1) {
+            e1.printStackTrace();
+        }
+    }
 
 }
index b7b33d8..0761d6e 100644 (file)
@@ -23,40 +23,40 @@ import com.artenum.rosetta.core.action.AbstractConsoleAction;
  */
 public class DelLastWordAction extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Constructor
-        */
-       public DelLastWordAction() {
-               super();
-       }
-
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               int currentPosition = configuration.getInputCommandView().getCaretPosition();
-               String currentText = configuration.getInputCommandView().getText();
-
-               /* Delete traillings spaces */
-               while (currentText.length() > 0 && currentText.charAt(currentText.length() - 1) == ' ') {
-                       currentText = currentText.substring(0, currentText.length() - 2);
-               }
-
-               /* Delete last word */
-               currentText = currentText.substring(0, currentText.lastIndexOf(' ') + 1);
-
-               configuration.getInputCommandView().setText(currentText);
-
-               /* Sets new caret position */
-               if (currentPosition <= currentText.length()) {
-                       configuration.getInputCommandView().setCaretPosition(currentPosition);
-               } else {
-                       configuration.getInputCommandView().setCaretPosition(currentText.length());
-               }
-       }
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Constructor
+     */
+    public DelLastWordAction() {
+        super();
+    }
+
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        int currentPosition = configuration.getInputCommandView().getCaretPosition();
+        String currentText = configuration.getInputCommandView().getText();
+
+        /* Delete traillings spaces */
+        while (currentText.length() > 0 && currentText.charAt(currentText.length() - 1) == ' ') {
+            currentText = currentText.substring(0, currentText.length() - 2);
+        }
+
+        /* Delete last word */
+        currentText = currentText.substring(0, currentText.lastIndexOf(' ') + 1);
+
+        configuration.getInputCommandView().setText(currentText);
+
+        /* Sets new caret position */
+        if (currentPosition <= currentText.length()) {
+            configuration.getInputCommandView().setCaretPosition(currentPosition);
+        } else {
+            configuration.getInputCommandView().setCaretPosition(currentText.length());
+        }
+    }
 
 }
index ef3ec2c..dda2b57 100644 (file)
@@ -25,30 +25,30 @@ import com.artenum.rosetta.core.action.AbstractConsoleAction;
  */
 public class DelNextCharAction extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Constructor
-        */
-       public DelNextCharAction() {
-               super();
-       }
-
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               int currentPosition = configuration.getInputCommandView().getCaretPosition();
-
-               /* Do not try to remove an non-existing item */
-               if (currentPosition < configuration.getInputCommandViewStyledDocument().getLength()) {
-                       try {
-                               configuration.getInputCommandViewStyledDocument().remove(currentPosition, 1);
-                       } catch (BadLocationException e1) {
-                               e1.printStackTrace();
-                       }
-               }
-       }
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Constructor
+     */
+    public DelNextCharAction() {
+        super();
+    }
+
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        int currentPosition = configuration.getInputCommandView().getCaretPosition();
+
+        /* Do not try to remove an non-existing item */
+        if (currentPosition < configuration.getInputCommandViewStyledDocument().getLength()) {
+            try {
+                configuration.getInputCommandViewStyledDocument().remove(currentPosition, 1);
+            } catch (BadLocationException e1) {
+                e1.printStackTrace();
+            }
+        }
+    }
 }
index 8dd917b..562259b 100644 (file)
@@ -23,23 +23,23 @@ import com.artenum.rosetta.core.action.AbstractConsoleAction;
  */
 public class DelPreviousCharAction extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-       /**
-        * Constructor
-        */
-       public DelPreviousCharAction() {
-               super();
-       }
+    /**
+     * Constructor
+     */
+    public DelPreviousCharAction() {
+        super();
+    }
 
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
 
-               configuration.getInputCommandView().backspace();
+        configuration.getInputCommandView().backspace();
 
-       }
+    }
 }
index fe959e5..63c6bd5 100644 (file)
@@ -23,22 +23,22 @@ import com.artenum.rosetta.core.action.AbstractConsoleAction;
  */
 public class DelWholeLineAction extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Constructor
-        */
-       public DelWholeLineAction() {
-               super();
-       }
-
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               configuration.getInputCommandView().reset();
-       }
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Constructor
+     */
+    public DelWholeLineAction() {
+        super();
+    }
+
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        configuration.getInputCommandView().reset();
+    }
 
 }
index 2ec23b3..20836ec 100644 (file)
@@ -22,21 +22,21 @@ import org.scilab.modules.action_binding.InterpreterManagement;
  * @author Allan CORNET
  */
 public class HelpAction extends AbstractConsoleAction {
-       private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-       /**
-        * Constructor
-        */
-       public HelpAction() {
-               super();
-       }
+    /**
+     * Constructor
+     */
+    public HelpAction() {
+        super();
+    }
 
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               InterpreterManagement.putCommandInScilabQueue("help();");
-       }
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        InterpreterManagement.putCommandInScilabQueue("help();");
+    }
 }
index 73210c5..01a28ce 100644 (file)
@@ -32,45 +32,45 @@ import com.artenum.rosetta.util.StringConstants;
  */
 public class InterruptScilabWorkOrCopy extends AbstractConsoleAction {
 
-        private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-        /**
-         * Constructor
-         */
-        public InterruptScilabWorkOrCopy() {
-                super();
+    /**
+     * Constructor
+     */
+    public InterruptScilabWorkOrCopy() {
+        super();
 
-        }
+    }
 
-        /**
-         * Threats the event
-         * @param e the action event that occured
-         * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-         */
-        public void actionPerformed(ActionEvent e) {
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
 
-                if (((JTextPane) configuration.getInputCommandView()).getSelectedText() != null) {
-                        /* Text selected in the input --> Copy */
-                        StringSelection strSelected = new StringSelection(((JTextPane) configuration.getInputCommandView()).getSelectedText());
-                        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(strSelected, null);
-                } else if (((JEditorPane) configuration.getOutputView()).getSelectedText() != null) {
-                        /* Text selected in the output --> Copy */
-                        StringSelection strSelected = new StringSelection(((JEditorPane) configuration.getOutputView()).getSelectedText());
-                        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(strSelected, null);
-                } else {
-                        /* Interrupt Scilab */
-                        InterpreterManagement.interruptScilab();
+        if (((JTextPane) configuration.getInputCommandView()).getSelectedText() != null) {
+            /* Text selected in the input --> Copy */
+            StringSelection strSelected = new StringSelection(((JTextPane) configuration.getInputCommandView()).getSelectedText());
+            Toolkit.getDefaultToolkit().getSystemClipboard().setContents(strSelected, null);
+        } else if (((JEditorPane) configuration.getOutputView()).getSelectedText() != null) {
+            /* Text selected in the output --> Copy */
+            StringSelection strSelected = new StringSelection(((JEditorPane) configuration.getOutputView()).getSelectedText());
+            Toolkit.getDefaultToolkit().getSystemClipboard().setContents(strSelected, null);
+        } else {
+            /* Interrupt Scilab */
+            InterpreterManagement.interruptScilab();
 
-                        // If Scilab is on prompt, then emulate a user entry
-                        if (((JPanel) configuration.getPromptView()).isVisible()) {
-                                configuration.getOutputView().append(StringConstants.NEW_LINE);
-                                configuration.getOutputView().append(configuration.getPromptView().getDefaultPrompt());
-                                configuration.getOutputView().append(configuration.getInputParsingManager().getCommandLine());
-                                configuration.getOutputView().append(StringConstants.NEW_LINE);
-                                ((SciOutputView) configuration.getOutputView()).getConsole().sendCommandsToScilab("", false, false);
-                                configuration.getInputParsingManager().reset();
-                        }
-                }
+            // If Scilab is on prompt, then emulate a user entry
+            if (((JPanel) configuration.getPromptView()).isVisible()) {
+                configuration.getOutputView().append(StringConstants.NEW_LINE);
+                configuration.getOutputView().append(configuration.getPromptView().getDefaultPrompt());
+                configuration.getOutputView().append(configuration.getInputParsingManager().getCommandLine());
+                configuration.getOutputView().append(StringConstants.NEW_LINE);
+                ((SciOutputView) configuration.getOutputView()).getConsole().sendCommandsToScilab("", false, false);
+                configuration.getInputParsingManager().reset();
+            }
         }
+    }
 
 }
index 5c49dd1..6bb5328 100644 (file)
@@ -33,48 +33,48 @@ import com.artenum.rosetta.util.StringConstants;
  */
 public class InterruptScilabWorkOrCut extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-       /**
-        * Constructor
-        */
-       public InterruptScilabWorkOrCut() {
-               super();
+    /**
+     * Constructor
+     */
+    public InterruptScilabWorkOrCut() {
+        super();
 
-       }
+    }
 
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
 
-               if (((JTextPane) configuration.getInputCommandView()).getSelectedText() != null) {
-                       /* Text selected in the input --> Copy */
-                       StringSelection strSelected = new StringSelection(((JTextPane) configuration.getInputCommandView()).getSelectedText());
-                       Toolkit.getDefaultToolkit().getSystemClipboard().setContents(strSelected, null);
-                       JTextPane input = (JTextPane) configuration.getInputCommandView();
-                       StyledDocument doc = input.getStyledDocument();
-                       try {
-                               doc.remove(input.getSelectionStart(), input.getSelectionEnd() - input.getSelectionStart());
-                       } catch (BadLocationException e1) {
-                               e1.printStackTrace();
-                       }
-               } else {
-                       /* Interrupt Scilab */
-                       InterpreterManagement.interruptScilab();
+        if (((JTextPane) configuration.getInputCommandView()).getSelectedText() != null) {
+            /* Text selected in the input --> Copy */
+            StringSelection strSelected = new StringSelection(((JTextPane) configuration.getInputCommandView()).getSelectedText());
+            Toolkit.getDefaultToolkit().getSystemClipboard().setContents(strSelected, null);
+            JTextPane input = (JTextPane) configuration.getInputCommandView();
+            StyledDocument doc = input.getStyledDocument();
+            try {
+                doc.remove(input.getSelectionStart(), input.getSelectionEnd() - input.getSelectionStart());
+            } catch (BadLocationException e1) {
+                e1.printStackTrace();
+            }
+        } else {
+            /* Interrupt Scilab */
+            InterpreterManagement.interruptScilab();
 
-                       // If Scilab is on prompt, then emulate a user entry
-                       if (((JPanel) configuration.getPromptView()).isVisible()) {
-                               configuration.getOutputView().append(StringConstants.NEW_LINE);
-                               configuration.getOutputView().append(configuration.getPromptView().getDefaultPrompt());
-                               configuration.getOutputView().append(configuration.getInputParsingManager().getCommandLine());
-                               configuration.getOutputView().append(StringConstants.NEW_LINE);
-                               ((SciOutputView) configuration.getOutputView()).getConsole().sendCommandsToScilab("", false, false);
-                               configuration.getInputParsingManager().reset();
-                       }
-               }
-       }
+            // If Scilab is on prompt, then emulate a user entry
+            if (((JPanel) configuration.getPromptView()).isVisible()) {
+                configuration.getOutputView().append(StringConstants.NEW_LINE);
+                configuration.getOutputView().append(configuration.getPromptView().getDefaultPrompt());
+                configuration.getOutputView().append(configuration.getInputParsingManager().getCommandLine());
+                configuration.getOutputView().append(StringConstants.NEW_LINE);
+                ((SciOutputView) configuration.getOutputView()).getConsole().sendCommandsToScilab("", false, false);
+                configuration.getInputParsingManager().reset();
+            }
+        }
+    }
 
 }
index cd49fd5..054b813 100644 (file)
@@ -23,22 +23,22 @@ import com.artenum.rosetta.core.action.AbstractConsoleAction;
  */
 public class LineBeginningAction extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Constructor
-        */
-       public LineBeginningAction() {
-               super();
-       }
-
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               configuration.getInputCommandView().setCaretPositionToBeginning();
-       }
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Constructor
+     */
+    public LineBeginningAction() {
+        super();
+    }
+
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        configuration.getInputCommandView().setCaretPositionToBeginning();
+    }
 
 }
index a602f5c..7e5c2c7 100644 (file)
@@ -23,22 +23,22 @@ import com.artenum.rosetta.core.action.AbstractConsoleAction;
  */
 public class LineEndAction extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Constructor
-        */
-       public LineEndAction() {
-               super();
-       }
-
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               configuration.getInputCommandView().setCaretPositionToEnd();
-       }
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Constructor
+     */
+    public LineEndAction() {
+        super();
+    }
+
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        configuration.getInputCommandView().setCaretPositionToEnd();
+    }
 
 }
index e763c11..fbd4d05 100644 (file)
@@ -23,27 +23,27 @@ import com.artenum.rosetta.core.action.AbstractConsoleAction;
  */
 public class NextCharAction extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Constructor
-        */
-       public NextCharAction() {
-               super();
-       }
-
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               int currentPosition = configuration.getInputCommandView().getCaretPosition();
-
-               /* Current position is not changed if already at the end of the line */
-               if (currentPosition < configuration.getInputCommandViewStyledDocument().getLength()) {
-                       configuration.getInputCommandView().setCaretPosition(currentPosition + 1);
-               }
-       }
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Constructor
+     */
+    public NextCharAction() {
+        super();
+    }
+
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        int currentPosition = configuration.getInputCommandView().getCaretPosition();
+
+        /* Current position is not changed if already at the end of the line */
+        if (currentPosition < configuration.getInputCommandViewStyledDocument().getLength()) {
+            configuration.getInputCommandView().setCaretPosition(currentPosition + 1);
+        }
+    }
 
 }
index 1e29742..1cc825e 100644 (file)
@@ -37,7 +37,7 @@ public class PageDownAction extends AbstractConsoleAction {
 
     /**
      * Threats the event
-     * @param e the action event that occured
+     * @param e the action event that occurred
      * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
      */
     public void actionPerformed(ActionEvent e) {
index 5abbe4c..e2d0ec7 100644 (file)
@@ -37,7 +37,7 @@ public class PageUpAction extends AbstractConsoleAction {
 
     /**
      * Threats the event
-     * @param e the action event that occured
+     * @param e the action event that occurred
      * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
      */
     public void actionPerformed(ActionEvent e) {
index a469eba..f06bf5f 100644 (file)
@@ -29,51 +29,51 @@ import com.artenum.rosetta.core.action.AbstractConsoleAction;
  */
 public class PasteClipboard extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-       /**
-        * Constructor
-        */
-       public PasteClipboard() {
-               super();
-       }
+    /**
+     * Constructor
+     */
+    public PasteClipboard() {
+        super();
+    }
 
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               // Gets the contents of the clipboard
-               Toolkit toolkit = Toolkit.getDefaultToolkit();
-               Clipboard systemClipboard = toolkit.getSystemClipboard();
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        // Gets the contents of the clipboard
+        Toolkit toolkit = Toolkit.getDefaultToolkit();
+        Clipboard systemClipboard = toolkit.getSystemClipboard();
 
-               // Verify that clibpboard data is of text type
-               boolean dataAvailable;
-               try {
-                       dataAvailable = systemClipboard.isDataFlavorAvailable(DataFlavor.stringFlavor);
-               } catch (IllegalStateException exception) {
-                       return;
-               }
+        // Verify that clibpboard data is of text type
+        boolean dataAvailable;
+        try {
+            dataAvailable = systemClipboard.isDataFlavorAvailable(DataFlavor.stringFlavor);
+        } catch (IllegalStateException exception) {
+            return;
+        }
 
-               // Exit if text data not available
-               if (!dataAvailable) {
-                       return;
-               }
+        // Exit if text data not available
+        if (!dataAvailable) {
+            return;
+        }
 
-               // Read data
-               String clipboardContents = null;
-               try {
-                       clipboardContents = (String) systemClipboard.getData(DataFlavor.stringFlavor);
-               } catch (UnsupportedFlavorException e1) {
-                       // Should never be here
-                       e1.printStackTrace();
-               } catch (IOException e1) {
-                       // Should never be here
-                       e1.printStackTrace();
-               }
+        // Read data
+        String clipboardContents = null;
+        try {
+            clipboardContents = (String) systemClipboard.getData(DataFlavor.stringFlavor);
+        } catch (UnsupportedFlavorException e1) {
+            // Should never be here
+            e1.printStackTrace();
+        } catch (IOException e1) {
+            // Should never be here
+            e1.printStackTrace();
+        }
 
-               // Send data to Scilab Console
-               ((SciOutputView) configuration.getOutputView()).getConsole().sendCommandsToScilab(clipboardContents, true, true);
-       }
+        // Send data to Scilab Console
+        ((SciOutputView) configuration.getOutputView()).getConsole().sendCommandsToScilab(clipboardContents, true, true);
+    }
 }
index 7c104aa..d7f421c 100644 (file)
@@ -23,26 +23,26 @@ import com.artenum.rosetta.core.action.AbstractConsoleAction;
  */
 public class PreviousCharAction extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Constructor
-        */
-       public PreviousCharAction() {
-               super();
-       }
-
-       /**
-        * Threats the event
-        * @param e the action event that occured
-        * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               int currentPosition = configuration.getInputCommandView().getCaretPosition();
-               /* Current position is not changed if already at the beginning of the line */
-               if (currentPosition > 0) {
-                       configuration.getInputCommandView().setCaretPosition(currentPosition - 1);
-               }
-       }
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Constructor
+     */
+    public PreviousCharAction() {
+        super();
+    }
+
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        int currentPosition = configuration.getInputCommandView().getCaretPosition();
+        /* Current position is not changed if already at the beginning of the line */
+        if (currentPosition > 0) {
+            configuration.getInputCommandView().setCaretPosition(currentPosition - 1);
+        }
+    }
 
 }
index 8fff5a2..01b5f06 100644 (file)
@@ -22,29 +22,29 @@ import com.artenum.rosetta.core.action.AbstractConsoleAction;
  * @author Allan CORNET
  */
 public class SelectAllAction extends AbstractConsoleAction {
-        private static final long serialVersionUID = 1L;
-
-        /**
-         * Constructor
-         */
-        public SelectAllAction() {
-                super();
-        }
-
-        /**
-         * Threats the event
-         * @param e the action event that occured
-         * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-         */
-        public void actionPerformed(ActionEvent e) {
-                JEditorPane outputPane = (JEditorPane) configuration.getOutputView();
-                JTextPane inputPane = (JTextPane) configuration.getInputCommandView();
-
-                outputPane.setSelectionStart(0);
-                outputPane.setSelectionEnd(outputPane.getText().length());
-
-                inputPane.setSelectionStart(0);
-                inputPane.setSelectionEnd(inputPane.getText().length());
-
-        }
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Constructor
+     */
+    public SelectAllAction() {
+        super();
+    }
+
+    /**
+     * Threats the event
+     * @param e the action event that occurred
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        JEditorPane outputPane = (JEditorPane) configuration.getOutputView();
+        JTextPane inputPane = (JTextPane) configuration.getInputCommandView();
+
+        outputPane.setSelectionStart(0);
+        outputPane.setSelectionEnd(outputPane.getText().length());
+
+        inputPane.setSelectionStart(0);
+        inputPane.setSelectionEnd(inputPane.getText().length());
+
+    }
 }
index 938048a..d2a793b 100644 (file)
@@ -30,59 +30,59 @@ import com.artenum.rosetta.util.StringConstants;
  */
 public class ValidationAction extends AbstractConsoleAction {
 
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Constructor
-        */
-       public ValidationAction() {
-               super();
-       }
-
-       /**
-        * Execute a command received
-        * @param e the event to threat
-        */
-       public synchronized void actionPerformed(ActionEvent e) {
-               
-               /* If occured during a "more" message */
-               if (!((JTextPane) configuration.getInputCommandView()).isEditable()) {
-                       return;
-               }
-               
-               // Init
-               InputParsingManager inputParsingManager = configuration.getInputParsingManager();
-               PromptView promptView = configuration.getPromptView();
-               String cmdToExecute = null;
-               String histEntry = null;
-
-               // Do the job
-               if (inputParsingManager.isBlockEditing()) {
-                       // Create new line
-                       inputParsingManager.append(StringConstants.NEW_LINE);
-                       promptView.updatePrompt();
-               } else {
-
-                       // Command to execute
-                       cmdToExecute = inputParsingManager.getCommandLine();
-
-                       // Special case: line begins with a !
-                       if ((cmdToExecute.length() > 0) && (cmdToExecute.charAt(0) == '!')) {
-                               // Cast HistoryManager to SciHistoryManager
-                               // because searchBackward will not to be implemented in all not-generic console
-                               ((SciHistoryManager) configuration.getHistoryManager()).setTmpEntry(cmdToExecute.substring(1));
-                               histEntry = ((SciHistoryManager) configuration.getHistoryManager()).getPreviousEntry(cmdToExecute.substring(1));
-                               if (histEntry != null) {
-                                       configuration.getInputCommandView().reset();
-                                       configuration.getInputCommandView().append(histEntry);
-                               }
-                               return;
-                       }
-
-                       // Send data to Scilab (Commands print in output view is done in sendCommandsToScilab since bug 2510 fix)
-                       ((SciOutputView) configuration.getOutputView()).getConsole().sendCommandsToScilab(cmdToExecute, true, true);
-
-               }
-
-       }
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Constructor
+     */
+    public ValidationAction() {
+        super();
+    }
+
+    /**
+     * Execute a command received
+     * @param e the event to threat
+     */
+    public synchronized void actionPerformed(ActionEvent e) {
+
+        /* If occurred during a "more" message */
+        if (!((JTextPane) configuration.getInputCommandView()).isEditable()) {
+            return;
+        }
+
+        // Init
+        InputParsingManager inputParsingManager = configuration.getInputParsingManager();
+        PromptView promptView = configuration.getPromptView();
+        String cmdToExecute = null;
+        String histEntry = null;
+
+        // Do the job
+        if (inputParsingManager.isBlockEditing()) {
+            // Create new line
+            inputParsingManager.append(StringConstants.NEW_LINE);
+            promptView.updatePrompt();
+        } else {
+
+            // Command to execute
+            cmdToExecute = inputParsingManager.getCommandLine();
+
+            // Special case: line begins with a !
+            if ((cmdToExecute.length() > 0) && (cmdToExecute.charAt(0) == '!')) {
+                // Cast HistoryManager to SciHistoryManager
+                // because searchBackward will not to be implemented in all not-generic console
+                ((SciHistoryManager) configuration.getHistoryManager()).setTmpEntry(cmdToExecute.substring(1));
+                histEntry = ((SciHistoryManager) configuration.getHistoryManager()).getPreviousEntry(cmdToExecute.substring(1));
+                if (histEntry != null) {
+                    configuration.getInputCommandView().reset();
+                    configuration.getInputCommandView().append(histEntry);
+                }
+                return;
+            }
+
+            // Send data to Scilab (Commands print in output view is done in sendCommandsToScilab since bug 2510 fix)
+            ((SciOutputView) configuration.getOutputView()).getConsole().sendCommandsToScilab(cmdToExecute, true, true);
+
+        }
+
+    }
 }
index 94337ea..aeb04af 100644 (file)
@@ -59,7 +59,7 @@
         <term>"continue"</term>
         <listitem>
           <para>next instruction in the function or exec files is executed,
-            current instruction is ignored. It is possible to check if an error has occured
+            current instruction is ignored. It is possible to check if an error has occurred
             using the <link linkend="iserror">iserror</link> function. Do not forget to clear the  
             error using the <link linkend="errclear">errclear</link> function as soon as possible.  
             This option is useful for error recovery. In many cases, usage of 
index 671212c..f88db9f 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * Scilab (http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2006 - INRIA - Jean-Baptiste SILVY
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 
 /**
  * create an empty matrix in the scilab stack in order to see it in the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnEmptyMatrix(void* _pvCtx) ;
 
 /**
  * copy the string value in the scilab stack in order to see it the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnString(void* _pvCtx, const char * value ) ;
 
 /**
  * copy a char value into a scilab string in order to see it the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnChar(void* _pvCtx, char value ) ;
 
 /**
  * copy a single double in the scilab stack in order to see it the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnDouble(void* _pvCtx, double value ) ;
 
 /**
  * copy a single int in the scilab stack in order to see it the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnInt(void* _pvCtx, int value ) ;
 
 /**
  * copy a double array into a row vector in the scilab stack in order to see it the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnRowVector(void* _pvCtx, const double values[], int nbValues ) ;
 
 /**
 * copy a int array into a row vector (of double) in the scilab stack
 * in order to see it the console.
-* @return 0 if the function was executed correctly, -1 if an error occured.
+* @return 0 if the function was executed correctly, -1 if an error occurred.
 */
 int sciReturnRowVectorFromInt(void* _pvCtx, const int values[], int nbValues ) ;
 
 /**
  * copy an int array into an int row vector in the scilab stack
  * in order to see it the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnRowIntVector(void* _pvCtx, const int values[], int nbValues ) ;
 
 /**
  * copy a char * array into an string row vector in the scilab stack
  * in order to see it the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnRowStringVector(void* _pvCtx, char * values[], int nbValues ) ;
 
 /**
  * copy a handle in the scilab stack in order to see it the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnHandle(void* _pvCtx, long handle ) ;
 
 /**
  * copy an handle array into a row vector in the scilab stack in order to see it the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnRowHandleVector(void* _pvCtx, const long handles[], int nbValues ) ;
 
 /**
 * copy an handle array into a col vector in the scilab stack in order to see it the console.
-* @return 0 if the function was executed correctly, -1 if an error occured.
+* @return 0 if the function was executed correctly, -1 if an error occurred.
 */
 int sciReturnColHandleVector(void* _pvCtx, const long handles[], int nbValues ) ;
 
 /**
  * copy a matrix stored has a double array
  * into a Scilab matrix in the stack in order to see it the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnMatrix(void* _pvCtx, double values[], int nbRow, int nbCol ) ;
 
 /**
  * copy a matrix stored has a char * array
  * into a Scilab string matrix in the stack in order to see it the console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnStringMatrix(void* _pvCtx, char * values[], int nbRow, int nbCol ) ;
 
 /**
  * return user data in the scilab console.
- * @return 0 if the function was executed correctly, -1 if an error occured.
+ * @return 0 if the function was executed correctly, -1 if an error occurred.
  */
 int sciReturnUserData(void* _pvCtx, const int * userData, int userDataSize ) ;
 
index d90d807..88f89fd 100644 (file)
@@ -48,1420 +48,1825 @@ extern int C2F(clause)(void);
 extern int C2F(fact)(void);
 extern int C2F(expr)(void);
 extern int C2F(terme)(void);
-extern int C2F(stackp)(int *,int *);
+extern int C2F(stackp)(int *, int *);
 extern int C2F(macro)(void);
 extern int C2F(getsym)(void);
 
-extern int C2F(bexec)(char *,int *,int *);
+extern int C2F(bexec)(char *, int *, int *);
 
 extern int C2F(findequal)(int *);
-extern int C2F(print)(int *,int *,int *);
+extern int C2F(print)(int *, int *, int *);
 extern int C2F(createref1)(int *);
-extern int C2F(command)(int *,int *);
-extern int C2F(getlin)(int *,int *);
+extern int C2F(command)(int *, int *);
+extern int C2F(getlin)(int *, int *);
 extern int C2F(mrknmd)(void);
-extern int C2F(mkindx)(int *,int *);
-extern int C2F(whatln)(int *,int *, int *,int *,int *,int *);
-extern int C2F(prompt)(int *,int *);
+extern int C2F(mkindx)(int *, int *);
+extern int C2F(whatln)(int *, int *, int *, int *, int *, int *);
+extern int C2F(prompt)(int *, int *);
 extern int C2F(seteol)(void);
 extern int C2F(run)(void);
 extern int C2F(name2var)(int *);
-extern int C2F(compil)(int *,int *,int *,int *,int *);
-extern int C2F(ptover)(int *,int *); /* see src/fortran/ptover.f */
-extern int C2F(eptover)(int *,int *);/* see src/fortran/eptover.f */
+extern int C2F(compil)(int *, int *, int *, int *, int *);
+extern int C2F(ptover)(int *, int *); /* see src/fortran/ptover.f */
+extern int C2F(eptover)(int *, int *); /* see src/fortran/eptover.f */
 /*--------------------------------------------------------------------------*/
 void handle_onprompt(int *n);
 /*--------------------------------------------------------------------------*/
-static int Compil(int code,int * val1,int val2,int val3,int val4)
+static int Compil(int code, int * val1, int val2, int val3, int val4)
 {
-  return C2F(compil)(&code, val1, &val2, &val3, &val4);
+    return C2F(compil)(&code, val1, &val2, &val3, &val4);
 }
 /*--------------------------------------------------------------------------*/
 int Eptover(int n)
 {
-  int c;
-  return C2F(eptover)(&n,(c=psiz,&c));
+    int c;
+    return C2F(eptover)(&n, (c = psiz, &c));
 }
 /*--------------------------------------------------------------------------*/
 int Ptover(int n)
 {
-  int c;
-  return C2F(ptover)(&n,(c=psiz,&c));
+    int c;
+    return C2F(ptover)(&n, (c = psiz, &c));
 }
 /*--------------------------------------------------------------------------*/
 int C2F(parse)(void)
 {
-  /* Initialized data */
-  static int ans[6] = { 672929546,673720360,673720360,673720360,
-                        673720360,673720360 };
-  static int varargout[6] = { 169544223,504893467,673720349,673720360,
-                              673720360,673720360 };
-  /* static int catch[6] = {203229708,673720337,673720360,673720360, 673720360,673720360 };*/
-
-  static int *Ids     = C2F(recu).ids - nsiz - 1;
-  static int *Rstk    = C2F(recu).rstk - 1;
-  static int *Pstk    = C2F(recu).pstk - 1;
-  static int *Lstk    = C2F(vstk).lstk - 1;
-  static int *Lin     = C2F(iop).lin - 1;
-  static int *Lct     = C2F(iop).lct - 1;
-  static int *Lpt     = C2F(iop).lpt - 1;
-
-  /* System generated locals */
-  int i__2, i__3;
-
-  /* Local variables */
-  static int iesc, ndel, ifin, ibpt;
-  static int iret;
-  static int topk;
-  static int lpts, next;
-  static int ierr;
-  static int k, p, r;
-  static int imode, schar;
-  static int itime, where_;
-  static int found;
-  static int excnt;
-  static int l1;
-  static int id[6], lb, io, ir;
-  static int dotsep;
-  static int icount;
-  static int nentry, lastindpos;
-  static int job, nlc, pts;
-  static char tmp[80];
-
-  /* Used to manage space between prompts */
-  static int returnFromCallbackExec = FALSE;
-
-  /* Retrieve the current Scilab Mode */
-  /*  scilabMode sciMode=getScilabMode();*/
-
-  itime = 10000;
- L1:
-  r = 0;
-  if (Pt > 0) {
-    r = Rstk[Pt];
-  }
-  if (C2F(iop).ddt == 4) {
-    sprintf(tmp," TOP    pt:%d rstk(pt):%d icall: %d niv: %d err:%d",
-            Pt,Rstk[Pt], C2F(recu).icall, C2F(recu).niv,Err);
-    C2F(basout)(&io, &C2F(iop).wte,tmp, (long)strlen(tmp));
-  }
-
-  if (C2F(recu).icall == 5) {
+    /* Initialized data */
+    static int ans[6] = { 672929546, 673720360, 673720360, 673720360,
+                          673720360, 673720360
+                        };
+    static int varargout[6] = { 169544223, 504893467, 673720349, 673720360,
+                                673720360, 673720360
+                              };
+    /* static int catch[6] = {203229708,673720337,673720360,673720360, 673720360,673720360 };*/
+
+    static int *Ids     = C2F(recu).ids - nsiz - 1;
+    static int *Rstk    = C2F(recu).rstk - 1;
+    static int *Pstk    = C2F(recu).pstk - 1;
+    static int *Lstk    = C2F(vstk).lstk - 1;
+    static int *Lin     = C2F(iop).lin - 1;
+    static int *Lct     = C2F(iop).lct - 1;
+    static int *Lpt     = C2F(iop).lpt - 1;
+
+    /* System generated locals */
+    int i__2, i__3;
+
+    /* Local variables */
+    static int iesc, ndel, ifin, ibpt;
+    static int iret;
+    static int topk;
+    static int lpts, next;
+    static int ierr;
+    static int k, p, r;
+    static int imode, schar;
+    static int itime, where_;
+    static int found;
+    static int excnt;
+    static int l1;
+    static int id[6], lb, io, ir;
+    static int dotsep;
+    static int icount;
+    static int nentry, lastindpos;
+    static int job, nlc, pts;
+    static char tmp[80];
+
+    /* Used to manage space between prompts */
+    static int returnFromCallbackExec = FALSE;
+
+    /* Retrieve the current Scilab Mode */
+    /*  scilabMode sciMode=getScilabMode();*/
+
+    itime = 10000;
+L1:
+    r = 0;
+    if (Pt > 0)
+    {
+        r = Rstk[Pt];
+    }
+    if (C2F(iop).ddt == 4)
+    {
+        sprintf(tmp, " TOP    pt:%d rstk(pt):%d icall: %d niv: %d err:%d",
+                Pt, Rstk[Pt], C2F(recu).icall, C2F(recu).niv, Err);
+        C2F(basout)(&io, &C2F(iop).wte, tmp, (long)strlen(tmp));
+    }
+
+    if (C2F(recu).icall == 5)
+    {
+        goto L88;
+    }
+    if (Pt > 0)
+    {
+        goto L86;
+    }
+    if (Err > 0)
+    {
+        goto L98;
+    }
+    /*     initialization */
+    /* ------------------- */
+L5:
+    C2F(com).sym = eol;
+    job = 0;
+    if (C2F(iop).rio == -1)
+    {
+        job = -1;
+    }
+    Top = 0;
+    Fin = 0;
+    C2F(recu).macr = 0;
+    C2F(recu).paus = 0;
+    C2F(recu).icall = 0;
+    C2F(iop).rio = C2F(iop).rte;
+    Lct[3] = 0;
+    Lct[4] = 2;
+    Lpt[1] = 1;
+    if (job == -1)
+    {
+        goto L13;
+    }
+
+L10:
+    if (C2F(com).sym != eol)
+    {
+        goto L15;
+    }
+    if (C2F(com).comp[0] == 0)
+    {
+        goto L12;
+    }
+    if (Lin[Lpt[4] + 1] == eol)
+    {
+        goto L88;
+    }
+
+    /*     get a new line */
+    /* ------------------- */
+L12:
+    if (Lct[4] <= -10)
+    {
+        Lct[4] = -Lct[4] - 11;
+    }
+    else
+    {
+        if (Lct[4] / 2 % 2 == 1)
+        {
+            i__2 = Lct[4] / 4;
+            /* Manage space between two prompts */
+            if (!returnFromCallbackExec)
+            {
+                /* Space added only if Scilab does not return form a callback execution */
+                C2F(prompt)(&i__2, &iesc);
+            }
+            else
+            {
+                /* Reset the flag indicating a callback has just been executed */
+                returnFromCallbackExec = FALSE;
+            }
+            if (iesc == 1)
+            {
+                /* interrupted line acquisition (mode=7) */
+                iret = 3;
+                goto L96;
+            }
+            Lct[1] = 0;
+            if (C2F(recu).paus == 0 &&
+                    C2F(iop).rio == C2F(iop).rte &&
+                    C2F(recu).macr ==  0)
+            {
+                if (Pt != 0)
+                {
+                    Msgs(30, 0);
+                    Pt = 0;
+                }
+                if (Top != 0)
+                {
+                    Msgs(31, 0);
+                    Top = 0;
+                }
+            }
+        }
+    }
+L13:
+    //C2F(tksynchro)(&C2F(recu).paus);
+
+    C2F(getlin)(&job, &c__1);
+
+    ClearTemporaryPrompt();
+    //C2F(tksynchro)(&c_n1);
+
+
+    if (Fin == -3)
+    {
+        /*     interrupted line acquisition */
+        iret = 2;
+        goto L96;
+    }
+    else if (Fin == -1)
+    {
+        /*     Continuation line handling when scilab is called as a routine */
+        C2F(com).fun = 99;
+        return 0;
+    }
+    job = 0;
+    Err = 0;
+
+    if (Pt != 0)
+    {
+        goto L15;
+    }
+L14:
+    handle_onprompt(&where_);
+    if (Err > 0)
+    {
+        goto L98;
+    }
+    switch ((int)where_)
+    {
+        case 1:
+            goto L85;
+        case 2:
+            goto L88;
+    }
+    /*     Beginning of a new statement, clause expression or command */
+    /* ------------------------------------------------------------ */
+L15:
+    if (ismenu() == 1 && C2F(basbrk).interruptible)
+    {
+        iret = 1;
+        goto L96;
+    }
+
+    r = 0;
+    if (Pt > 0)
+    {
+        r = Rstk[Pt];
+    }
+    if (C2F(iop).ddt == 4)
+    {
+        sprintf(tmp, " parse  pt:%d rstk(pt):%d top: %d niv: %d err:%d",
+                Pt, r, Top, C2F(recu).niv, Err);
+        C2F(basout)(&io, &C2F(iop).wte, tmp, (long)strlen(tmp));
+    }
+
+    excnt = 0;
+    if (! C2F(basbrk).iflag || C2F(com).comp[0] != 0 )
+    {
+        goto L18;
+    }
+    /*     Handling of pauses */
+L16:
+    if (Eptover(1))
+    {
+        goto L98;
+    }
+    Pstk[Pt] = C2F(iop).rio;
+    Ids[2 + Pt * nsiz] = Top;
+    C2F(iop).rio = C2F(iop).rte;
+    Rstk[Pt] = 701;
+    C2F(basbrk).iflag = FALSE;
+    Fin = 2;
+    if (Lct[4] <= -10)
+    {
+        Fin = -1;
+        Lct[4] = -Lct[4] - 11;
+    }
+    /*     *call* macro */
     goto L88;
-  }
-  if (Pt > 0) {
-    goto L86;
-  }
-  if (Err > 0) {
-    goto L98;
-  }
-  /*     initialization */
-  /* ------------------- */
- L5:
-  C2F(com).sym = eol;
-  job = 0;
-  if (C2F(iop).rio == -1) {
-    job = -1;
-  }
-  Top = 0;
-  Fin = 0;
-  C2F(recu).macr = 0;
-  C2F(recu).paus = 0;
-  C2F(recu).icall = 0;
-  C2F(iop).rio = C2F(iop).rte;
-  Lct[3] = 0;
-  Lct[4] = 2;
-  Lpt[1] = 1;
-  if (job == -1) {
-    goto L13;
-  }
-
- L10:
-  if (C2F(com).sym != eol) {
+    /*     pauses termination */
+L17:
+    C2F(iop).rio = Pstk[Pt];
+    Top = Ids[2 + Pt * nsiz];
+    --Pt;
     goto L15;
-  }
-  if (C2F(com).comp[0] == 0) {
-    goto L12;
-  }
-  if (Lin[Lpt[4]+1] == eol) {
-    goto L88;
-  }
-
-  /*     get a new line */
-  /* ------------------- */
- L12:
-  if (Lct[4] <= -10) {
-    Lct[4] = -Lct[4] - 11;
-  } else {
-    if (Lct[4] / 2 % 2 == 1) {
-      i__2 = Lct[4] / 4;
-      /* Manage space between two prompts */
-      if (!returnFromCallbackExec)
+L18:
+    Lhs = 1;
+    excnt = 0;
+    C2F(putid)(id, ans);
+    /*     preserve current character position */
+    lpts = Lpt[4] - 1;
+    pts = Pt;
+
+    C2F(getsym)();
+    if (C2F(com).sym == right || C2F(com).sym == rparen || C2F(com).sym == less ||
+            C2F(com).sym == great)
+    {
+        SciError(1);
+        goto L98;
+    }
+    else if (C2F(com).sym == semi || C2F(com).sym == comma || C2F(com).sym == eol)
+    {
+        goto L77;
+    }
+    else if (C2F(com).sym == cmt)
+    {
+        C2F(parsecomment)();
+        goto L77;
+    }
+    else if (C2F(com).sym == name)
+    {
+        lpts = Lpt[3] - 1;
+        /* try to avoid the command call whenever it is possible */
+        if (C2F(com).char1 == equal)
+        {
+            goto L25;
+        }
+        /*         if (char1 .eq. lparen) then */
+        /*           one can get this case with "if ( ) then" */
+        /*         endif */
+        if (Lpt[4] >= 2)
+        {
+            if (Lin[Lpt[4] - 2] == blank)
+            {
+                goto L20;
+            }
+        }
+        if (C2F(com).char1 == dot)
+        {
+            /* name.x */
+            schar = C2F(com).char1;
+            goto L30;
+        }
+        goto L20;
+    }
+    else if (C2F(com).sym == left)
+    {
+        /* is there an explicit affectation */
+        lpts = Lpt[3] - 1;
+        Lpt[4] = lpts;
+        Lpt[3] = lpts;
+        C2F(com).char1 = blank;
+        C2F(findequal)(&found);
+        if (Err > 0)
+        {
+            goto L98;
+        }
+        if (found)
+        {
+            /* multiple lhs */
+            goto L40;
+        }
+        else
+        {
+            /* no ==> implicit lhs */
+            goto L50;
+        }
+    }
+    else
+    {
+        /* not lhs defined */
+        /* set ans for lhs */
+        if (Eptover(1))
+        {
+            goto L98;
+        }
+        C2F(putid)(&Ids[1 + Pt * nsiz], ans);
+        Lhs = 1;
+        Pstk[Pt] = 0;
+        /* go to rhs analysis */
+        goto L60;
+    }
+
+    /*     lhs begins with name */
+    /* ------------------------- */
+    /*     check if it is a simple command like clear,... */
+L20:
+    C2F(command)(C2F(com).syn, &c__0);
+    if (Err > 0)
+    {
+        goto L98;
+    }
+    if (Fin == 0)
+    {
+        goto L21;
+    }
+    if (C2F(com).fun == 99)
+    {
+        return 0;
+    }
+    if (C2F(com).fun != 0)
+    {
+        goto L93;
+    }
+    if (Fin < 0)
+    {
+        goto L80;
+    }
+    if (Fin == 2)
+    {
+        goto L88;
+    }
+    if (Fin == 3)
+    {
+        goto L16;
+    }
+    if (Fin == 4)
+    {
+        goto L5;
+    }
+    if (Fin > 0)
+    {
+        goto L77;
+    }
+    /*     name is not a command */
+L21:
+    Rhs = 0;
+    Fin = -5;
+    /* IL y a p avec fin=-5 (on ne trouve pas les macros parce que l'on ne */
+    /* veut pas que les macros sans arg soient vues comme des commandes */
+    /* mais pourquoi pas il suffirait de dire que pour visualiser une macro */
+    /* il faut faire disp() */
+    C2F(com).fun = 0;
+    C2F(funs)(C2F(com).syn);
+    if (Fin > 0)
+    {
+        /*        name is a builtin name */
+        if (C2F(com).char1 == equal)
+        {
+            /*           fun=expr is not allowed */
+            C2F(putid)(&Ids[1 + (Pt + 1) * nsiz], C2F(com).syn);
+            SciError(25);
+            goto L98;
+        }
+        /*        skip lhs analysis */
+        if (Eptover(1))
+        {
+            goto L98;
+        }
+        C2F(putid)(&Ids[1 + Pt * nsiz], id);
+        Lhs = 1;
+        Pstk[Pt] = 0;
+        /* go to rhs analysis */
+        goto L60;
+    }
+
+    /*     peek one character ahead */
+    if (C2F(com).char1 == semi || C2F(com).char1 == comma || C2F(com).char1 == eol)
+    {
+        C2F(putid)(id, C2F(com).syn);
+    }
+    if (C2F(com).char1 == lparen)
+    {
+        schar = C2F(com).char1;
+        goto L30;
+    }
+    /*     instruction is just "name", skip lhs analysis */
+    /*     record name as lhs */
+    if (Eptover(1))
+    {
+        goto L98;
+    }
+    C2F(putid)(&Ids[1 + Pt * nsiz], id);
+    Lhs = 1;
+    Pstk[Pt] = 0;
+    /*     go to rhs analysis */
+    goto L60;
+
+    /*     name = expr  or name == expr syntax */
+    /* ---------------------------------------- */
+L25:
+    C2F(putid)(id, C2F(com).syn);
+    lpts = Lpt[2];
+    C2F(getsym)();
+    if (C2F(com).char1 == equal)
+    {
+        /* name == expr syntax ==> implicit lhs */
+        goto L50;
+    }
+    else
+    {
+        /* lhs found */
+        /* record it */
+        if (Eptover(1))
+        {
+            goto L98;
+        }
+        C2F(putid)(&Ids[1 + Pt * nsiz], id);
+        Lhs = 1;
+        Pstk[Pt] = 0;
+        C2F(getsym)();
+        /* go to rhs analysis */
+        goto L60;
+    }
+
+    /*     lhs is name(...) or name.x... */
+    /* ----------------------------------- */
+L30:
+    Lpt[5] = Lpt[4];
+    C2F(putid)(id, C2F(com).syn);
+
+    /*     looking for equal to check if it is really an lhs */
+    C2F(findequal)(&found);
+    if (Err > 0)
+    {
+        goto L98;
+    }
+    if (! found)
+    {
+        goto L50;
+    }
+    /*     It is really a lhs (insertion syntax) */
+L32:
+    Lpt[4] = Lpt[5];
+    C2F(com).char1 = schar;
+
+    /* 35     call parseindexlist(excnt) */
+    /*     if(err.gt.0) goto 98 */
+    if (Compil(21, &c__0, 0, 0, 0))
+    {
+        if (Err > 0)
+        {
+            return 0;
+        }
+    }
+    /*     begin the index lists */
+    icount = 0;
+    C2F(getsym)();
+
+L33:
+    /*     begin a new index list (.,..) or .name */
+    ++icount;
+
+    dotsep = C2F(com).sym == dot;
+    C2F(getsym)();
+    if (dotsep)
+    {
+        /* --> new index list is .name */
+        if (C2F(com).sym != name)
+        {
+            SciError(21);
+            if (Err > 0)
+            {
+                return 0;
+            }
+        }
+
+        if (C2F(com).comp[0] != 0)
+        {
+            if (Compil(23, C2F(com).syn, 0, 0, 0))
+            {
+                if (Err > 0)
+                {
+                    return 0;
+                }
+            }
+        }
+        else
+        {
+            C2F(name2var)(C2F(com).syn);
+        }
+        C2F(getsym)();
+        /*         icount=icount+1 */
+        if (C2F(com).sym == dot)
+        {
+            goto L33;
+        }
+        dotsep = FALSE;
+        excnt = 1;
+        goto L36;
+    }
+    /*     --> new index list is (.,..) */
+L34:
+    /*     add a new index in index list (i,...) */
+    ++excnt;
+    if (Eptover(1))
+    {
+        goto L98;
+    }
+    C2F(putid)(&Ids[1 + Pt * nsiz], id);
+    Pstk[Pt] = excnt + icount * 1000;
+    Rstk[Pt] = 702;
+    /*     *call* expr */
+    goto L81;
+L35:
+    C2F(putid)(id, &Ids[1 + Pt * nsiz]);
+    icount = Pstk[Pt] / 1000;
+    excnt = Pstk[Pt] - icount * 1000;
+    --Pt;
+
+    if (C2F(com).sym == comma)
+    {
+        /* current syntax is (i,j,..) */
+        C2F(getsym)();
+        goto L34;
+    }
+
+    if (C2F(com).sym == rparen)
+    {
+        /* end of the current index list */
+        C2F(getsym)();
+    }
+    else
+    {
+        SciError(3);
+        if (Err > 0)
+        {
+            goto L98;
+        }
+    }
+
+L36:
+    if (C2F(com).sym == lparen || C2F(com).sym == dot)
+    {
+        /* begining of a a new index list */
+        /* first memorize the previous one */
+        if (excnt > 1)
+        {
+            /* previously analysed syntax is (i,j,..)( */
+            if (C2F(com).comp[0] == 0)
+            {
+                /* form  list with individual indexes i,j,.. */
+                C2F(mkindx)(&c__0, &excnt);
+                if (Err > 0)
+                {
+                    return 0;
+                }
+            }
+            else
+            {
+                if (Compil(19, &c__0, excnt, 0, 0))
+                {
+                    if (Err > 0)
+                    {
+                        return 0;
+                    }
+                }
+            }
+            excnt = 1;
+        }
+        /* open a new index list */
+        excnt = 0;
+        /*         icount=icount+1 */
+        goto L33;
+    }
+    /*     end of all the index lists */
+    if (icount > 1)
+    {
+        /* form  list with individual indexes */
+        if (C2F(com).comp[0] == 0)
+        {
+            C2F(mkindx)(&icount, &excnt);
+            if (Err > 0)
+            {
+                return 0;
+            }
+        }
+        else
+        {
+            if (Compil(19, &icount, excnt, 0, 0))
+            {
+                if (Err > 0)
+                {
+                    return 0;
+                }
+            }
+        }
+        excnt = 1;
+    }
+    /*     end of code for recursive index */
+    if (Rstk[Pt] == 711)
+    {
+        goto L42;
+    }
+
+    if (C2F(com).sym == equal)
+    {
+        /* name(...) = expr syntax */
+        /* record name as lhs */
+        if (Eptover(1))
+        {
+            goto L98;
+        }
+        C2F(putid)(&Ids[1 + Pt * nsiz], id);
+        Pstk[Pt] = excnt;
+        Lhs = 1;
+        C2F(getsym)();
+        /* go to rhs analysis */
+        goto L60;
+    }
+    else
+    {
+        /* this should never happen. this case has been detected above */
+        /* when lookin for equal sign */
+        /* name(...) syntax ==> really an rhs */
+        if (Eptover(1))
+        {
+            goto L98;
+        }
+        C2F(putid)(&Ids[1 + Pt * nsiz], ans);
+        Lhs = 1;
+        Pstk[Pt] = 0;
+        goto L60;
+    }
+
+    /*     multiple lhs [a,...]= or [a(..),..] */
+    /* ---------------------------------------- */
+L40:
+    Lpt[4] = lpts;
+    Lpt[3] = lpts;
+    C2F(com).char1 = blank;
+    Lhs = 0;
+    C2F(getsym)();
+    /*     start lhs arguments list */
+    C2F(getsym)();
+L41:
+    /*     begin analysis of a new lhs argument */
+    if (C2F(com).sym != name)
+    {
+        SciError(274);
+        goto L98;
+    }
+    if (C2F(eqid)(C2F(com).syn, varargout))
+    {
+        SciError(275);
+        goto L98;
+    }
+    C2F(putid)(id, C2F(com).syn);
+    excnt = 0;
+    next = Lin[Lpt[4] - 2];
+    if (next == blank || C2F(com).char1 == comma || C2F(com).char1 == right)
+    {
+        /* argument followed by a blank, a comma or a ] ==> it is a simple name */
+        C2F(getsym)();
+        goto L44;
+    }
+    else if (C2F(com).char1 != lparen && C2F(com).char1 != dot)
+    {
+        /* invalid lhs */
+        SciError(273);
+        goto L98;
+    }
+    /*     lhs argument is name(..) or name.xx */
+    if (Eptover(1))
+    {
+        goto L98;
+    }
+    Rstk[Pt] = 711;
+    Lpt[5] = Lpt[4];
+    schar = C2F(com).char1;
+    goto L32;
+    /*     *parse* index */
+L42:
+    --Pt;
+    goto L44;
+L44:
+    /*     record current lhs arg */
+    if (Eptover(1))
+    {
+        goto L98;
+    }
+    C2F(putid)(&Ids[1 + Pt * nsiz], id);
+    ++Lhs;
+    Pstk[Pt] = excnt;
+    Rstk[Pt] = 0;
+    /*     end analysis of a current lhs arg */
+    if (C2F(com).sym == right)
+    {
+        goto L46;
+    }
+    if (C2F(com).sym == comma)
+    {
+        C2F(getsym)();
+    }
+    /*     loop on lhs args */
+    goto L41;
+
+L46:
+    C2F(getsym)();
+    if (C2F(com).sym == equal && C2F(com).char1 != equal)
+    {
+        /*        really found a lhs go to  the rhs analysis part */
+        C2F(getsym)();
+        goto L60;
+    }
+    /*     lhs revealed to be an rhs */
+    /* ------------------------------------- */
+L50:
+    /*     no equal symbol */
+    goto L51;
+L51:
+    /*     lhs is in fact an  rhs */
+    /*     1 - reinititialise the parser at the instruction beginning */
+    Pt = pts;
+    Lpt[4] = lpts;
+    Lpt[3] = lpts;
+    C2F(com).char1 = blank;
+    /* L52: */
+    C2F(getsym)();
+    /*      if(sym.eq.comma.or.sym.eq.semi) goto 52 */
+    /*     2 - make "ans" the lhs */
+    if (Eptover(1))
+    {
+        goto L98;
+    }
+    C2F(putid)(&Ids[1 + Pt * nsiz], ans);
+    Pstk[Pt] = 0;
+    Lhs = 1;
+    /*     3 - go to the rhs analysis part */
+    goto L60;
+
+    /*     lhs finished, start rhs */
+    /* ---------------------------- */
+L60:
+    Rstk[Pt] = 703;
+    /*     *call* expr */
+    goto L81;
+L65:
+    if (Rstk[Pt - Lhs] == 313)
+    {
+        /*     store  new variable as "named" at the top of the stack */
+        if (C2F(com).sym == rparen || C2F(com).sym == comma)
+        {
+            C2F(mrknmd)();
+            if (Err > 0)
+            {
+                goto L98;
+            }
+            goto L83;
+        }
+        else
+        {
+            SciError(40);
+            goto L98;
+        }
+    }
+    if (C2F(com).sym == semi || C2F(com).sym == comma || C2F(com).sym == eol || C2F(com).sym == cmt)
+    {
+        goto L70;
+    }
+    if (Rstk[Pt - Lhs] == 808)  /* syntax error while in try */
+    {
+        /* set back the standard error handling ++++*/
+        Pt = Pt - Lhs;
+        C2F(errgst).errct = Ids[2 + Pt * nsiz];
+        C2F(errgst).errpt = Ids[5 + Pt * nsiz];
+        /* forgot the catch error */
+        C2F(errgst).err1 = Ids[3 + Pt * nsiz];
+        C2F(errgst).err2 = Ids[4 + Pt * nsiz];
+        C2F(com).comp[0] = 0;
+        Lpt[2] = Lpt[3] + 1;
+        SciError(276);
+        Pt = Pt - 1;
+        goto L98;
+    }
+    else
+    {
+        Lpt[2] = Lpt[3] + 1;
+        SciError(276);
+        goto L98;
+    }
+
+    /*     store results */
+    /* ------------------- */
+L70:
+    Lhs = Max(Lhs, 1);
+    if (Compil(29, &(Lhs), C2F(com).sym, 0, 0))
+    {
+        if (Err > 0)
+        {
+            return 0;
+        }
+        Pt -= Lhs;
+        Lhs = 0;
+        goto L77;
+    }
+    ndel = 0;
+L71:
+    Rhs = Pstk[Pt];
+    lastindpos = Top - Lhs - ndel;
+    if (C2F(errgst).err1 != 0)
+    {
+        goto L76;
+    }
+    if (Rhs == 0)
+    {
+        /* goto simple affectation */
+        C2F(stackp)(&Ids[1 + Pt * nsiz], &c__0);
+        if (Err > 0)
+        {
+            goto L98;
+        }
+        if (C2F(errgst).err1 > 0)
+        {
+            if (C2F(errgst).err1 != 13 || Rstk[Pt] != 502) --Pt;
+            --Lhs;
+            goto L98;
+        }
+        /* topk points on the newly saved variable */
+        topk = Fin;
+        /* go to print */
+        goto L73;
+    }
+    /*     partial variable affectation (insertion) */
+    if (lastindpos + 1 != Top)
+    {
+        /* create reference variables to get index1,...,indexn, value at */
+        /* the top of the stack in this order */
+        /* create reference variables pointing to the  indices */
+        i__2 = Rhs;
+        for (ir = 1; ir <= i__2; ++ir)
+        {
+            i__3 = lastindpos - Rhs + ir;
+            C2F(createref1)(&i__3);
+        }
+        /* create reference variable pointing to the value */
+        i__2 = Top - Rhs;
+        C2F(createref1)(&i__2);
+        /* remind to remove the original indices */
+        ndel += Rhs;
+    }
+    lastindpos -= Rhs;
+    /*     put a reference to the lhs variable */
+    Fin = -3;
+    C2F(stackg)(&Ids[1 + Pt * nsiz]);
+    if (Err > 0)
+    {
+        goto L98;
+    }
+    /*     perform insertion operation */
+    /*     index1,...,indexn, value ==> updated lhs value (or pointer to) */
+    if (Eptover(1))
+    {
+        goto L98;
+    }
+    Pstk[Pt] = Lhs;
+    C2F(putid)(&Ids[1 + Pt * nsiz], &Ids[1 + (Pt - 1) * nsiz]);
+    Ids[1 + (Pt - 1) * nsiz] = ndel;
+    Ids[2 + (Pt - 1) * nsiz] = lastindpos;
+    Rstk[Pt] = 704;
+    Rhs += 2;
+    Lhs = 1;
+    Fin = insert;
+    /*     *call* allops(insert) */
+    goto L91;
+L72:
+    Lhs = Pstk[Pt];
+    ndel = Ids[1 + (Pt - 1) * nsiz];
+    lastindpos = Ids[2 + (Pt - 1) * nsiz];
+    C2F(putid)(&Ids[1 + (Pt - 1) * nsiz], &Ids[1 + Pt * nsiz]);
+    --Pt;
+    /*     store the updated value */
+    C2F(stackp)(&Ids[1 + Pt * nsiz], &c__0);
+    if (Err > 0)
+    {
+        goto L98;
+    }
+    if (C2F(errgst).err1 > 0)
+    {
+        --Pt;
+        --Lhs;
+        goto L98;
+    }
+    /*     topk points on the newly saved variable */
+    topk = Fin;
+    /*     remove variable containing the value if required */
+    if (lastindpos != Top)
+    {
+        --Top;
+    }
+L73:
+    /*     print if required */
+    /* ---------------------- */
+    if (Lct[4] < 0 || Fin == 0)
+    {
+        goto L76;
+    }
+    if (! ((C2F(com).sym != semi && Lct[3] == 0) || (C2F(com).sym == semi &&
+            Lct[3] == 1)))
+    {
+        goto L76;
+    }
+L74:
+    C2F(print)(&Ids[1 + Pt * nsiz], &topk, &C2F(iop).wte);
+    if (Err > 0)
+    {
+        goto L98;
+    }
+    if (topk == 0)
+    {
+        goto L76;
+    }
+    /*     overloaded display, call a macro */
+    if (Eptover(1))
+    {
+        goto L98;
+    }
+    Rstk[Pt] = 708;
+    Pstk[Pt] = C2F(com).sym;
+    Ids[1 + Pt * nsiz] = C2F(com).sym;
+    Ids[2 + Pt * nsiz] = ndel;
+    Ids[3 + Pt * nsiz] = Lhs;
+    if (C2F(com).fun == 0)
+    {
+        goto L88;
+    }
+    goto L85;
+L75:
+    C2F(com).sym = Pstk[Pt];
+    ndel = Ids[2 + Pt * nsiz];
+    Lhs =  Ids[3 + Pt * nsiz];
+    --Pt;
+    goto L74;
+
+L76:
+    --Pt;
+    --Lhs;
+    if (Lhs > 0)
+    {
+        goto L71;
+    }
+    Top -= ndel;
+
+    /*     finish statement */
+    /* --------------------- */
+L77:
+    Fin = 0;
+    p = 0;
+    r = 0;
+    if (Pt > 0) p = Pstk[Pt];
+    if (Pt > 0) r = Rstk[Pt];
+    if (C2F(iop).ddt == 4)
+    {
+        sprintf(tmp, " finish  pt:%d rstk(pt):%d  pstk(pt):%d lpt(1): %d niv: %d macr:%d, paus:%d",
+                Pt, r, p, Lpt[1], C2F(recu).niv, C2F(recu).macr, C2F(recu).paus);
+        C2F(basout)(&io, &C2F(iop).wte, tmp, (long)strlen(tmp));
+    }
+    if (C2F(errgst).err1 != 0)
+    {
+        /* a catched error has occurred */
+        if (r == 808)
+        {
+            /* in try instructions */
+            goto L80;
+        }
+        else if (Ids[1 + (Pt - 1) * nsiz] != 0)
+        {
+            /* execution is explicitly required to be stopped */
+            if (r == 502 && Rstk[Pt - 1] == 903)
+            {
+                /* in an execstr(...,'errcatch') instruction */
+                goto L88;
+            }
+            else if (r == 502 && Rstk[Pt - 1] == 909)
+            {
+                /* in an exec(function,'errcatch') instruction */
+                goto L88;
+            }
+            else if (r == 503 && Rstk[Pt - 1] == 902)
+            {
+                /* in an exec(file,'errcatch') instruction */
+                goto L88;
+            }
+        }
+        if (C2F(errgst).err2 == 0)
+        {
+            C2F(errgst).err2 = C2F(errgst).err1;
+        }
+        if (C2F(errgst).errcatch > 0)
+        {
+            /* running under errcatch(num,....) */
+            C2F(errgst).err1 = 0;
+            if (Pt < C2F(errgst).errpt) C2F(errgst).errcatch = 0;
+        }
+
+        imode = (i__2 = C2F(errgst).errct / 100000, abs(i__2));
+        if (imode - (imode / 8 << 3) == 2)
+        {
+            C2F(basbrk).iflag = TRUE;
+            goto L16;
+        }
+    }
+    C2F(errgst).toperr = Top;
+    /*     fin instruction */
+    if (C2F(com).sym != eol)
+    {
+        if (C2F(com).sym == cmt)
+        {
+            C2F(parsecomment)();
+        }
+        else
+            goto L15;
+    }
+
+    /*     gestion des points d'arrets dynamiques */
+    if (C2F(dbg).nmacs != 0)   /* there are breakpoints set */
+    {
+        int kfin = C2F(dbg).wmac - 1; /*the stack index of the current function*/
+        /*  first test if the function has breakpoints   */
+        int kmac;
+        int curline;
+        for (kmac = 0; kmac < C2F(dbg).nmacs; kmac++) /* loop on table of functions containing breakpoints */
         {
-          /* Space added only if Scilab does not return form a callback execution */
-          C2F(prompt)(&i__2, &iesc);
+            /* does the name of the current funtion fit the registered name*/
+            if (C2F(eqid)(&(C2F(vstk).idstk[kfin * nsiz]), &(C2F(dbg).macnms[kmac * nsiz])))  /* yes */
+            {
+                /* test if there is a registered breakpoint at the current line*/
+                i__2 = Lpt[2] - 1;
+                C2F(whatln)(&Lpt[1], &i__2, &Lpt[6], &nlc, &l1, &ifin);
+                i__2 = C2F(dbg).lgptrs[kmac + 1] - 1;
+                curline = Lct[8] - nlc - 1;
+                for (ibpt = C2F(dbg).lgptrs[kmac]; ibpt <= i__2; ++ibpt)
+                {
+                    //sciprint("la Lct[8]-nlc =%d, bptlg=%d\n",Lct[8] - nlc,C2F(dbg).bptlg[ibpt - 1]);
+                    if (curline == C2F(dbg).bptlg[ibpt - 1])   /* yes */
+                    {
+                        /* display a message */
+                        C2F(cvname)(&C2F(dbg).macnms[kmac * nsiz], tmp, &c__1, nlgh);
+                        sprintf(C2F(cha1).buf, "%s %5d", tmp, curline);
+                        Msgs(32, 0);
+                        /* raise the interruption flag */
+                        C2F(basbrk).iflag = TRUE;
+                        goto L79;
+                    }
+                }
+                break;
+            }
         }
-      else
+    }
+L79:
+
+    if (C2F(com).comp[0] != 0)
+    {
+        C2F(seteol)();
+    }
+    /*     EOL */
+    if (r / 100 != 8)
+    {
+        goto L10;
+    }
+    /*     end of an instruction or a clause */
+    if (C2F(com).comp[0] != 0)
+    {
+        k = Lpt[6];
+        if (Lin[k - 1] == eol && Lin[k] == eol)
         {
-          /* Reset the flag indicating a callback has just been executed */
-          returnFromCallbackExec = FALSE;
-        }
-      if (iesc == 1) {
-        /* interrupted line acquisition (mode=7) */
-        iret = 3;
-        goto L96;
-      }
-      Lct[1] = 0;
-      if (C2F(recu).paus == 0 &&
-          C2F(iop).rio == C2F(iop).rte &&
-          C2F(recu).macr ==  0) {
-        if (Pt != 0) {
-          Msgs(30,0);
-          Pt = 0;
-        }
-        if (Top != 0) {
-          Msgs(31,0);
-          Top = 0;
+            SciError(47);
+            goto L98;
         }
-      }
     }
-  }
- L13:
-  //C2F(tksynchro)(&C2F(recu).paus);
-
-  C2F(getlin)(&job, &c__1);
-
-  ClearTemporaryPrompt();
-  //C2F(tksynchro)(&c_n1);
-
-
-  if (Fin == -3) {
-    /*     interrupted line acquisition */
-    iret = 2;
-    goto L96;
-  } else if (Fin == -1) {
-    /*     Continuation line handling when scilab is called as a routine */
-    C2F(com).fun = 99;
-    return 0;
-  }
-  job = 0;
-  Err = 0;
-
-  if (Pt != 0) {
+    if (Lpt[4] == Lpt[6])
+    {
+        /*         call getlin(1,0) */
+        goto L13;
+    }
+    else
+    {
+        ++Lpt[4];
+        C2F(getsym)();
+    }
     goto L15;
-  }
- L14:
-  handle_onprompt(&where_);
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)where_) {
-  case 1:  goto L85;
-  case 2:  goto L88;
-  }
-  /*     Beginning of a new statement, clause expression or command */
-  /* ------------------------------------------------------------ */
- L15:
-  if (ismenu() == 1 && C2F(basbrk).interruptible) {
-    iret = 1;
-    goto L96;
-  }
-
-  r = 0;
-  if (Pt > 0) {
-    r = Rstk[Pt];
-  }
-  if (C2F(iop).ddt == 4) {
-    sprintf(tmp," parse  pt:%d rstk(pt):%d top: %d niv: %d err:%d",
-            Pt,r,Top, C2F(recu).niv,Err);
-    C2F(basout)(&io, &C2F(iop).wte,tmp, (long)strlen(tmp));
-  }
-
-  excnt = 0;
-  if (! C2F(basbrk).iflag || C2F(com).comp[0] != 0 ) {
-    goto L18;
-  }
-  /*     Handling of pauses */
- L16:
-  if (Eptover(1)) {
-    goto L98;
-  }
-  Pstk[Pt] = C2F(iop).rio;
-  Ids[2 + Pt * nsiz] = Top;
-  C2F(iop).rio = C2F(iop).rte;
-  Rstk[Pt] = 701;
-  C2F(basbrk).iflag = FALSE;
-  Fin = 2;
-  if (Lct[4] <= -10) {
-    Fin = -1;
-    Lct[4] = -Lct[4] - 11;
-  }
-  /*     *call* macro */
-  goto L88;
-  /*     pauses termination */
- L17:
-  C2F(iop).rio = Pstk[Pt];
-  Top = Ids[2 + Pt * nsiz];
-  --Pt;
-  goto L15;
- L18:
-  Lhs = 1;
-  excnt = 0;
-  C2F(putid)(id, ans);
-  /*     preserve current character position */
-  lpts = Lpt[4] - 1;
-  pts = Pt;
-
-  C2F(getsym)();
-  if (C2F(com).sym == right || C2F(com).sym == rparen || C2F(com).sym == less ||
-      C2F(com).sym == great) {
-    SciError(1);
-    goto L98;
-  } else if (C2F(com).sym == semi || C2F(com).sym == comma || C2F(com).sym == eol) {
-    goto L77;
-  } else if (C2F(com).sym == cmt) {
-    C2F(parsecomment)();
-    goto L77;
-  } else if (C2F(com).sym == name) {
-    lpts = Lpt[3] - 1;
-    /* try to avoid the command call whenever it is possible */
-    if (C2F(com).char1 == equal) {
-      goto L25;
-    }
-    /*         if (char1 .eq. lparen) then */
-    /*           one can get this case with "if ( ) then" */
-    /*         endif */
-    if (Lpt[4] >= 2) {
-      if (Lin[Lpt[4] - 2] == blank) {
-        goto L20;
-      }
+
+    /*     simulate recursion */
+    /* ----------------------- */
+L80:
+    C2F(recu).icall = 0;
+    C2F(clause)();
+    if (Err > 0)
+    {
+        goto L98;
     }
-    if (C2F(com).char1 == dot) {
-      /* name.x */
-      schar = C2F(com).char1;
-      goto L30;
+    switch ((int)C2F(recu).icall)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L15;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
     }
-    goto L20;
-  } else if (C2F(com).sym == left) {
-    /* is there an explicit affectation */
-    lpts = Lpt[3] - 1;
-    Lpt[4] = lpts;
-    Lpt[3] = lpts;
-    C2F(com).char1 = blank;
-    C2F(findequal)(&found);
-    if (Err > 0) {
-      goto L98;
-    }
-    if (found) {
-      /* multiple lhs */
-      goto L40;
-    } else {
-      /* no ==> implicit lhs */
-      goto L50;
-    }
-  } else {
-    /* not lhs defined */
-    /* set ans for lhs */
-    if (Eptover(1)) {
-      goto L98;
+    if (Pt <= 0)
+    {
+        goto L15;
     }
-    C2F(putid)(&Ids[1 + Pt * nsiz], ans);
-    Lhs = 1;
-    Pstk[Pt] = 0;
-    /* go to rhs analysis */
-    goto L60;
-  }
-
-  /*     lhs begins with name */
-  /* ------------------------- */
-  /*     check if it is a simple command like clear,... */
- L20:
-  C2F(command)(C2F(com).syn, &c__0);
-  if (Err > 0) {
-    goto L98;
-  }
-  if (Fin == 0) {
-    goto L21;
-  }
-  if (C2F(com).fun == 99) {
-    return 0;
-  }
-  if (C2F(com).fun != 0) {
-    goto L93;
-  }
-  if (Fin < 0) {
-    goto L80;
-  }
-  if (Fin == 2) {
-    goto L88;
-  }
-  if (Fin == 3) {
-    goto L16;
-  }
-  if (Fin == 4) {
-    goto L5;
-  }
-  if (Fin > 0) {
-    goto L77;
-  }
-  /*     name is not a command */
- L21:
-  Rhs = 0;
-  Fin = -5;
-  /* IL y a p avec fin=-5 (on ne trouve pas les macros parce que l'on ne */
-  /* veut pas que les macros sans arg soient vues comme des commandes */
-  /* mais pourquoi pas il suffirait de dire que pour visualiser une macro */
-  /* il faut faire disp() */
-  C2F(com).fun = 0;
-  C2F(funs)(C2F(com).syn);
-  if (Fin > 0) {
-    /*        name is a builtin name */
-    if (C2F(com).char1 == equal) {
-      /*           fun=expr is not allowed */
-      C2F(putid)(&Ids[1 + (Pt + 1) * nsiz], C2F(com).syn);
-      SciError(25);
-      goto L98;
-    }
-    /*        skip lhs analysis */
-    if (Eptover(1)) {
-      goto L98;
+    r = Rstk[Pt] / 100;
+    switch ((int)r)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L92;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
     }
-    C2F(putid)(&Ids[1 + Pt * nsiz], id);
-    Lhs = 1;
-    Pstk[Pt] = 0;
-    /* go to rhs analysis */
-    goto L60;
-  }
+    goto L99;
 
-  /*     peek one character ahead */
-  if (C2F(com).char1 == semi || C2F(com).char1 == comma || C2F(com).char1 == eol) {
-    C2F(putid)(id, C2F(com).syn);
-  }
-  if (C2F(com).char1 == lparen) {
-    schar = C2F(com).char1;
-    goto L30;
-  }
-  /*     instruction is just "name", skip lhs analysis */
-  /*     record name as lhs */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  C2F(putid)(&Ids[1 + Pt * nsiz], id);
-  Lhs = 1;
-  Pstk[Pt] = 0;
-  /*     go to rhs analysis */
-  goto L60;
-
-  /*     name = expr  or name == expr syntax */
-  /* ---------------------------------------- */
- L25:
-  C2F(putid)(id, C2F(com).syn);
-  lpts = Lpt[2];
-  C2F(getsym)();
-  if (C2F(com).char1 == equal) {
-    /* name == expr syntax ==> implicit lhs */
-    goto L50;
-  } else {
-    /* lhs found */
-    /* record it */
-    if (Eptover(1)) {
-      goto L98;
+L81:
+    C2F(recu).icall = 0;
+    C2F(expr)();
+    if (Err > 0)
+    {
+        goto L98;
     }
-    C2F(putid)(&Ids[1 + Pt * nsiz], id);
-    Lhs = 1;
-    Pstk[Pt] = 0;
-    C2F(getsym)();
-    /* go to rhs analysis */
-    goto L60;
-  }
+    switch ((int)C2F(recu).icall)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L15;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+    }
+    r = Rstk[Pt] / 100;
+    switch ((int)r)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L92;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+    }
+    goto L99;
 
-  /*     lhs is name(...) or name.x... */
-  /* ----------------------------------- */
- L30:
-  Lpt[5] = Lpt[4];
-  C2F(putid)(id, C2F(com).syn);
+L82:
+    C2F(recu).icall = 0;
+    C2F(terme)();
+    if (Err > 0)
+    {
+        goto L98;
+    }
+    switch ((int)C2F(recu).icall)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L15;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+    }
+    r = Rstk[Pt] / 100;
+    switch ((int)r)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L92;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+    }
+    goto L99;
 
-  /*     looking for equal to check if it is really an lhs */
-  C2F(findequal)(&found);
-  if (Err > 0) {
-    goto L98;
-  }
-  if (! found) {
-    goto L50;
-  }
-  /*     It is really a lhs (insertion syntax) */
- L32:
-  Lpt[4] = Lpt[5];
-  C2F(com).char1 = schar;
-
-  /* 35     call parseindexlist(excnt) */
-  /*     if(err.gt.0) goto 98 */
-  if (Compil(21, &c__0, 0, 0, 0)) {
-    if (Err > 0) {
-      return 0;
-    }
-  }
-  /*     begin the index lists */
-  icount = 0;
-  C2F(getsym)();
-
- L33:
-  /*     begin a new index list (.,..) or .name */
-  ++icount;
-
-  dotsep = C2F(com).sym == dot;
-  C2F(getsym)();
-  if (dotsep) {
-    /* --> new index list is .name */
-    if (C2F(com).sym != name) {
-      SciError(21);
-      if (Err > 0) {
-        return 0;
-      }
+L83:
+    C2F(recu).icall = 0;
+    C2F(fact)();
+    if (Err > 0)
+    {
+        goto L98;
+    }
+    switch ((int)C2F(recu).icall)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L15;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
     }
+    r = Rstk[Pt] / 100;
+    switch ((int)r)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L92;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+    }
+    goto L99;
 
-    if (C2F(com).comp[0] != 0) {
-      if (Compil(23, C2F(com).syn, 0, 0, 0)) {
-        if (Err > 0) {
-          return 0;
+L85:
+    C2F(recu).icall = 0;
+    if (C2F(com).fun == C2F(recu).krec)
+    {
+        if (C2F(com).fun > 0)
+        {
+            SciError(22);
+            goto L98;
         }
-      }
-    } else {
-      C2F(name2var)(C2F(com).syn);
     }
-    C2F(getsym)();
-    /*         icount=icount+1 */
-    if (C2F(com).sym == dot) {
-      goto L33;
-    }
-    dotsep = FALSE;
-    excnt = 1;
-    goto L36;
-  }
-  /*     --> new index list is (.,..) */
- L34:
-  /*     add a new index in index list (i,...) */
-  ++excnt;
-  if (Eptover(1)) {
-    goto L98;
-  }
-  C2F(putid)(&Ids[1 + Pt * nsiz], id);
-  Pstk[Pt] = excnt + icount * 1000;
-  Rstk[Pt] = 702;
-  /*     *call* expr */
-  goto L81;
- L35:
-  C2F(putid)(id, &Ids[1 + Pt * nsiz]);
-  icount = Pstk[Pt] / 1000;
-  excnt = Pstk[Pt] - icount * 1000;
-  --Pt;
-
-  if (C2F(com).sym == comma) {
-    /* current syntax is (i,j,..) */
-    C2F(getsym)();
-    goto L34;
-  }
-
-  if (C2F(com).sym == rparen) {
-    /* end of the current index list */
-    C2F(getsym)();
-  } else {
-    SciError(3);
-    if (Err > 0) {
-      goto L98;
-    }
-  }
-
- L36:
-  if (C2F(com).sym == lparen || C2F(com).sym == dot) {
-    /* begining of a a new index list */
-    /* first memorize the previous one */
-    if (excnt > 1) {
-      /* previously analysed syntax is (i,j,..)( */
-      if (C2F(com).comp[0] == 0) {
-        /* form  list with individual indexes i,j,.. */
-        C2F(mkindx)(&c__0, &excnt);
-        if (Err > 0) {
-          return 0;
+    if (C2F(errgst).err1 != 0)
+    {
+        if (Rstk[Pt] / 100 == 9)
+        {
+            if (Rstk[Pt] >= 901 && Rstk[Pt] <= 909)
+            {
+                /*              *call* matfns */
+                return 0;
+            }
+            else
+            {
+                --Pt;
+                goto L86;
+            }
         }
-      } else {
-        if (Compil(19, &c__0, excnt, 0, 0)) {
-          if (Err > 0) {
-            return 0;
-          }
+        else
+        {
+            goto L86;
         }
-      }
-      excnt = 1;
     }
-    /* open a new index list */
-    excnt = 0;
-    /*         icount=icount+1 */
-    goto L33;
-  }
-  /*     end of all the index lists */
-  if (icount > 1) {
-    /* form  list with individual indexes */
-    if (C2F(com).comp[0] == 0) {
-      C2F(mkindx)(&icount, &excnt);
-      if (Err > 0) {
-        return 0;
-      }
-    } else {
-      if (Compil(19, &icount, excnt, 0, 0)) {
-        if (Err > 0) {
-          return 0;
+    /*     compilation matfns: <100*fun rhs lhs fin> */
+    if (Compil( C2F(com).fun * 100, &(Rhs), Lhs, Fin, 0))
+    {
+        if (Err > 0)
+        {
+            goto L98;
         }
-      }
+        goto L86;
     }
-    excnt = 1;
-  }
-  /*     end of code for recursive index */
-  if (Rstk[Pt] == 711) {
-    goto L42;
-  }
-
-  if (C2F(com).sym == equal) {
-    /* name(...) = expr syntax */
-    /* record name as lhs */
-    if (Eptover(1)) {
-      goto L98;
+    else
+    {
+        /*     *call* matfns */
+        return 0;
     }
-    C2F(putid)(&Ids[1 + Pt * nsiz], id);
-    Pstk[Pt] = excnt;
-    Lhs = 1;
-    C2F(getsym)();
-    /* go to rhs analysis */
-    goto L60;
-  } else {
-    /* this should never happen. this case has been detected above */
-    /* when lookin for equal sign */
-    /* name(...) syntax ==> really an rhs */
-    if (Eptover(1)) {
-      goto L98;
+L86:
+    if (Err > 0)
+    {
+        goto L98;
+    }
+    switch ((int)C2F(recu).icall)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L15;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+    }
+    r = Rstk[Pt] / 100;
+    switch ((int)r)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L92;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
     }
-    C2F(putid)(&Ids[1 + Pt * nsiz], ans);
-    Lhs = 1;
-    Pstk[Pt] = 0;
-    goto L60;
-  }
-
-  /*     multiple lhs [a,...]= or [a(..),..] */
-  /* ---------------------------------------- */
- L40:
-  Lpt[4] = lpts;
-  Lpt[3] = lpts;
-  C2F(com).char1 = blank;
-  Lhs = 0;
-  C2F(getsym)();
-  /*     start lhs arguments list */
-  C2F(getsym)();
- L41:
-  /*     begin analysis of a new lhs argument */
-  if (C2F(com).sym != name) {
-    SciError(274);
-    goto L98;
-  }
-  if (C2F(eqid)(C2F(com).syn, varargout)) {
-    SciError(275);
-    goto L98;
-  }
-  C2F(putid)(id, C2F(com).syn);
-  excnt = 0;
-  next = Lin[Lpt[4] - 2];
-  if (next == blank || C2F(com).char1 == comma || C2F(com).char1 == right) {
-    /* argument followed by a blank, a comma or a ] ==> it is a simple name */
-    C2F(getsym)();
-    goto L44;
-  } else if (C2F(com).char1 != lparen && C2F(com).char1 != dot) {
-    /* invalid lhs */
-    SciError(273);
-    goto L98;
-  }
-  /*     lhs argument is name(..) or name.xx */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  Rstk[Pt] = 711;
-  Lpt[5] = Lpt[4];
-  schar = C2F(com).char1;
-  goto L32;
-  /*     *parse* index */
- L42:
-  --Pt;
-  goto L44;
- L44:
-  /*     record current lhs arg */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  C2F(putid)(&Ids[1 + Pt * nsiz], id);
-  ++Lhs;
-  Pstk[Pt] = excnt;
-  Rstk[Pt] = 0;
-  /*     end analysis of a current lhs arg */
-  if (C2F(com).sym == right) {
-    goto L46;
-  }
-  if (C2F(com).sym == comma) {
-    C2F(getsym)();
-  }
-  /*     loop on lhs args */
-  goto L41;
-
- L46:
-  C2F(getsym)();
-  if (C2F(com).sym == equal && C2F(com).char1 != equal) {
-    /*        really found a lhs go to  the rhs analysis part */
-    C2F(getsym)();
-    goto L60;
-  }
-  /*     lhs revealed to be an rhs */
-  /* ------------------------------------- */
- L50:
-  /*     no equal symbol */
-  goto L51;
- L51:
-  /*     lhs is in fact an  rhs */
-  /*     1 - reinititialise the parser at the instruction beginning */
-  Pt = pts;
-  Lpt[4] = lpts;
-  Lpt[3] = lpts;
-  C2F(com).char1 = blank;
-  /* L52: */
-  C2F(getsym)();
-  /*      if(sym.eq.comma.or.sym.eq.semi) goto 52 */
-  /*     2 - make "ans" the lhs */
-  if (Eptover(1)) {
     goto L98;
-  }
-  C2F(putid)(&Ids[1 + Pt * nsiz], ans);
-  Pstk[Pt] = 0;
-  Lhs = 1;
-  /*     3 - go to the rhs analysis part */
-  goto L60;
-
-  /*     lhs finished, start rhs */
-  /* ---------------------------- */
- L60:
-  Rstk[Pt] = 703;
-  /*     *call* expr */
-  goto L81;
- L65:
-  if (Rstk[Pt - Lhs] == 313) {
-    /*     store  new variable as "named" at the top of the stack */
-    if (C2F(com).sym == rparen || C2F(com).sym == comma) {
-      C2F(mrknmd)();
-      if (Err > 0) {
+
+L88:
+    C2F(recu).icall = 0;
+    C2F(macro)();
+    if (Err > 0)
+    {
         goto L98;
-      }
-      goto L83;
-    } else {
-      SciError(40);
-      goto L98;
-    }
-  }
-  if (C2F(com).sym == semi || C2F(com).sym == comma || C2F(com).sym == eol|| C2F(com).sym == cmt) {
-    goto L70;
-  }
-  if (Rstk[Pt - Lhs] == 808) {/* syntax error while in try */
-    /* set back the standard error handling ++++*/
-    Pt=Pt-Lhs;
-    C2F(errgst).errct = Ids[2 + Pt * nsiz];
-    C2F(errgst).errpt = Ids[5 + Pt * nsiz];
-    /* forgot the catch error */
-    C2F(errgst).err1 = Ids[3 + Pt * nsiz];
-    C2F(errgst).err2 = Ids[4 + Pt * nsiz];
-    C2F(com).comp[0] = 0;
-    Lpt[2] = Lpt[3]+1;
-    SciError(276);
-    Pt = Pt - 1;
-    goto L98;
-  } else {
-    Lpt[2] = Lpt[3]+1;
-    SciError(276);
-    goto L98;
-  }
+    }
+    switch ((int)C2F(recu).icall)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L10;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+    }
+    r = Rstk[Pt] / 100;
+    switch ((int)r)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L92;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+        case 10:
+            goto L89;
+    }
+    goto L99;
+L89:
+    C2F(com).fun = 99;
+    return 0;
 
-  /*     store results */
-  /* ------------------- */
- L70:
-  Lhs = Max(Lhs,1);
-  if (Compil(29, &(Lhs), C2F(com).sym, 0, 0)) {
-    if (Err > 0) {
-      return 0;
+L90:
+    C2F(recu).icall = 0;
+    C2F(run)();
+    if (Err > 0)
+    {
+        goto L98;
     }
-    Pt -= Lhs;
-    Lhs = 0;
-    goto L77;
-  }
-  ndel = 0;
- L71:
-  Rhs = Pstk[Pt];
-  lastindpos = Top - Lhs - ndel;
-  if (C2F(errgst).err1 != 0) {
-    goto L76;
-  }
-  if (Rhs == 0) {
-    /* goto simple affectation */
-    C2F(stackp)(&Ids[1 + Pt * nsiz], &c__0);
-    if (Err > 0) {
-      goto L98;
+    if (C2F(com).fun == 99)
+    {
+        return 0;
     }
-    if (C2F(errgst).err1 > 0) {
-      if (C2F(errgst).err1 != 13||Rstk[Pt]!=502) --Pt;
-      --Lhs;
-      goto L98;
+    /*     last label is used to handle return from abort */
+    switch ((int)C2F(recu).icall)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L15;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+        case 10:
+            goto L5;
     }
-    /* topk points on the newly saved variable */
-    topk = Fin;
-    /* go to print */
-    goto L73;
-  }
-  /*     partial variable affectation (insertion) */
-  if (lastindpos + 1 != Top) {
-    /* create reference variables to get index1,...,indexn, value at */
-    /* the top of the stack in this order */
-    /* create reference variables pointing to the  indices */
-    i__2 = Rhs;
-    for (ir = 1; ir <= i__2; ++ir) {
-      i__3 = lastindpos - Rhs + ir;
-      C2F(createref1)(&i__3);
-    }
-    /* create reference variable pointing to the value */
-    i__2 = Top - Rhs;
-    C2F(createref1)(&i__2);
-    /* remind to remove the original indices */
-    ndel += Rhs;
-  }
-  lastindpos -= Rhs;
-  /*     put a reference to the lhs variable */
-  Fin = -3;
-  C2F(stackg)(&Ids[1 + Pt * nsiz]);
-  if (Err > 0) {
-    goto L98;
-  }
-  /*     perform insertion operation */
-  /*     index1,...,indexn, value ==> updated lhs value (or pointer to) */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  Pstk[Pt] = Lhs;
-  C2F(putid)(&Ids[1 + Pt * nsiz], &Ids[1 + (Pt - 1) * nsiz]);
-  Ids[1 + (Pt - 1) * nsiz] = ndel;
-  Ids[2 + (Pt - 1) * nsiz] = lastindpos;
-  Rstk[Pt] = 704;
-  Rhs += 2;
-  Lhs = 1;
-  Fin = insert;
-  /*     *call* allops(insert) */
-  goto L91;
- L72:
-  Lhs = Pstk[Pt];
-  ndel = Ids[1 + (Pt - 1) * nsiz];
-  lastindpos = Ids[2 + (Pt - 1) * nsiz];
-  C2F(putid)(&Ids[1 + (Pt - 1) * nsiz], &Ids[1 + Pt * nsiz]);
-  --Pt;
-  /*     store the updated value */
-  C2F(stackp)(&Ids[1 + Pt * nsiz], &c__0);
-  if (Err > 0) {
-    goto L98;
-  }
-  if (C2F(errgst).err1 > 0) {
-    --Pt;
-    --Lhs;
-    goto L98;
-  }
-  /*     topk points on the newly saved variable */
-  topk = Fin;
-  /*     remove variable containing the value if required */
-  if (lastindpos != Top) {
-    --Top;
-  }
- L73:
-  /*     print if required */
-  /* ---------------------- */
-  if (Lct[4] < 0 || Fin == 0) {
-    goto L76;
-  }
-  if (! ((C2F(com).sym != semi && Lct[3] == 0) || (C2F(com).sym == semi &&
-                                                   Lct[3] == 1))) {
-    goto L76;
-  }
- L74:
-  C2F(print)(&Ids[1 + Pt * nsiz], &topk, &C2F(iop).wte);
-  if (Err > 0) {
-    goto L98;
-  }
-  if (topk == 0) {
-    goto L76;
-  }
-  /*     overloaded display, call a macro */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  Rstk[Pt] = 708;
-  Pstk[Pt] = C2F(com).sym;
-  Ids[1 + Pt * nsiz] = C2F(com).sym;
-  Ids[2 + Pt * nsiz] = ndel;
-  Ids[3 + Pt * nsiz] = Lhs;
-  if (C2F(com).fun == 0) {
-    goto L88;
-  }
-  goto L85;
- L75:
-  C2F(com).sym = Pstk[Pt];
-  ndel = Ids[2 + Pt * nsiz];
-  Lhs =  Ids[3 + Pt * nsiz];
-  --Pt;
-  goto L74;
-
- L76:
-  --Pt;
-  --Lhs;
-  if (Lhs > 0) {
-    goto L71;
-  }
-  Top -= ndel;
-
-  /*     finish statement */
-  /* --------------------- */
- L77:
-  Fin = 0;
-  p = 0;
-  r = 0;
-  if (Pt > 0) p = Pstk[Pt];
-  if (Pt > 0) r = Rstk[Pt];
-  if (C2F(iop).ddt == 4) {
-    sprintf(tmp," finish  pt:%d rstk(pt):%d  pstk(pt):%d lpt(1): %d niv: %d macr:%d, paus:%d",
-            Pt,r,p, Lpt[1],C2F(recu).niv,C2F(recu).macr,C2F(recu).paus);
-    C2F(basout)(&io, &C2F(iop).wte,tmp, (long)strlen(tmp));
-  }
-  if (C2F(errgst).err1 != 0) {
-    /* a catched error has occured */
-    if (r == 808) {
-      /* in try instructions */
-      goto L80;
-    } else if (Ids[1 + (Pt - 1) * nsiz] != 0) {
-      /* execution is explicitly required to be stopped */
-      if (r == 502 && Rstk[Pt - 1] == 903) {
-        /* in an execstr(...,'errcatch') instruction */
-        goto L88;
-      } else if (r == 502 && Rstk[Pt - 1] == 909) {
-        /* in an exec(function,'errcatch') instruction */
-        goto L88;
-      } else if (r == 503 && Rstk[Pt - 1] == 902) {
-        /* in an exec(file,'errcatch') instruction */
-        goto L88;
-      }
+    r = Rstk[Pt] / 100;
+    switch ((int)r)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L92;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+        case 10:
+            goto L89;
+    }
+    goto L99;
+
+L91:
+    C2F(recu).icall = 0;
+    C2F(allops)();
+    if (Err > 0)
+    {
+        goto L98;
     }
-    if (C2F(errgst).err2 == 0) {
-      C2F(errgst).err2 = C2F(errgst).err1;
+    switch ((int)C2F(recu).icall)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L15;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+    }
+    r = Rstk[Pt] / 100;
+    switch ((int)r)
+    {
+        case 1:
+            goto L81;
+        case 2:
+            goto L82;
+        case 3:
+            goto L83;
+        case 4:
+            goto L91;
+        case 5:
+            goto L88;
+        case 6:
+            goto L90;
+        case 7:
+            goto L92;
+        case 8:
+            goto L80;
+        case 9:
+            goto L85;
+    }
+    goto L98;
+
+L92:
+    switch ((int)(Rstk[Pt] - 700))
+    {
+        case 1:
+            goto L17;
+        case 2:
+            goto L35;
+        case 3:
+            goto L65;
+        case 4:
+            goto L72;
+        case 5:
+            goto L65;
+        case 6:
+            goto L97;
+        case 7:
+            goto L94;
+        case 8:
+            goto L75;
+        case 9:
+            goto L99;
+        case 10:
+            goto L14;
     }
-    if (C2F(errgst).errcatch > 0) {
-      /* running under errcatch(num,....) */
-      C2F(errgst).err1 = 0;
-      if (Pt<C2F(errgst).errpt) C2F(errgst).errcatch = 0;
+    goto L99;
+
+L93:
+    /*     command like function and macro call */
+    /*     store ans as lhs */
+    if (Eptover(1))
+    {
+        goto L98;
     }
+    C2F(putid)(&Ids[1 + Pt * nsiz], ans);
+    Pstk[Pt] = 0;
 
-    imode = (i__2 = C2F(errgst).errct / 100000, abs(i__2));
-    if (imode - (imode / 8 << 3) == 2) {
-      C2F(basbrk).iflag = TRUE;
-      goto L16;
+    Rstk[Pt] = 707;
+    if (C2F(com).fun > 0)
+    {
+        /*        *call* matfns */
+        goto L85;
     }
-  }
-  C2F(errgst).toperr = Top;
-  /*     fin instruction */
-  if (C2F(com).sym != eol) {
-    if (C2F(com).sym == cmt){
-      C2F(parsecomment)();}
     else
-      goto L15;
-  }
-
-  /*     gestion des points d'arrets dynamiques */
-  if (C2F(dbg).nmacs != 0) { /* there are breakpoints set */
-    int kfin=C2F(dbg).wmac-1; /*the stack index of the current function*/
-    /*  first test if the function has breakpoints   */
-    int kmac;
-    int curline;
-    for (kmac=0;kmac<C2F(dbg).nmacs;kmac++) { /* loop on table of functions containing breakpoints */
-      /* does the name of the current funtion fit the registered name*/
-      if (C2F(eqid)(&(C2F(vstk).idstk[kfin * nsiz]), &(C2F(dbg).macnms[kmac * nsiz]))) {/* yes */
-        /* test if there is a registered breakpoint at the current line*/
-        i__2 = Lpt[2] - 1;
-        C2F(whatln)(&Lpt[1], &i__2, &Lpt[6], &nlc, &l1, &ifin);
-        i__2 = C2F(dbg).lgptrs[kmac+1] - 1;
-        curline = Lct[8] - nlc - 1;
-        for (ibpt = C2F(dbg).lgptrs[kmac]; ibpt <= i__2; ++ibpt) {
-          //sciprint("la Lct[8]-nlc =%d, bptlg=%d\n",Lct[8] - nlc,C2F(dbg).bptlg[ibpt - 1]);
-          if (curline == C2F(dbg).bptlg[ibpt - 1]) { /* yes */
-            /* display a message */
-            C2F(cvname)(&C2F(dbg).macnms[kmac * nsiz], tmp, &c__1, nlgh);
-            sprintf(C2F(cha1).buf,"%s %5d",tmp, curline);
-            Msgs(32, 0);
-            /* raise the interruption flag */
-            C2F(basbrk).iflag = TRUE;
-            goto L79;
-          }
+    {
+        if (C2F(com).comp[0] != 0)
+        {
+            ++Rhs;
+            Fin = extrac;
+            /*           *call* allops(extrac) */
+            goto L91;
         }
-        break;
-      }
-    }
-  }
- L79:
-
-  if (C2F(com).comp[0] != 0) {
-    C2F(seteol)();
-  }
-  /*     EOL */
-  if (r / 100 != 8) {
-    goto L10;
-  }
-  /*     end of an instruction or a clause */
-  if (C2F(com).comp[0] != 0) {
-    k = Lpt[6];
-    if (Lin[k - 1] == eol && Lin[k] == eol) {
-      SciError(47);
-      goto L98;
-    }
-  }
-  if (Lpt[4] == Lpt[6]) {
-    /*         call getlin(1,0) */
-    goto L13;
-  } else {
-    ++Lpt[4];
-    C2F(getsym)();
-  }
-  goto L15;
-
-  /*     simulate recursion */
-  /* ----------------------- */
- L80:
-  C2F(recu).icall = 0;
-  C2F(clause)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  if (Pt <= 0) {
-    goto L15;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L99;
-
- L81:
-  C2F(recu).icall = 0;
-  C2F(expr)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L99;
-
- L82:
-  C2F(recu).icall = 0;
-  C2F(terme)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L99;
-
- L83:
-  C2F(recu).icall = 0;
-  C2F(fact)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L99;
-
- L85:
-  C2F(recu).icall = 0;
-  if (C2F(com).fun == C2F(recu).krec) {
-    if (C2F(com).fun > 0) {
-      SciError(22);
-      goto L98;
-    }
-  }
-  if (C2F(errgst).err1 != 0) {
-    if (Rstk[Pt] / 100 == 9) {
-      if (Rstk[Pt] >= 901 && Rstk[Pt] <= 909) {
-        /*              *call* matfns */
+        else
+        {
+            Fin = Lstk[C2F(com).fin];
+            /*           *call* macro */
+            goto L88;
+        }
+    }
+L94:
+    /*     go to store code */
+    goto L70;
+
+L96:
+    /*     asynchronous events handling */
+    C2F(basbrk).interruptible = C2F(getmen)(C2F(cha1).buf, &lb, &nentry) == 0;
+    C2F(bexec)(C2F(cha1).buf, &lb, &ierr);
+    if (ierr != 0)
+    {
+        goto L15;
+    }
+    if (Eptover(1))
+    {
+        goto L98;
+    }
+    Pstk[Pt] = Top;
+    Rstk[Pt] = 706;
+    Ids[1 + Pt * nsiz] = iret;
+    /*     *call* macro */
+    goto L88;
+L97:
+    /* Rstk[Pt] == 706 indicates we return from a callback execution */
+    if (Rstk[Pt] == 706)
+    {
+        returnFromCallbackExec = TRUE;
+    }
+
+    Top = Pstk[Pt] - 1;
+    C2F(basbrk).interruptible = TRUE;
+    iret = Ids[1 + Pt * nsiz];
+    --Pt;
+    if (iret == 1)
+    {
+        goto L15;
+    }
+    else if (iret == 2)
+    {
+        if (Lpt[6] == Lpt[1])
+        {
+            job = 0;
+        }
+        else
+        {
+            /* go ahead with interrupted continuation line */
+            job = 3;
+        }
+        C2F(com).sym = eol;
+        goto L13;
+    }
+    else if (iret == 3)
+    {
+        job = 0;
+        goto L12;
+    }
+    else if (iret == 4)
+    {
         return 0;
-      } else {
-        --Pt;
-        goto L86;
-      }
-    } else {
-      goto L86;
-    }
-  }
-  /*     compilation matfns: <100*fun rhs lhs fin> */
-  if (Compil( C2F(com).fun * 100, &(Rhs), Lhs, Fin, 0)) {
-    if (Err > 0) {
-      goto L98;
-    }
-    goto L86;
-  } else {
-    /*     *call* matfns */
-    return 0;
-  }
- L86:
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L98;
-
- L88:
-  C2F(recu).icall = 0;
-  C2F(macro)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L10;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  case 10:  goto L89;
-  }
-  goto L99;
- L89:
-  C2F(com).fun = 99;
-  return 0;
-
- L90:
-  C2F(recu).icall = 0;
-  C2F(run)();
-  if (Err > 0) {
-    goto L98;
-  }
-  if (C2F(com).fun == 99) {
-    return 0;
-  }
-  /*     last label is used to handle return from abort */
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  case 10:  goto L5;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  case 10:  goto L89;
-  }
-  goto L99;
-
- L91:
-  C2F(recu).icall = 0;
-  C2F(allops)();
-  if (Err > 0) {
-    goto L98;
-  }
-  switch ((int)C2F(recu).icall) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L15;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  r = Rstk[Pt] / 100;
-  switch ((int)r) {
-  case 1:  goto L81;
-  case 2:  goto L82;
-  case 3:  goto L83;
-  case 4:  goto L91;
-  case 5:  goto L88;
-  case 6:  goto L90;
-  case 7:  goto L92;
-  case 8:  goto L80;
-  case 9:  goto L85;
-  }
-  goto L98;
-
- L92:
-  switch ((int)(Rstk[Pt] - 700)) {
-  case 1:  goto L17;
-  case 2:  goto L35;
-  case 3:  goto L65;
-  case 4:  goto L72;
-  case 5:  goto L65;
-  case 6:  goto L97;
-  case 7:  goto L94;
-  case 8:  goto L75;
-  case 9:  goto L99;
-  case 10:  goto L14;
-  }
-  goto L99;
-
- L93:
-  /*     command like function and macro call */
-  /*     store ans as lhs */
-  if (Eptover(1)) {
-    goto L98;
-  }
-  C2F(putid)(&Ids[1 + Pt * nsiz], ans);
-  Pstk[Pt] = 0;
+    }
+L98:
+    C2F(basbrk).interruptible = TRUE;
+    /*     error recovery */
+    /* ------------------- */
+    imode = abs(C2F(errgst).errct) / 100000;
+    imode -= imode / 8 << 3;
+    if (imode == 3)
+    {
+        C2F(com).fun = 99;
+        return 0;
+    }
 
-  Rstk[Pt] = 707;
-  if (C2F(com).fun > 0) {
-    /*        *call* matfns */
-    goto L85;
-  } else {
-    if (C2F(com).comp[0] != 0) {
-      ++Rhs;
-      Fin = extrac;
-      /*           *call* allops(extrac) */
-      goto L91;
-    } else {
-      Fin = Lstk[C2F(com).fin];
-      /*           *call* macro */
-      goto L88;
-    }
-  }
- L94:
-  /*     go to store code */
-  goto L70;
-
- L96:
-  /*     asynchronous events handling */
-  C2F(basbrk).interruptible = C2F(getmen)(C2F(cha1).buf, &lb, &nentry) == 0;
-  C2F(bexec)(C2F(cha1).buf, &lb, &ierr);
-  if (ierr != 0) {
-    goto L15;
-  }
-  if (Eptover(1)) {
-    goto L98;
-  }
-  Pstk[Pt] = Top;
-  Rstk[Pt] = 706;
-  Ids[1 + Pt * nsiz] = iret;
-  /*     *call* macro */
-  goto L88;
- L97:
-  /* Rstk[Pt] == 706 indicates we return from a callback execution */
-  if (Rstk[Pt] == 706)
-    {
-      returnFromCallbackExec = TRUE;
-    }
-
-  Top = Pstk[Pt] - 1;
-  C2F(basbrk).interruptible = TRUE;
-  iret = Ids[1 + Pt * nsiz];
-  --Pt;
-  if (iret == 1) {
-    goto L15;
-  } else if (iret == 2) {
-    if (Lpt[6] == Lpt[1]) {
-      job = 0;
-    } else {
-      /* go ahead with interrupted continuation line */
-      job = 3;
+    /*     error in an external (niv), during compilation (comp) or in a pause */
+    if (Pt != 0)
+    {
+        if (Rstk[Pt] == 503 && C2F(iop).rio == C2F(iop).rte)
+        {
+            C2F(com).comp[0] = 0;
+            goto L12;
+        }
+        if (C2F(errgst).err1 != 0 && Rstk[Pt] == 502)   /* catched error while compiling */
+        {
+            goto L88;
+        }
+        if (C2F(errgst).err1 != 0 && Rstk[Pt] == 808)   /* catched error in a try */
+        {
+            goto L80;
+        }
     }
-    C2F(com).sym = eol;
-    goto L13;
-  } else if (iret == 3) {
-    job = 0;
-    goto L12;
-  } else if (iret == 4) {
-    return 0;
-  }
- L98:
-  C2F(basbrk).interruptible = TRUE;
-  /*     error recovery */
-  /* ------------------- */
-  imode = abs(C2F(errgst).errct) / 100000;
-  imode -= imode / 8 << 3;
-  if (imode == 3) {
-    C2F(com).fun = 99;
-    return 0;
-  }
 
-  /*     error in an external (niv), during compilation (comp) or in a pause */
-  if (Pt != 0) {
-    if (Rstk[Pt] == 503 && C2F(iop).rio == C2F(iop).rte) {
-      C2F(com).comp[0] = 0;
-      goto L12;
+    if (C2F(recu).niv > 0)   /*     error in an external */
+    {
+        C2F(com).fun = 99;
+        return 0;
+    }
+    else if (C2F(recu).paus > 0) /*     error in a  pause */
+    {
+        C2F(com).comp[0] = 0;
+        goto L5;
     }
-    if (C2F(errgst).err1 != 0 && Rstk[Pt] == 502) { /* catched error while compiling */
-      goto L88;
+    else if (Err > 0)
+    {
+        Pt = 0;
+        C2F(errgst).errct = -1;
+        C2F(errgst).errpt = 0;
+        C2F(com).comp[0] = 0;
+        goto L5;
     }
-    if (C2F(errgst).err1 != 0 && Rstk[Pt] == 808) { /* catched error in a try */
-      goto L80;
+    else
+    {
+        C2F(com).comp[0] = 0;
+        goto L5;
     }
-  }
 
-  if (C2F(recu).niv > 0) { /*     error in an external */
-    C2F(com).fun = 99;
-    return 0;
-  }
-  else if (C2F(recu).paus>0) {/*     error in a  pause */
-    C2F(com).comp[0] = 0;
-    goto L5;
-  }
-  else if (Err>0) {
-    Pt=0;
-    C2F(errgst).errct=-1;
-    C2F(errgst).errpt=0;
-    C2F(com).comp[0] = 0;
-    goto L5;
-  }
-  else
-    {
-      C2F(com).comp[0] = 0;
-      goto L5;
-    }
-
- L99:
-  SciError(22);
-  goto L1;
+L99:
+    SciError(22);
+    goto L1;
 
 }
 /*--------------------------------------------------------------------------*/
@@ -1474,51 +1879,51 @@ int C2F(parse)(void)
  */
 void handle_onprompt(int *where_)
 {
-  /* Initialized data */
-  /* onprompt[6] internal scilab code for %onprompt variable see C2F(cvname) */
-  static int onprompt[6] = {420943928,420878363,673720349,673720360,673720360,673720360 };
-
-  static int *Rstk = C2F(recu).rstk-1;
-  static int *Pstk = C2F(recu).pstk-1;
-  static int *Lstk = C2F(vstk).lstk-1;
-
-  *where_ = 0;
-  if (Pt > 0)
-    {
-      /* back from %onprompt */
-      C2F(errgst).errct = Pstk[Pt];
-      --Pt;
-      C2F(errgst).err2 = 0;
-      Top = 0;
-      Fin = 0;
-      C2F(com).fun = 0;
-    }
-  else
-    {
-      /* on prompt implicit execution */
-      C2F(com).fun = 0;
-      C2F(funs)(onprompt);
-      if (Err > 0) return;
-      if (C2F(com).fun <= 0 && Fin == 0) return;
-      /* %onprompt function exists */
-      Rhs = 0;
-      Lhs = 1;
-      ++Pt;
-      Pstk[Pt] = C2F(errgst).errct;
-      Rstk[Pt] = 710;
-      /* set error catch with mode continue */
-      C2F(errgst).errct = -100001;
-      C2F(errgst).errpt = 1;
-      if (C2F(com).fun > 0)
+    /* Initialized data */
+    /* onprompt[6] internal scilab code for %onprompt variable see C2F(cvname) */
+    static int onprompt[6] = {420943928, 420878363, 673720349, 673720360, 673720360, 673720360 };
+
+    static int *Rstk = C2F(recu).rstk - 1;
+    static int *Pstk = C2F(recu).pstk - 1;
+    static int *Lstk = C2F(vstk).lstk - 1;
+
+    *where_ = 0;
+    if (Pt > 0)
+    {
+        /* back from %onprompt */
+        C2F(errgst).errct = Pstk[Pt];
+        --Pt;
+        C2F(errgst).err2 = 0;
+        Top = 0;
+        Fin = 0;
+        C2F(com).fun = 0;
+    }
+    else
+    {
+        /* on prompt implicit execution */
+        C2F(com).fun = 0;
+        C2F(funs)(onprompt);
+        if (Err > 0) return;
+        if (C2F(com).fun <= 0 && Fin == 0) return;
+        /* %onprompt function exists */
+        Rhs = 0;
+        Lhs = 1;
+        ++Pt;
+        Pstk[Pt] = C2F(errgst).errct;
+        Rstk[Pt] = 710;
+        /* set error catch with mode continue */
+        C2F(errgst).errct = -100001;
+        C2F(errgst).errpt = 1;
+        if (C2F(com).fun > 0)
         {
-          /* %onprompt is a primitive *call* matfns */
-          *where_ = 1;
+            /* %onprompt is a primitive *call* matfns */
+            *where_ = 1;
         }
-      else
+        else
         {
-          /* %onprompt is a Scilab function *call*  macro */
-          C2F(com).fin = Lstk[Fin];
-          *where_ = 2;
+            /* %onprompt is a Scilab function *call*  macro */
+            C2F(com).fin = Lstk[Fin];
+            *where_ = 2;
         }
     }
 }
@@ -1526,43 +1931,43 @@ void handle_onprompt(int *where_)
 void C2F(parsecomment)(void)
 {
 
-  static int *Lstk    = C2F(vstk).lstk-1;
-  static int *Lin     = C2F(iop).lin-1;
-  static int *Lpt     = C2F(iop).lpt-1;
-  static int *Comp    = C2F(com).comp-1;
+    static int *Lstk    = C2F(vstk).lstk - 1;
+    static int *Lin     = C2F(iop).lin - 1;
+    static int *Lpt     = C2F(iop).lpt - 1;
+    static int *Comp    = C2F(com).comp - 1;
 
 
-  static int l, ll, lkp, l0,c1=1;
-  /* look for eol */
-  l0=Lpt[4]-1;
-  if( (Lin[l0]==slash) &&(Lin[l0-1]==slash)&(Lin[l0+1]==eol)) l0=l0+1;
+    static int l, ll, lkp, l0, c1 = 1;
+    /* look for eol */
+    l0 = Lpt[4] - 1;
+    if ( (Lin[l0] == slash) && (Lin[l0 - 1] == slash) & (Lin[l0 + 1] == eol)) l0 = l0 + 1;
 
-  l=l0;
-  while (Lin[l]!=eol) l++;
-  ll = l - l0;
-  if (Comp[1] == 0)
+    l = l0;
+    while (Lin[l] != eol) l++;
+    ll = l - l0;
+    if (Comp[1] == 0)
     {
-      /* ignore all characters up to the end */
+        /* ignore all characters up to the end */
     }
-  else
+    else
     {
-      /* compilation [30 number-of-char chars-vector] */
-      lkp = C2F(com).comp[0];
-      Err = (lkp + 2 + ll) / 2 + 1 - Lstk[Bot];
-      if (Err > 0)
+        /* compilation [30 number-of-char chars-vector] */
+        lkp = C2F(com).comp[0];
+        Err = (lkp + 2 + ll) / 2 + 1 - Lstk[Bot];
+        if (Err > 0)
         {
-          SciError(17);
-          return ;
+            SciError(17);
+            return ;
         }
-      *istk(lkp) = 31;
-      *istk(lkp+1) = ll;
-      C2F(icopy)(&ll, &(Lin[l0]), &c1, istk(lkp+2), &c1);
-      Comp[1] = lkp + 2 + ll;
-    }
-  Lpt[4] = l;
-  C2F(com).char1 = eol;
-  C2F(com).sym = eol;
-  return ;
+        *istk(lkp) = 31;
+        *istk(lkp + 1) = ll;
+        C2F(icopy)(&ll, &(Lin[l0]), &c1, istk(lkp + 2), &c1);
+        Comp[1] = lkp + 2 + ll;
+    }
+    Lpt[4] = l;
+    C2F(com).char1 = eol;
+    C2F(com).sym = eol;
+    return ;
 }
 /*--------------------------------------------------------------------------*/
 
index 06ffa84..18139fe 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Serge STEER
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -48,21 +48,21 @@ static int c__1 = 1;
 static int c__0 = 0;
 
 #define Pt (C2F(recu).pt)
-extern int C2F(stackp)(int *,int *);
-extern int C2F(eqid)(int *,int *);
-extern int C2F(bexec)(char *,int *,int *);
-extern int C2F(print)(int *,int *,int *);
+extern int C2F(stackp)(int *, int *);
+extern int C2F(eqid)(int *, int *);
+extern int C2F(bexec)(char *, int *, int *);
+extern int C2F(print)(int *, int *, int *);
 extern int C2F(createref1)(int *);
-extern int C2F(command)(int *,int *);
-extern int C2F(mkindx)(int *,int *);
-extern int C2F(whatln)(int *,int *, int *,int *,int *,int *);
-extern int C2F(prompt)(int *,int *);
+extern int C2F(command)(int *, int *);
+extern int C2F(mkindx)(int *, int *);
+extern int C2F(whatln)(int *, int *, int *, int *, int *, int *);
+extern int C2F(prompt)(int *, int *);
 extern int C2F(seteol)(void);
 extern int C2F(name2var)(int *);
 extern int C2F(getendian)(void);
 extern int C2F(nextj)(int *, int *);
-extern int C2F(isafunptr)(int *, int *,int *,int *);
-extern int C2F(varfunptr)(int *, int *,int *);
+extern int C2F(isafunptr)(int *, int *, int *, int *);
+extern int C2F(varfunptr)(int *, int *, int *);
 extern int C2F(defmat)(void);
 extern int C2F(clunit)(int *, char *, int *);
 extern int C2F(istrue)(int *);
@@ -70,1093 +70,1364 @@ extern int C2F(istrue)(int *);
 int Istrue(int n)
 {
 
-  return C2F(istrue)(&n);
+    return C2F(istrue)(&n);
 }
 
 
 
 int C2F(run)(void)
 {
-  /* Initialized data */
-  /* Fortran common data equivalence */
-  static int    *Ids  = C2F(recu).ids-nsiz-1;
-  static int    *Rstk = C2F(recu).rstk-1;
-  static int    *Pstk = C2F(recu).pstk-1;
-  static int    *Lstk = C2F(vstk).lstk-1;
-  static int    *Lin  = C2F(iop).lin-1;
-  static int    *Lpt  = C2F(iop).lpt-1;
-  static int  *Infstk = C2F(vstk).infstk-1;
-  static int    *Lct = C2F(iop).lct - 1;
-
-  static double equiv_4[1];
+    /* Initialized data */
+    /* Fortran common data equivalence */
+    static int    *Ids  = C2F(recu).ids - nsiz - 1;
+    static int    *Rstk = C2F(recu).rstk - 1;
+    static int    *Pstk = C2F(recu).pstk - 1;
+    static int    *Lstk = C2F(vstk).lstk - 1;
+    static int    *Lin  = C2F(iop).lin - 1;
+    static int    *Lpt  = C2F(iop).lpt - 1;
+    static int  *Infstk = C2F(vstk).infstk - 1;
+    static int    *Lct = C2F(iop).lct - 1;
+
+    static double equiv_4[1];
 #define x (equiv_4)
 #define ix ((int *)equiv_4)
 
-  /* Local variables */
-  static int ifin, iesc, ibpt, tref, ifun;
-  static int ierr, ndel;
-  static int j, k, m, n, p, r, t;
-  static int lname, imode;
-  static int l0;
-  static int id[6], lc, kc, nc, lb, li, il, io, ip;
-  static int ok;
-  static int ir, lr, op;
-  static int mm1;
-  static int nn1;
-  static int nentry, lastindpos;
-  static int lcc, kid, nlr;
-  int i2;
-  static char tmp[80]; /*string for sending debug messages*/
-  tref = 0;
-
-  /* set debug trace mode on  */
-  if (C2F(iop).ddt == 4) {
-    sprintf(tmp," run pt:%d rstk(pt):%d",Pt,Rstk[Pt]);
-    C2F(basout)(&io, &C2F(iop).wte,tmp, (long)strlen(tmp));
-  }
-
-  l0 = 0;
-  nc = 0;
-
-  if (Ptover(0)) {
-    return 0;
-  }
-
-  r = Rstk[Pt];
-  ir = r / 100;
-  if (ir != 6) {
-    goto L1;
-  }
-  switch ((int)(r - 600)) {
-  case 1:  goto L33;
-  case 2:  goto L66;
-  case 3:  goto L82;
-  case 4:  goto L92;
-  case 5:  goto L58;
-  case 6:  goto L116;
-  case 7:  goto L250;
-  case 8:  /*Rstk[Pt]=1101;*/ goto L254;
-  case 9:  /*Rstk[Pt]=1101;*/ goto L240;
-
-  }
-
-
- L1: /*  Start execution of a "compiled" function  */
-  tref = clock();
-  C2F(errgst).toperr = Top;
-  k = Lpt[1] - (13+nsiz);
-  lc = Lin[k + 7];
-
- L10: /* Current opcode finished handle error, interruptions,...*/
-  if (Err > 0)  return 0;
-
-  if (C2F(basbrk).iflag) {
-    C2F(basbrk).iflag = FALSE;
-    goto L91;
-  }
-  if (C2F(errgst).err1 != 0 ) {
-    if ((C2F(errgst).errpt >0) && (Pt >= C2F(errgst).errpt) && (Rstk[C2F(errgst).errpt]==618)) {
-      /* error under try catch */
-      for (p=Pt;p>=C2F(errgst).errpt;p--) {
-       if (Rstk[p]<=502 && Rstk[p]>=501){
-         k = Lpt[1] - (13+nsiz);
-         Lpt[1] = Lin[k+1];
-         Lpt[2] = Lin[k+2];
-         Lpt[3] = Lin[k+3];
-         Lpt[4] = Lin[k+4];
-         Lpt[6] = k;
-         C2F(recu).macr--;
-         if (Rstk[p-1]==909) Top--; /* execed function*/
-       }
-       /* may it will be necessary to take care of for loop variables */
-      }
-      Pt = C2F(errgst).errpt;
-      goto L271;
-    }
-   /* errcatch in exec(function,'errcatch')
-     * or catched error in an external
-     * or errcatch in execstr('foo()','errcatch') */
-    if (C2F(errgst).errcatch == 0) goto L999;
-    /* error under errcatch(....,'continue') */
-
-       /* @TODO : replace 903 909 1001 1002 by a #define ... */
-    if (Rstk[Pt - 1] == 903 || Rstk[Pt - 1] == 909 || Rstk[Pt] == 1001 || Rstk[Pt] == 1002)  return 0;
-  }
-  if (lc - l0 == nc) { /* is current opcodes block (if, for, .. structure) finished ?*/
-    /* yes */
-    r = Rstk[Pt] - 610;
-    switch (r) {
-    case 1:  goto L46;
-    case 2:  goto L47;
-    case 3:  goto L52;
-    case 4:  goto L56;
-    case 5:  goto L57;
-    case 6:  goto L61;
-    case 8:  goto L271;
-    case 9:  goto L272;
-    }
-  }
-
-
- L11:   /*  next opcode */
-  op = *istk(lc);
-  /*  label 49 retains to be able issue a compatibility error message */
-  switch ((int)op) { /* step to corresponding part*/
-  case 1:  goto L20;
-  case 2:  goto L25;
-  case 3:  goto L40;
-  case 4:  goto L42;
-  case 5:  goto L30;
-  case 6:  goto L41;
-  case 7:  goto L45;
-  case 8:  goto L49;
-  case 9:  goto L49;
-  case 10:  goto L55;
-  case 11:  goto L270;/* try */
-  case 12:  goto L90;
-  case 13:  goto L95;
-  case 14:  goto L100;
-  case 15:  goto L105;
-  case 16:  goto L110;
-  case 17:  goto L120;
-  case 18:  goto L130;
-  case 19:  goto L140;
-  case 20:  goto L150;
-  case 21:  goto L160;
-  case 22:  goto L170;
-  case 23:  goto L180;
-  case 24:  goto L190;
-  case 25:  goto L200;
-  case 26:  goto L210;
-  case 27:  goto L220;
-  case 28:  goto L97;
-  case 29:  goto L230;
-  case 30:  goto L260;
-  case 31:  goto L261;
-
-  }
-  if (op >= 100) {
-    /* ------------- primitive call (matfn's) -------------- */
-    goto L80;
-  }
-
-  if (op == 99) {
-    /* ------------- return -------------------------------- */
-    /* check if "return" occured in a for loop */
-    p = Pt + 1;
-  L12:
-    --p;
-    if (Rstk[p] == 612) {
-      /* yes, remove the for loop variable */
-      --Top;
-      goto L12;
-    } else if (Rstk[p] != 501) {
-      goto L12;
+    /* Local variables */
+    static int ifin, iesc, ibpt, tref, ifun;
+    static int ierr, ndel;
+    static int j, k, m, n, p, r, t;
+    static int lname, imode;
+    static int l0;
+    static int id[6], lc, kc, nc, lb, li, il, io, ip;
+    static int ok;
+    static int ir, lr, op;
+    static int mm1;
+    static int nn1;
+    static int nentry, lastindpos;
+    static int lcc, kid, nlr;
+    int i2;
+    static char tmp[80]; /*string for sending debug messages*/
+    tref = 0;
+
+    /* set debug trace mode on  */
+    if (C2F(iop).ddt == 4)
+    {
+        sprintf(tmp, " run pt:%d rstk(pt):%d", Pt, Rstk[Pt]);
+        C2F(basout)(&io, &C2F(iop).wte, tmp, (long)strlen(tmp));
     }
-    Fin = 2;
-    goto L998;
-  }
-
-  if (op <= 0) {
-    /* ------------- nop ---------------------------------- */
-    lc += *istk(1 + lc);
-    goto L11;
-  }
-
-  SciError(60);
-  return 0;
-
- L20: /* stackp, retplaced by assign */
-  /*     retained for 2.7 and earlier versions compatibility */
-  C2F(stackp)(istk(1 + lc), &c__0);
-  /*     store info if printing is required see code 22 */
-  C2F(putid)(id, istk(1 + lc));
-  kid = Fin;
-  lc += 7;
-  goto L10;
-
- L25: /* stackg */
-  Fin = *istk(7 + lc);
-  ifin = Fin;
-  Rhs = *istk(8 + lc);
-  lname = lc + 1;
- L26:
-  C2F(stackg)(istk(lname));
-  if (Err > 0||C2F(errgst).err1 > 0) {
-    lc += 9;
-    goto L10;
-  }
-  if (Fin != 0) {/* variable exists */
-    goto L28;
-  }
-  C2F(funs)(istk(1 + lc)); /* check if it is a function */
-  if (Err > 0||C2F(errgst).err1 > 0) {
-    lc += 9;
+
+    l0 = 0;
+    nc = 0;
+
+    if (Ptover(0))
+    {
+        return 0;
+    }
+
+    r = Rstk[Pt];
+    ir = r / 100;
+    if (ir != 6)
+    {
+        goto L1;
+    }
+    switch ((int)(r - 600))
+    {
+        case 1:
+            goto L33;
+        case 2:
+            goto L66;
+        case 3:
+            goto L82;
+        case 4:
+            goto L92;
+        case 5:
+            goto L58;
+        case 6:
+            goto L116;
+        case 7:
+            goto L250;
+        case 8:  /*Rstk[Pt]=1101;*/
+            goto L254;
+        case 9:  /*Rstk[Pt]=1101;*/
+            goto L240;
+
+    }
+
+
+L1: /*  Start execution of a "compiled" function  */
+    tref = clock();
+    C2F(errgst).toperr = Top;
+    k = Lpt[1] - (13 + nsiz);
+    lc = Lin[k + 7];
+
+L10: /* Current opcode finished handle error, interruptions,...*/
+    if (Err > 0)  return 0;
+
+    if (C2F(basbrk).iflag)
+    {
+        C2F(basbrk).iflag = FALSE;
+        goto L91;
+    }
+    if (C2F(errgst).err1 != 0 )
+    {
+        if ((C2F(errgst).errpt > 0) && (Pt >= C2F(errgst).errpt) && (Rstk[C2F(errgst).errpt] == 618))
+        {
+            /* error under try catch */
+            for (p = Pt; p >= C2F(errgst).errpt; p--)
+            {
+                if (Rstk[p] <= 502 && Rstk[p] >= 501)
+                {
+                    k = Lpt[1] - (13 + nsiz);
+                    Lpt[1] = Lin[k + 1];
+                    Lpt[2] = Lin[k + 2];
+                    Lpt[3] = Lin[k + 3];
+                    Lpt[4] = Lin[k + 4];
+                    Lpt[6] = k;
+                    C2F(recu).macr--;
+                    if (Rstk[p - 1] == 909) Top--; /* execed function*/
+                }
+                /* may it will be necessary to take care of for loop variables */
+            }
+            Pt = C2F(errgst).errpt;
+            goto L271;
+        }
+        /* errcatch in exec(function,'errcatch')
+          * or catched error in an external
+          * or errcatch in execstr('foo()','errcatch') */
+        if (C2F(errgst).errcatch == 0) goto L999;
+        /* error under errcatch(....,'continue') */
+
+        /* @TODO : replace 903 909 1001 1002 by a #define ... */
+        if (Rstk[Pt - 1] == 903 || Rstk[Pt - 1] == 909 || Rstk[Pt] == 1001 || Rstk[Pt] == 1002)  return 0;
+    }
+    if (lc - l0 == nc)   /* is current opcodes block (if, for, .. structure) finished ?*/
+    {
+        /* yes */
+        r = Rstk[Pt] - 610;
+        switch (r)
+        {
+            case 1:
+                goto L46;
+            case 2:
+                goto L47;
+            case 3:
+                goto L52;
+            case 4:
+                goto L56;
+            case 5:
+                goto L57;
+            case 6:
+                goto L61;
+            case 8:
+                goto L271;
+            case 9:
+                goto L272;
+        }
+    }
+
+
+L11:   /*  next opcode */
+    op = *istk(lc);
+    /*  label 49 retains to be able issue a compatibility error message */
+    switch ((int)op)   /* step to corresponding part*/
+    {
+        case 1:
+            goto L20;
+        case 2:
+            goto L25;
+        case 3:
+            goto L40;
+        case 4:
+            goto L42;
+        case 5:
+            goto L30;
+        case 6:
+            goto L41;
+        case 7:
+            goto L45;
+        case 8:
+            goto L49;
+        case 9:
+            goto L49;
+        case 10:
+            goto L55;
+        case 11:
+            goto L270;/* try */
+        case 12:
+            goto L90;
+        case 13:
+            goto L95;
+        case 14:
+            goto L100;
+        case 15:
+            goto L105;
+        case 16:
+            goto L110;
+        case 17:
+            goto L120;
+        case 18:
+            goto L130;
+        case 19:
+            goto L140;
+        case 20:
+            goto L150;
+        case 21:
+            goto L160;
+        case 22:
+            goto L170;
+        case 23:
+            goto L180;
+        case 24:
+            goto L190;
+        case 25:
+            goto L200;
+        case 26:
+            goto L210;
+        case 27:
+            goto L220;
+        case 28:
+            goto L97;
+        case 29:
+            goto L230;
+        case 30:
+            goto L260;
+        case 31:
+            goto L261;
+
+    }
+    if (op >= 100)
+    {
+        /* ------------- primitive call (matfn's) -------------- */
+        goto L80;
+    }
+
+    if (op == 99)
+    {
+        /* ------------- return -------------------------------- */
+        /* check if "return" occurred in a for loop */
+        p = Pt + 1;
+L12:
+        --p;
+        if (Rstk[p] == 612)
+        {
+            /* yes, remove the for loop variable */
+            --Top;
+            goto L12;
+        }
+        else if (Rstk[p] != 501)
+        {
+            goto L12;
+        }
+        Fin = 2;
+        goto L998;
+    }
+
+    if (op <= 0)
+    {
+        /* ------------- nop ---------------------------------- */
+        lc += *istk(1 + lc);
+        goto L11;
+    }
+
+    SciError(60);
+    return 0;
+
+L20: /* stackp, retplaced by assign */
+    /*     retained for 2.7 and earlier versions compatibility */
+    C2F(stackp)(istk(1 + lc), &c__0);
+    /*     store info if printing is required see code 22 */
+    C2F(putid)(id, istk(1 + lc));
+    kid = Fin;
+    lc += 7;
     goto L10;
-  }
-  if (C2F(com).fun != -2) {
-    C2F(putid)(&Ids[1 +(Pt + 1) * nsiz ], istk(1 + lc));
-    if (C2F(com).fun == 0) {
-      /* the search variable is neither a regular variable nor a function in a librar */
-      /* it may be a simple variable in a lib */
-
-      C2F(stackg)(istk(lname));
-      if (Err > 0||C2F(errgst).err1 > 0) {
-       lc += 9;
-       goto L10;
-      }
-      if (Fin==0) {
-        SciError(4);
-        if (Err > 0||C2F(errgst).err1 > 0) {
-          lc += 9;
-          goto L10;
+
+L25: /* stackg */
+    Fin = *istk(7 + lc);
+    ifin = Fin;
+    Rhs = *istk(8 + lc);
+    lname = lc + 1;
+L26:
+    C2F(stackg)(istk(lname));
+    if (Err > 0 || C2F(errgst).err1 > 0)
+    {
+        lc += 9;
+        goto L10;
+    }
+    if (Fin != 0)  /* variable exists */
+    {
+        goto L28;
+    }
+    C2F(funs)(istk(1 + lc)); /* check if it is a function */
+    if (Err > 0 || C2F(errgst).err1 > 0)
+    {
+        lc += 9;
+        goto L10;
+    }
+    if (C2F(com).fun != -2)
+    {
+        C2F(putid)(&Ids[1 + (Pt + 1) * nsiz ], istk(1 + lc));
+        if (C2F(com).fun == 0)
+        {
+            /* the search variable is neither a regular variable nor a function in a librar */
+            /* it may be a simple variable in a lib */
+
+            C2F(stackg)(istk(lname));
+            if (Err > 0 || C2F(errgst).err1 > 0)
+            {
+                lc += 9;
+                goto L10;
+            }
+            if (Fin == 0)
+            {
+                SciError(4);
+                if (Err > 0 || C2F(errgst).err1 > 0)
+                {
+                    lc += 9;
+                    goto L10;
+                }
+            }
+
         }
-      }
-
-    } else {
-      /* referenced name was function at compile time it is now a
-       * primitive. Modify the code for further use */
-      if (ifin != -4 && ifin != 0) {
-       /* function call */
-       /* change current  opcode to nop */
-       *istk(lc) = 0;
-       *istk(1 + lc) = 9;
-       lc += 9;
-       /* change the following opcode to matfn opcode */
-       op = C2F(com).fun * 100;
-       *istk(lc) = op;
-       *istk(1 + lc) = *istk(2 + lc) - 1;
-       *istk(2 + lc) = *istk(3 + lc);
-       *istk(3 + lc) = Fin;
-       goto L80;
-      } else {
-       /* only reference to a function */
-       /* stackg opcode replaced by varfun opcode */
-       *istk(lc) = 27;
-       *istk(1 + lc) = C2F(com).fun;
-       *istk(2 + lc) = Fin;
-       C2F(putid)(istk(3 + lc), &Ids[1 + (Pt + 1) * nsiz]);
-       goto L10;
-      }
+        else
+        {
+            /* referenced name was function at compile time it is now a
+             * primitive. Modify the code for further use */
+            if (ifin != -4 && ifin != 0)
+            {
+                /* function call */
+                /* change current  opcode to nop */
+                *istk(lc) = 0;
+                *istk(1 + lc) = 9;
+                lc += 9;
+                /* change the following opcode to matfn opcode */
+                op = C2F(com).fun * 100;
+                *istk(lc) = op;
+                *istk(1 + lc) = *istk(2 + lc) - 1;
+                *istk(2 + lc) = *istk(3 + lc);
+                *istk(3 + lc) = Fin;
+                goto L80;
+            }
+            else
+            {
+                /* only reference to a function */
+                /* stackg opcode replaced by varfun opcode */
+                *istk(lc) = 27;
+                *istk(1 + lc) = C2F(com).fun;
+                *istk(2 + lc) = Fin;
+                C2F(putid)(istk(3 + lc), &Ids[1 + (Pt + 1) * nsiz]);
+                goto L10;
+            }
+        }
+        lc += 9;
+        goto L10;
+    }
+    Fin = *istk(7 + lc);
+    goto L26;
+L28:
+    if (Rhs == 0 && ((*istk(7 + lc) == -2) || (*istk(7 + lc) == -1)) && Fin == -1)
+    {
+        lc += 9;
+
+        if (*istk(7 + lc - 9) == -2)
+        {
+
+            /* instruction reduced to <name> with name not a function, replace */
+            /* next two op code by a single store */
+            /* skip extract op-code <5 3 1 1> */
+            if (*istk(lc) != 5 || *istk(1 + lc) != 3)
+            {
+                strcpy(C2F(cha1).buf, _("Unexpected opcode, please report into the Scilab bug tracker."));
+                SciError(9999);
+                return 0;
+            }
+            lc += 4;
+        }
+        /* skip assignment op_code <29 43 ans 0> */
+        if (*istk(lc) != 29)
+        {
+            strcpy(C2F(cha1).buf, _("Unexpected opcode, please report into the Scilab bug tracker."));
+            SciError(9999);
+            return 0;
+        }
+        lc += 10;
+        /* store */
+        Rhs = 1;
+        C2F(ref2val)();
+        C2F(stackp)(istk(lname), &c__0);
+        if (Err > 0 || C2F(errgst).err1 > 0)
+        {
+            goto L10;
+        }
+        goto L10;
     }
     lc += 9;
+    if (Fin > 0)
+    {
+        goto L65;
+    }
     goto L10;
-  }
-  Fin = *istk(7 + lc);
-  goto L26;
- L28:
-  if (Rhs == 0 && ((*istk(7 + lc) == -2)||(*istk(7 + lc) == -1)) && Fin == -1) {
-    lc += 9;
 
-    if (*istk(7 + lc-9) == -2) {
-
-      /* instruction reduced to <name> with name not a function, replace */
-      /* next two op code by a single store */
-      /* skip extract op-code <5 3 1 1> */
-      if (*istk(lc) != 5 || *istk(1 + lc) != 3) {
-       strcpy(C2F(cha1).buf,_("Unexpected opcode, please report into the Scilab bug tracker."));
-       SciError(9999);
-       return 0;
-      }
-      lc += 4;
-    }
-    /* skip assignment op_code <29 43 ans 0> */
-    if (*istk(lc) != 29) {
-      strcpy(C2F(cha1).buf,_("Unexpected opcode, please report into the Scilab bug tracker."));
-      SciError(9999);
-      return 0;
-    }
-    lc += 10;
-    /* store */
-    Rhs = 1;
-    C2F(ref2val)();
-    C2F(stackp)(istk(lname), &c__0);
-    if (Err > 0 ||C2F(errgst).err1 > 0) {
-      goto L10;
+    /*     allops */
+L30:
+    Fin = *istk(1 + lc);
+    Rhs = *istk(2 + lc);
+    Lhs = *istk(3 + lc);
+    lc += 4;
+    if (Fin == extrac)
+    {
+        C2F(isafunptr)(&Top, id, &ifun, &ifin);
+        if (ifun != 0)
+        {
+            --Top;
+            --Rhs;
+            C2F(com).fun = ifun;
+            Fin = ifin;
+            C2F(adjustrhs)();
+            goto L81;
+        }
     }
-    goto L10;
-  }
-  lc += 9;
-  if (Fin > 0) {
-    goto L65;
-  }
-  goto L10;
-
-  /*     allops */
- L30:
-  Fin = *istk(1 + lc);
-  Rhs = *istk(2 + lc);
-  Lhs = *istk(3 + lc);
-  lc += 4;
-  if (Fin == extrac) {
-    C2F(isafunptr)(&Top, id, &ifun, &ifin);
-    if (ifun != 0) {
-      --Top;
-      --Rhs;
-      C2F(com).fun = ifun;
-      Fin = ifin;
-      C2F(adjustrhs)();
-      goto L81;
-    }
-  }
-  if (Fin == extrac || Fin == insert) {
-    C2F(adjustrhs)();
-  }
-  ++Pt;
-  Rstk[Pt] = 601;
-  Ids[1 + Pt * nsiz] = tref;
-  Ids[3 + Pt * nsiz] = l0;
-  Ids[4 + Pt * nsiz] = nc;
-  C2F(recu).icall = 4;
-  /*     pstk(pt) is used by allops to get the name of output variable (insertion) */
-  Pstk[Pt] = lc;
-  /*     *call* allops */
-  return 0;
- L33:
-  tref = Ids[1 + Pt * nsiz];
-  l0 = Ids[3 + Pt *  nsiz];
-  nc = Ids[4 + Pt *  nsiz];
-  lc = Pstk[Pt];
-  --Pt;
-  goto L70;
-
-  /*     string */
- L40:
-  n = *istk(1 + lc);
-  if (C2F(errgst).err1 <= 0) {
-    ++Top;
-    if (C2F(cresmat)("run", &Top, &c__1, &c__1, &n, 3L)) {
-      C2F(getsimat)("run", &Top, &Top, &mm1, &nn1, &c__1, &
-                   c__1, &lr, &nlr, 3L);
-      C2F(icopy)(&n, istk(2 + lc), &c__1, istk(lr), &c__1);
-    }
-  }
-  lc = lc + n + 2;
-  goto L10;
-
-  /*     num */
- L41:
-  if (C2F(errgst).err1 <= 0) {
-    if (C2F(getendian)() == 1) {
-      ix[0] = *istk(1 + lc);
-      ix[1] = *istk(2 + lc);
-    } else {
-      ix[1] = *istk(1 + lc);
-      ix[0] = *istk(2 + lc);
+    if (Fin == extrac || Fin == insert)
+    {
+        C2F(adjustrhs)();
     }
-    ++Top;
-    if (C2F(cremat)("run", &Top, &c__0, &c__1, &c__1, &lr, &lcc, 3L)) {
-      *stk(lr) = *x;
-    }
-  }
-  lc += 3;
-  goto L10;
-
- L42:
-  C2F(defmat)();
-  ++lc;
-  goto L10;
-
-  /*     for */
- L45:
-  nc = *istk(1 + lc);
-  lc += 2;
-  l0 = lc;
-  if (Ptover(1)) {
-    lc += nc;
-    lc = lc + nsiz + *istk(lc);
+    ++Pt;
+    Rstk[Pt] = 601;
+    Ids[1 + Pt * nsiz] = tref;
+    Ids[3 + Pt * nsiz] = l0;
+    Ids[4 + Pt * nsiz] = nc;
+    C2F(recu).icall = 4;
+    /*     pstk(pt) is used by allops to get the name of output variable (insertion) */
+    Pstk[Pt] = lc;
+    /*     *call* allops */
+    return 0;
+L33:
+    tref = Ids[1 + Pt * nsiz];
+    l0 = Ids[3 + Pt *  nsiz];
+    nc = Ids[4 + Pt *  nsiz];
+    lc = Pstk[Pt];
+    --Pt;
+    goto L70;
+
+    /*     string */
+L40:
+    n = *istk(1 + lc);
+    if (C2F(errgst).err1 <= 0)
+    {
+        ++Top;
+        if (C2F(cresmat)("run", &Top, &c__1, &c__1, &n, 3L))
+        {
+            C2F(getsimat)("run", &Top, &Top, &mm1, &nn1, &c__1, &
+                          c__1, &lr, &nlr, 3L);
+            C2F(icopy)(&n, istk(2 + lc), &c__1, istk(lr), &c__1);
+        }
+    }
+    lc = lc + n + 2;
     goto L10;
-  }
-  Rstk[Pt] = 611;
-  Ids[1 + Pt * nsiz] = l0;
-  Ids[2 + Pt * nsiz] = nc;
-  goto L10;
-
- L46:
-  nc = *istk(lc);
-  l0 = lc + 7;
-  if  (C2F(errgst).errcatch>=1 &&C2F(errgst).err1 > 0) {
-    /*an error occured in the loop variable expression evaluation, in 'continue' mode
-      skip all the for codes*/
-    lc = l0;
-    goto L48;
-  }
-  Rstk[Pt] = 612;
-  Pstk[Pt] = 0;
-  Ids[1 + Pt * nsiz] = l0;
-  Ids[2 + Pt * nsiz] = Lct[8];
-  Ids[3 + Pt * nsiz] = Top;
-  Ids[4 + Pt * nsiz] = C2F(errgst).toperr;
-  C2F(errgst).toperr = Top;
- L47:
-  lc = l0;
-  if (Top != Ids[3 + Pt * nsiz]) {
-    SciError(115);
-    goto L48;
-  }
-  C2F(nextj)(istk(1 + l0 - 7), &Pstk[Pt]);
-  if (Pstk[Pt] != 0) {
-    Lct[8] = Ids[2 + Pt * nsiz];
-    if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
+
+    /*     num */
+L41:
+    if (C2F(errgst).err1 <= 0)
+    {
+        if (C2F(getendian)() == 1)
+        {
+            ix[0] = *istk(1 + lc);
+            ix[1] = *istk(2 + lc);
+        }
+        else
+        {
+            ix[1] = *istk(1 + lc);
+            ix[0] = *istk(2 + lc);
+        }
+        ++Top;
+        if (C2F(cremat)("run", &Top, &c__0, &c__1, &c__1, &lr, &lcc, 3L))
+        {
+            *stk(lr) = *x;
+        }
+    }
+    lc += 3;
     goto L10;
-  }
-  /*     fin for */
- L48:
-  lc += nc;
-  C2F(errgst).toperr = Ids[4 + Pt * nsiz];
-  --Pt;
-  goto L70;
-
-  /*     Very old if - while (removed) */
- L49:
-  if (*istk(1 + lc) < 0) {
-    goto L55;
-  }
- L52:
-  strcpy(C2F(cha1).buf, _("Functions compiled with very old versions are no more handled."));
-  SciError(997);
-  return 0;
-
-  /*     "select- case"  or  "if elseif else end" */
- L55:
-  if (Ptover(1)) {
-    lc += (i2 = *istk(1 + lc), abs(i2));
+
+L42:
+    C2F(defmat)();
+    ++lc;
     goto L10;
-  }
-  Pstk[Pt] = lc;
-  Ids[3 + Pt * nsiz] = C2F(errgst).toperr;
-
- L551:
-  if (*istk(1 + lc) > 0) {
-    /*    first expression */
-    nc = *istk(3 + lc);
-    Rstk[Pt] = 614;
-    lc += 4;
+
+    /*     for */
+L45:
+    nc = *istk(1 + lc);
+    lc += 2;
     l0 = lc;
+    if (Ptover(1))
+    {
+        lc += nc;
+        lc = lc + nsiz + *istk(lc);
+        goto L10;
+    }
+    Rstk[Pt] = 611;
     Ids[1 + Pt * nsiz] = l0;
     Ids[2 + Pt * nsiz] = nc;
     goto L10;
-  } else {
-    lc += 4;
-  }
-
-  /*     expri */
- L56:
-  if  (C2F(errgst).errcatch>=1 && C2F(errgst).err1 > 0 ) {
-    /*an error occured in the first expression evaluation, in 'continue' mode
-      skip all the control structure codes*/
-    goto L62;
-  }
-
-  if (*istk(Pstk[Pt]) == 10) {
-    /*     copy first expression */
-    i2 = Top + 1;
-    if (! C2F(vcopyobj)("run", &Top, &i2,3L)) {
-      return 0;
+
+L46:
+    nc = *istk(lc);
+    l0 = lc + 7;
+    if  (C2F(errgst).errcatch >= 1 && C2F(errgst).err1 > 0)
+    {
+        /*an error occurred in the loop variable expression evaluation, in 'continue' mode
+          skip all the for codes*/
+        lc = l0;
+        goto L48;
     }
-    ++Top;
-  }
-
-  nc = *istk(lc);
-  Rstk[Pt] = 615;
-  ++lc;
-  l0 = lc;
-  Ids[1 + Pt * nsiz] = l0;
-  Ids[2 + Pt * nsiz] = nc;
-  goto L10;
-
-  /*     instructions i */
- L57:
-  if  (C2F(errgst).errcatch>=1 && C2F(errgst).err1 > 0 ) {
-    /*an error occured in the first expression evaluation, in 'continue' mode
-      skip all the control structure codes*/
-    goto L62;
-  }
-  if (nc == 0) {
-    /* if nc=0 the instruction correspond to the else */
-    ok = TRUE;
-    if (*istk(Pstk[Pt]) == 10) {
-      --Top;
-    }
-    goto L59;
-  } else if (*istk(Pstk[Pt]) != 10) {
-    ok = Istrue(1);
-    if (Err > 0 || C2F(errgst).err1 > 0) {
-      goto L10;
-    }
-    goto L59;
-  }
-  ++Pt;
-  Fin = equal;
-  Rhs = 2;
-  Lhs = 1;
-  Rstk[Pt] = 605;
-  C2F(recu).icall = 4;
-  Pstk[Pt] = lc;
-  Ids[1 + Pt * nsiz] = tref;
-  /*     *call* allops(equal) */
-  return 0;
-
- L58:
-  if  (C2F(errgst).errcatch>=1 && C2F(errgst).err1 > 0 ) {
-    /*an error occured in the first expression evaluation, in 'continue' mode
-      skip all the control structure codes*/
-    goto L62;
-  }
-
-  lc = Pstk[Pt];
-  tref = Ids[1 + Pt * nsiz];
-  --Pt;
-  ok = Istrue(1);
-  if (Err > 0 || C2F(errgst).err1 > 0) {
-    goto L10;
-  }
- L59:
-  nc = *istk(lc);
-  C2F(errgst).toperr = Top;
-  if (ok) {
-    ++lc;
-    if (*istk(Pstk[Pt]) == 10) {
-      --Top;
+    Rstk[Pt] = 612;
+    Pstk[Pt] = 0;
+    Ids[1 + Pt * nsiz] = l0;
+    Ids[2 + Pt * nsiz] = Lct[8];
+    Ids[3 + Pt * nsiz] = Top;
+    Ids[4 + Pt * nsiz] = C2F(errgst).toperr;
+    C2F(errgst).toperr = Top;
+L47:
+    lc = l0;
+    if (Top != Ids[3 + Pt * nsiz])
+    {
+        SciError(115);
+        goto L48;
+    }
+    C2F(nextj)(istk(1 + l0 - 7), &Pstk[Pt]);
+    if (Pstk[Pt] != 0)
+    {
+        Lct[8] = Ids[2 + Pt * nsiz];
+        if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
+        goto L10;
+    }
+    /*     fin for */
+L48:
+    lc += nc;
+    C2F(errgst).toperr = Ids[4 + Pt * nsiz];
+    --Pt;
+    goto L70;
+
+    /*     Very old if - while (removed) */
+L49:
+    if (*istk(1 + lc) < 0)
+    {
+        goto L55;
+    }
+L52:
+    strcpy(C2F(cha1).buf, _("Functions compiled with very old versions are no more handled."));
+    SciError(997);
+    return 0;
+
+    /*     "select- case"  or  "if elseif else end" */
+L55:
+    if (Ptover(1))
+    {
+        lc += (i2 = *istk(1 + lc), abs(i2));
+        goto L10;
     }
+    Pstk[Pt] = lc;
+    Ids[3 + Pt * nsiz] = C2F(errgst).toperr;
+
+L551:
+    if (*istk(1 + lc) > 0)
+    {
+        /*    first expression */
+        nc = *istk(3 + lc);
+        Rstk[Pt] = 614;
+        lc += 4;
+        l0 = lc;
+        Ids[1 + Pt * nsiz] = l0;
+        Ids[2 + Pt * nsiz] = nc;
+        goto L10;
+    }
+    else
+    {
+        lc += 4;
+    }
+
+    /*     expri */
+L56:
+    if  (C2F(errgst).errcatch >= 1 && C2F(errgst).err1 > 0 )
+    {
+        /*an error occurred in the first expression evaluation, in 'continue' mode
+          skip all the control structure codes*/
+        goto L62;
+    }
+
+    if (*istk(Pstk[Pt]) == 10)
+    {
+        /*     copy first expression */
+        i2 = Top + 1;
+        if (! C2F(vcopyobj)("run", &Top, &i2, 3L))
+        {
+            return 0;
+        }
+        ++Top;
+    }
+
+    nc = *istk(lc);
+    Rstk[Pt] = 615;
+    ++lc;
     l0 = lc;
     Ids[1 + Pt * nsiz] = l0;
     Ids[2 + Pt * nsiz] = nc;
-    Rstk[Pt] = 616;
-    if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
-    goto L10;
-  } else {
-    if (*istk(Pstk[Pt]) == 9) {
-      goto L62;
-    }
-    lc = lc + nc + 1;
-    goto L56;
-  }
-
- L61:
-  /*     fin if while select/case */
-  l0 = Pstk[Pt];
-  if (*istk(Pstk[Pt]) == 9) {
-    lc = l0 + 4;
-    goto L56;
-  }
- L62:
-  l0 = Pstk[Pt];
-  lc = l0 + (i2 = *istk(1 + l0), abs(i2));
-  C2F(errgst).toperr = Ids[3 + Pt * nsiz];
-  --Pt;
-  goto L70;
-
-  /*     macro */
- L65:
-  i2 = *istk(2 + lc) - 1;
-  Rhs = Max(i2,0);
-  C2F(adjustrhs)();
-  Lhs = *istk(3 + lc);
-
-  lc += 4;
-
-  if (Ptover(1)) {
-    goto L10;
-  }
-  Rstk[Pt] = 602;
-  Pstk[Pt] = lc;
-  /*  Ids[1 + Pt * nsiz] = C2F(dbg).wmac; *//*moved into macro.f*/
-  Ids[2 + Pt * nsiz] = tref;
-  Ids[3 + Pt * nsiz] = l0;
-  Ids[4 + Pt * nsiz] = nc;
-  C2F(recu).icall = 5;
-  C2F(com).fun = 0;
-  /*     *call* macro */
-  return 0;
- L66:
-  lc = Pstk[Pt];
-  /*C2F(dbg).wmac = Ids[1 + Pt * nsiz];*//*moved into macro.f*/
-  tref = Ids[2 + Pt * nsiz];
-  l0 = Ids[3 + Pt * nsiz];
-  nc = Ids[4 + Pt * nsiz];
-  --Pt;
-  goto L70;
-
- L70:
-  /* re entering run to continue macro evaluation */
-  if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
-
- L71:
-  /* reset proper values for l0 and nc if a control structure had been escaped*/
-  r = Rstk[Pt] - 610;
-  switch ((int)r) {
-  case 1:
-    l0 = Ids[1 + Pt * nsiz];
-    nc = Ids[2 + Pt * nsiz];
     goto L10;
-  case 2: /* back to a for */
-    j = Pstk[Pt];
-    l0 = Ids[1 + Pt * nsiz];
-    nc = *istk(l0 - 7);
+
+    /*     instructions i */
+L57:
+    if  (C2F(errgst).errcatch >= 1 && C2F(errgst).err1 > 0 )
+    {
+        /*an error occurred in the first expression evaluation, in 'continue' mode
+          skip all the control structure codes*/
+        goto L62;
+    }
+    if (nc == 0)
+    {
+        /* if nc=0 the instruction correspond to the else */
+        ok = TRUE;
+        if (*istk(Pstk[Pt]) == 10)
+        {
+            --Top;
+        }
+        goto L59;
+    }
+    else if (*istk(Pstk[Pt]) != 10)
+    {
+        ok = Istrue(1);
+        if (Err > 0 || C2F(errgst).err1 > 0)
+        {
+            goto L10;
+        }
+        goto L59;
+    }
+    ++Pt;
+    Fin = equal;
+    Rhs = 2;
+    Lhs = 1;
+    Rstk[Pt] = 605;
+    C2F(recu).icall = 4;
+    Pstk[Pt] = lc;
+    Ids[1 + Pt * nsiz] = tref;
+    /*     *call* allops(equal) */
+    return 0;
+
+L58:
+    if  (C2F(errgst).errcatch >= 1 && C2F(errgst).err1 > 0 )
+    {
+        /*an error occurred in the first expression evaluation, in 'continue' mode
+          skip all the control structure codes*/
+        goto L62;
+    }
+
+    lc = Pstk[Pt];
+    tref = Ids[1 + Pt * nsiz];
+    --Pt;
+    ok = Istrue(1);
+    if (Err > 0 || C2F(errgst).err1 > 0)
+    {
+        goto L10;
+    }
+L59:
+    nc = *istk(lc);
+    C2F(errgst).toperr = Top;
+    if (ok)
+    {
+        ++lc;
+        if (*istk(Pstk[Pt]) == 10)
+        {
+            --Top;
+        }
+        l0 = lc;
+        Ids[1 + Pt * nsiz] = l0;
+        Ids[2 + Pt * nsiz] = nc;
+        Rstk[Pt] = 616;
+        if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
+        goto L10;
+    }
+    else
+    {
+        if (*istk(Pstk[Pt]) == 9)
+        {
+            goto L62;
+        }
+        lc = lc + nc + 1;
+        goto L56;
+    }
+
+L61:
+    /*     fin if while select/case */
+    l0 = Pstk[Pt];
+    if (*istk(Pstk[Pt]) == 9)
+    {
+        lc = l0 + 4;
+        goto L56;
+    }
+L62:
+    l0 = Pstk[Pt];
+    lc = l0 + (i2 = *istk(1 + l0), abs(i2));
+    C2F(errgst).toperr = Ids[3 + Pt * nsiz];
+    --Pt;
+    goto L70;
+
+    /*     macro */
+L65:
+    i2 = *istk(2 + lc) - 1;
+    Rhs = Max(i2, 0);
+    C2F(adjustrhs)();
+    Lhs = *istk(3 + lc);
+
+    lc += 4;
+
+    if (Ptover(1))
+    {
+        goto L10;
+    }
+    Rstk[Pt] = 602;
+    Pstk[Pt] = lc;
+    /*  Ids[1 + Pt * nsiz] = C2F(dbg).wmac; *//*moved into macro.f*/
+    Ids[2 + Pt * nsiz] = tref;
+    Ids[3 + Pt * nsiz] = l0;
+    Ids[4 + Pt * nsiz] = nc;
+    C2F(recu).icall = 5;
+    C2F(com).fun = 0;
+    /*     *call* macro */
+    return 0;
+L66:
+    lc = Pstk[Pt];
+    /*C2F(dbg).wmac = Ids[1 + Pt * nsiz];*//*moved into macro.f*/
+    tref = Ids[2 + Pt * nsiz];
+    l0 = Ids[3 + Pt * nsiz];
+    nc = Ids[4 + Pt * nsiz];
+    --Pt;
+    goto L70;
+
+L70:
+    /* re entering run to continue macro evaluation */
+    if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
+
+L71:
+    /* reset proper values for l0 and nc if a control structure had been escaped*/
+    r = Rstk[Pt] - 610;
+    switch ((int)r)
+    {
+        case 1:
+            l0 = Ids[1 + Pt * nsiz];
+            nc = Ids[2 + Pt * nsiz];
+            goto L10;
+        case 2: /* back to a for */
+            j = Pstk[Pt];
+            l0 = Ids[1 + Pt * nsiz];
+            nc = *istk(l0 - 7);
+            goto L10;
+        case 3: /* back to an if or a while */
+            li = Ids[1 + Pt * nsiz];
+            kc = Ids[2 + Pt * nsiz];
+            nc = *istk(2 + li);
+            l0 = li + 5;
+            if (kc == 0)
+            {
+                goto L10;
+            }
+            l0 += nc;
+            nc = *istk(3 + li);
+            if (kc == 1)
+            {
+                goto L10;
+            }
+            l0 += nc;
+            nc = *istk(4 + li);
+            goto L10;
+        case 4:
+        case 5:
+        case 6:
+            /*    back to a select case   */
+            l0 = Ids[1 + Pt * nsiz];
+            nc = Ids[2 + Pt * nsiz];
+            goto L10;
+        case 8: /*back to a try*/
+            l0 = Ids[1 + Pt * nsiz];
+            nc = *istk(l0 - 2);
+            goto L10;
+        case 9:  /*back to a catch*/
+            l0 = Ids[1 + Pt * nsiz];
+            nc = *istk(l0 - 1);
+            l0 = l0 + *istk(l0 - 2);
+            goto L10;
+        default :
+            goto L10;
+    }
+
+L80:
+    C2F(com).fun = op / 100;
+    Rhs = *istk(1 + lc);
+    C2F(adjustrhs)();
+    Lhs = *istk(2 + lc);
+    Fin = *istk(3 + lc);
+    lc += 4;
+
+L81:
+    ++Pt;
+    Rstk[Pt] = 603;
+    Pstk[Pt] = lc;
+    C2F(recu).icall = 9;
+    Ids[2 + Pt * nsiz] = 0;
+    Ids[3 + Pt * nsiz] = tref;
+    Ids[4 + Pt * nsiz] = l0;
+    Ids[5 + Pt * nsiz] = nc;
+    /*     *call* matfns */
+    return 0;
+L82:
+    /*     warning if builtin is "resume" control is passed to macro and not here */
+    lc = Pstk[Pt];
+    tref = Ids[3 + Pt * nsiz];
+    l0 =   Ids[4 + Pt * nsiz];
+    nc =   Ids[5 + Pt * nsiz];
+    --Pt;
+    goto L70;
+
+    /*     pause */
+L90:
+    ++lc;
+L91:
+    if (Ptover(1))
+    {
+        goto L10;
+    }
+    Pstk[Pt] = C2F(iop).rio;
+    C2F(iop).rio = C2F(iop).rte;
+    Fin = 2;
+    if (Lct[4] <= -10)
+    {
+        Fin = -1;
+        Lct[4] = -Lct[4] - 11;
+    }
+    Ids[1 + Pt * nsiz] = lc;
+    Ids[2 + Pt * nsiz] = Top;
+    Ids[3 + Pt * nsiz] = tref;
+    Ids[4 + Pt * nsiz] = l0;
+    Ids[5 + Pt * nsiz] = nc;
+    Rstk[Pt] = 604;
+    C2F(recu).icall = 5;
+    /*     *call* macro */
+    return 0;
+L92:
+    lc =   Ids[1 + Pt * nsiz];
+    Top =  Ids[2 + Pt * nsiz];
+    tref = Ids[3 + Pt * nsiz];
+    l0 =   Ids[4 + Pt * nsiz];
+    nc =   Ids[5 + Pt * nsiz];
+    C2F(iop).rio = Pstk[Pt];
+    --Pt;
+    goto L70;
+
+    /*     break */
+L95:
+    p = Pt + 1;
+L96:
+    --p;
+    if (p == 0)
+    {
+        ++lc;
+        goto L10;
+    }
+    if (Rstk[p] == 612)
+    {
+        /*     break in a for */
+        l0 = Ids[1 + p * nsiz];
+        lc = l0 + *istk(1 + l0 - 8);
+        Pt = p - 1;
+        --Top;
+        goto L70;
+    }
+    else if (Rstk[p] == 616 && *istk(1 + Pstk[p] - 1) == 9)
+    {
+        /*     break in a while */
+        l0 = Pstk[p];
+        lc = l0 + (i2 = *istk(1 + l0), abs(i2));
+        Pt = p - 1;
+        goto L70;
+    }
+    else if (Rstk[p] == 501 || Rstk[p] == 502 ||
+             Rstk[p] == 503)
+    {
+        /*     going outside a function an exec (break ignored) */
+        ++lc;
+        goto L10;
+    }
+    else
+    {
+        goto L96;
+    }
+    /*     continue */
+L97:
+    p = Pt + 1;
+L98:
+    --p;
+    if (p == 0)
+    {
+        ++lc;
+        goto L10;
+    }
+    if (Rstk[p] == 612)
+    {
+        /*     continue in a  for */
+        l0 = Ids[1 + p * nsiz];
+        /* nc is required for the end of loop */
+        lc = l0 - 7;
+        nc = *istk(lc);
+        Pt = p;
+        goto L47;
+    }
+    else if (Rstk[p] == 616 && *istk(1 + Pstk[p] - 1) == 9)
+    {
+        /*     continue in a while */
+        l0 = Pstk[p];
+        lc = l0;
+        nc = *istk(lc);
+        Pt = p;
+        goto L551;
+    }
+    else
+    {
+        goto L98;
+    }
+    /*     abort */
+L100:
+    ++Pt;
+L101:
+    --Pt;
+    if (Pt == 0)
+    {
+        goto L102;
+    }
+    if (Rstk[Pt] / 100 == 5)
+    {
+        k = Lpt[1] - (13 + nsiz);
+        Lpt[1] = Lin[1 + k];
+        Lpt[2] = Lin[2 + k];
+        Lpt[3] = Lin[3 + k];
+        Lpt[4] = Lin[4 + k];
+        Lct[4] = Lin[6 + k ];
+        Lpt[6] = k;
+        if (Rstk[Pt] <= 502)
+        {
+            if (Pt > 1)
+            {
+                if (Rstk[Pt - 1] != 903 && Rstk[Pt - 1] != 909 && Rstk[Pt - 1] != 706)
+                    Bot = Lin[5 + k];
+            }
+            else
+                Bot = Lin[5 + k];
+        }
+        else if (Rstk[Pt] == 503)
+        {
+            if (C2F(iop).rio == C2F(iop).rte)
+            {
+                /* abort in a pause mode */
+                C2F(iop).rio = Pstk[Pt - 1];
+                C2F(recu).paus--;
+                Bot = Lin[5 + k];
+            }
+            else
+            {
+                int mode[3];
+                int lunit = -C2F(iop).rio;
+                /*  abort in an exec*/
+                mode[0] = 0;
+                C2F(clunit)(&lunit, C2F(cha1).buf, mode);
+                C2F(iop).rio = Pstk[Pt - 1];
+            }
+        }
+    }
+    goto L101;
+L102:
+    C2F(recu).icall = 10;
+    Top = 0;
+    C2F(com).comp[0] = 0;
+    if (C2F(recu).niv > 1)
+    {
+        Err = 9999999;
+    }
+    return 0;
+
+L105:
+    /*     eol */
+    /*     la gestion de la recuperation des erreurs devrait plutot se trouver */
+    /*     a la fin de l'instruction (mais il n'y a pas actuellement d'indicateur */
+    /*     de fin d'instruction dans les macros */
+    if (C2F(errgst).err1 != 0)
+    {
+        if (C2F(errgst).err2 == 0)
+        {
+            C2F(errgst).err2 = C2F(errgst).err1;
+        }
+        if (C2F(errgst).errcatch > 0)
+        {
+            /* running under errcatch(num,....) */
+            if (Rstk[Pt] != 614 && Rstk[Pt] != 615 && Rstk[Pt] != 605) C2F(errgst).err1 = 0;
+            if (Pt < C2F(errgst).errpt)
+            {
+                C2F(errgst).errcatch = 0;
+            }
+        }
+        imode = (i2 = C2F(errgst).errct / 100000, abs(i2));
+        if (imode - (imode / 8 << 3) == 2)
+        {
+            C2F(basbrk).iflag = TRUE;
+        }
+    }
+
+    /*     gestion des points d'arrets dynamiques */
+    if (C2F(dbg).nmacs != 0)   /* there are breakpoints set */
+    {
+        int kfin = C2F(dbg).wmac - 1; /*the stack index of the current function*/
+        /*  first test if the function has breakpoints   */
+        int kmac;
+        for (kmac = 0; kmac < C2F(dbg).nmacs; kmac++) /* loop on table of functions containing breakpoints */
+        {
+            /* does the name of the current funtion fit the registered name*/
+            if (C2F(eqid)(&(C2F(vstk).idstk[kfin * nsiz]), &(C2F(dbg).macnms[kmac * nsiz])))  /* yes */
+            {
+                /* test if there is a registered breakpoint at the current line*/
+                i2 = C2F(dbg).lgptrs[kmac + 1] - 1;
+                for (ibpt = C2F(dbg).lgptrs[kmac]; ibpt <= i2; ++ibpt)
+                {
+                    if (Lct[8] == C2F(dbg).bptlg[ibpt - 1])   /* yes */
+                    {
+                        /* display a message */
+                        C2F(cvname)(&C2F(dbg).macnms[kmac * nsiz], tmp, &c__1, 24L);
+                        sprintf(C2F(cha1).buf, "%s %5d", tmp, Lct[8]);
+                        Msgs(32, 0);
+                        /* raise the interruption flag */
+                        C2F(basbrk).iflag = TRUE;
+                        goto L107;
+                    }
+                }
+                break;
+            }
+        }
+    }
+L107:
+
+    if (Lct[4] / 2 % 2 == 1)
+    {
+        i2 = Lct[4] / 4;
+        C2F(prompt)(&i2, &iesc);
+    }
+    ++Lct[8];
+    ++lc;
+    if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
+
     goto L10;
-  case 3: /* back to an if or a while */
-    li = Ids[1 + Pt * nsiz];
-    kc = Ids[2 + Pt * nsiz];
-    nc = *istk(2 + li);
-    l0 = li + 5;
-    if (kc == 0) {
-      goto L10;
-    }
-    l0 += nc;
-    nc = *istk(3 + li);
-    if (kc == 1) {
-      goto L10;
-    }
-    l0 += nc;
-    nc = *istk(4 + li);
+
+    /* set line number.
+     *
+     *   Au debut de chaque expression liee a un then et a la fin de
+     *   chaque clause, le compilateur (compcl) inscrit la valeur de la
+     *   ligne. ceci permet de mettre rapidement a jour le compteur de
+     *   ligne sans avoir a analyser la suite des codes operatoires */
+
+L110:
+    Lct[8] = *istk(1 + lc);
+    lc += 2;
     goto L10;
-  case 4:
-  case 5:
-  case 6:
-  /*    back to a select case   */
-    l0 = Ids[1 + Pt * nsiz];
-    nc = Ids[2 + Pt * nsiz];
+
+    /* gestion des evements asynchrones "interpretes" */
+L115:
+    C2F(basbrk).interruptible = C2F(getmen)(C2F(cha1).buf, &lb, &nentry) == 0;
+    C2F(bexec)(C2F(cha1).buf, &lb, &ierr);
+    if (ierr != 0)
+    {
+        goto L10;
+    }
+    ++Pt;
+    Ids[1 + Pt * nsiz] = lc;
+    Ids[2 + Pt * nsiz] = l0;
+    Ids[3 + Pt * nsiz] = nc;
+    Ids[4 + Pt * nsiz] = tref;
+    Rstk[Pt] = 606;
+    C2F(recu).icall = 5;
+    /*     *call* macro */
+    return 0;
+L116:
+    C2F(basbrk).interruptible = TRUE;
+    lc = Ids[1 + Pt * nsiz];
+    l0 = Ids[2 + Pt * nsiz];
+    nc = Ids[3 + Pt * nsiz];
+    tref = Ids[4 + Pt * nsiz];
+    --Top;
+    --Pt;
+    goto L71;
+    /*  r = Rstk[Pt] - 610;
+    switch ((int)r) {
+    case 1:  goto L74;
+    case 2:  goto L71;
+    case 3:  goto L72;
+    case 4:  goto L73;
+    case 5:  goto L73;
+    case 6:  goto L73;
+    }
+    goto L10;*/
+
+    /*     quit */
+
+L120:
+    if (C2F(recu).paus != 0)
+    {
+        /*   quit in a pause: decrease recursion level up to the pause one (Rstk[Pt] == 503) */
+        Pt = Pt + 1;
+L121:
+        Pt = Pt - 1;
+        /*  suppress loop variables if any */
+        if (Rstk[Pt] == 802 || Rstk[Pt] == 612 ||
+                (Rstk[Pt] == 805 && Ids[1 + Pt * nsiz] == iselect) ||
+                (Rstk[Pt] == 616 && Pstk[Pt] == 10)) Top--;
+        if (Rstk[Pt] != 503) goto L121;
+        /* recall macro to terminate the pause level */
+        C2F(com).fun = 0;
+        return 0;
+    }
+    else
+        C2F(com).fun = 99;
+    return 0;
+
+    /*     named variable */
+
+L130:
+    Infstk[Top] = 1;
+    C2F(putid)(&C2F(vstk).idstk[Top * nsiz - nsiz], istk(1 + lc));
+    lc += 7;
     goto L10;
-  case 8: /*back to a try*/
-    l0 = Ids[1 + Pt * nsiz];
-    nc = *istk(l0 - 2);
+
+    /*     form recursive extraction list */
+
+L140:
+    m = *istk(2 + lc);
+    if (Rstk[Pt] == 617)
+    {
+        /* runtime arg count (list extraction) */
+        m += Pstk[Pt];
+        Pstk[Pt] = 0;
+    }
+    C2F(mkindx)(istk(1 + lc), &m);
+    lc += 3;
     goto L10;
-  case 9:  /*back to a catch*/
-    l0 = Ids[1 + Pt * nsiz];
-    nc = *istk(l0 - 1);
-    l0 = l0 + *istk(l0 - 2);
+
+    /*     exit */
+
+L150:
+    ++lc;
+    if (C2F(recu).niv > 0)
+    {
+        sciquit();
+        exit(0); /* stop */
+    }
+    C2F(com).fun = 99;
     goto L10;
-  default :
+
+    /*     begrhs - for run time rhs value computation */
+    /*              syntax like: l=list(...); a(l(:)) */
+
+L160:
+    ++lc;
+    ++Pt;
+    Rstk[Pt] = 617;
+    Pstk[Pt] = 0;
     goto L10;
-  }
-
- L80:
-  C2F(com).fun = op / 100;
-  Rhs = *istk(1 + lc);
-  C2F(adjustrhs)();
-  Lhs = *istk(2 + lc);
-  Fin = *istk(3 + lc);
-  lc += 4;
-
- L81:
-  ++Pt;
-  Rstk[Pt] = 603;
-  Pstk[Pt] = lc;
-  C2F(recu).icall = 9;
-  Ids[2 + Pt * nsiz] = 0;
-  Ids[3 + Pt * nsiz] = tref;
-  Ids[4 + Pt * nsiz] = l0;
-  Ids[5 + Pt * nsiz] = nc;
-  /*     *call* matfns */
-  return 0;
- L82:
-  /*     warning if builtin is "resume" control is passed to macro and not here */
-  lc = Pstk[Pt];
-  tref = Ids[3 + Pt * nsiz];
-  l0 =   Ids[4 + Pt * nsiz];
-  nc =   Ids[5 + Pt * nsiz];
-  --Pt;
-  goto L70;
-
-  /*     pause */
- L90:
-  ++lc;
- L91:
-  if (Ptover(1)) {
+
+    /*     printmode */
+
+L170:
+    /*     print stored variable */
+    if (Lct[4] >= 0 && *istk(1 + lc) != semi && kid != 0)
+    {
+        C2F(print)(id, &kid, &C2F(iop).wte);
+    }
+    lc += 2;
     goto L10;
-  }
-  Pstk[Pt] = C2F(iop).rio;
-  C2F(iop).rio = C2F(iop).rte;
-  Fin = 2;
-  if (Lct[4] <= -10) {
-    Fin = -1;
-       Lct[4] = -Lct[4] - 11;
-  }
-  Ids[1 + Pt * nsiz] = lc;
-  Ids[2 + Pt * nsiz] = Top;
-  Ids[3 + Pt * nsiz] = tref;
-  Ids[4 + Pt * nsiz] = l0;
-  Ids[5 + Pt * nsiz] = nc;
-  Rstk[Pt] = 604;
-  C2F(recu).icall = 5;
-  /*     *call* macro */
-  return 0;
- L92:
-  lc =   Ids[1 + Pt * nsiz];
-  Top =  Ids[2 + Pt * nsiz];
-  tref = Ids[3 + Pt * nsiz];
-  l0 =   Ids[4 + Pt * nsiz];
-  nc =   Ids[5 + Pt * nsiz];
-  C2F(iop).rio = Pstk[Pt];
-  --Pt;
-  goto L70;
-
-  /*     break */
- L95:
-  p = Pt + 1;
- L96:
-  --p;
-  if (p == 0) {
-    ++lc;
+L180:
+    /*     name2var */
+    C2F(name2var)(istk(1 + lc));
+    lc += 7;
     goto L10;
-  }
-  if (Rstk[p] == 612) {
-    /*     break in a for */
-    l0 = Ids[1 + p * nsiz];
-    lc = l0 + *istk(1 + l0 - 8);
-    Pt = p - 1;
-    --Top;
-    goto L70;
-  } else if (Rstk[p] == 616 && *istk(1 + Pstk[p] - 1) == 9)
-    {
-      /*     break in a while */
-      l0 = Pstk[p];
-      lc = l0 + (i2 = *istk(1 + l0), abs(i2));
-      Pt = p - 1;
-      goto L70;
-    } else if (Rstk[p] == 501 || Rstk[p] == 502 ||
-              Rstk[p] == 503) {
-      /*     going outside a function an exec (break ignored) */
-      ++lc;
-      goto L10;
-    } else {
-      goto L96;
-    }
-  /*     continue */
- L97:
-  p = Pt + 1;
- L98:
-  --p;
-  if (p == 0) {
+
+L190:
+    /*     deffnull */
     ++lc;
+    ++Top;
+    C2F(objvide)(" ", &Top, 1L);
     goto L10;
-  }
-  if (Rstk[p] == 612) {
-    /*     continue in a  for */
-    l0 = Ids[1 + p * nsiz];
-    /* nc is required for the end of loop */
-    lc = l0 - 7;
-    nc = *istk(lc);
-    Pt = p;
-    goto L47;
-  } else if (Rstk[p] == 616 && *istk(1 + Pstk[p] - 1) == 9)
-    {
-      /*     continue in a while */
-      l0 = Pstk[p];
-      lc = l0;
-      nc = *istk(lc);
-      Pt = p;
-      goto L551;
-    } else {
-      goto L98;
-    }
-  /*     abort */
- L100:
-  ++Pt;
- L101:
-  --Pt;
-  if (Pt == 0) {
-    goto L102;
-  }
-  if (Rstk[Pt] / 100 == 5) {
-    k = Lpt[1] - (13 + nsiz);
-    Lpt[1] = Lin[1 + k];
-    Lpt[2] = Lin[2 + k];
-    Lpt[3] = Lin[3 + k];
-    Lpt[4] = Lin[4 + k];
-       Lct[4] = Lin[6 + k ];
-    Lpt[6] = k;
-    if (Rstk[Pt] <= 502) {
-      if (Pt>1) {
-       if (Rstk[Pt-1] != 903 && Rstk[Pt-1] != 909 && Rstk[Pt-1] != 706)
-         Bot = Lin[5 + k];}
-      else
-       Bot = Lin[5 + k];
-    }
-    else if (Rstk[Pt] == 503) {
-      if (C2F(iop).rio == C2F(iop).rte) {
-           /* abort in a pause mode */
-       C2F(iop).rio = Pstk[Pt-1];
-       C2F(recu).paus--;
-       Bot = Lin[5 + k];}
-      else {
-       int mode[3];
-       int lunit = -C2F(iop).rio;
-       /*  abort in an exec*/
-       mode[0]=0;
-       C2F(clunit)(&lunit,C2F(cha1).buf,mode);
-       C2F(iop).rio = Pstk[Pt-1];
-      }
-    }
-  }
-  goto L101;
- L102:
-  C2F(recu).icall = 10;
-  Top = 0;
-  C2F(com).comp[0] = 0;
-  if (C2F(recu).niv > 1) {
-    Err = 9999999;
-  }
-  return 0;
-
- L105:
-  /*     eol */
-  /*     la gestion de la recuperation des erreurs devrait plutot se trouver */
-  /*     a la fin de l'instruction (mais il n'y a pas actuellement d'indicateur */
-  /*     de fin d'instruction dans les macros */
-  if (C2F(errgst).err1 != 0) { 
-    if (C2F(errgst).err2 == 0) {
-      C2F(errgst).err2 = C2F(errgst).err1;
-    }
-    if (C2F(errgst).errcatch > 0) {
-      /* running under errcatch(num,....) */
-      if (Rstk[Pt] != 614 && Rstk[Pt] != 615 && Rstk[Pt] != 605) C2F(errgst).err1 = 0;
-      if (Pt<C2F(errgst).errpt) {
-       C2F(errgst).errcatch = 0;
-      }
-    }
-    imode = (i2 = C2F(errgst).errct / 100000, abs(i2));
-    if (imode - (imode / 8 << 3) == 2) {
-      C2F(basbrk).iflag = TRUE;
-    }
-  }
-
-  /*     gestion des points d'arrets dynamiques */
-  if (C2F(dbg).nmacs != 0) { /* there are breakpoints set */
-    int kfin=C2F(dbg).wmac-1; /*the stack index of the current function*/
-    /*  first test if the function has breakpoints   */
-    int kmac;
-    for (kmac=0;kmac<C2F(dbg).nmacs;kmac++) { /* loop on table of functions containing breakpoints */
-      /* does the name of the current funtion fit the registered name*/
-      if (C2F(eqid)(&(C2F(vstk).idstk[kfin * nsiz]), &(C2F(dbg).macnms[kmac * nsiz]))) {/* yes */
-       /* test if there is a registered breakpoint at the current line*/
-       i2 = C2F(dbg).lgptrs[kmac+1] - 1;
-       for (ibpt = C2F(dbg).lgptrs[kmac]; ibpt <= i2; ++ibpt) {
-         if (Lct[8] == C2F(dbg).bptlg[ibpt - 1]) { /* yes */
-           /* display a message */
-           C2F(cvname)(&C2F(dbg).macnms[kmac * nsiz], tmp, &c__1, 24L);
-           sprintf(C2F(cha1).buf,"%s %5d",tmp, Lct[8]);
-           Msgs(32, 0);
-           /* raise the interruption flag */
-           C2F(basbrk).iflag = TRUE;
-           goto L107;
-         }
-       }
-       break;
-      }
-    }
-  }
- L107:
-
-  if (Lct[4] / 2 % 2 == 1) {
-    i2 = Lct[4] / 4;
-    C2F(prompt)(&i2, &iesc);
-  }
-  ++Lct[8];
-  ++lc;
-  if (ismenu() == 1 && C2F(basbrk).interruptible) goto L115;
-
-  goto L10;
-
-  /* set line number.
-   *
-   *   Au debut de chaque expression liee a un then et a la fin de
-   *   chaque clause, le compilateur (compcl) inscrit la valeur de la
-   *   ligne. ceci permet de mettre rapidement a jour le compteur de
-   *   ligne sans avoir a analyser la suite des codes operatoires */
-
- L110:
-  Lct[8] = *istk(1 + lc);
-  lc += 2;
-  goto L10;
-
-  /* gestion des evements asynchrones "interpretes" */
- L115:
-  C2F(basbrk).interruptible = C2F(getmen)(C2F(cha1).buf, &lb, &nentry) == 0;
-  C2F(bexec)(C2F(cha1).buf, &lb, &ierr);
-  if (ierr != 0) {
-    goto L10;
-  }
-  ++Pt;
-  Ids[1 + Pt * nsiz] = lc;
-  Ids[2 + Pt * nsiz] = l0;
-  Ids[3 + Pt * nsiz] = nc;
-  Ids[4 + Pt * nsiz] = tref;
-  Rstk[Pt] = 606;
-  C2F(recu).icall = 5;
-  /*     *call* macro */
-  return 0;
- L116:
-  C2F(basbrk).interruptible = TRUE;
-  lc = Ids[1 + Pt * nsiz];
-  l0 = Ids[2 + Pt * nsiz];
-  nc = Ids[3 + Pt * nsiz];
-  tref = Ids[4 + Pt * nsiz];
-  --Top;
-  --Pt;
-  goto L71;
-    /*  r = Rstk[Pt] - 610;
-  switch ((int)r) {
-  case 1:  goto L74;
-  case 2:  goto L71;
-  case 3:  goto L72;
-  case 4:  goto L73;
-  case 5:  goto L73;
-  case 6:  goto L73;
-  }
-  goto L10;*/
-
-  /*     quit */
-
- L120:
-  if (C2F(recu).paus!=0) {
-    /*   quit in a pause: decrease recursion level up to the pause one (Rstk[Pt] == 503) */
-    Pt = Pt + 1;
-  L121:  
-    Pt = Pt - 1;
-    /*  suppress loop variables if any */
-    if (Rstk[Pt]==802 || Rstk[Pt]==612 || 
-       (Rstk[Pt]==805 && Ids[1 + Pt * nsiz]==iselect) ||  
-       (Rstk[Pt]==616 && Pstk[Pt] ==10)) Top--;
-    if (Rstk[Pt] != 503) goto L121;
-    /* recall macro to terminate the pause level */
-    C2F(com).fun=0;
-    return 0;
-  }
-  else
-    C2F(com).fun = 99;
-  return 0;
 
-  /*     named variable */
+L200:
+    /*     profile */
+    ++*istk(1 + lc);
+    t = clock();
+    *istk(2 + lc) = *istk(2 + lc) + t - tref;
+    tref = t;
+    lc += 3;
+    goto L10;
 
- L130:
-  Infstk[Top] = 1;
-  C2F(putid)(&C2F(vstk).idstk[Top * nsiz - nsiz], istk(1 + lc));
-  lc += 7;
-  goto L10;
+L210:
+    /*     character string vector */
+    if (C2F(errgst).err1 <= 0)
+    {
+        n = *istk(1 + lc) * *istk(2 + lc);
+        nc = *istk(lc + 4 + n) - 1;
+        ++Top;
+        il = Lstk[Top] + Lstk[Top] - 1;
+        i2 = il + 5 + n + nc;
+        Err = i2 / 2 + 1 - Lstk[Bot];
+        if (Err > 0 || C2F(errgst).err1 > 0)
+        {
+            SciError(17);
+            lc = lc + 5 + n + nc;
+            goto L10;
+        }
+        i2 = n + 5 + nc;
+        C2F(icopy)(&i2, istk(lc), &c__1, istk(il), &c__1);
+        *istk(il) = 10;
+        i2 = il + 5 + n + nc;
+        Lstk[1 + Top] = i2 / 2 + 1;
+    }
+    lc = lc + 5 + n + nc;
+    goto L10;
+L220:
+    /*     varfun */
+    C2F(varfunptr)(istk(3 + lc), istk(1 + lc), istk(2 + lc));
+    lc += 9;
+    goto L10;
+L230:
+    /*     affectation */
+    Lhs = *istk(1 + lc);
+    ip = *istk(2 + lc);
+    li = lc + 3;
+    lc = li + Lhs * 7;
+    /*     following code is an adaptation of corresponding code in parse.f */
+    ndel = 0;
+L231:
+    Rhs = *istk(6 + li);
+    lastindpos = Top - Lhs - ndel;
+    if (C2F(errgst).err1 != 0)
+    {
+        goto L253;
+    }
+    if (Rhs == 0)
+    {
+        /* goto simple affectation */
+        C2F(stackp)(istk(li), &c__0);
+        if (Err > 0 || C2F(errgst).err1 > 0)
+        {
+            goto L10;
+        }
+        if (C2F(errgst).err1 > 0)
+        {
+            goto L253;
+        }
+        /* fin points on the newly saved variable */
+        if (!(Lct[4] >= 0 && ip != semi && Fin != 0)) goto L253;
+        ifin = Fin;
+L232:
+        C2F(print)(istk(li), &ifin, &C2F(iop).wte);
+        if (Rstk[Pt] != 1101) goto L253;
+        ++Pt;
+        Pstk[Pt] = li;
+        Ids[1 + Pt * nsiz] = ndel;
+        Ids[2 + Pt * nsiz] = lastindpos;
+        Ids[3 + Pt * nsiz] = tref;
+        Ids[4 + Pt * nsiz] = l0;
+        Ids[5 + Pt * nsiz] = Lhs;
+        Ids[6 + Pt * nsiz] = nc;
+        Rstk[Pt] = 609;
+        return 0;
+L240:
+        li = Pstk[Pt];
+        ip = *istk(li - 1);
+        ndel =       Ids[1 + Pt * nsiz];
+        lastindpos = Ids[2 + Pt * nsiz];
+        tref =       Ids[3 + Pt * nsiz];
+        l0 =         Ids[4 + Pt * nsiz];
+        Lhs =        Ids[5 + Pt * nsiz];
+        nc =         Ids[6 + Pt * nsiz];
+        --Pt;
+        /*goto L253;*/
+        goto L232;
 
-  /*     form recursive extraction list */
+    }
 
- L140:
-  m = *istk(2 + lc);
-  if (Rstk[Pt] == 617) {
-    /* runtime arg count (list extraction) */
-    m += Pstk[Pt];
-    Pstk[Pt] = 0;
-  }
-  C2F(mkindx)(istk(1 + lc), &m);
-  lc += 3;
-  goto L10;
-
-  /*     exit */
-
- L150:
-  ++lc;
-  if (C2F(recu).niv > 0) {
-    sciquit();
-    exit(0); /* stop */
-  }
-  C2F(com).fun = 99;
-  goto L10;
-
-  /*     begrhs - for run time rhs value computation */
-  /*              syntax like: l=list(...); a(l(:)) */
-
- L160:
-  ++lc;
-  ++Pt;
-  Rstk[Pt] = 617;
-  Pstk[Pt] = 0;
-  goto L10;
-
-  /*     printmode */
-
- L170:
-  /*     print stored variable */
-  if (Lct[4] >= 0 && *istk(1 + lc) != semi && kid != 0) {
-    C2F(print)(id, &kid, &C2F(iop).wte);
-  }
-  lc += 2;
-  goto L10;
- L180:
-  /*     name2var */
-  C2F(name2var)(istk(1 + lc));
-  lc += 7;
-  goto L10;
-
- L190:
-  /*     deffnull */
-  ++lc;
-  ++Top;
-  C2F(objvide)(" ", &Top, 1L);
-  goto L10;
-
- L200:
-  /*     profile */
-  ++*istk(1 + lc);
-  t = clock();
-  *istk(2 + lc) = *istk(2 + lc) + t - tref;
-  tref = t;
-  lc += 3;
-  goto L10;
-
- L210:
-  /*     character string vector */
-  if (C2F(errgst).err1 <= 0) {
-    n = *istk(1 + lc) * *istk(2 + lc);
-    nc = *istk(lc + 4 + n) - 1;
-    ++Top;
-    il = Lstk[Top] + Lstk[Top] - 1;
-    i2 = il + 5 + n + nc;
-    Err = i2 / 2 + 1 - Lstk[Bot];
-    if (Err > 0 || C2F(errgst).err1 > 0) {
-      SciError(17);
-      lc = lc + 5 + n + nc;
-      goto L10;
-    }
-    i2 = n + 5 + nc;
-    C2F(icopy)(&i2, istk(lc), &c__1, istk(il), &c__1);
-    *istk(il) = 10;
-    i2 = il + 5 + n + nc;
-    Lstk[1 + Top] = i2 / 2 + 1;
-  }
-  lc = lc + 5 + n + nc;
-  goto L10;
- L220:
-  /*     varfun */
-  C2F(varfunptr)(istk(3 + lc), istk(1 + lc), istk(2 + lc));
-  lc += 9;
-  goto L10;
- L230:
-  /*     affectation */
-  Lhs = *istk(1 + lc);
-  ip = *istk(2 + lc);
-  li = lc + 3;
-  lc = li + Lhs * 7;
-  /*     following code is an adaptation of corresponding code in parse.f */
-  ndel = 0;
- L231:
-  Rhs = *istk(6 + li);
-  lastindpos = Top - Lhs - ndel;
-  if (C2F(errgst).err1 != 0) {
-    goto L253;
-  }
-  if (Rhs == 0) {
-    /* goto simple affectation */
+    /*     take rhs (number of indices) computed at runtime into account */
+    C2F(adjustrhs)();
+    /*     partial variable affectation (insertion) */
+    if (lastindpos + 1 != Top)
+    {
+        /* create reference variables to get index1,...,indexn, value at */
+        /* the top of the stack in this order */
+        /* create reference variables pointing to the  indices */
+        for (ir = 1; ir <= Rhs; ++ir)
+        {
+            i2 = lastindpos - Rhs + ir;
+            C2F(createref1)(&i2);
+        }
+        /* create reference variable pointing to the value */
+        i2 = Top - Rhs;
+        C2F(createref1)(&i2);
+        /* remind to remove the original indices */
+        ndel += Rhs;
+    }
+    lastindpos -= Rhs;
+    /*     put a reference to the lhs variable */
+    Fin = -3;
+    C2F(stackg)(istk(li));
+    if (Err > 0 || C2F(errgst).err1 > 0)
+    {
+        goto L10;
+    }
+    /*     perform insertion operation */
+    /*     index1,...,indexn, value ==> updated lhs value (or pointer to) */
+    if (Eptover(1))
+    {
+        return 0;
+    }
+    /*     pstk(pt) is used by allops to get the name of output variable */
+    Pstk[Pt] = li;
+    Ids[1 + Pt * nsiz] = ndel;
+    Ids[2 + Pt * nsiz] = lastindpos;
+    Ids[3 + Pt * nsiz] = tref;
+    Ids[4 + Pt * nsiz] = l0;
+    Ids[5 + Pt * nsiz] = Lhs;
+    Ids[6 + Pt * nsiz] = nc;
+    Rstk[Pt] = 607;
+    Rhs += 2;
+    Lhs = 1;
+    C2F(recu).icall = 4;
+    Fin = insert;
+    /*     *call* allops(insert) */
+    return 0;
+L250:
+    li = Pstk[Pt];
+    ip = *istk(li - 1);
+    ndel =       Ids[1 + Pt * nsiz];
+    lastindpos = Ids[2 + Pt * nsiz];
+    tref =       Ids[3 + Pt * nsiz];
+    l0 =         Ids[4 + Pt * nsiz];
+    Lhs =        Ids[5 + Pt * nsiz];
+    nc =         Ids[6 + Pt * nsiz];
+    --Pt;
+    /*     store the updated value */
     C2F(stackp)(istk(li), &c__0);
-    if (Err > 0 || C2F(errgst).err1 > 0) {
-      goto L10;
+
+    if (Err > 0 || C2F(errgst).err1 > 0)
+    {
+        goto L10;
     }
-    if (C2F(errgst).err1 > 0) {
-      goto L253;
+    if (C2F(errgst).err1 > 0)
+    {
+        goto L253;
     }
-    /* fin points on the newly saved variable */
-    if (!(Lct[4] >= 0 && ip != semi && Fin != 0)) goto L253;
-    ifin=Fin;
-  L232:
+    /*     fin points on the newly saved variable */
+    if (!(Lct[4] >= 0 && ip != semi && Fin != 0))  goto L252;
+    ifin = Fin;
+L251:
     C2F(print)(istk(li), &ifin, &C2F(iop).wte);
-    if (Rstk[Pt]!=1101) goto L253;
+    if (Rstk[Pt] != 1101) goto L252;
     ++Pt;
     Pstk[Pt] = li;
     Ids[1 + Pt * nsiz] = ndel;
@@ -1165,11 +1436,11 @@ int C2F(run)(void)
     Ids[4 + Pt * nsiz] = l0;
     Ids[5 + Pt * nsiz] = Lhs;
     Ids[6 + Pt * nsiz] = nc;
-    Rstk[Pt]=609;
+    Rstk[Pt] = 608;
     return 0;
-  L240:
+L254:
     li = Pstk[Pt];
-    ip = *istk(li-1);
+    ip = *istk(li - 1);
     ndel =       Ids[1 + Pt * nsiz];
     lastindpos = Ids[2 + Pt * nsiz];
     tref =       Ids[3 + Pt * nsiz];
@@ -1177,204 +1448,119 @@ int C2F(run)(void)
     Lhs =        Ids[5 + Pt * nsiz];
     nc =         Ids[6 + Pt * nsiz];
     --Pt;
-    /*goto L253;*/
-    goto L232;
-
-  }
-
-  /*     take rhs (number of indices) computed at runtime into account */
-  C2F(adjustrhs)();
-  /*     partial variable affectation (insertion) */
-  if (lastindpos + 1 != Top) {
-    /* create reference variables to get index1,...,indexn, value at */
-    /* the top of the stack in this order */
-    /* create reference variables pointing to the  indices */
-    for (ir = 1; ir <= Rhs; ++ir) {
-      i2 = lastindpos - Rhs + ir;
-      C2F(createref1)(&i2);
-    }
-    /* create reference variable pointing to the value */
-    i2 = Top - Rhs;
-    C2F(createref1)(&i2);
-    /* remind to remove the original indices */
-    ndel += Rhs;
-  }
-  lastindpos -= Rhs;
-  /*     put a reference to the lhs variable */
-  Fin = -3;
-  C2F(stackg)(istk(li));
-  if (Err > 0 || C2F(errgst).err1 > 0) {
+    goto L251;
+
+L252:
+    /*     remove variable containing the value if required */
+    if (lastindpos != Top)   --Top;
+
+L253:
+    li += 7;
+    --Lhs;
+    if (Lhs > 0)
+    {
+        goto L231;
+    }
+    Top -= ndel;
+    lc = li;
     goto L10;
-  }
-  /*     perform insertion operation */
-  /*     index1,...,indexn, value ==> updated lhs value (or pointer to) */
-  if (Eptover(1)) {
-    return 0;
-  }
-  /*     pstk(pt) is used by allops to get the name of output variable */
-  Pstk[Pt] = li;
-  Ids[1 + Pt * nsiz] = ndel;
-  Ids[2 + Pt * nsiz] = lastindpos;
-  Ids[3 + Pt * nsiz] = tref;
-  Ids[4 + Pt * nsiz] = l0;
-  Ids[5 + Pt * nsiz] = Lhs;
-  Ids[6 + Pt * nsiz] = nc;
-  Rstk[Pt] = 607;
-  Rhs += 2;
-  Lhs = 1;
-  C2F(recu).icall = 4;
-  Fin = insert;
-  /*     *call* allops(insert) */
-  return 0;
- L250:
-  li = Pstk[Pt];
-  ip = *istk(li-1);
-  ndel =       Ids[1 + Pt * nsiz];
-  lastindpos = Ids[2 + Pt * nsiz];
-  tref =       Ids[3 + Pt * nsiz];
-  l0 =         Ids[4 + Pt * nsiz];
-  Lhs =        Ids[5 + Pt * nsiz];
-  nc =         Ids[6 + Pt * nsiz];
-  --Pt;
-  /*     store the updated value */
-  C2F(stackp)(istk(li), &c__0);
-
-  if (Err > 0 || C2F(errgst).err1 > 0) {
+
+    /*     logical expression shortcircuit */
+L260:
+    if (*istk(1 + lc) == 1)
+    {
+        /* | case */
+        if (C2F(gettype)(&Top) != sci_ints && Istrue(0))
+        {
+            lc += *istk(2 + lc);
+        }
+    }
+    else
+    {
+        /* & case */
+        if (C2F(gettype)(&Top) != sci_ints && ! Istrue(0))
+        {
+            lc += *istk(2 + lc);
+        }
+    }
+    lc += 3;
     goto L10;
-  }
-  if (C2F(errgst).err1 > 0) {
-    goto L253;
-  }
-  /*     fin points on the newly saved variable */
-  if (!(Lct[4] >= 0 && ip != semi && Fin != 0))  goto L252;
-  ifin=Fin;
- L251:
-  C2F(print)(istk(li), &ifin, &C2F(iop).wte);
-  if (Rstk[Pt]!=1101) goto L252;
-  ++Pt;
-  Pstk[Pt] = li;
-  Ids[1 + Pt * nsiz] = ndel;
-  Ids[2 + Pt * nsiz] = lastindpos;
-  Ids[3 + Pt * nsiz] = tref;
-  Ids[4 + Pt * nsiz] = l0;
-  Ids[5 + Pt * nsiz] = Lhs;
-  Ids[6 + Pt * nsiz] = nc;
-  Rstk[Pt]=608;
-  return 0;
- L254:
-  li = Pstk[Pt];
-  ip = *istk(li-1);
-  ndel =       Ids[1 + Pt * nsiz];
-  lastindpos = Ids[2 + Pt * nsiz];
-  tref =       Ids[3 + Pt * nsiz];
-  l0 =         Ids[4 + Pt * nsiz];
-  Lhs =        Ids[5 + Pt * nsiz];
-  nc =         Ids[6 + Pt * nsiz];
-  --Pt;
-  goto L251;
-
- L252:
-  /*     remove variable containing the value if required */
-  if (lastindpos != Top)   --Top;
-
- L253:
-  li += 7;
-  --Lhs;
-  if (Lhs > 0) {
-    goto L231;
-  }
-  Top -= ndel;
-  lc = li;
-  goto L10;
-
-  /*     logical expression shortcircuit */
- L260:
-  if (*istk(1 + lc) == 1) {
-    /* | case */
-    if (C2F(gettype)(&Top) != sci_ints && Istrue(0)) {
-      lc += *istk(2 + lc);
-    }
-  } else {
-    /* & case */
-    if (C2F(gettype)(&Top) != sci_ints && ! Istrue(0)) {
-      lc += *istk(2 + lc);
-    }
-  }
-  lc += 3;
-  goto L10;
- /*     comment */
- L261:
-
-  lc += 2+*istk(1 + lc);
-  goto L10;
-
- /*     try catch */
- L270:
-  nc = *istk(1 + lc);
-  lc += 3;
-  l0 = lc;
-  if (Ptover(1)) {
-    lc += nc;
-    lc += nsiz + *istk(lc);
+    /*     comment */
+L261:
+
+    lc += 2 + *istk(1 + lc);
     goto L10;
-  }
-  Rstk[Pt] = 618;
-  Ids[1 + Pt * nsiz] = l0;
-  /* preserve current error modes */
-  Ids[2 + Pt * nsiz] = C2F(errgst).errct;
-  Ids[3 + Pt * nsiz] = C2F(errgst).err2;
-  Ids[4 + Pt * nsiz] = C2F(errgst).err1;
-  Ids[5 + Pt * nsiz] = C2F(errgst).errpt;
-  Ids[6 + Pt * nsiz] = (Lct[4]+100)+10000*C2F(com).sym;
-  /* set error recovery mode without message*/
-  C2F(errgst).errct = -(900000+1);
-  C2F(errgst).errpt = Pt;
-  Pstk[Pt] = Top;
-  goto L10;
- L271:
-  /* try op-codes finished*/
-  l0 = Ids[1 + Pt * nsiz];
-  /*check if an error occured*/
-  ok = Max(C2F(errgst).err2,C2F(errgst).err1)<=0;
-  /* restore preserved error modes */
-  C2F(errgst).errct = Ids[2 + Pt * nsiz];
-  C2F(errgst).err2  = Ids[3 + Pt * nsiz];
-  C2F(errgst).err1  = Ids[4 + Pt * nsiz];
-  C2F(errgst).errpt = Ids[5 + Pt * nsiz];
-  C2F(com).sym      = Ids[6 + Pt * nsiz]/10000;
-  Lct[4]            = Ids[6 + Pt * nsiz]-10000*C2F(com).sym - 100;
-  if (ok) {
-    /* no error occured in the try part*/
-    nc = *istk(l0-1);
-    lc += nc; /*skip catch  instructions*/
-    /* finish try catch context and continue*/
+
+&n