bug 13899: syntax color in scinotes 44/18144/2
Antoine ELIAS [Mon, 9 May 2016 09:55:23 +0000 (11:55 +0200)]
Change-Id: I2ed912bb31cba82c5b38548e325ff98d159dcfe6

scilab/CHANGES
scilab/modules/core/src/cpp/runner.cpp
scilab/modules/scinotes/src/c/ScilabKeywords.c
scilab/modules/scinotes/src/c/core_Import.def
scilab/modules/scinotes/tests/nonreg_tests/bug_13899.tst [new file with mode: 0644]

index 227448f..2fc915d 100644 (file)
@@ -365,6 +365,8 @@ In 6.0.0:
 
 * Bug #13897 fixed - concatenating structures with same fields in mismatching orders failed
 
+* Bug #13899 fixed - Syntax coloring was off in scinotes
+
 * Bug #13939 fixed - in HTML help pages, itemizedlist <ul> were rendered as ordered ones
 
 * Bug #13965 fixed - The rendering of histograms with histplot() was poor
index 4d79845..562786b 100644 (file)
@@ -25,11 +25,14 @@ extern "C"
 #include "FileBrowserChDir.h"
 #include "scicurdir.h"
 #include "Scierror.h"
+#include "InitializeJVM.h"
 }
 
 std::atomic<Runner*> StaticRunner::m_RunMe(nullptr);
 std::atomic<bool> StaticRunner::m_bInterruptibleCommand(true);
 
+static bool initialJavaHooks = false;
+
 static void sendExecDoneSignal(Runner* _pRunner)
 {
     switch (_pRunner->getCommandOrigin())
@@ -48,6 +51,14 @@ static void sendExecDoneSignal(Runner* _pRunner)
 
 int StaticRunner::launch()
 {
+    //set execution thread in java
+    if (!initialJavaHooks && getScilabMode() != SCILAB_NWNI)
+    {
+        initialJavaHooks = true;
+        // Execute the initial hooks registered in Scilab.java
+        ExecuteInitialHooks();
+    }
+
     int iRet = 0;
     // get the runner to execute
     std::unique_ptr<Runner> runMe(getRunner());
index d46fce2..929c62f 100644 (file)
 
 char **GetVariablesName(void)
 {
-#pragma message ("WARNING : GetVariablesName return a static list should be linked to declared variables.")
-    int i = 0;
-    char *pstStaticVarName[] = {"%i", "%pi", "%eps", "%t", "%T", "%f", "%F"};
-    char **VarsName = MALLOC(8 * sizeof(char *));
-    for (i = 0 ; i < 7 ; ++i)
-    {
-        VarsName[i] = os_strdup(pstStaticVarName[i]);
-    }
-    VarsName[7] = NULL;
-    return VarsName;
-#if 0
     int returnedArraySize = 0;
     char **VarsName = getVariablesName(&returnedArraySize, TRUE);
     /* SWIG char array must be finished by NULL */
@@ -54,7 +43,6 @@ char **GetVariablesName(void)
         VarsName[returnedArraySize] = NULL;
     }
     return VarsName;
-#endif
 }
 /*--------------------------------------------------------------------------*/
 char **GetCommandsName(void)
@@ -65,16 +53,6 @@ char **GetCommandsName(void)
     ** See http://codereview.scilab.org/#change,1456
     **
     */
-#pragma message ("WARNING : GetCommandsName is now useless and will be removed by master-merge.")
-    int i = 0;
-    char *pstStaticCommandKeywords[2] = {"if", NULL };
-    char **CommandKeywords = MALLOC(2 * sizeof(char *));
-    for (i = 0 ; i < 2 ; ++i)
-    {
-        CommandKeywords[i] = os_strdup(pstStaticCommandKeywords[i]);
-    }
-    return CommandKeywords;
-#if 0
     int returnedArraySize = 0;
     char **CommandKeywords = getcommandkeywords(&returnedArraySize);
     if (CommandKeywords)
@@ -83,22 +61,10 @@ char **GetCommandsName(void)
         CommandKeywords[returnedArraySize] = NULL;
     }
     return CommandKeywords;
-#endif
 }
 /*--------------------------------------------------------------------------*/
 char **GetFunctionsName(void)
 {
-#pragma message ("WARNING : GetFunctionsName return a static list should be linked to declared functions.")
-    int i = 0;
-    char *pstStaticFunctionsName[] = {"disp", "size"};
-    char **FunctionsName = MALLOC(3 * sizeof(char *));
-    for (i = 0 ; i < 2 ; ++i)
-    {
-        FunctionsName[i] = os_strdup(pstStaticFunctionsName[i]);
-    }
-    FunctionsName[2] = NULL;
-    return FunctionsName;
-#if 0
     int returnedArraySize = 0;
     char **FunctionsName = getFunctionsName(&returnedArraySize);
     if (FunctionsName)
@@ -107,23 +73,10 @@ char **GetFunctionsName(void)
         FunctionsName[returnedArraySize] = NULL;
     }
     return FunctionsName;
-#endif
 }
 /*--------------------------------------------------------------------------*/
 char **GetMacrosName(void)
 {
-#pragma message ("WARNING : GetFunctionsName return a static list should be linked to declared macros.")
-    int i = 0;
-    char *pstStaticMacrosName[] = {"plot3d", "acosh"};
-    char **MacrosName = MALLOC(3 * sizeof(char *));
-    for (i = 0 ; i < 2 ; ++i)
-    {
-        MacrosName[i] = os_strdup(pstStaticMacrosName[i]);
-    }
-    MacrosName[2] = NULL;
-    return MacrosName;
-
-#if 0
     int returnedArraySize = 0;
     char **MacrosName = getMacrosName(&returnedArraySize);
     if (MacrosName)
@@ -132,6 +85,5 @@ char **GetMacrosName(void)
         MacrosName[returnedArraySize] = NULL;
     }
     return MacrosName;
-#endif
 }
 /*--------------------------------------------------------------------------*/
index 2b79b09..65a8552 100644 (file)
@@ -6,3 +6,8 @@ EXPORTS
 freeArrayOfWideString
 MyHeapAlloc
 MyHeapFree
+MyHeapRealloc
+getVariablesName
+getcommandkeywords
+getFunctionsName
+getMacrosName
diff --git a/scilab/modules/scinotes/tests/nonreg_tests/bug_13899.tst b/scilab/modules/scinotes/tests/nonreg_tests/bug_13899.tst
new file mode 100644 (file)
index 0000000..b6cf529
--- /dev/null
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - Antoine ELIAS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- INTERACTIVE TEST -->
+// <-- TEST WITH SCINOTES -->
+//
+// <-- Non-regression test for bug 13899 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/13899
+//
+// <-- Short Description -->
+// Syntax coloring was off in scinotes
+
+edit edit
+//words like rhs, lhs, argn must be colored.