add completion module
Allan Cornet [Fri, 3 Aug 2007 12:23:59 +0000 (12:23 +0000)]
a first step ...

r = completion(beginning_of_a_word)

r = completion(beginning_of_a_word,dictionary)
dictionaries : "functions","commands","variables","macros","graphics_properties","files"

[functions,commands,variables,macros,graphics_properties,files] =  completion(beginning_of_a_word)

TO DO :
- extend possibilities
- optimize speed
- test files completion on linux
- update makefiles for linux
- to interface with consoles
- ...

77 files changed:
scilab/Scilab.sln
scilab/Scilab_f2c.sln
scilab/etc/modules.xml
scilab/modules/completion/.checkstyle [new file with mode: 0644]
scilab/modules/completion/.classpath [new file with mode: 0644]
scilab/modules/completion/.project [new file with mode: 0644]
scilab/modules/completion/Makefile.am [new file with mode: 0644]
scilab/modules/completion/build.xml [new file with mode: 0644]
scilab/modules/completion/changelog.txt [new file with mode: 0644]
scilab/modules/completion/completion.iss [new file with mode: 0644]
scilab/modules/completion/etc/completion.quit [new file with mode: 0644]
scilab/modules/completion/etc/completion.start [new file with mode: 0644]
scilab/modules/completion/help/en_US/addchapter.sce [new file with mode: 0644]
scilab/modules/completion/help/en_US/completion.xml [new file with mode: 0644]
scilab/modules/completion/help/en_US/removechapter.sce [new file with mode: 0644]
scilab/modules/completion/includes/completion.h [new file with mode: 0644]
scilab/modules/completion/includes/gw_completion.h [new file with mode: 0644]
scilab/modules/completion/languages/en_US/errors.xml [new file with mode: 0644]
scilab/modules/completion/languages/en_US/menus.xml [new file with mode: 0644]
scilab/modules/completion/languages/en_US/messages.xml [new file with mode: 0644]
scilab/modules/completion/licence.txt [new file with mode: 0644]
scilab/modules/completion/macros/buildmacros.sce [new file with mode: 0644]
scilab/modules/completion/readme.txt [new file with mode: 0644]
scilab/modules/completion/sci_gateway/c/gw_completion.c [moved from scilab/modules/shell/sci_gateway/c/sci_completion.c with 57% similarity]
scilab/modules/completion/sci_gateway/c/sci_completion.c [new file with mode: 0644]
scilab/modules/completion/sci_gateway/completion_gateway.xml [new file with mode: 0644]
scilab/modules/completion/src/c/LibScilab_Import.def [new file with mode: 0644]
scilab/modules/completion/src/c/completion.c [new file with mode: 0644]
scilab/modules/completion/src/c/completion.rc [new file with mode: 0644]
scilab/modules/completion/src/c/completion.vcproj [new file with mode: 0644]
scilab/modules/completion/src/c/completion_generic.c [new file with mode: 0644]
scilab/modules/completion/src/c/completion_generic.h [new file with mode: 0644]
scilab/modules/completion/src/c/completion_header.def [new file with mode: 0644]
scilab/modules/completion/src/c/getfilesdictionary.c [new file with mode: 0644]
scilab/modules/completion/src/c/getfilesdictionary.h [new file with mode: 0644]
scilab/modules/completion/src/c/getfulldictionary.c [new file with mode: 0644]
scilab/modules/completion/src/c/getfulldictionary.h [new file with mode: 0644]
scilab/modules/completion/src/c/getmacrosdictionary.c [new file with mode: 0644]
scilab/modules/completion/src/c/getmacrosdictionary.h [new file with mode: 0644]
scilab/modules/completion/src/c/resource.h [new file with mode: 0644]
scilab/modules/completion/src/c/toolsdictionary.c [new file with mode: 0644]
scilab/modules/completion/src/c/toolsdictionary.h [new file with mode: 0644]
scilab/modules/completion/src/java/completion-JAVA.vcproj [new file with mode: 0644]
scilab/modules/completion/src/nocompletion/LibScilab_Import.def [new file with mode: 0644]
scilab/modules/completion/src/nocompletion/nocompletion.c [new file with mode: 0644]
scilab/modules/completion/src/nocompletion/nocompletion.rc [new file with mode: 0644]
scilab/modules/completion/src/nocompletion/nocompletion.vcproj [new file with mode: 0644]
scilab/modules/completion/src/nocompletion/nocompletion_header.def [new file with mode: 0644]
scilab/modules/completion/src/nocompletion/resource.h [new file with mode: 0644]
scilab/modules/completion/unit_tests/completion.tst [new file with mode: 0644]
scilab/modules/completion/version.xml [new file with mode: 0644]
scilab/modules/core/Makefile.am
scilab/modules/core/includes/existfunction.h [moved from scilab/modules/shell/src/c/completion.c with 53% similarity]
scilab/modules/core/includes/getfunctionslist.h [new file with mode: 0644]
scilab/modules/core/sci_gateway/c/sci_getcwd.c
scilab/modules/core/src/c/callinterf.h
scilab/modules/core/src/c/commandwords.c
scilab/modules/core/src/c/core.vcproj
scilab/modules/core/src/c/hashtable_core.c
scilab/modules/core/src/c/hashtable_core.h
scilab/modules/core/src/c/scicurdir.c
scilab/modules/fileio/Makefile.am
scilab/modules/fileio/fileio.vcproj
scilab/modules/fileio/includes/findfiles.h [moved from scilab/modules/fileio/src/c/findfiles.h with 100% similarity]
scilab/modules/fileio/sci_gateway/c/sci_findfiles.c
scilab/modules/graphics/graphics.vcproj
scilab/modules/graphics/includes/getDictionaryGetProperties.h [new file with mode: 0644]
scilab/modules/graphics/includes/getDictionarySetProperties.h [new file with mode: 0644]
scilab/modules/graphics/src/c/getHandleProperty/GetHashTable.c
scilab/modules/graphics/src/c/getHandleProperty/SetHashTable.c
scilab/modules/io/sci_gateway/c/sci_get_absolute_file_path.c
scilab/modules/shell/Makefile.am
scilab/modules/shell/includes/gw_shell.h
scilab/modules/shell/sci_gateway/c/gw_shell.c
scilab/modules/shell/sci_gateway/shell_gateway.xml
scilab/modules/shell/src/c/completion.h [deleted file]
scilab/modules/shell/src/c/shell.vcproj

index d1bf290..80473d4 100644 (file)
@@ -2,12 +2,12 @@ Microsoft Visual Studio Solution File, Format Version 9.00
 # Visual Studio 2005
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WScilex", "modules\gui\src\c\wsci\WScilex\WScilex.vcproj", "{CCD80549-EB9C-42AA-9B86-D687377E94F6}"
        ProjectSection(ProjectDependencies) = postProject
-               {9BA6F7E4-AE64-4FD9-A5A7-0996A8B73B77} = {9BA6F7E4-AE64-4FD9-A5A7-0996A8B73B77}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {982BF37F-42C4-4D37-8D14-60521B141503} = {982BF37F-42C4-4D37-8D14-60521B141503}
-               {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
-               {7DCD755A-2906-47B8-9084-2FE6D7F5D5C3} = {7DCD755A-2906-47B8-9084-2FE6D7F5D5C3}
                {66F2FB48-5D68-4445-A856-119F685A371B} = {66F2FB48-5D68-4445-A856-119F685A371B}
+               {7DCD755A-2906-47B8-9084-2FE6D7F5D5C3} = {7DCD755A-2906-47B8-9084-2FE6D7F5D5C3}
+               {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
+               {982BF37F-42C4-4D37-8D14-60521B141503} = {982BF37F-42C4-4D37-8D14-60521B141503}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {9BA6F7E4-AE64-4FD9-A5A7-0996A8B73B77} = {9BA6F7E4-AE64-4FD9-A5A7-0996A8B73B77}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BEpsf", "tools\printer\BEpsf\BEpsf.vcproj", "{114F3B77-2A32-4EC8-AC23-B3F910622BD9}"
@@ -49,8 +49,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Blpr", "tools\printer\Blpr\
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BuildMacros", "modules\functions\scripts\buildmacros\BuildMacros.vcproj", "{66F2FB48-5D68-4445-A856-119F685A371B}"
        ProjectSection(ProjectDependencies) = postProject
-               {9BA6F7E4-AE64-4FD9-A5A7-0996A8B73B77} = {9BA6F7E4-AE64-4FD9-A5A7-0996A8B73B77}
                {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
+               {9BA6F7E4-AE64-4FD9-A5A7-0996A8B73B77} = {9BA6F7E4-AE64-4FD9-A5A7-0996A8B73B77}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "elementaries_functions", "modules\elementaries_functions\src\c\elementaries_functions.vcproj", "{5B110267-7C18-437C-B87D-DBA2B50729E9}"
@@ -71,88 +71,89 @@ EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibScilab", "libs\LibScilab\LibScilab.vcproj", "{64BC155E-292F-484F-9404-76EE6AE67A43}"
        ProjectSection(ProjectDependencies) = postProject
                {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923} = {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923}
-               {445D3B85-C9B1-498B-9C88-0A3C2390B1CC} = {445D3B85-C9B1-498B-9C88-0A3C2390B1CC}
-               {959384FC-016C-4B01-B848-1B18D26B6CC4} = {959384FC-016C-4B01-B848-1B18D26B6CC4}
-               {0A0B68FA-98F5-4FC2-A9E9-4AC9CEE6A6B4} = {0A0B68FA-98F5-4FC2-A9E9-4AC9CEE6A6B4}
-               {3735EFF9-925B-45B1-82CF-762658E69E70} = {3735EFF9-925B-45B1-82CF-762658E69E70}
-               {D407D7F1-A4D4-40F2-A5A1-D291B5D28C35} = {D407D7F1-A4D4-40F2-A5A1-D291B5D28C35}
-               {3A72C3ED-98F7-49C7-B59C-2C6C47FF9390} = {3A72C3ED-98F7-49C7-B59C-2C6C47FF9390}
-               {8AB8ECEC-8C22-475E-80D0-E14696F5A19B} = {8AB8ECEC-8C22-475E-80D0-E14696F5A19B}
-               {B0817AEC-2DA0-4C95-9599-4E01F2B547CD} = {B0817AEC-2DA0-4C95-9599-4E01F2B547CD}
-               {FAF6A7EB-8A36-4278-B34E-34EA89E55304} = {FAF6A7EB-8A36-4278-B34E-34EA89E55304}
-               {E3A01BE7-815F-4A06-9F0A-C95E80873966} = {E3A01BE7-815F-4A06-9F0A-C95E80873966}
-               {4467FBE5-45A6-4CA7-AD8C-48419B656137} = {4467FBE5-45A6-4CA7-AD8C-48419B656137}
-               {34F953E3-9A2C-4359-A8C5-41CEBD0ECE45} = {34F953E3-9A2C-4359-A8C5-41CEBD0ECE45}
-               {3FF921DF-3084-4F09-BD14-362F60B0D037} = {3FF921DF-3084-4F09-BD14-362F60B0D037}
-               {18F043DA-1DB5-464F-B67D-CF1C23BE7EA0} = {18F043DA-1DB5-464F-B67D-CF1C23BE7EA0}
-               {FD0F48D8-9D0B-42A8-A743-B57198FAB41E} = {FD0F48D8-9D0B-42A8-A743-B57198FAB41E}
-               {4C0B22D1-F74D-42DF-B90D-71CBC1B43DC4} = {4C0B22D1-F74D-42DF-B90D-71CBC1B43DC4}
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
-               {28E4E9CA-3EEC-43EE-9F15-56259C6677B8} = {28E4E9CA-3EEC-43EE-9F15-56259C6677B8}
-               {B678A0CA-E006-415A-83E4-46F6060282C4} = {B678A0CA-E006-415A-83E4-46F6060282C4}
-               {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33} = {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33}
-               {53AAB5BC-2C08-4BBA-9793-C36140A404F8} = {53AAB5BC-2C08-4BBA-9793-C36140A404F8}
-               {D575A6BA-094A-45EC-8F8D-2DF7A2C37AA6} = {D575A6BA-094A-45EC-8F8D-2DF7A2C37AA6}
-               {C456D5B8-8A32-496A-A2EE-164B0D734126} = {C456D5B8-8A32-496A-A2EE-164B0D734126}
-               {8091E9B6-4C08-4218-A63D-742867CCFE9F} = {8091E9B6-4C08-4218-A63D-742867CCFE9F}
-               {C7865CAA-EC7C-41EB-8324-2B81C384CA20} = {C7865CAA-EC7C-41EB-8324-2B81C384CA20}
-               {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470} = {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470}
-               {E61FEBA7-C98E-4C42-96CA-FC03F0DB26B2} = {E61FEBA7-C98E-4C42-96CA-FC03F0DB26B2}
-               {620D8FA7-3704-438E-BB1E-391C84401A2E} = {620D8FA7-3704-438E-BB1E-391C84401A2E}
-               {104D88A6-C72A-411C-B32F-D6819DDBB737} = {104D88A6-C72A-411C-B32F-D6819DDBB737}
-               {B7A168A0-DFC0-4C6D-B0CC-6079912A4A76} = {B7A168A0-DFC0-4C6D-B0CC-6079912A4A76}
-               {EAF0949C-28D2-497C-954F-FC13B32FF2F3} = {EAF0949C-28D2-497C-954F-FC13B32FF2F3}
-               {1D219098-007C-4F76-9AE6-271ABBB7D393} = {1D219098-007C-4F76-9AE6-271ABBB7D393}
-               {22F14F8F-67C6-49B1-A730-CE70FFE9EB61} = {22F14F8F-67C6-49B1-A730-CE70FFE9EB61}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {495C9E8A-439A-426E-AA2C-0B22653875F9} = {495C9E8A-439A-426E-AA2C-0B22653875F9}
-               {A2207388-FB55-46B2-A24D-D76C0FE796F8} = {A2207388-FB55-46B2-A24D-D76C0FE796F8}
-               {D98B0986-14E4-44FD-B006-CACE4B291F38} = {D98B0986-14E4-44FD-B006-CACE4B291F38}
-               {982BF37F-42C4-4D37-8D14-60521B141503} = {982BF37F-42C4-4D37-8D14-60521B141503}
-               {D2B63E7D-1E66-4EFC-892E-FA6DAF4E5895} = {D2B63E7D-1E66-4EFC-892E-FA6DAF4E5895}
-               {425B887B-9FC5-4CD2-B632-DBFC000E3E25} = {425B887B-9FC5-4CD2-B632-DBFC000E3E25}
-               {C352587B-F5E4-457C-80EE-A1AEAB176C8E} = {C352587B-F5E4-457C-80EE-A1AEAB176C8E}
-               {8D45767A-9B03-4905-97F6-D2F3F79141EA} = {8D45767A-9B03-4905-97F6-D2F3F79141EA}
-               {114F3B77-2A32-4EC8-AC23-B3F910622BD9} = {114F3B77-2A32-4EC8-AC23-B3F910622BD9}
-               {E9741474-5C3A-4101-8B85-AC5221018C05} = {E9741474-5C3A-4101-8B85-AC5221018C05}
-               {25F06272-3E27-46E4-BEE0-8D24F60CE451} = {25F06272-3E27-46E4-BEE0-8D24F60CE451}
-               {0BB16C71-0FCD-4FB9-B7C0-F2601330C980} = {0BB16C71-0FCD-4FB9-B7C0-F2601330C980}
-               {BB8D4E6F-F09E-49FC-8BCB-9F496F639F60} = {BB8D4E6F-F09E-49FC-8BCB-9F496F639F60}
-               {B50F726C-8536-4DAC-8CEF-D97706ACACCC} = {B50F726C-8536-4DAC-8CEF-D97706ACACCC}
-               {5B110267-7C18-437C-B87D-DBA2B50729E9} = {5B110267-7C18-437C-B87D-DBA2B50729E9}
-               {34F8E361-D2D9-43B0-93D2-F6CF5FAF6CEB} = {34F8E361-D2D9-43B0-93D2-F6CF5FAF6CEB}
-               {F0190B5D-FB21-47A2-99AC-06627CDD0F8A} = {F0190B5D-FB21-47A2-99AC-06627CDD0F8A}
-               {7B77E45C-9E80-4DDA-A3C8-C6C8FEBAA190} = {7B77E45C-9E80-4DDA-A3C8-C6C8FEBAA190}
-               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
-               {2652D55A-391C-4341-A299-6B7BDCE45F0C} = {2652D55A-391C-4341-A299-6B7BDCE45F0C}
-               {03773159-155A-48E0-9B26-119D0BF35B2B} = {03773159-155A-48E0-9B26-119D0BF35B2B}
-               {C4C3EA58-1C27-4EFB-A5BF-0DB24EC5F87A} = {C4C3EA58-1C27-4EFB-A5BF-0DB24EC5F87A}
-               {BC462A57-C5B3-4F93-8067-80363827DCDA} = {BC462A57-C5B3-4F93-8067-80363827DCDA}
-               {DAA1FD4E-02E2-4E85-B60A-81B067E8FBA0} = {DAA1FD4E-02E2-4E85-B60A-81B067E8FBA0}
-               {97B3664E-1186-400A-AEC0-AC3F23087689} = {97B3664E-1186-400A-AEC0-AC3F23087689}
-               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
-               {C2EDD447-BB60-41A1-973B-8213FCA9ECD4} = {C2EDD447-BB60-41A1-973B-8213FCA9ECD4}
-               {C8C13A46-DEB8-44AA-8BF8-C9BBC7FA0B46} = {C8C13A46-DEB8-44AA-8BF8-C9BBC7FA0B46}
-               {80C0F142-184B-4E08-A8EE-5E71437CF904} = {80C0F142-184B-4E08-A8EE-5E71437CF904}
-               {805AA73F-EF7B-4177-BF46-200B72D8F83A} = {805AA73F-EF7B-4177-BF46-200B72D8F83A}
-               {DF1A523C-1607-486D-8A5F-533B74EBC1A8} = {DF1A523C-1607-486D-8A5F-533B74EBC1A8}
-               {45ECEB36-A12B-42F5-9D7A-216A0E70601D} = {45ECEB36-A12B-42F5-9D7A-216A0E70601D}
-               {13082624-97F9-47DB-A9A1-AD7D6BF3856A} = {13082624-97F9-47DB-A9A1-AD7D6BF3856A}
-               {FE9EB721-B3C1-41D8-B585-3FB3A0083CEC} = {FE9EB721-B3C1-41D8-B585-3FB3A0083CEC}
-               {A3AD381E-C0DD-45BB-ACB2-C0A0DB33A606} = {A3AD381E-C0DD-45BB-ACB2-C0A0DB33A606}
-               {77154919-8A20-4F35-B7C7-6B3B957BDCA1} = {77154919-8A20-4F35-B7C7-6B3B957BDCA1}
-               {FBF44619-6C9B-4400-940C-9147D81EB340} = {FBF44619-6C9B-4400-940C-9147D81EB340}
-               {C6E2BC17-34D8-46E4-85F3-6293CB21ADCD} = {C6E2BC17-34D8-46E4-85F3-6293CB21ADCD}
-               {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD} = {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD}
-               {836EC214-02DD-474F-91C9-C8C46C183D48} = {836EC214-02DD-474F-91C9-C8C46C183D48}
-               {73AA7612-4297-4339-B521-8C2870E7BEC1} = {73AA7612-4297-4339-B521-8C2870E7BEC1}
-               {45CA5B12-7601-4968-AE16-16069FD1A152} = {45CA5B12-7601-4968-AE16-16069FD1A152}
-               {DBC45B0D-6E0A-4107-B284-5A3B0C5BB50D} = {DBC45B0D-6E0A-4107-B284-5A3B0C5BB50D}
-               {ECFFEB0C-1EDA-45EE-9A10-B18143852E17} = {ECFFEB0C-1EDA-45EE-9A10-B18143852E17}
-               {05D8F60B-332A-4161-B946-B8AB30ED439C} = {05D8F60B-332A-4161-B946-B8AB30ED439C}
-               {51240B08-5E4E-439B-B745-C870D5B513BF} = {51240B08-5E4E-439B-B745-C870D5B513BF}
-               {13B86307-5A11-48D6-94BE-71F77BCB82D1} = {13B86307-5A11-48D6-94BE-71F77BCB82D1}
+               {CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89} = {CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}
                {D5DD1407-3926-4F6C-AD7B-3A6B2DE56049} = {D5DD1407-3926-4F6C-AD7B-3A6B2DE56049}
+               {13B86307-5A11-48D6-94BE-71F77BCB82D1} = {13B86307-5A11-48D6-94BE-71F77BCB82D1}
+               {51240B08-5E4E-439B-B745-C870D5B513BF} = {51240B08-5E4E-439B-B745-C870D5B513BF}
+               {05D8F60B-332A-4161-B946-B8AB30ED439C} = {05D8F60B-332A-4161-B946-B8AB30ED439C}
+               {ECFFEB0C-1EDA-45EE-9A10-B18143852E17} = {ECFFEB0C-1EDA-45EE-9A10-B18143852E17}
+               {DBC45B0D-6E0A-4107-B284-5A3B0C5BB50D} = {DBC45B0D-6E0A-4107-B284-5A3B0C5BB50D}
+               {45CA5B12-7601-4968-AE16-16069FD1A152} = {45CA5B12-7601-4968-AE16-16069FD1A152}
+               {73AA7612-4297-4339-B521-8C2870E7BEC1} = {73AA7612-4297-4339-B521-8C2870E7BEC1}
+               {836EC214-02DD-474F-91C9-C8C46C183D48} = {836EC214-02DD-474F-91C9-C8C46C183D48}
+               {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD} = {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD}
+               {C6E2BC17-34D8-46E4-85F3-6293CB21ADCD} = {C6E2BC17-34D8-46E4-85F3-6293CB21ADCD}
+               {FBF44619-6C9B-4400-940C-9147D81EB340} = {FBF44619-6C9B-4400-940C-9147D81EB340}
+               {77154919-8A20-4F35-B7C7-6B3B957BDCA1} = {77154919-8A20-4F35-B7C7-6B3B957BDCA1}
+               {A3AD381E-C0DD-45BB-ACB2-C0A0DB33A606} = {A3AD381E-C0DD-45BB-ACB2-C0A0DB33A606}
+               {FE9EB721-B3C1-41D8-B585-3FB3A0083CEC} = {FE9EB721-B3C1-41D8-B585-3FB3A0083CEC}
+               {13082624-97F9-47DB-A9A1-AD7D6BF3856A} = {13082624-97F9-47DB-A9A1-AD7D6BF3856A}
+               {45ECEB36-A12B-42F5-9D7A-216A0E70601D} = {45ECEB36-A12B-42F5-9D7A-216A0E70601D}
+               {DF1A523C-1607-486D-8A5F-533B74EBC1A8} = {DF1A523C-1607-486D-8A5F-533B74EBC1A8}
+               {805AA73F-EF7B-4177-BF46-200B72D8F83A} = {805AA73F-EF7B-4177-BF46-200B72D8F83A}
+               {80C0F142-184B-4E08-A8EE-5E71437CF904} = {80C0F142-184B-4E08-A8EE-5E71437CF904}
+               {C8C13A46-DEB8-44AA-8BF8-C9BBC7FA0B46} = {C8C13A46-DEB8-44AA-8BF8-C9BBC7FA0B46}
+               {C2EDD447-BB60-41A1-973B-8213FCA9ECD4} = {C2EDD447-BB60-41A1-973B-8213FCA9ECD4}
+               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {97B3664E-1186-400A-AEC0-AC3F23087689} = {97B3664E-1186-400A-AEC0-AC3F23087689}
+               {DAA1FD4E-02E2-4E85-B60A-81B067E8FBA0} = {DAA1FD4E-02E2-4E85-B60A-81B067E8FBA0}
+               {BC462A57-C5B3-4F93-8067-80363827DCDA} = {BC462A57-C5B3-4F93-8067-80363827DCDA}
+               {C4C3EA58-1C27-4EFB-A5BF-0DB24EC5F87A} = {C4C3EA58-1C27-4EFB-A5BF-0DB24EC5F87A}
+               {03773159-155A-48E0-9B26-119D0BF35B2B} = {03773159-155A-48E0-9B26-119D0BF35B2B}
+               {2652D55A-391C-4341-A299-6B7BDCE45F0C} = {2652D55A-391C-4341-A299-6B7BDCE45F0C}
+               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
+               {7B77E45C-9E80-4DDA-A3C8-C6C8FEBAA190} = {7B77E45C-9E80-4DDA-A3C8-C6C8FEBAA190}
+               {F0190B5D-FB21-47A2-99AC-06627CDD0F8A} = {F0190B5D-FB21-47A2-99AC-06627CDD0F8A}
+               {34F8E361-D2D9-43B0-93D2-F6CF5FAF6CEB} = {34F8E361-D2D9-43B0-93D2-F6CF5FAF6CEB}
+               {5B110267-7C18-437C-B87D-DBA2B50729E9} = {5B110267-7C18-437C-B87D-DBA2B50729E9}
+               {B50F726C-8536-4DAC-8CEF-D97706ACACCC} = {B50F726C-8536-4DAC-8CEF-D97706ACACCC}
+               {BB8D4E6F-F09E-49FC-8BCB-9F496F639F60} = {BB8D4E6F-F09E-49FC-8BCB-9F496F639F60}
+               {0BB16C71-0FCD-4FB9-B7C0-F2601330C980} = {0BB16C71-0FCD-4FB9-B7C0-F2601330C980}
+               {25F06272-3E27-46E4-BEE0-8D24F60CE451} = {25F06272-3E27-46E4-BEE0-8D24F60CE451}
+               {E9741474-5C3A-4101-8B85-AC5221018C05} = {E9741474-5C3A-4101-8B85-AC5221018C05}
+               {114F3B77-2A32-4EC8-AC23-B3F910622BD9} = {114F3B77-2A32-4EC8-AC23-B3F910622BD9}
+               {8D45767A-9B03-4905-97F6-D2F3F79141EA} = {8D45767A-9B03-4905-97F6-D2F3F79141EA}
+               {C352587B-F5E4-457C-80EE-A1AEAB176C8E} = {C352587B-F5E4-457C-80EE-A1AEAB176C8E}
+               {425B887B-9FC5-4CD2-B632-DBFC000E3E25} = {425B887B-9FC5-4CD2-B632-DBFC000E3E25}
+               {D2B63E7D-1E66-4EFC-892E-FA6DAF4E5895} = {D2B63E7D-1E66-4EFC-892E-FA6DAF4E5895}
+               {982BF37F-42C4-4D37-8D14-60521B141503} = {982BF37F-42C4-4D37-8D14-60521B141503}
+               {D98B0986-14E4-44FD-B006-CACE4B291F38} = {D98B0986-14E4-44FD-B006-CACE4B291F38}
+               {A2207388-FB55-46B2-A24D-D76C0FE796F8} = {A2207388-FB55-46B2-A24D-D76C0FE796F8}
+               {495C9E8A-439A-426E-AA2C-0B22653875F9} = {495C9E8A-439A-426E-AA2C-0B22653875F9}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {22F14F8F-67C6-49B1-A730-CE70FFE9EB61} = {22F14F8F-67C6-49B1-A730-CE70FFE9EB61}
+               {1D219098-007C-4F76-9AE6-271ABBB7D393} = {1D219098-007C-4F76-9AE6-271ABBB7D393}
+               {EAF0949C-28D2-497C-954F-FC13B32FF2F3} = {EAF0949C-28D2-497C-954F-FC13B32FF2F3}
+               {B7A168A0-DFC0-4C6D-B0CC-6079912A4A76} = {B7A168A0-DFC0-4C6D-B0CC-6079912A4A76}
+               {104D88A6-C72A-411C-B32F-D6819DDBB737} = {104D88A6-C72A-411C-B32F-D6819DDBB737}
+               {620D8FA7-3704-438E-BB1E-391C84401A2E} = {620D8FA7-3704-438E-BB1E-391C84401A2E}
+               {E61FEBA7-C98E-4C42-96CA-FC03F0DB26B2} = {E61FEBA7-C98E-4C42-96CA-FC03F0DB26B2}
+               {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470} = {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470}
+               {C7865CAA-EC7C-41EB-8324-2B81C384CA20} = {C7865CAA-EC7C-41EB-8324-2B81C384CA20}
+               {8091E9B6-4C08-4218-A63D-742867CCFE9F} = {8091E9B6-4C08-4218-A63D-742867CCFE9F}
+               {C456D5B8-8A32-496A-A2EE-164B0D734126} = {C456D5B8-8A32-496A-A2EE-164B0D734126}
+               {D575A6BA-094A-45EC-8F8D-2DF7A2C37AA6} = {D575A6BA-094A-45EC-8F8D-2DF7A2C37AA6}
+               {53AAB5BC-2C08-4BBA-9793-C36140A404F8} = {53AAB5BC-2C08-4BBA-9793-C36140A404F8}
+               {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33} = {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33}
+               {B678A0CA-E006-415A-83E4-46F6060282C4} = {B678A0CA-E006-415A-83E4-46F6060282C4}
+               {28E4E9CA-3EEC-43EE-9F15-56259C6677B8} = {28E4E9CA-3EEC-43EE-9F15-56259C6677B8}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
+               {4C0B22D1-F74D-42DF-B90D-71CBC1B43DC4} = {4C0B22D1-F74D-42DF-B90D-71CBC1B43DC4}
+               {FD0F48D8-9D0B-42A8-A743-B57198FAB41E} = {FD0F48D8-9D0B-42A8-A743-B57198FAB41E}
+               {18F043DA-1DB5-464F-B67D-CF1C23BE7EA0} = {18F043DA-1DB5-464F-B67D-CF1C23BE7EA0}
+               {3FF921DF-3084-4F09-BD14-362F60B0D037} = {3FF921DF-3084-4F09-BD14-362F60B0D037}
+               {34F953E3-9A2C-4359-A8C5-41CEBD0ECE45} = {34F953E3-9A2C-4359-A8C5-41CEBD0ECE45}
+               {4467FBE5-45A6-4CA7-AD8C-48419B656137} = {4467FBE5-45A6-4CA7-AD8C-48419B656137}
+               {E3A01BE7-815F-4A06-9F0A-C95E80873966} = {E3A01BE7-815F-4A06-9F0A-C95E80873966}
+               {FAF6A7EB-8A36-4278-B34E-34EA89E55304} = {FAF6A7EB-8A36-4278-B34E-34EA89E55304}
+               {B0817AEC-2DA0-4C95-9599-4E01F2B547CD} = {B0817AEC-2DA0-4C95-9599-4E01F2B547CD}
+               {8AB8ECEC-8C22-475E-80D0-E14696F5A19B} = {8AB8ECEC-8C22-475E-80D0-E14696F5A19B}
+               {3A72C3ED-98F7-49C7-B59C-2C6C47FF9390} = {3A72C3ED-98F7-49C7-B59C-2C6C47FF9390}
+               {D407D7F1-A4D4-40F2-A5A1-D291B5D28C35} = {D407D7F1-A4D4-40F2-A5A1-D291B5D28C35}
+               {3735EFF9-925B-45B1-82CF-762658E69E70} = {3735EFF9-925B-45B1-82CF-762658E69E70}
+               {0A0B68FA-98F5-4FC2-A9E9-4AC9CEE6A6B4} = {0A0B68FA-98F5-4FC2-A9E9-4AC9CEE6A6B4}
+               {959384FC-016C-4B01-B848-1B18D26B6CC4} = {959384FC-016C-4B01-B848-1B18D26B6CC4}
+               {445D3B85-C9B1-498B-9C88-0A3C2390B1CC} = {445D3B85-C9B1-498B-9C88-0A3C2390B1CC}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "modules\core\src\c\core.vcproj", "{C6E2BC17-34D8-46E4-85F3-6293CB21ADCD}"
@@ -176,34 +177,34 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gd", "modules\graphics\src\
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "graphics", "modules\graphics\graphics.vcproj", "{8CCDD3C2-B025-4A12-A986-1AA28D7C0C33}"
        ProjectSection(ProjectDependencies) = postProject
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {B23B01C1-A545-4BA0-9950-7BCADE201C5B} = {B23B01C1-A545-4BA0-9950-7BCADE201C5B}
-               {C456D5B8-8A32-496A-A2EE-164B0D734126} = {C456D5B8-8A32-496A-A2EE-164B0D734126}
-               {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470} = {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D} = {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D}
-               {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD} = {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD}
                {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923} = {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923}
+               {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD} = {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD}
+               {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D} = {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470} = {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470}
+               {C456D5B8-8A32-496A-A2EE-164B0D734126} = {C456D5B8-8A32-496A-A2EE-164B0D734126}
+               {B23B01C1-A545-4BA0-9950-7BCADE201C5B} = {B23B01C1-A545-4BA0-9950-7BCADE201C5B}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "integer", "modules\integer\src\c\integer.vcproj", "{C7865CAA-EC7C-41EB-8324-2B81C384CA20}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "integer_f", "modules\integer\src\fortran\integer_f.vfproj", "{FD0F48D8-9D0B-42A8-A743-B57198FAB41E}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intersci", "modules\intersci\src\lib\intersci.vcproj", "{DFA0D75B-F7EF-4D02-B33F-486829405315}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
                {8D45767A-9B03-4905-97F6-D2F3F79141EA} = {8D45767A-9B03-4905-97F6-D2F3F79141EA}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intersciexe", "modules\intersci\src\exe\intersciexe\intersciexe.vcproj", "{73AA7612-4297-4339-B521-8C2870E7BEC1}"
@@ -227,18 +228,18 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gui", "modules\gui\src\c\gu
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "metanet", "modules\metanet\src\c\metanet.vcproj", "{E9741474-5C3A-4101-8B85-AC5221018C05}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {1D5E735D-176E-4C6D-B980-3C2EC7051F90} = {1D5E735D-176E-4C6D-B980-3C2EC7051F90}
-               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
                {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD} = {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD}
+               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
+               {1D5E735D-176E-4C6D-B980-3C2EC7051F90} = {1D5E735D-176E-4C6D-B980-3C2EC7051F90}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "metanet_f", "modules\metanet\src\fortran\metanet_f.vfproj", "{1D5E735D-176E-4C6D-B980-3C2EC7051F90}"
        ProjectSection(ProjectDependencies) = postProject
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "optim", "modules\optimization\src\c\optim.vcproj", "{425B887B-9FC5-4CD2-B632-DBFC000E3E25}"
@@ -253,8 +254,8 @@ Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "optim_f", "modules\optimiza
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "polynomials_f", "modules\polynomials\src\fortran\polynomials_f.vfproj", "{3A72C3ED-98F7-49C7-B59C-2C6C47FF9390}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pvm", "modules\pvm\pvm.vcproj", "{63352867-3983-48E3-94FE-DD8F0D6E921F}"
@@ -269,24 +270,24 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "randlib", "modules\randlib\
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "randlib_f", "modules\randlib\src\fortran\randlib_f.vfproj", "{BB8D4E6F-F09E-49FC-8BCB-9F496F639F60}"
        ProjectSection(ProjectDependencies) = postProject
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
                {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scicos", "modules\scicos\src\c\scicos.vcproj", "{B7A0273E-8E71-4663-8497-0895945ED54D}"
        ProjectSection(ProjectDependencies) = postProject
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {566E524B-D327-4416-A865-9C83503FAB7B} = {566E524B-D327-4416-A865-9C83503FAB7B}
                {05D8F60B-332A-4161-B946-B8AB30ED439C} = {05D8F60B-332A-4161-B946-B8AB30ED439C}
+               {566E524B-D327-4416-A865-9C83503FAB7B} = {566E524B-D327-4416-A865-9C83503FAB7B}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "scicos_f", "modules\scicos\src\fortran\scicos_f.vfproj", "{566E524B-D327-4416-A865-9C83503FAB7B}"
        ProjectSection(ProjectDependencies) = postProject
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923} = {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "signal_f", "modules\signal_processing\src\fortran\signal_f.vfproj", "{959384FC-016C-4B01-B848-1B18D26B6CC4}"
@@ -296,32 +297,32 @@ Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "signal_f", "modules\signal_
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "slicot_f", "modules\cacsd\src\slicot\slicot_f\slicot_f.vfproj", "{C4C3EA58-1C27-4EFB-A5BF-0DB24EC5F87A}"
        ProjectSection(ProjectDependencies) = postProject
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923} = {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fileio", "modules\fileio\fileio.vcproj", "{4FC72D4A-80EE-4B1A-8724-0201C1A35621}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {805AA73F-EF7B-4177-BF46-200B72D8F83A} = {805AA73F-EF7B-4177-BF46-200B72D8F83A}
                {FBF44619-6C9B-4400-940C-9147D81EB340} = {FBF44619-6C9B-4400-940C-9147D81EB340}
+               {805AA73F-EF7B-4177-BF46-200B72D8F83A} = {805AA73F-EF7B-4177-BF46-200B72D8F83A}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sparse", "modules\sparse\src\c\sparse.vcproj", "{51240B08-5E4E-439B-B745-C870D5B513BF}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {80C0F142-184B-4E08-A8EE-5E71437CF904} = {80C0F142-184B-4E08-A8EE-5E71437CF904}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "sparse_f", "modules\sparse\src\fortran\sparse_f.vfproj", "{13082624-97F9-47DB-A9A1-AD7D6BF3856A}"
        ProjectSection(ProjectDependencies) = postProject
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
-               {C2EDD447-BB60-41A1-973B-8213FCA9ECD4} = {C2EDD447-BB60-41A1-973B-8213FCA9ECD4}
                {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923} = {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923}
+               {C2EDD447-BB60-41A1-973B-8213FCA9ECD4} = {C2EDD447-BB60-41A1-973B-8213FCA9ECD4}
+               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wsci", "modules\gui\src\c\wsci\wsci.vcproj", "{2652D55A-391C-4341-A299-6B7BDCE45F0C}"
@@ -331,10 +332,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wsci", "modules\gui\src\c\w
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CScilex", "modules\gui\src\c\wsci\CScilex\CScilex.vcproj", "{9BA6F7E4-AE64-4FD9-A5A7-0996A8B73B77}"
        ProjectSection(ProjectDependencies) = postProject
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {982BF37F-42C4-4D37-8D14-60521B141503} = {982BF37F-42C4-4D37-8D14-60521B141503}
-               {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
                {7DCD755A-2906-47B8-9084-2FE6D7F5D5C3} = {7DCD755A-2906-47B8-9084-2FE6D7F5D5C3}
+               {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
+               {982BF37F-42C4-4D37-8D14-60521B141503} = {982BF37F-42C4-4D37-8D14-60521B141503}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Gengatsce", "tools\gengatsce\Gengatsce.vcproj", "{B0817AEC-2DA0-4C95-9599-4E01F2B547CD}"
@@ -349,32 +350,32 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Modelicac", "modules\scicos
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmex", "modules\mexlib\src\libmex\libmex.vcproj", "{0AEC8745-BB5B-4E66-A59A-7251412C3605}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
-               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
-               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
                {80C0F142-184B-4E08-A8EE-5E71437CF904} = {80C0F142-184B-4E08-A8EE-5E71437CF904}
+               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
+               {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmx", "modules\mexlib\src\libmx\libmx.vcproj", "{CEF88C5F-6820-46D4-BCCD-44D5581481C5}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
-               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
-               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
                {80C0F142-184B-4E08-A8EE-5E71437CF904} = {80C0F142-184B-4E08-A8EE-5E71437CF904}
+               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
+               {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmat", "modules\mexlib\src\libmat\libmat.vcproj", "{8A508625-C2AA-4295-AA76-16E4E456D13D}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
-               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
-               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
                {80C0F142-184B-4E08-A8EE-5E71437CF904} = {80C0F142-184B-4E08-A8EE-5E71437CF904}
+               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {DFA0D75B-F7EF-4D02-B33F-486829405315} = {DFA0D75B-F7EF-4D02-B33F-486829405315}
+               {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SetupAtlas", "tools\SetupAtlas\SetupAtlas.vcproj", "{AAFF2053-3F1E-4B8B-B174-4407A6B98FA5}"
@@ -388,17 +389,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Wintools", "modules\wintool
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tclsci", "modules\tclsci\tclsci.vcproj", "{C456D5B8-8A32-496A-A2EE-164B0D734126}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
                {ECFFEB0C-1EDA-45EE-9A10-B18143852E17} = {ECFFEB0C-1EDA-45EE-9A10-B18143852E17}
+               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "javasci", "modules\javasci\Javasci.vcproj", "{0BD503EF-5CB6-4277-BAC4-8955C97F247D}"
        ProjectSection(ProjectDependencies) = postProject
-               {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33} = {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
                {64BC155E-292F-484F-9404-76EE6AE67A43} = {64BC155E-292F-484F-9404-76EE6AE67A43}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33} = {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BuildChm", "modules\helptools\src\BuildChm\BuildChm.vcproj", "{D319F719-F429-4842-A6F9-B1227FE2A54D}"
@@ -408,51 +409,51 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BuildChm", "modules\helptoo
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "lapack_DLL", "libs\lapack\lapack_f\lapack_DLL.vfproj", "{69296D00-0DE1-4F4B-B0CE-FE4F3CB43923}"
        ProjectSection(ProjectDependencies) = postProject
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
                {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "arpack_DLL", "modules\arnoldi\src\arpack\arpack_f\arpack_DLL.vfproj", "{34F953E3-9A2C-4359-A8C5-41CEBD0ECE45}"
        ProjectSection(ProjectDependencies) = postProject
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923} = {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "time", "modules\time\time.vcproj", "{05D8F60B-332A-4161-B946-B8AB30ED439C}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sound", "modules\sound\sound.vcproj", "{03773159-155A-48E0-9B26-119D0BF35B2B}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
                {FBF44619-6C9B-4400-940C-9147D81EB340} = {FBF44619-6C9B-4400-940C-9147D81EB340}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "localization", "modules\localization\src\localization.vcproj", "{ECFFEB0C-1EDA-45EE-9A10-B18143852E17}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
                {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD} = {2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD}
+               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hashtable", "libs\hashtable\hashtable.vcproj", "{2DAEC214-B0B4-4BC3-96B2-77C6AD1450CD}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjvm", "modules\jvm\libjvm.vcproj", "{8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
-               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
-               {80C0F142-184B-4E08-A8EE-5E71437CF904} = {80C0F142-184B-4E08-A8EE-5E71437CF904}
                {77154919-8A20-4F35-B7C7-6B3B957BDCA1} = {77154919-8A20-4F35-B7C7-6B3B957BDCA1}
+               {80C0F142-184B-4E08-A8EE-5E71437CF904} = {80C0F142-184B-4E08-A8EE-5E71437CF904}
+               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DetectFramework", "libs\DetectFrameWork2\DetectFramework.vcproj", "{7DCD755A-2906-47B8-9084-2FE6D7F5D5C3}"
@@ -463,61 +464,61 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MALLOC", "libs\MALLOC\MALLO
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "io", "modules\io\src\c\io.vcproj", "{80C0F142-184B-4E08-A8EE-5E71437CF904}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {C456D5B8-8A32-496A-A2EE-164B0D734126} = {C456D5B8-8A32-496A-A2EE-164B0D734126}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
                {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {C456D5B8-8A32-496A-A2EE-164B0D734126} = {C456D5B8-8A32-496A-A2EE-164B0D734126}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "io_f", "modules\io\src\fortran\io_f.vfproj", "{C2EDD447-BB60-41A1-973B-8213FCA9ECD4}"
        ProjectSection(ProjectDependencies) = postProject
-               {FD0F48D8-9D0B-42A8-A743-B57198FAB41E} = {FD0F48D8-9D0B-42A8-A743-B57198FAB41E}
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
+               {FD0F48D8-9D0B-42A8-A743-B57198FAB41E} = {FD0F48D8-9D0B-42A8-A743-B57198FAB41E}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "modules\string\src\c\string.vcproj", "{8D45767A-9B03-4905-97F6-D2F3F79141EA}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "string_f", "modules\string\src\fortran\string_f.vfproj", "{FAF6A7EB-8A36-4278-B34E-34EA89E55304}"
        ProjectSection(ProjectDependencies) = postProject
-               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
                {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9} = {78BD64CE-181D-4D3F-9254-5C4F55C1EDC9}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "symbolic_f", "modules\symbolic\src\fortran\symbolic_f.vfproj", "{D2B63E7D-1E66-4EFC-892E-FA6DAF4E5895}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "symbolic", "modules\symbolic\src\c\symbolic.vcproj", "{A2207388-FB55-46B2-A24D-D76C0FE796F8}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "polynomials", "modules\polynomials\src\c\polynomials.vcproj", "{620D8FA7-3704-438E-BB1E-391C84401A2E}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "arnoldi", "modules\arnoldi\arnoldi.vcproj", "{D575A6BA-094A-45EC-8F8D-2DF7A2C37AA6}"
        ProjectSection(ProjectDependencies) = postProject
-               {34F953E3-9A2C-4359-A8C5-41CEBD0ECE45} = {34F953E3-9A2C-4359-A8C5-41CEBD0ECE45}
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {34F953E3-9A2C-4359-A8C5-41CEBD0ECE45} = {34F953E3-9A2C-4359-A8C5-41CEBD0ECE45}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signal", "modules\signal_processing\src\c\signal.vcproj", "{A3AD381E-C0DD-45BB-ACB2-C0A0DB33A606}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "cacsd_f", "modules\cacsd\src\fortran\cacsd_f.vfproj", "{0BB16C71-0FCD-4FB9-B7C0-F2601330C980}"
@@ -527,8 +528,8 @@ Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "cacsd_f", "modules\cacsd\sr
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cacsd", "modules\cacsd\src\c\cacsd.vcproj", "{D5DD1407-3926-4F6C-AD7B-3A6B2DE56049}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "dcd_f", "modules\statistics\src\dcdflib\dcd_f\dcd_f.vfproj", "{18F043DA-1DB5-464F-B67D-CF1C23BE7EA0}"
@@ -540,21 +541,21 @@ Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "gui_f", "modules\gui\src\fo
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "linear_algebra_f", "modules\linear_algebra\src\fortran\linear_algebra_f.vfproj", "{3735EFF9-925B-45B1-82CF-762658E69E70}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923} = {69296D00-0DE1-4F4B-B0CE-FE4F3CB43923}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "linear_algebra", "modules\linear_algebra\src\c\linear_algebra.vcproj", "{BC462A57-C5B3-4F93-8067-80363827DCDA}"
        ProjectSection(ProjectDependencies) = postProject
-               {3735EFF9-925B-45B1-82CF-762658E69E70} = {3735EFF9-925B-45B1-82CF-762658E69E70}
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {3735EFF9-925B-45B1-82CF-762658E69E70} = {3735EFF9-925B-45B1-82CF-762658E69E70}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "special_functions", "modules\special_functions\src\c\special_functions.vcproj", "{C8C13A46-DEB8-44AA-8BF8-C9BBC7FA0B46}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "special_functions_f", "modules\special_functions\src\fortran\special_functions_f.vfproj", "{E3A01BE7-815F-4A06-9F0A-C95E80873966}"
@@ -564,8 +565,8 @@ Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "special_functions_f", "modu
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "differential_equations", "modules\differential_equations\src\c\differential_equations.vcproj", "{F0190B5D-FB21-47A2-99AC-06627CDD0F8A}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "differential_equations_f", "modules\differential_equations\src\fortran\differential_equations_f.vfproj", "{28E4E9CA-3EEC-43EE-9F15-56259C6677B8}"
@@ -575,8 +576,8 @@ Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "differential_equations_f",
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "double", "modules\double\src\c\double.vcproj", "{E61FEBA7-C98E-4C42-96CA-FC03F0DB26B2}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "double_f", "modules\double\src\fortran\double_f.vfproj", "{97B3664E-1186-400A-AEC0-AC3F23087689}"
@@ -586,8 +587,8 @@ Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "double_f", "modules\double\
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boolean", "modules\boolean\src\c\boolean.vcproj", "{8AB8ECEC-8C22-475E-80D0-E14696F5A19B}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "boolean_f", "modules\boolean\src\fortran\boolean_f.vfproj", "{45ECEB36-A12B-42F5-9D7A-216A0E70601D}"
@@ -597,14 +598,14 @@ Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "boolean_f", "modules\boolea
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "interpolation", "modules\interpolation\src\c\interpolation.vcproj", "{22F14F8F-67C6-49B1-A730-CE70FFE9EB61}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "data_structures", "modules\data_structures\src\c\data_structures.vcproj", "{B7A168A0-DFC0-4C6D-B0CC-6079912A4A76}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "data_structures_f", "modules\data_structures\src\fortran\data_structures_f.vfproj", "{8091E9B6-4C08-4218-A63D-742867CCFE9F}"
@@ -629,9 +630,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nofftw", "modules\fftw\src\
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fftw", "modules\fftw\fftw.vcproj", "{13B86307-5A11-48D6-94BE-71F77BCB82D1}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
                {77154919-8A20-4F35-B7C7-6B3B957BDCA1} = {77154919-8A20-4F35-B7C7-6B3B957BDCA1}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nometanet", "modules\metanet\src\c\nometanet\nometanet.vcproj", "{5F09A87D-A877-4AB8-9482-029253833FE4}"
@@ -671,17 +672,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nopvm", "modules\pvm\src\no
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shell", "modules\shell\src\c\shell.vcproj", "{805AA73F-EF7B-4177-BF46-200B72D8F83A}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjvm-Ant", "modules\jvm\src\java\jvm-JAVA.vcproj", "{E9783492-017E-4811-9CC7-6B71856F847C}"
        ProjectSection(ProjectDependencies) = postProject
-               {F01C26E3-E409-4E74-BA84-C7C4A71A7FDC} = {F01C26E3-E409-4E74-BA84-C7C4A71A7FDC}
-               {251D7C8F-9B69-4CE9-959E-57F343DDC883} = {251D7C8F-9B69-4CE9-959E-57F343DDC883}
-               {2EA61E81-0F0C-4006-985C-12785093CD2F} = {2EA61E81-0F0C-4006-985C-12785093CD2F}
-               {4235A847-ED0E-43A3-B62B-E59CB857EDE9} = {4235A847-ED0E-43A3-B62B-E59CB857EDE9}
                {FBA3BC3F-8A2C-4D47-A50D-EB808BE42F43} = {FBA3BC3F-8A2C-4D47-A50D-EB808BE42F43}
+               {4235A847-ED0E-43A3-B62B-E59CB857EDE9} = {4235A847-ED0E-43A3-B62B-E59CB857EDE9}
+               {2EA61E81-0F0C-4006-985C-12785093CD2F} = {2EA61E81-0F0C-4006-985C-12785093CD2F}
+               {251D7C8F-9B69-4CE9-959E-57F343DDC883} = {251D7C8F-9B69-4CE9-959E-57F343DDC883}
+               {F01C26E3-E409-4E74-BA84-C7C4A71A7FDC} = {F01C26E3-E409-4E74-BA84-C7C4A71A7FDC}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "javasci-Ant", "modules\javasci\src\java\javasci-JAVA.vcproj", "{6182A20D-8111-41C1-9713-CD2A4725057C}"
@@ -691,8 +692,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "javasci-Ant", "modules\java
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gui-Ant", "modules\gui\src\java\gui-JAVA.vcproj", "{F01C26E3-E409-4E74-BA84-C7C4A71A7FDC}"
        ProjectSection(ProjectDependencies) = postProject
-               {4235A847-ED0E-43A3-B62B-E59CB857EDE9} = {4235A847-ED0E-43A3-B62B-E59CB857EDE9}
                {251D7C8F-9B69-4CE9-959E-57F343DDC883} = {251D7C8F-9B69-4CE9-959E-57F343DDC883}
+               {4235A847-ED0E-43A3-B62B-E59CB857EDE9} = {4235A847-ED0E-43A3-B62B-E59CB857EDE9}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shell-Ant", "modules\shell\src\java\shell-JAVA.vcproj", "{2EA61E81-0F0C-4006-985C-12785093CD2F}"
@@ -713,26 +714,41 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "renderer-Ant", "modules\ren
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "renderer", "modules\renderer\renderer.vcproj", "{B23B01C1-A545-4BA0-9950-7BCADE201C5B}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470} = {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470}
                {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D} = {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D}
+               {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470} = {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "console", "modules\console\src\c\console.vcproj", "{445D3B85-C9B1-498B-9C88-0A3C2390B1CC}"
        ProjectSection(ProjectDependencies) = postProject
-               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
-               {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470} = {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470}
                {805AA73F-EF7B-4177-BF46-200B72D8F83A} = {805AA73F-EF7B-4177-BF46-200B72D8F83A}
+               {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470} = {8BA2DDA8-BD04-4D4D-8EE6-6CAA955F7470}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "console-Ant", "modules\console\src\java\console-JAVA.vcproj", "{251D7C8F-9B69-4CE9-959E-57F343DDC883}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doublylinkedlist", "libs\doublylinkedlist\doublylinkedlist.vcproj", "{ED02137F-0A4F-4EF0-AC58-97ACE37FA89D}"
        ProjectSection(ProjectDependencies) = postProject
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+       EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "completion", "modules\completion\src\c\completion.vcproj", "{CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}"
+       ProjectSection(ProjectDependencies) = postProject
+               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33} = {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33}
                {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
                {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
        EndProjectSection
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "completion-Ant", "modules\completion\src\java\completion-JAVA.vcproj", "{B5E4D0C2-8C6A-4437-81BF-DBFA95900C9D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nocompletion", "modules\completion\src\nocompletion\nocompletion.vcproj", "{D1586C83-3F16-467B-85C6-6A12A08CCB8D}"
+       ProjectSection(ProjectDependencies) = postProject
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+       EndProjectSection
+EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Win32 = Debug|Win32
@@ -1201,6 +1217,18 @@ Global
                {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D}.Debug|Win32.Build.0 = Debug|Win32
                {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D}.Release|Win32.ActiveCfg = Release|Win32
                {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D}.Release|Win32.Build.0 = Release|Win32
+               {CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}.Debug|Win32.ActiveCfg = Debug|Win32
+               {CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}.Debug|Win32.Build.0 = Debug|Win32
+               {CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}.Release|Win32.ActiveCfg = Release|Win32
+               {CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}.Release|Win32.Build.0 = Release|Win32
+               {B5E4D0C2-8C6A-4437-81BF-DBFA95900C9D}.Debug|Win32.ActiveCfg = Debug|Win32
+               {B5E4D0C2-8C6A-4437-81BF-DBFA95900C9D}.Debug|Win32.Build.0 = Debug|Win32
+               {B5E4D0C2-8C6A-4437-81BF-DBFA95900C9D}.Release|Win32.ActiveCfg = Release|Win32
+               {B5E4D0C2-8C6A-4437-81BF-DBFA95900C9D}.Release|Win32.Build.0 = Release|Win32
+               {D1586C83-3F16-467B-85C6-6A12A08CCB8D}.Debug|Win32.ActiveCfg = Debug|Win32
+               {D1586C83-3F16-467B-85C6-6A12A08CCB8D}.Debug|Win32.Build.0 = Debug|Win32
+               {D1586C83-3F16-467B-85C6-6A12A08CCB8D}.Release|Win32.ActiveCfg = Release|Win32
+               {D1586C83-3F16-467B-85C6-6A12A08CCB8D}.Release|Win32.Build.0 = Release|Win32
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index e0cb769..be0f11a 100644 (file)
@@ -790,6 +790,21 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doublylinkedlist", "libs\do
                {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
        EndProjectSection
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "completion", "modules\completion\src\c\completion.vcproj", "{CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}"
+       ProjectSection(ProjectDependencies) = postProject
+               {4FC72D4A-80EE-4B1A-8724-0201C1A35621} = {4FC72D4A-80EE-4B1A-8724-0201C1A35621}
+               {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33} = {8CCDD3C2-B025-4A12-A986-1AA28D7C0C33}
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+               {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
+       EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "completion-Ant", "modules\completion\src\java\completion-JAVA.vcproj", "{B5E4D0C2-8C6A-4437-81BF-DBFA95900C9D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nocompletion", "modules\completion\src\nocompletion\nocompletion.vcproj", "{D1586C83-3F16-467B-85C6-6A12A08CCB8D}"
+       ProjectSection(ProjectDependencies) = postProject
+               {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
+       EndProjectSection
+EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Win32 = Debug|Win32
@@ -1258,6 +1273,18 @@ Global
                {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D}.Debug|Win32.Build.0 = Debug|Win32
                {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D}.Release|Win32.ActiveCfg = Release|Win32
                {ED02137F-0A4F-4EF0-AC58-97ACE37FA89D}.Release|Win32.Build.0 = Release|Win32
+               {CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}.Debug|Win32.ActiveCfg = Debug|Win32
+               {CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}.Debug|Win32.Build.0 = Debug|Win32
+               {CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}.Release|Win32.ActiveCfg = Release|Win32
+               {CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}.Release|Win32.Build.0 = Release|Win32
+               {B5E4D0C2-8C6A-4437-81BF-DBFA95900C9D}.Debug|Win32.ActiveCfg = Debug|Win32
+               {B5E4D0C2-8C6A-4437-81BF-DBFA95900C9D}.Debug|Win32.Build.0 = Debug|Win32
+               {B5E4D0C2-8C6A-4437-81BF-DBFA95900C9D}.Release|Win32.ActiveCfg = Release|Win32
+               {B5E4D0C2-8C6A-4437-81BF-DBFA95900C9D}.Release|Win32.Build.0 = Release|Win32
+               {D1586C83-3F16-467B-85C6-6A12A08CCB8D}.Debug|Win32.ActiveCfg = Debug|Win32
+               {D1586C83-3F16-467B-85C6-6A12A08CCB8D}.Debug|Win32.Build.0 = Debug|Win32
+               {D1586C83-3F16-467B-85C6-6A12A08CCB8D}.Release|Win32.ActiveCfg = Release|Win32
+               {D1586C83-3F16-467B-85C6-6A12A08CCB8D}.Release|Win32.Build.0 = Release|Win32
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 14204b1..51d806d 100644 (file)
@@ -26,6 +26,7 @@
 <module name="data_structures" activate="1"/>
 <module name="shell" activate="1"/>
 <module name="console" activate="1"/>
+<module name="completion" activate="1"/>
 <module name="gui" activate="1"/>
 <module name="incremental_link" activate="1"/>
 <module name="integer" activate="1"/>
diff --git a/scilab/modules/completion/.checkstyle b/scilab/modules/completion/.checkstyle
new file mode 100644 (file)
index 0000000..b891c58
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<fileset-config file-format-version="1.2.0" simple-config="true">\r
+    <local-check-config name="Scilab CheckStyle" location="internal_config__1181381231358.xml" type="internal" description=""/>\r
+    <fileset name="tous" enabled="true" check-config-name="Scilab CheckStyle" local="true">\r
+        <file-match-pattern match-pattern="." include-pattern="true"/>\r
+    </fileset>\r
+</fileset-config>\r
diff --git a/scilab/modules/completion/.classpath b/scilab/modules/completion/.classpath
new file mode 100644 (file)
index 0000000..0958adb
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
+       <classpathentry kind="output" path="build"/>\r
+</classpath>\r
diff --git a/scilab/modules/completion/.project b/scilab/modules/completion/.project
new file mode 100644 (file)
index 0000000..eaf214d
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>completion</name>\r
+       <comment></comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>org.eclipse.jdt.core.javabuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.eclipse.jdt.core.javanature</nature>\r
+               <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>\r
+       </natures>\r
+</projectDescription>\r
diff --git a/scilab/modules/completion/Makefile.am b/scilab/modules/completion/Makefile.am
new file mode 100644 (file)
index 0000000..6b72896
--- /dev/null
@@ -0,0 +1,57 @@
+##########
+### Sylvestre Ledru <sylvestre.ledru@inria.fr>
+### TEMPLATE MAKEFILE 
+### INRIA - Scilab 2007
+##########
+
+# List of the c files
+COMPLETION_C_SOURCES = src/c/completion.c \
+src/c/completion_generic \
+src/c/getfilesdictionary.c \
+src/c/getfulldictionary.c \
+src/c/getmacrosdictionary.c \
+src/c/toolsdictionary.c
+
+# List of the gateway c files
+GATEWAY_C_SOURCES = sci_gateway/c/sci_completion.c \
+sci_gateway/c/gw_completion.c
+
+# Includes need for the compilation
+libscicompletion_la_CFLAGS=  -Iincludes/ -Isrc/c/ -I$(top_srcdir)/libs/MALLOC/includes/
+
+# Name of the future library (.la will be replace by .so, .a, etc regarding 
+# the system)
+pkglib_LTLIBRARIES = libscicompletion.la
+
+# All the sources needed by libscicompletion.la
+libscicompletion_la_SOURCES = $(COMPLETION_C_SOURCES) $(GATEWAY_C_SOURCES) 
+
+## Libraries necessary
+## Change to include other Scilab modules/lib
+libscicompletion_la_LIBADD = \
+       $(top_builddir)/libs/blas/libsciblas.la \
+       $(top_builddir)/libs/MALLOC/libscimalloc.la
+
+#### Name of the module and the path ######
+modulename=completion
+
+#### completion : Conf files ####
+libscicompletion_la_rootdir = $(mydatadir)
+libscicompletion_la_root_DATA = changelog.txt licence.txt readme.txt version.xml
+
+#### completion : init scripts #### 
+libscicompletion_la_etcdir = $(mydatadir)/etc
+libscicompletion_la_etc_DATA = etc/completion.quit etc/completion.start
+
+#### completion : gateway declaration #### 
+libscicompletion_la_sci_gatewaydir = $(mydatadir)/sci_gateway
+libscicompletion_la_sci_gateway_DATA = sci_gateway/completion_gateway.xml
+
+#### completion : include files ####
+libscicompletion_la_includedir=$(pkgincludedir)/completion
+libscicompletion_la_include_HEADERS = includes/gw_completion.h \
+includes/completion.h
+
+# Provides macros compilation, Java compilation, cleaning
+# If you want Makefile to call ant, added USEANT=1
+include $(top_srcdir)/Makefile.incl.am
diff --git a/scilab/modules/completion/build.xml b/scilab/modules/completion/build.xml
new file mode 100644 (file)
index 0000000..091ff72
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+@author Allan CORNET\r
+INRIA 2007\r
+-->\r
+<project name="completion" default="compile">\r
+  <import file="../../build.incl.xml"/>\r
+\r
+  <property name="library.name" value="${library.completion.name}" />\r
+\r
+  <description>\r
+       Build "completion" module\r
+  </description>\r
+\r
+<!-- \r
+  <target name="compile" description="build sources" depends="init,checkstyle-scilab">\r
+-->\r
+  <target name="jar" description="Build the jar file" depends="compile">\r
+       <jar destfile="${build.jar.dir}/${library.name}" basedir="${classes.dir}">\r
+         <manifest>\r
+         </manifest>\r
+       </jar>\r
+  </target>\r
+</project>\r
diff --git a/scilab/modules/completion/changelog.txt b/scilab/modules/completion/changelog.txt
new file mode 100644 (file)
index 0000000..e6f493a
--- /dev/null
@@ -0,0 +1,3 @@
+  * First version of "completion" module
+
+ -- Allan CORNET  1st August 2007
diff --git a/scilab/modules/completion/completion.iss b/scilab/modules/completion/completion.iss
new file mode 100644 (file)
index 0000000..7dd7e62
--- /dev/null
@@ -0,0 +1,46 @@
+;##############################################################################################################\r
+; Script d'installation Inno Setup (5.1.7) pour scilab\r
+; Allan CORNET\r
+; Version TRUNK\r
+; Copyright INRIA 2007\r
+;##############################################################################################################\r
+;--------------------------------------------------------------------------------------------------------------\r
+; completion module\r
+;--------------------------------------------------------------------------------------------------------------\r
+;\r
+#define COMPLETION "completion"\r
+;\r
+Source: bin\scicompletion.dll; DestDir: {app}\bin; Components: {#COMPN_COMPLETION}\r
+;\r
+Source: java\jar\modules\org.scilab.modules.completion.jar;DestDir: {app}\java\jar\modules; Components: {#COMPN_COMPLETION}\r
+;\r
+Source: bin\noscicompletion.dll; DestDir: {app}\bin; DestName: scicompletion.dll; Components: not ({#COMPN_COMPLETION})\r
+;\r
+Source: modules\{#COMPLETION}\changelog.txt; DestDir: {app}\modules\{#COMPLETION}; Components: {#COMPN_COMPLETION}; Check: set_with_completion\r
+Source: modules\{#COMPLETION}\licence.txt; DestDir: {app}\modules\{#COMPLETION}; Components: {#COMPN_COMPLETION}\r
+Source: modules\{#COMPLETION}\readme.txt; DestDir: {app}\modules\{#COMPLETION}; Components: {#COMPN_COMPLETION}\r
+Source: modules\{#COMPLETION}\version.xml; DestDir: {app}\modules\{#COMPLETION}; Components: {#COMPN_COMPLETION}\r
+;\r
+Source: modules\{#COMPLETION}\sci_gateway\completion_gateway.xml; DestDir: {app}\modules\{#COMPLETION}\sci_gateway; Components: {#COMPN_COMPLETION}\r
+;\r
+Source: modules\{#COMPLETION}\includes\*.h; DestDir: {app}\modules\{#COMPLETION}\includes; Components: {#COMPN_COMPLETION}\r
+;\r
+Source: modules\{#COMPLETION}\help\addchapter.sce; DestDir: {app}\modules\{#COMPLETION}\help; Flags: recursesubdirs; Components:  {#COMPN_COMPLETION}\r
+Source: modules\{#COMPLETION}\help\removechapter.sce; DestDir: {app}\modules\{#COMPLETION}\help; Flags: recursesubdirs; Components: {#COMPN_COMPLETION}\r
+;\r
+Source: modules\{#COMPLETION}\etc\{#COMPLETION}.quit; DestDir: {app}\modules\{#COMPLETION}\etc; Components: {#COMPN_COMPLETION}\r
+Source: modules\{#COMPLETION}\etc\{#COMPLETION}.start; DestDir: {app}\modules\{#COMPLETION}\etc; Components: {#COMPN_COMPLETION}\r
+;\r
+Source: modules\{#COMPLETION}\help\*.htm; DestDir: {app}\modules\{#COMPLETION}\help; Flags: recursesubdirs; Components: {#COMPN_COMPLETION}\r
+;\r
+Source: modules\{#COMPLETION}\languages\*.xml; DestDir: {app}\modules\{#COMPLETION}\languages; Flags: recursesubdirs; Components: {#COMPN_COMPLETION}\r
+;\r
+Source: modules\{#COMPLETION}\macros\buildmacros.sce; DestDir: {app}\modules\{#COMPLETION}\macros; Components: {#COMPN_COMPLETION}\r
+Source: modules\{#COMPLETION}\macros\*.bin; DestDir: {app}\modules\{#COMPLETION}\macros; Components: {#COMPN_COMPLETION}\r
+Source: modules\{#COMPLETION}\macros\*.sci; DestDir: {app}\modules\{#COMPLETION}\macros; Components: {#COMPN_COMPLETION}\r
+Source: modules\{#COMPLETION}\macros\lib; DestDir: {app}\modules\{#COMPLETION}\macros; Components: {#COMPN_COMPLETION}\r
+Source: modules\{#COMPLETION}\macros\names; DestDir: {app}\modules\{#COMPLETION}\macros; Components: {#COMPN_COMPLETION}\r
+;\r
+;Source: modules\{#COMPLETION}\demos\*.*; DestDir: {app}\modules\{#COMPLETION}\demos; Flags: recursesubdirs; Components: {#COMPN_COMPLETION}\r
+;\r
+;--------------------------------------------------------------------------------------------------------------\r
diff --git a/scilab/modules/completion/etc/completion.quit b/scilab/modules/completion/etc/completion.quit
new file mode 100644 (file)
index 0000000..301e127
--- /dev/null
@@ -0,0 +1,8 @@
+// ====================================================================\r
+// This file contains command to be executed at the end \r
+// of a scilab session for completion module\r
+// Copyright INRIA 2007\r
+// ====================================================================\r
+// delete help chapter\r
+del_module_help_chapter('completion');\r
+// ====================================================================\r
diff --git a/scilab/modules/completion/etc/completion.start b/scilab/modules/completion/etc/completion.start
new file mode 100644 (file)
index 0000000..cd44418
--- /dev/null
@@ -0,0 +1,11 @@
+// ====================================================================\r
+// completion module initialisation file \r
+// Copyright INRIA 2007\r
+// ====================================================================\r
+//Load  functions librarie\r
+//load('SCI/modules/completion/macros/lib');\r
+// ====================================================================\r
+//add help chapter\r
+add_module_help_chapter('completion');\r
+clear add_module_help_chapter;\r
+// ====================================================================\r
diff --git a/scilab/modules/completion/help/en_US/addchapter.sce b/scilab/modules/completion/help/en_US/addchapter.sce
new file mode 100644 (file)
index 0000000..9a56fbc
--- /dev/null
@@ -0,0 +1,10 @@
+// ====================================================================\r
+// help completion module\r
+// Add chapter\r
+// Copyright INRIA 2007\r
+// Allan CORNET\r
+// ====================================================================\r
+path = SCI+'/modules/completion/help/'+getlanguage('LANGUAGE_DEFAULT');\r
+add_help_chapter("completion",path,%T);\r
+clear path add_help_chapter;\r
+// ====================================================================\r
diff --git a/scilab/modules/completion/help/en_US/completion.xml b/scilab/modules/completion/help/en_US/completion.xml
new file mode 100644 (file)
index 0000000..f88a6f4
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MAN SYSTEM "../../../../modules/helptools/help.dtd">
+<MAN>
+  <LANGUAGE>eng</LANGUAGE>
+
+  <TITLE>completion</TITLE>
+
+  <TYPE>Scilab Function</TYPE>
+
+  <DATE>$LastChangedDate: 2007-07-29 20:39:36 +0200 (mar., 17 oct. 2007)$</DATE>
+
+  <SHORT_DESCRIPTION name="completion">returns words that start with the text you pass as parameter.</SHORT_DESCRIPTION>
+
+  <CALLING_SEQUENCE>
+    <CALLING_SEQUENCE_ITEM>r = completion(beginning_of_a_word)</CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>r = completion(beginning_of_a_word,dictionary)</CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[functions,commands,variables,macros,graphics_properties,files] = completion(beginning_of_a_word)</CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[functions,commands,variables,macros,graphics_properties] = completion(beginning_of_a_word)</CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[functions,commands,variables,macros] = completion(beginning_of_a_word)</CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[functions,commands,variables] = completion(beginning_of_a_word)</CALLING_SEQUENCE_ITEM>
+    <CALLING_SEQUENCE_ITEM>[functions,commands] = completion(beginning_of_a_word)</CALLING_SEQUENCE_ITEM>
+  </CALLING_SEQUENCE>
+
+  <PARAM>
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>r</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: a string matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>beginning_of_a_word</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: a string</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>dictionary</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: a string
+          ("functions","commands","variables","macros","graphics_properties","files")</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+
+    <PARAM_INDENT>
+      <PARAM_ITEM>
+        <PARAM_NAME>functions,commands,variables,macros,graphics_properties,files</PARAM_NAME>
+
+        <PARAM_DESCRIPTION>
+          <SP>: a string matrix</SP>
+        </PARAM_DESCRIPTION>
+      </PARAM_ITEM>
+    </PARAM_INDENT>
+  </PARAM>
+
+  <DESCRIPTION>
+    <P>returns words that start with the text you pass as parameter.</P>
+  </DESCRIPTION>
+
+  <EXAMPLE><![CDATA[r = completion('w')
+r = completion('w','functions')
+r = completion('w','commands')
+r = completion('w','variables')
+r = completion('w','macros')
+r = completion('w','graphics_properties')
+r = completion('w','files')
+
+[functions,commands,variables,macros,graphics_properties,files] = completion('w')
+[functions,commands,variables,macros,graphics_properties] = completion('w')
+[functions,commands,variables,macros] = completion('w')
+[functions,commands,variables] = completion('w')
+[functions,commands] = completion('w')
+
+   ]]></EXAMPLE>
+
+  <SEE_ALSO>
+    <SEE_ALSO_ITEM>
+      <LINK>getscilabkeywords</LINK>
+    </SEE_ALSO_ITEM>
+  </SEE_ALSO>
+</MAN>
diff --git a/scilab/modules/completion/help/en_US/removechapter.sce b/scilab/modules/completion/help/en_US/removechapter.sce
new file mode 100644 (file)
index 0000000..d52b28f
--- /dev/null
@@ -0,0 +1,9 @@
+// ====================================================================\r
+// help completion module\r
+// remove chapter\r
+// Copyright INRIA 2007\r
+// Allan CORNET\r
+// ====================================================================\r
+del_help_chapter("completion",%T);\r
+clear del_help_chapter;\r
+// ====================================================================\r
diff --git a/scilab/modules/completion/includes/completion.h b/scilab/modules/completion/includes/completion.h
new file mode 100644 (file)
index 0000000..defb832
--- /dev/null
@@ -0,0 +1,66 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/\r
+\r
+#ifndef __COMPLETION_H__\r
+#define __COMPLETION_H__\r
+\r
+/**\r
+ * completion function on all types for scilab\r
+ * @param[in] somechars first characters of a word\r
+ * @param[out] sizeArrayReturned\r
+ * @return a array of chars \r
+ */\r
+char **completion(char *somechars, int *sizeArrayReturned);\r
+\r
+/**\r
+* completion function on Functions for scilab\r
+* @param[in] somechars first characters of a word\r
+* @param[out] sizeArrayReturned\r
+* @return a array of chars \r
+*/\r
+char **completionOnFunctions(char *somechars, int *sizeArrayReturned);\r
+\r
+/**\r
+* completion function on command words for scilab\r
+* @param[in] somechars first characters of a word\r
+* @param[out] sizeArrayReturned\r
+* @return a array of chars \r
+*/\r
+char **completionOnCommandWords(char *somechars, int *sizeArrayReturned);\r
+\r
+/**\r
+* completion function on Macros in libraries for scilab\r
+* @param[in] somechars first characters of a word\r
+* @param[out] sizeArrayReturned\r
+* @return a array of chars \r
+*/\r
+char **completionOnMacros(char *somechars, int *sizeArrayReturned);\r
+\r
+/**\r
+* completion function on Variables for scilab\r
+* @param[in] somechars first characters of a word\r
+* @param[out] sizeArrayReturned\r
+* @return a array of chars \r
+*/\r
+char **completionOnVariables(char *somechars, int *sizeArrayReturned);\r
+\r
+/**\r
+* completion function on files for scilab\r
+* @param[in] somechars first characters of a word\r
+* @param[out] sizeArrayReturned\r
+* @return a array of chars \r
+*/\r
+char **completionOnFiles(char *somechars, int *sizeArrayReturned);\r
+\r
+\r
+/**\r
+* completion handle graphics properties for scilab\r
+* @param[in] somechars first characters of a word\r
+* @param[out] sizeArrayReturned\r
+* @return a array of chars \r
+*/\r
+char **completionOnHandleGraphicsProperties(char *somechars, int *sizeArrayReturned);\r
+/*-----------------------------------------------------------------------------------*/\r
+#endif /* __COMPLETION_H__ */\r
diff --git a/scilab/modules/completion/includes/gw_completion.h b/scilab/modules/completion/includes/gw_completion.h
new file mode 100644 (file)
index 0000000..55327cf
--- /dev/null
@@ -0,0 +1,18 @@
+/*-----------------------------------------------------------------------------------*/
+/**
+ * @author Allan CORNET INRIA 2007
+ */
+/*-----------------------------------------------------------------------------------*/
+#ifndef __GW_COMPLETION_H__
+#define __GW_COMPLETION_H__
+/*-----------------------------------------------------------------------------------*/
+#include "machine.h"
+/*-----------------------------------------------------------------------------------*/
+int C2F(gw_completion)(void);
+/*-----------------------------------------------------------------------------------*/
+/* Declaration of all the profile function declared and */
+/* used in sci_gateway */
+int C2F(sci_completion) _PARAMS((char *fname,unsigned long fname_len));
+/*-----------------------------------------------------------------------------------*/
+#endif /* __GW_COMPLETION_H__ */
+
diff --git a/scilab/modules/completion/languages/en_US/errors.xml b/scilab/modules/completion/languages/en_US/errors.xml
new file mode 100644 (file)
index 0000000..21c50a7
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!DOCTYPE LOCALIZATION SYSTEM "../../../localization/xml/localization.dtd">\r
+<LOCALIZATION>\r
+\r
+<entry>\r
+       <tag></tag>\r
+       <string></string>\r
+</entry>       \r
+\r
+<entry>\r
+       <tag></tag>\r
+       <string></string>\r
+</entry>       \r
+               \r
+<entry>\r
+       <tag></tag>\r
+       <string></string>\r
+</entry>       \r
+\r
+</LOCALIZATION>\r
diff --git a/scilab/modules/completion/languages/en_US/menus.xml b/scilab/modules/completion/languages/en_US/menus.xml
new file mode 100644 (file)
index 0000000..21c50a7
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!DOCTYPE LOCALIZATION SYSTEM "../../../localization/xml/localization.dtd">\r
+<LOCALIZATION>\r
+\r
+<entry>\r
+       <tag></tag>\r
+       <string></string>\r
+</entry>       \r
+\r
+<entry>\r
+       <tag></tag>\r
+       <string></string>\r
+</entry>       \r
+               \r
+<entry>\r
+       <tag></tag>\r
+       <string></string>\r
+</entry>       \r
+\r
+</LOCALIZATION>\r
diff --git a/scilab/modules/completion/languages/en_US/messages.xml b/scilab/modules/completion/languages/en_US/messages.xml
new file mode 100644 (file)
index 0000000..21c50a7
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!DOCTYPE LOCALIZATION SYSTEM "../../../localization/xml/localization.dtd">\r
+<LOCALIZATION>\r
+\r
+<entry>\r
+       <tag></tag>\r
+       <string></string>\r
+</entry>       \r
+\r
+<entry>\r
+       <tag></tag>\r
+       <string></string>\r
+</entry>       \r
+               \r
+<entry>\r
+       <tag></tag>\r
+       <string></string>\r
+</entry>       \r
+\r
+</LOCALIZATION>\r
diff --git a/scilab/modules/completion/licence.txt b/scilab/modules/completion/licence.txt
new file mode 100644 (file)
index 0000000..a9b14b9
--- /dev/null
@@ -0,0 +1 @@
+Licence File
diff --git a/scilab/modules/completion/macros/buildmacros.sce b/scilab/modules/completion/macros/buildmacros.sce
new file mode 100644 (file)
index 0000000..ba5e480
--- /dev/null
@@ -0,0 +1,5 @@
+//------------------------------------\r
+// Allan CORNET INRIA 2007\r
+//------------------------------------\r
+//genlib('completionlib','SCI/modules/completion/macros');\r
+//------------------------------------\r
diff --git a/scilab/modules/completion/readme.txt b/scilab/modules/completion/readme.txt
new file mode 100644 (file)
index 0000000..785eeec
--- /dev/null
@@ -0,0 +1 @@
+README File
@@ -3,17 +3,20 @@
  * @author Allan CORNET INRIA 2007
  */
 /*-----------------------------------------------------------------------------------*/
-#include "gw_shell.h"
-#include "MALLOC.h"
-#include "machine.h"
+#include <string.h>
+#include "gw_completion.h"
 #include "stack-c.h"
-#include "completion.h"
+#include "callFunctionFromGateway.h"
 /*-----------------------------------------------------------------------------------*/
-int C2F(sci_completion) _PARAMS((char *fname,unsigned long fname_len))
+static gw_generic_table Tab[]=
 {
-
-       LhsVar(1) = 0;
-       C2F(putlhsvar)();       
+{C2F(sci_completion),"completion"}
+};
+/*-----------------------------------------------------------------------------------*/
+int C2F(gw_completion)()
+{  
+       Rhs = Max(0, Rhs);
+       callFunctionFromGateway(Tab);
 
        return 0;
 }
diff --git a/scilab/modules/completion/sci_gateway/c/sci_completion.c b/scilab/modules/completion/sci_gateway/c/sci_completion.c
new file mode 100644 (file)
index 0000000..0bb27e6
--- /dev/null
@@ -0,0 +1,198 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/\r
+#include "machine.h"\r
+#include "gw_completion.h"\r
+#include "MALLOC.h"\r
+#include "stack-c.h"\r
+#include "completion.h" \r
+#include "Scierror.h"\r
+#include "toolsdictionary.h"\r
+/*-----------------------------------------------------------------------------------*/\r
+static int returnEmptyMatrix(int pos);\r
+static int putResultOnStack(int pos,char **result,int sizeresult);\r
+/*-----------------------------------------------------------------------------------*/\r
+int C2F(sci_completion) _PARAMS((char *fname,unsigned long fname_len))\r
+{\r
+       int l1 = 0, m1 = 0, n1 = 0;\r
+       char *partOfWord = NULL;\r
+\r
+       CheckRhs(1,2);\r
+       CheckLhs(1,6);\r
+\r
+       if (GetType(1) == sci_strings)\r
+       {\r
+               GetRhsVar(1,"c",&m1,&n1,&l1);\r
+               partOfWord = cstk(l1);\r
+       }\r
+       else\r
+       {\r
+               Scierror(999,"Invalid parameter(s).\r\n");\r
+               return 0;\r
+       }\r
+\r
+       if (Lhs == 1)\r
+       {\r
+               if (Rhs == 1)\r
+               {\r
+                       char **Results = NULL;\r
+                       int sizeResults = 0;\r
+\r
+                       Results = completion(partOfWord, &sizeResults);\r
+                       putResultOnStack(1,Results,sizeResults);\r
+                       freePointerDictionary(Results,sizeResults);\r
+                       C2F(putlhsvar)();       \r
+               }\r
+               else /* Rhs == 2 */\r
+               {\r
+                       if (GetType(2) == sci_strings)\r
+                       {\r
+                               char *param2 = NULL;\r
+                               char **Results = NULL;\r
+                               int sizeResults = 0;\r
+\r
+                               GetRhsVar(2,"c",&m1,&n1,&l1);\r
+                               param2 = cstk(l1);\r
+\r
+                               if ( strcmp(param2,"functions") == 0 )\r
+                               {\r
+                                       Results = completionOnFunctions(partOfWord, &sizeResults);\r
+                               }\r
+                               else if ( strcmp(param2,"commands") == 0 )\r
+                               {\r
+                                       Results = completionOnCommandWords(partOfWord, &sizeResults);\r
+                               }\r
+                               else if ( strcmp(param2,"variables") == 0 )\r
+                               {\r
+                                       Results = completionOnVariables(partOfWord, &sizeResults);\r
+                               }\r
+                               else if( strcmp(param2,"macros") == 0 )\r
+                               {\r
+                                       Results = completionOnMacros(partOfWord, &sizeResults);\r
+                               }\r
+                               else if( strcmp(param2,"graphics_properties") == 0 )\r
+                               {\r
+                                       Results = completionOnHandleGraphicsProperties(partOfWord, &sizeResults);\r
+                               }\r
+                               else if( strcmp(param2,"files") == 0 )\r
+                               {\r
+                                       Results = completionOnFiles(partOfWord, &sizeResults);\r
+                               }\r
+                               else\r
+                               {\r
+                                       Scierror(999,"Invalid parameter(s).\r\n");\r
+                                       return 0;\r
+                               }\r
+\r
+                               putResultOnStack(1,Results,sizeResults);\r
+                               freePointerDictionary(Results,sizeResults);\r
+                               C2F(putlhsvar)();       \r
+\r
+                       }\r
+                       else\r
+                       {\r
+                               Scierror(999,"Invalid parameter(s).\r\n");\r
+                               return 0;\r
+                       }\r
+               }\r
+       }\r
+       else\r
+       {\r
+               char **FunctionsList = NULL;\r
+               int sizeFunctionsList = 0;\r
+\r
+               if (Rhs == 2)\r
+               {\r
+                       Scierror(999,"Invalid parameter(s).\r\n");\r
+                       return 0;\r
+               }\r
+\r
+               FunctionsList = completionOnFunctions(partOfWord, &sizeFunctionsList);\r
+               putResultOnStack(1,FunctionsList,sizeFunctionsList);\r
+               freePointerDictionary(FunctionsList,sizeFunctionsList);\r
+\r
+               if (Lhs > 1)\r
+               {\r
+                       char **CommandsList = NULL;\r
+                       int sizeCommandsList = 0;\r
+\r
+                       CommandsList = completionOnCommandWords(partOfWord, &sizeCommandsList);\r
+                       putResultOnStack(2,CommandsList,sizeCommandsList);\r
+\r
+                       freePointerDictionary(CommandsList,sizeCommandsList);\r
+               }\r
+\r
+               if (Lhs > 2)\r
+               {\r
+                       char **VariablesList = NULL;\r
+                       int sizeVariablesList = 0;\r
+\r
+                       VariablesList = completionOnVariables(partOfWord, &sizeVariablesList);\r
+                       putResultOnStack(3,VariablesList,sizeVariablesList);\r
+\r
+                       freePointerDictionary(VariablesList,sizeVariablesList);\r
+               }\r
+\r
+               if (Lhs > 3)\r
+               {\r
+                       char **MacrosList = NULL;\r
+                       int sizeMacrosList = 0;\r
+\r
+                       MacrosList = completionOnMacros(partOfWord, &sizeMacrosList);\r
+                       putResultOnStack(4,MacrosList,sizeMacrosList);\r
+\r
+                       freePointerDictionary(MacrosList,sizeMacrosList);\r
+               }\r
+               \r
+               if (Lhs > 4)\r
+               {\r
+                       char **HandleGraphicsPropertiesList = NULL;\r
+                       int sizeHandleGraphicsPropertiesList = 0;\r
+\r
+                       HandleGraphicsPropertiesList = completionOnHandleGraphicsProperties(partOfWord, &sizeHandleGraphicsPropertiesList);\r
+                       putResultOnStack(5,HandleGraphicsPropertiesList,sizeHandleGraphicsPropertiesList);\r
+\r
+                       freePointerDictionary(HandleGraphicsPropertiesList,sizeHandleGraphicsPropertiesList);\r
+               }\r
+\r
+               if (Lhs > 5)\r
+               {\r
+                       char **PathsList = NULL;\r
+                       int sizePathsList = 0;\r
+\r
+                       PathsList = completionOnFiles(partOfWord, &sizePathsList);\r
+                       putResultOnStack(6,PathsList,sizePathsList);\r
+\r
+                       freePointerDictionary(PathsList,sizePathsList);\r
+               }\r
+\r
+               C2F(putlhsvar)();\r
+       }\r
+       return 0;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+static int returnEmptyMatrix(int pos)\r
+{\r
+       int l1 = 0, m1 = 0, n1 = 0;\r
+       CreateVarFromPtr(Rhs+ pos, "d",&n1,&m1,&l1);\r
+       return 0;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+static int putResultOnStack(int pos,char **result,int sizeresult)\r
+{\r
+       if (result)\r
+       {\r
+               int m1 = 0, n1 = 0;\r
+               m1 = sizeresult;\r
+               n1 = 1;\r
+               CreateVarFromPtr(Rhs+pos, "S", &m1, &n1, result);\r
+       }\r
+       else\r
+       {\r
+               returnEmptyMatrix(pos);\r
+       }\r
+       LhsVar(pos) = Rhs+pos;\r
+       return 0;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
diff --git a/scilab/modules/completion/sci_gateway/completion_gateway.xml b/scilab/modules/completion/sci_gateway/completion_gateway.xml
new file mode 100644 (file)
index 0000000..f0b9b4b
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+\r
+<!DOCTYPE GATEWAY SYSTEM "../../functions/xml/gateway.dtd">\r
+<GATEWAY name="completion">\r
+<!-- =================== -->\r
+<!--\r
+ Scilab\r
+ Interface description. In this file, we define the list of the function which\r
+ will be available into Scilab and the link to the "native" function.\r
+\r
+ gatewayId is the position in the hashtable 'Interfaces' defined in the\r
+ file SCI/modules/core/src/c/callinterf.h\r
+\r
+ primitiveId is the position in the hashtable '<module>Table Tab[]' defined\r
+ in the file modules/<module>/sci_gateway/c/gw_<module>.c\r
+\r
+ primitiveName is the name of the Scilab function\r
+\r
+ @author Allan CORNET\r
+ @date INRIA 2007\r
+ ===================\r
+ Don't touch if you do not know what you are doing\r
+-->\r
+<!-- =================== -->\r
+\r
+<PRIMITIVE gatewayId="54" primitiveId="1" primitiveName="completion" />\r
+</GATEWAY>
\ No newline at end of file
diff --git a/scilab/modules/completion/src/c/LibScilab_Import.def b/scilab/modules/completion/src/c/LibScilab_Import.def
new file mode 100644 (file)
index 0000000..7247858
--- /dev/null
@@ -0,0 +1,26 @@
+       LIBRARY    Libscilab.dll\r
+\r
+\r
+EXPORTS\r
+;core\r
+vstk_\r
+com_\r
+stack_\r
+sciprint\r
+callFunctionFromGateway\r
+createvarfromptr_\r
+putlhsvar_\r
+check_scalar\r
+getrhsvar_\r
+checkrhs_\r
+checklhs_\r
+intersci_\r
+Scierror\r
+gettype_\r
+GetFunctionsList\r
+getcommandkeywords\r
+getVariablesName\r
+getlibrarieslist\r
+getlistmacrosfromlibrary\r
+scigetcwd_\r
+;\r
diff --git a/scilab/modules/completion/src/c/completion.c b/scilab/modules/completion/src/c/completion.c
new file mode 100644 (file)
index 0000000..167ee71
--- /dev/null
@@ -0,0 +1,239 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/\r
+#include "machine.h"\r
+#include "completion.h"\r
+#include "MALLOC.h"\r
+#include "getvariablesname.h"\r
+#include "commandwords.h"\r
+#include "getfunctionslist.h"\r
+#include "getmacrosdictionary.h"\r
+#include "completion_generic.h"\r
+#include "getfulldictionary.h"\r
+#include "getfilesdictionary.h"\r
+#include "getDictionarySetProperties.h"\r
+#include "getDictionaryGetProperties.h"\r
+#include "toolsdictionary.h"\r
+/*-----------------------------------------------------------------------------------*/\r
+char **completionOnDictionary(char **dictionary,int sizedictionary,char *somechars,int *sizearrayreturned);\r
+/*-----------------------------------------------------------------------------------*/\r
+char **completion(char *somechars, int *sizeArrayReturned)\r
+{\r
+       char **ListWords = NULL;\r
+\r
+       char **dictionary = NULL;\r
+       int sizedictionary = 0;\r
+       \r
+       int sizecompletionfunctions = 0;\r
+       char **completionfunctions = completionOnFunctions(somechars, &sizecompletionfunctions);\r
+       \r
+       int sizecompletioncommandwords = 0;\r
+       char **completioncommandwords = completionOnCommandWords(somechars, &sizecompletioncommandwords);\r
+       \r
+       int sizecompletionmacros = 0;\r
+       char **completionmacros =  completionOnMacros(somechars, &sizecompletionmacros);\r
+       \r
+       int sizecompletionvariables = 0;\r
+       char **completionvariables = completionOnVariables(somechars, &sizecompletionvariables);\r
+\r
+       int sizecompletionhandlegraphicsproperties = 0;\r
+       char **completionhandlegraphicsproperties = completionOnHandleGraphicsProperties(somechars, &sizecompletionhandlegraphicsproperties);\r
+       \r
+       int sizecompletionfiles = 0;\r
+       char **completionfiles = completionOnFiles(somechars, &sizecompletionfiles);\r
+       \r
+       *sizeArrayReturned = 0;\r
+       \r
+       sizedictionary = sizecompletionfunctions + sizecompletioncommandwords + sizecompletionmacros\r
+                                       + sizecompletionvariables + sizecompletionhandlegraphicsproperties + sizecompletionfiles;\r
+       \r
+\r
+       if ( (completionfiles) && (sizedictionary == sizecompletionfiles) )\r
+       {\r
+               ListWords = completionfiles;\r
+               *sizeArrayReturned = sizecompletionfiles;\r
+       }\r
+       else\r
+       {\r
+               if (sizedictionary > 0) dictionary = (char**)MALLOC(sizeof(char*)*sizedictionary);\r
+\r
+               if (dictionary)\r
+               {\r
+                       int i = 0;\r
+                       appendDictionary(&dictionary,&i,&completionfunctions,&sizecompletionfunctions);\r
+                       appendDictionary(&dictionary,&i,&completioncommandwords,&sizecompletioncommandwords);\r
+                       appendDictionary(&dictionary,&i,&completionmacros,&sizecompletionmacros);\r
+                       appendDictionary(&dictionary,&i,&completionvariables,&sizecompletionvariables);\r
+                       appendDictionary(&dictionary,&i,&completionhandlegraphicsproperties,&sizecompletionhandlegraphicsproperties);\r
+                       appendDictionary(&dictionary,&i,&completionfiles,&sizecompletionfiles);\r
+\r
+                       dictionary = SortDictionary(dictionary,i);      \r
+                       dictionary = RemoveDuplicateDictionary(dictionary,&i);  \r
+\r
+                       sizedictionary = i;\r
+               }\r
+               ListWords = completionOnDictionary(dictionary,sizedictionary,somechars,sizeArrayReturned);\r
+               freePointerDictionary(dictionary,sizedictionary);\r
+       }\r
+\r
+       return ListWords;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+char **completionOnFunctions(char *somechars, int *sizeArrayReturned)\r
+{\r
+       char **ListWords = NULL;\r
+       char **dictionary = NULL;\r
+       int sizedictionary = 0;\r
+\r
+       dictionary = GetFunctionsList(&sizedictionary);\r
+\r
+       if (dictionary)\r
+       {\r
+               dictionary = SortDictionary(dictionary,sizedictionary); \r
+               ListWords = completionOnDictionary(dictionary,sizedictionary,somechars,sizeArrayReturned);\r
+               freePointerDictionary(dictionary,sizedictionary);\r
+       }\r
+       else\r
+       {\r
+               *sizeArrayReturned = 0;\r
+       }\r
+       return ListWords;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+char **completionOnCommandWords(char *somechars, int *sizeArrayReturned)\r
+{\r
+       char **ListWords = NULL;\r
+       char **dictionary = NULL;\r
+       int sizedictionary = 0;\r
+\r
+       dictionary = getcommandkeywords(&sizedictionary);\r
+\r
+       if (dictionary)\r
+       {\r
+               dictionary = SortDictionary(dictionary,sizedictionary); \r
+               dictionary = RemoveDuplicateDictionary(dictionary,&sizedictionary);     \r
+               ListWords = completionOnDictionary(dictionary,sizedictionary,somechars,sizeArrayReturned);\r
+               freePointerDictionary(dictionary,sizedictionary);       \r
+       }\r
+       else\r
+       {\r
+               *sizeArrayReturned = 0;\r
+       }\r
+       return ListWords;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+char **completionOnMacros(char *somechars, int *sizeArrayReturned)\r
+{\r
+       char **ListWords = NULL;\r
+       char **dictionary = NULL;\r
+       int sizedictionary = 0;\r
+\r
+       dictionary = getmacrosdictionary(&sizedictionary);\r
+\r
+       if (dictionary)\r
+       {\r
+               dictionary = SortDictionary(dictionary,sizedictionary); \r
+               dictionary = RemoveDuplicateDictionary(dictionary,&sizedictionary);     \r
+               ListWords = completionOnDictionary(dictionary,sizedictionary,somechars,sizeArrayReturned);\r
+               freePointerDictionary(dictionary,sizedictionary);\r
+       }\r
+       else\r
+       {\r
+               *sizeArrayReturned = 0;\r
+       }\r
+       return ListWords;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+char **completionOnVariables(char *somechars, int *sizeArrayReturned)\r
+{\r
+       char **ListWords = NULL;\r
+       char **dictionary = NULL;\r
+       int sizedictionary = 0;\r
+\r
+       dictionary = getVariablesName(&sizedictionary,TRUE);\r
+\r
+       ListWords = completionOnDictionary(dictionary,sizedictionary,somechars,sizeArrayReturned);\r
+       freePointerDictionary(dictionary,sizedictionary);\r
+\r
+       return ListWords;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+char **completionOnFiles(char *somechars, int *sizeArrayReturned)\r
+{\r
+       char **ListWords = NULL;\r
+       char **dictionary = NULL;\r
+       int sizedictionary = 0;\r
+\r
+       dictionary = getfilesdictionary(somechars,&sizedictionary);\r
+\r
+       if (dictionary)\r
+       {\r
+               ListWords = dictionary;\r
+               *sizeArrayReturned = sizedictionary;\r
+       }\r
+       else\r
+       {\r
+               *sizeArrayReturned = 0;\r
+       }\r
+       return ListWords;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+char **completionOnHandleGraphicsProperties(char *somechars, int *sizeArrayReturned)\r
+{\r
+       char **ListWords = NULL;\r
+       char **dictionary = NULL;\r
+       int sizedictionary = 0;\r
+\r
+       int sizeHandleGraphicsGetPropertiesDictionary = 0;\r
+       char **HandleGraphicsGetPropertiesDictionary = getDictionaryGetProperties(&sizeHandleGraphicsGetPropertiesDictionary);\r
+\r
+       int sizeHandleGraphicsSetPropertiesDictionary = 0;\r
+       char **HandleGraphicsSetPropertiesDictionary = getDictionarySetProperties(&sizeHandleGraphicsSetPropertiesDictionary);\r
+\r
+       *sizeArrayReturned = 0;\r
+\r
+       sizedictionary = sizeHandleGraphicsGetPropertiesDictionary + sizeHandleGraphicsSetPropertiesDictionary;\r
+\r
+       dictionary = (char**)MALLOC(sizeof(char*)*sizedictionary);\r
+\r
+       if (dictionary)\r
+       {\r
+               int i = 0;\r
+\r
+               appendDictionary(&dictionary,&i,&HandleGraphicsGetPropertiesDictionary,&sizeHandleGraphicsGetPropertiesDictionary);\r
+               appendDictionary(&dictionary,&i,&HandleGraphicsSetPropertiesDictionary,&sizeHandleGraphicsSetPropertiesDictionary);\r
+               sizedictionary = i;\r
+       }\r
+\r
+       if (dictionary)\r
+       {\r
+               dictionary = SortDictionary(dictionary,sizedictionary); \r
+               dictionary = RemoveDuplicateDictionary(dictionary,&sizedictionary);     \r
+               ListWords = completionOnDictionary(dictionary,sizedictionary,somechars,sizeArrayReturned);\r
+               freePointerDictionary(dictionary,sizedictionary);\r
+       }\r
+       else\r
+       {\r
+               *sizeArrayReturned = 0;\r
+       }\r
+\r
+       return ListWords;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+char **completionOnDictionary(char **dictionary,int sizedictionary,char *somechars,int *sizearrayreturned)\r
+{\r
+       char **ListWords = NULL;\r
+\r
+       if (dictionary)\r
+       {\r
+               ListWords = completion_generic(dictionary,sizedictionary,somechars,sizearrayreturned);\r
+               if (ListWords == NULL) *sizearrayreturned = 0;\r
+       }\r
+       else\r
+       {\r
+               *sizearrayreturned = 0;\r
+       }\r
+       return ListWords;\r
+}\r
+/*-----------------------------------------------------------------------------------*/
\ No newline at end of file
diff --git a/scilab/modules/completion/src/c/completion.rc b/scilab/modules/completion/src/c/completion.rc
new file mode 100644 (file)
index 0000000..e84af66
--- /dev/null
@@ -0,0 +1,97 @@
+// Microsoft Visual C++ generated resource script.\r
+//\r
+#include "resource.h"\r
+\r
+#define APSTUDIO_READONLY_SYMBOLS\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Generated from the TEXTINCLUDE 2 resource.\r
+//\r
+//#include "afxres.h"\r
+#define APSTUDIO_HIDDEN_SYMBOLS\r
+#include "windows.h"\r
+/////////////////////////////////////////////////////////////////////////////\r
+#undef APSTUDIO_READONLY_SYMBOLS\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+// French (France) resources\r
+\r
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)\r
+#ifdef _WIN32\r
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH\r
+#pragma code_page(1252)\r
+#endif //_WIN32\r
+\r
+#ifdef APSTUDIO_INVOKED\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// TEXTINCLUDE\r
+//\r
+\r
+1 TEXTINCLUDE \r
+BEGIN\r
+    "resource.h\0"\r
+END\r
+\r
+\r
+3 TEXTINCLUDE \r
+BEGIN\r
+    "\r\n"\r
+    "\0"\r
+END\r
+\r
+#endif    // APSTUDIO_INVOKED\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Version\r
+//\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+ FILEVERSION 5,0,0,0\r
+ PRODUCTVERSION 5,0,0,0\r
+ FILEFLAGSMASK 0x17L\r
+#ifdef _DEBUG\r
+ FILEFLAGS 0x1L\r
+#else\r
+ FILEFLAGS 0x0L\r
+#endif\r
+ FILEOS 0x4L\r
+ FILETYPE 0x0L\r
+ FILESUBTYPE 0x0L\r
+BEGIN\r
+    BLOCK "StringFileInfo"\r
+    BEGIN\r
+        BLOCK "040c04b0"\r
+        BEGIN\r
+            VALUE "FileDescription", "completion module"\r
+            VALUE "FileVersion", "5, 0, 0, 0"\r
+            VALUE "InternalName", "completion module"\r
+            VALUE "LegalCopyright", "Copyright (C) 2007"\r
+            VALUE "OriginalFilename", "completion.dll"\r
+            VALUE "ProductName", " completion"\r
+            VALUE "ProductVersion", "5, 0, 0, 0"\r
+        END\r
+    END\r
+    BLOCK "VarFileInfo"\r
+    BEGIN\r
+        VALUE "Translation", 0x40c, 1200\r
+    END\r
+END\r
+\r
+#endif    // French (France) resources\r
+/////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+\r
+#ifndef APSTUDIO_INVOKED\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Generated from the TEXTINCLUDE 3 resource.\r
+//\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+#endif    // not APSTUDIO_INVOKED\r
+\r
diff --git a/scilab/modules/completion/src/c/completion.vcproj b/scilab/modules/completion/src/c/completion.vcproj
new file mode 100644 (file)
index 0000000..a2628a4
--- /dev/null
@@ -0,0 +1,310 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="8,00"\r
+       Name="completion"\r
+       ProjectGUID="{CCCE1EAD-8E62-4DC0-AB17-972C06EF0C89}"\r
+       RootNamespace="completion"\r
+       Keyword="Win32Proj"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
+                       IntermediateDirectory="$(ConfigurationName)"\r
+                       ConfigurationType="2"\r
+                       CharacterSet="2"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".;../../includes;../../../../libs/MALLOC/includes;../../../core/includes;../../../fileio/includes;../../../graphics/includes"\r
+                               PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WITH_TK;FORDLL;WIN32;_DEBUG;_WINDOWS;_USRDLL;COMPLETION_EXPORTS"\r
+                               MinimalRebuild="true"\r
+                               BasicRuntimeChecks="0"\r
+                               RuntimeLibrary="3"\r
+                               UsePrecompiledHeader="0"\r
+                               WarningLevel="3"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                               Description="Make dependencies"\r
+                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n completion.dll %%f &gt;nul&#x0D;&#x0A;copy *.def completiontmp.def &gt;nul&#x0D;&#x0A;copy ..\completion_header.def+completiontmp.def  ..\completion.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions="/fixed:no"\r
+                               AdditionalDependencies="LibScilab.lib"\r
+                               OutputFile="../../../../bin/scicompletion.dll"\r
+                               LinkIncremental="1"\r
+                               ModuleDefinitionFile="completion.def"\r
+                               GenerateDebugInformation="true"\r
+                               SubSystem="2"\r
+                               ImportLibrary="../../../../bin/scicompletion.lib"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
+                       IntermediateDirectory="$(ConfigurationName)"\r
+                       ConfigurationType="2"\r
+                       CharacterSet="2"\r
+                       WholeProgramOptimization="0"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               InlineFunctionExpansion="1"\r
+                               FavorSizeOrSpeed="1"\r
+                               WholeProgramOptimization="false"\r
+                               AdditionalIncludeDirectories=".;../../includes;../../../../libs/MALLOC/includes;../../../core/includes;../../../fileio/includes;../../../graphics/includes"\r
+                               PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WITH_TK;FORDLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;COMPLETION_EXPORTS"\r
+                               StringPooling="true"\r
+                               RuntimeLibrary="2"\r
+                               EnableEnhancedInstructionSet="1"\r
+                               UsePrecompiledHeader="0"\r
+                               WarningLevel="3"\r
+                               Detect64BitPortabilityProblems="false"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                               Description="Make dependencies"\r
+                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n completion.dll %%f &gt;nul&#x0D;&#x0A;copy *.def completiontmp.def &gt;nul&#x0D;&#x0A;copy ..\completion_header.def+completiontmp.def  ..\completion.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalDependencies="LibScilab.lib"\r
+                               OutputFile="../../../../bin/scicompletion.dll"\r
+                               LinkIncremental="1"\r
+                               ModuleDefinitionFile="completion.def"\r
+                               GenerateDebugInformation="false"\r
+                               SubSystem="2"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
+                               LinkTimeCodeGeneration="0"\r
+                               ImportLibrary="../../../../bin/scicompletion.lib"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\completion.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\completion_generic.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\getfilesdictionary.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\getfulldictionary.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\getmacrosdictionary.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\sci_gateway\c\gw_completion.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\sci_gateway\c\sci_completion.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\toolsdictionary.c"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Header Files"\r
+                       Filter="h;hpp;hxx;hm;inl"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\includes\completion.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\completion_generic.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\getfilesdictionary.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\getfulldictionary.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\getmacrosdictionary.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\resource.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\toolsdictionary.h"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="localization"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\languages\en_US\errors.xml"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\languages\en_US\menus.xml"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\languages\en_US\messages.xml"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <File\r
+                       RelativePath="..\..\completion.iss"\r
+                       >\r
+               </File>\r
+               <File\r
+                       RelativePath=".\completion.rc"\r
+                       >\r
+               </File>\r
+               <File\r
+                       RelativePath="..\..\sci_gateway\completion_gateway.xml"\r
+                       >\r
+               </File>\r
+               <File\r
+                       RelativePath=".\completion_header.def"\r
+                       >\r
+               </File>\r
+               <File\r
+                       RelativePath=".\LibScilab_Import.def"\r
+                       >\r
+               </File>\r
+               <File\r
+                       RelativePath="..\..\Makefile.am"\r
+                       >\r
+               </File>\r
+               <File\r
+                       RelativePath="..\..\version.xml"\r
+                       >\r
+               </File>\r
+       </Files>\r
+       <Globals>\r
+       </Globals>\r
+</VisualStudioProject>\r
diff --git a/scilab/modules/completion/src/c/completion_generic.c b/scilab/modules/completion/src/c/completion_generic.c
new file mode 100644 (file)
index 0000000..058886c
--- /dev/null
@@ -0,0 +1,44 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/\r
+#include <string.h>\r
+#include "completion_generic.h"\r
+#include "MALLOC.h"\r
+/*-----------------------------------------------------------------------------------*/\r
+char **completion_generic(char **dictionary,int sizedictionary,\r
+                                                 char *somechars, int *sizeArrayReturned)\r
+{\r
+       char **results = NULL;\r
+       int nbElements = 0;\r
+       int i = 0;\r
+\r
+       for (i = 0;i < sizedictionary;i++)\r
+       {\r
+               if (dictionary[i])\r
+               {\r
+                       if ( strncmp(dictionary[i],somechars,strlen(somechars)) == 0)\r
+                       {\r
+                               char *copybuf = NULL;\r
+\r
+                               nbElements++;\r
+                               if (results) results = (char**)REALLOC(results,sizeof(char*)*(nbElements));\r
+                               else results = (char**)MALLOC(sizeof(char*)*(nbElements));\r
+\r
+                               copybuf = (char*)MALLOC(sizeof(char)*(strlen(dictionary[i])+1));\r
+                               if (copybuf) strcpy(copybuf,dictionary[i]);\r
+                               results[nbElements-1] = copybuf;\r
+                       }\r
+                       else\r
+                       {\r
+                               if (nbElements > 0)\r
+                               {\r
+                                       break;\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+       *sizeArrayReturned = nbElements;\r
+       return results;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
diff --git a/scilab/modules/completion/src/c/completion_generic.h b/scilab/modules/completion/src/c/completion_generic.h
new file mode 100644 (file)
index 0000000..48b6a5c
--- /dev/null
@@ -0,0 +1,20 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/\r
+#ifndef __COMPLETION_GENERIC_H__\r
+#define __COMPLETION_GENERIC_H__\r
+\r
+/**\r
+* completion\r
+* @param[in] dictionary \r
+* @param[in] size of dictionary \r
+* @param[in] some chars of a symbol\r
+* @param[out] size of returned strings\r
+* @return strings found in dictionary\r
+*/\r
+char **completion_generic(char **dictionary,int sizedictionary,\r
+                                                 char *somechars, int *sizeArrayReturned);\r
+\r
+#endif /* __COMPLETION_GENERIC_H__ */\r
+/*-----------------------------------------------------------------------------------*/\r
diff --git a/scilab/modules/completion/src/c/completion_header.def b/scilab/modules/completion/src/c/completion_header.def
new file mode 100644 (file)
index 0000000..5a72556
--- /dev/null
@@ -0,0 +1,7 @@
+LIBRARY    scicompletion.dll\r
+\r
+\r
+EXPORTS\r
+; --------------------------------------- \r
+; completion\r
+; --------------------------------------- \r
diff --git a/scilab/modules/completion/src/c/getfilesdictionary.c b/scilab/modules/completion/src/c/getfilesdictionary.c
new file mode 100644 (file)
index 0000000..499e706
--- /dev/null
@@ -0,0 +1,99 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/ \r
+#include <string.h> /* strcmp */\r
+#include <stdio.h> /* sprintf */\r
+#include "getfilesdictionary.h"\r
+#include "../../../core/src/c/scicurdir.h" /* C2F(scigetcwd) */\r
+#include "findfiles.h" /* findfiles */\r
+#include "MALLOC.h"\r
+/*-----------------------------------------------------------------------------------*/ \r
+static void splitpath(char *composite,  char *path,  char *fname);\r
+/*-----------------------------------------------------------------------------------*/ \r
+char **getfilesdictionary(char *somechars,int *sizearray)\r
+{\r
+       char **dictionary = NULL;\r
+\r
+       if (somechars)\r
+       {\r
+               int sizeListReturned = 0;\r
+               char path[PATH_MAX];\r
+               char filespec[PATH_MAX];\r
+\r
+               char pathname[PATH_MAX];\r
+               char filename[PATH_MAX];\r
+\r
+               splitpath(somechars,pathname,filename);\r
+\r
+               if ( strcmp(pathname,"")==0 )\r
+               {\r
+                       /* current path */\r
+                       int ierr = 0;\r
+                       int lpath = 0;\r
+                       char *currentpath = NULL;\r
+\r
+                       C2F(scigetcwd)(&currentpath,&lpath,&ierr);\r
+                       if (currentpath) {strcpy(path,currentpath);}\r
+               }\r
+               else\r
+               {\r
+                       /* we have a path */\r
+                       strcpy(path,pathname);\r
+               }\r
+\r
+               if ( strcmp(filename,"")==0 )\r
+               {\r
+                       /* no filename */\r
+                       strcpy(filespec,"*");\r
+               }\r
+               else\r
+               {\r
+                       /* we have the begining of a filename */\r
+                       sprintf(filespec,"%s*",filename);\r
+               }\r
+\r
+               dictionary = findfiles(path,filespec,&sizeListReturned);\r
+               *sizearray = sizeListReturned;\r
+       }\r
+       else\r
+       {\r
+               *sizearray = 0;\r
+       }\r
+       return dictionary;\r
+}\r
+/*-----------------------------------------------------------------------------------*/ \r
+static void splitpath(char *composite,  char *path,  char *fname)\r
+{\r
+       if (composite && path && fname)\r
+       {\r
+               char *lastslash = NULL;\r
+               char *p2 = NULL;\r
+\r
+               lastslash = NULL;\r
+               p2 = composite;\r
+\r
+               while (*p2)  \r
+               {\r
+               #ifdef _MSC_VER\r
+                       if ( (*p2 == '/') || (*p2 == '\\') ) lastslash = p2;\r
+               #else\r
+                       if (*p2 == '/') lastslash = p2;\r
+               #endif\r
+                       p2++;\r
+               }\r
+\r
+               if (lastslash != NULL)  \r
+               {\r
+                       strncpy(path, composite, 1 + (int)(lastslash - composite));\r
+                       path[1 + (int)(lastslash - composite)]='\0';\r
+                       strcpy(fname, lastslash+1);\r
+               }\r
+               else \r
+               {\r
+                       strcpy(path, "");\r
+                       strcpy(fname, composite);\r
+               }\r
+       }\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
diff --git a/scilab/modules/completion/src/c/getfilesdictionary.h b/scilab/modules/completion/src/c/getfilesdictionary.h
new file mode 100644 (file)
index 0000000..0fc9c08
--- /dev/null
@@ -0,0 +1,17 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/ \r
+#ifndef __GETFILESDICTIONARY_H__\r
+#define __GETFILESDICTIONARY_H__\r
+\r
+/**\r
+* get files dictionary\r
+* @param[in] some chars\r
+* @param[out] size of returned array\r
+* @return array of strings\r
+*/\r
+char **getfilesdictionary(char *somechars,int *sizearray);\r
+\r
+#endif /* __GETFILESDICTIONARY_H__ */\r
+/*-----------------------------------------------------------------------------------*/ \r
diff --git a/scilab/modules/completion/src/c/getfulldictionary.c b/scilab/modules/completion/src/c/getfulldictionary.c
new file mode 100644 (file)
index 0000000..fe2e4b8
--- /dev/null
@@ -0,0 +1,65 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/\r
+#include "getfulldictionary.h"\r
+#include "getvariablesname.h"\r
+#include "commandwords.h"\r
+#include "getfunctionslist.h"\r
+#include "getmacrosdictionary.h"\r
+#include "toolsdictionary.h"\r
+#include "MALLOC.h"\r
+#include "getDictionarySetProperties.h"\r
+#include "getDictionaryGetProperties.h"\r
+/*-----------------------------------------------------------------------------------*/\r
+char **getfulldictionary(int *sizearray)\r
+{\r
+       int sizedictionary = 0;\r
+       char **dictionary = NULL;\r
+       \r
+       int sizevariablesdictionary = 0;\r
+       char **variablesdictionary = getVariablesName(&sizevariablesdictionary,TRUE);\r
+       \r
+       int sizecommandsdictionary = 0;\r
+       char **commandsdictionary = getcommandkeywords(&sizecommandsdictionary);\r
+       \r
+       int sizefunctionsdictionary = 0;\r
+       char **functionsdictionary = GetFunctionsList(&sizefunctionsdictionary);\r
+       \r
+       int sizemacrosdictionary = 0;\r
+       char **macrosdictionary = getmacrosdictionary(&sizemacrosdictionary);\r
+\r
+       int sizeHandleGraphicsGetPropertiesDictionary = 0;\r
+       char **HandleGraphicsGetPropertiesDictionary = getDictionaryGetProperties(&sizeHandleGraphicsGetPropertiesDictionary);\r
+\r
+       int sizeHandleGraphicsSetPropertiesDictionary = 0;\r
+       char **HandleGraphicsSetPropertiesDictionary = getDictionarySetProperties(&sizeHandleGraphicsSetPropertiesDictionary);\r
+       \r
+       sizedictionary = sizevariablesdictionary + sizecommandsdictionary + sizefunctionsdictionary\r
+                                       + sizemacrosdictionary + sizeHandleGraphicsGetPropertiesDictionary\r
+                                       + sizeHandleGraphicsSetPropertiesDictionary;\r
+\r
+       if (sizedictionary > 0) dictionary = (char**)MALLOC(sizeof(char*)*sizedictionary);\r
+\r
+       if (dictionary)\r
+       {\r
+               int i = 0;\r
+\r
+               appendDictionary(&dictionary,&i,&variablesdictionary,&sizevariablesdictionary);\r
+               appendDictionary(&dictionary,&i,&commandsdictionary,&sizecommandsdictionary);\r
+               appendDictionary(&dictionary,&i,&functionsdictionary,&sizefunctionsdictionary);\r
+               appendDictionary(&dictionary,&i,&macrosdictionary,&sizemacrosdictionary);\r
+               appendDictionary(&dictionary,&i,&HandleGraphicsGetPropertiesDictionary,&sizeHandleGraphicsGetPropertiesDictionary);\r
+               appendDictionary(&dictionary,&i,&HandleGraphicsSetPropertiesDictionary,&sizeHandleGraphicsSetPropertiesDictionary);\r
+\r
+               dictionary = RemoveDuplicateDictionary(dictionary,&i);\r
+\r
+               *sizearray = i;\r
+       }\r
+       else\r
+       {\r
+               *sizearray = 0;\r
+       }\r
+       return dictionary;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
diff --git a/scilab/modules/completion/src/c/getfulldictionary.h b/scilab/modules/completion/src/c/getfulldictionary.h
new file mode 100644 (file)
index 0000000..6aa3d97
--- /dev/null
@@ -0,0 +1,16 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/\r
+#ifndef __GETFULLDICTIONARY_H__\r
+#define _GETFULLDICTIONARY_H__\r
+\r
+/**\r
+* get full scilab dictionary (macros,functions,variables,...)\r
+* @param[out] size of returned array\r
+* @return array of strings\r
+*/\r
+char **getfulldictionary(int *sizearray);\r
+\r
+#endif /* _GETFULLDICTIONARY_H__ */\r
+/*-----------------------------------------------------------------------------------*/\r
diff --git a/scilab/modules/completion/src/c/getmacrosdictionary.c b/scilab/modules/completion/src/c/getmacrosdictionary.c
new file mode 100644 (file)
index 0000000..1dfd0d1
--- /dev/null
@@ -0,0 +1,114 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/\r
+#include "getmacrosdictionary.h"\r
+#include "librarieslist.h"\r
+#include "libraryinfo.h"\r
+#include "MALLOC.h"\r
+/*-----------------------------------------------------------------------------------*/\r
+static int getsizemacrosdictionary(void);\r
+/*-----------------------------------------------------------------------------------*/\r
+char **getmacrosdictionary(int *sizearray)\r
+{\r
+       int sizelibraries = 0;\r
+       char **libraries = getlibrarieslist(&sizelibraries);\r
+       char **dictionary = NULL;\r
+       int sizedictionary = getsizemacrosdictionary();\r
+\r
+       *sizearray = 0;\r
+\r
+       dictionary = (char**)MALLOC(sizeof(char*)*sizedictionary);\r
+\r
+       if (dictionary)\r
+       {\r
+               int m = 0;\r
+               if (libraries)\r
+               {\r
+                       int i = 0;\r
+                       for (i = 0;i < sizelibraries; i++)\r
+                       {\r
+                               int j = 0;\r
+                               char **macros = NULL;\r
+                               int sizemacros = 0;\r
+\r
+                               macros = getlistmacrosfromlibrary(libraries[i],&sizemacros);\r
+                               if (macros)\r
+                               {\r
+                                       for (j=0;j<sizemacros;j++)\r
+                                       {\r
+                                               dictionary[m] = macros[j];\r
+                                               m++;\r
+                                       }\r
+                                       FREE(macros);\r
+                                       macros = NULL;\r
+                               }\r
+                       }\r
+\r
+                       *sizearray = sizedictionary;\r
+               }\r
+       }\r
+       else\r
+       {\r
+               *sizearray = 0;\r
+       }\r
+\r
+       if (libraries)\r
+       {\r
+               int i = 0;\r
+               for (i = 0;i < sizelibraries; i++)\r
+               {\r
+                       if (libraries[i])\r
+                       {\r
+                               FREE(libraries[i]);\r
+                               libraries[i] = NULL;\r
+                       }\r
+               }\r
+               FREE(libraries);\r
+               libraries = NULL;\r
+       }\r
+\r
+       return dictionary;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+static int getsizemacrosdictionary(void)\r
+{\r
+       int sizedictionary = 0;\r
+       int sizelibraries = 0;\r
+       char **libraries = getlibrarieslist(&sizelibraries);\r
+\r
+       if (libraries)\r
+       {\r
+               int i = 0;\r
+               for (i = 0;i < sizelibraries; i++)\r
+               {\r
+                       int j = 0;\r
+                       char **macros = NULL;\r
+                       int sizemacros = 0;\r
+\r
+                       macros = getlistmacrosfromlibrary(libraries[i],&sizemacros);\r
+                       if (macros)\r
+                       {\r
+                               sizedictionary = sizedictionary + sizemacros;\r
+\r
+                               for (j = 0;j < sizemacros; j++)\r
+                               {\r
+                                       if(macros[j])\r
+                                       {\r
+                                               FREE(macros[j]);\r
+                                               macros[j] = NULL;\r
+                                       }\r
+                               }\r
+                               FREE(macros);\r
+                               macros = NULL;\r
+                       }\r
+\r
+                       FREE(libraries[i]);\r
+                       libraries[i] = NULL;\r
+               }\r
+               FREE(libraries);\r
+               libraries = NULL;\r
+       }\r
+       return sizedictionary;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
diff --git a/scilab/modules/completion/src/c/getmacrosdictionary.h b/scilab/modules/completion/src/c/getmacrosdictionary.h
new file mode 100644 (file)
index 0000000..06d910f
--- /dev/null
@@ -0,0 +1,16 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/ \r
+#ifndef __GETMACROSDICTIONARY_H__\r
+#define __GETMACROSDICTIONARY_H__\r
+\r
+/**\r
+* get scilab macros dictionary\r
+* @param[out] size of returned array\r
+* @return array of strings\r
+*/\r
+char **getmacrosdictionary(int *sizearray);\r
+\r
+#endif /* __GETMACROSDICTIONARY_H__ */\r
+/*-----------------------------------------------------------------------------------*/ \r
diff --git a/scilab/modules/completion/src/c/resource.h b/scilab/modules/completion/src/c/resource.h
new file mode 100644 (file)
index 0000000..d99ecaa
--- /dev/null
@@ -0,0 +1,14 @@
+//{{NO_DEPENDENCIES}}\r
+// Microsoft Visual C++ generated include file.\r
+// Used by completion.rc\r
+\r
+// Next default values for new objects\r
+// \r
+#ifdef APSTUDIO_INVOKED\r
+#ifndef APSTUDIO_READONLY_SYMBOLS\r
+#define _APS_NEXT_RESOURCE_VALUE        101\r
+#define _APS_NEXT_COMMAND_VALUE         40001\r
+#define _APS_NEXT_CONTROL_VALUE         1001\r
+#define _APS_NEXT_SYMED_VALUE           101\r
+#endif\r
+#endif\r
diff --git a/scilab/modules/completion/src/c/toolsdictionary.c b/scilab/modules/completion/src/c/toolsdictionary.c
new file mode 100644 (file)
index 0000000..06c1afb
--- /dev/null
@@ -0,0 +1,90 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/ \r
+#include <stdlib.h>\r
+#include "toolsdictionary.h"\r
+#include "MALLOC.h"\r
+/*-----------------------------------------------------------------------------------*/ \r
+/**\r
+* merge two strings array\r
+* append array2 to array1\r
+* @param[in] array1 \r
+* @param[in] pos\r
+* @param[in] array2\r
+* @param[in] sizearray2\r
+* @return string array updated;\r
+*/\r
+static char **mergearrays(char **array1,int pos,char **array2,int sizearray2);\r
+\r
+/* compare function for qsort */\r
+static int comparewords (const void * a, const void * b);\r
+/*-----------------------------------------------------------------------------------*/ \r
+BOOL appendDictionary(char ***dictionary,int *i,char ***datas,int *sizedatas)\r
+{\r
+       BOOL bOK = FALSE;\r
+       if (*datas)\r
+       {\r
+               *dictionary = mergearrays(*dictionary,*i,*datas,*sizedatas);\r
+               *i = *i + *sizedatas;\r
+\r
+               FREE(*datas);\r
+               *datas = NULL;\r
+               *sizedatas = 0;\r
+               bOK = TRUE;\r
+       }\r
+       return bOK;\r
+}\r
+/*-----------------------------------------------------------------------------------*/ \r
+static char **mergearrays(char **array1,int pos,char **array2,int sizearray2)\r
+{\r
+       if (array1 && array2)\r
+       {\r
+               int j = 0;\r
+               for (j = 0;j < sizearray2;j++)\r
+               {\r
+                       array1[pos] = array2[j];\r
+                       pos++;\r
+               }\r
+               return array1;\r
+       }\r
+       return NULL;\r
+}\r
+/*-----------------------------------------------------------------------------------*/ \r
+static int comparewords (const void * a, const void * b)\r
+{\r
+       return ( strcmp(*(char**)a,*(char**)b) );\r
+}\r
+/*-----------------------------------------------------------------------------------*/ \r
+char ** SortDictionary(char **Strings,int SizeStrings)\r
+{\r
+       qsort(Strings,SizeStrings,sizeof(char*),comparewords);\r
+       return Strings;\r
+}\r
+/*-----------------------------------------------------------------------------------*/\r
+char ** RemoveDuplicateDictionary(char **Strings,int *SizeStrings)\r
+{\r
+       char **returnedArray = NULL;\r
+       int newsize = 0;\r
+       \r
+       if (Strings)\r
+       {\r
+               int i = 0, j = 0;\r
+               for (i = j = 0; i < *SizeStrings - 1; i++) \r
+               {\r
+                       if (strcmp(Strings[i], Strings[i + 1])) Strings[j++] = Strings[i];\r
+                       else \r
+                       {\r
+                               FREE(Strings[i]);\r
+                               Strings[i] = NULL;\r
+                       }\r
+               }\r
+               Strings[j++] = Strings[i];\r
+               newsize = j;\r
+\r
+               returnedArray = Strings;\r
+               if (returnedArray) *SizeStrings = newsize;\r
+       }\r
+       return returnedArray;\r
+}\r
+/*-----------------------------------------------------------------------------------*/ \r
diff --git a/scilab/modules/completion/src/c/toolsdictionary.h b/scilab/modules/completion/src/c/toolsdictionary.h
new file mode 100644 (file)
index 0000000..a2b85f2
--- /dev/null
@@ -0,0 +1,57 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/ \r
+#ifndef __TOOLSDICTIONARY_H__\r
+#define __TOOLSDICTIONARY_H__\r
+\r
+#include "machine.h"\r
+\r
+/**\r
+* Append Datas to a dictionary(string matrix)\r
+* @param dictionary \r
+* @param i\r
+* @param datas\r
+* @param sizedatas\r
+* @return TRUE or FALSE\r
+*/\r
+BOOL appendDictionary(char ***dictionary,int *i,char ***datas,int *sizedatas);\r
+\r
+/**\r
+* sort dictionary\r
+* @param strings wto sort\r
+* @param  size of new dictionnary\r
+* @return result\r
+*/\r
+char **SortDictionary(char **Strings,int SizeStrings);\r
+\r
+/**\r
+* Remove duplicate words in a dictionary\r
+* @param strings where to search\r
+* @param[out] size of new dictionnary\r
+* @return result\r
+*/\r
+char ** RemoveDuplicateDictionary(char **Strings,int *SizeStrings);\r
+\r
+/**\r
+* free pointer\r
+* @param ptrD\r
+* @param sizeptrD\r
+*/\r
+#define freePointerDictionary(ptrD,sizeptrD) if (ptrD)\\r
+{\\r
+       int ifree =0;\\r
+       for (ifree = 0;ifree<(int)sizeptrD;ifree++)\\r
+       {\\r
+               if (ptrD[ifree])\\r
+               {\\r
+                       FREE(ptrD[ifree]);\\r
+                       ptrD[ifree] = NULL;\\r
+               }\\r
+       }\\r
+       FREE(ptrD);\\r
+       ptrD = NULL;\\r
+}\r
+\r
+#endif /* __TOOLSDICTIONARY_H__ */\r
+/*-----------------------------------------------------------------------------------*/ \r
diff --git a/scilab/modules/completion/src/java/completion-JAVA.vcproj b/scilab/modules/completion/src/java/completion-JAVA.vcproj
new file mode 100644 (file)
index 0000000..70f0dcf
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="8,00"\r
+       Name="completion-Ant"\r
+       ProjectGUID="{B5E4D0C2-8C6A-4437-81BF-DBFA95900C9D}"\r
+       RootNamespace="completion-Ant"\r
+       Keyword="MakeFileProj"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="$(ConfigurationName)"\r
+                       IntermediateDirectory="$(ConfigurationName)"\r
+                       ConfigurationType="0"\r
+                       >\r
+                       <Tool\r
+                               Name="VCNMakeTool"\r
+                               BuildCommandLine="set JAVA_HOME=$(SolutionDir)\java\jdk&#x0D;&#x0A;set PATH=$(SolutionDir)\java\ant\bin;%PATH%;&#x0D;&#x0A;cd ../..&#x0D;&#x0A;call ant jar&#x0D;&#x0A;&#x0D;&#x0A;"\r
+                               ReBuildCommandLine="set JAVA_HOME=$(SolutionDir)\java\jdk&#x0D;&#x0A;set PATH=$(SolutionDir)\java\ant\bin;%PATH%;&#x0D;&#x0A;cd ../..&#x0D;&#x0A;call ant jar&#x0D;&#x0A;"\r
+                               CleanCommandLine="set JAVA_HOME=$(SolutionDir)\java\jdk&#x0D;&#x0A;set PATH=$(SolutionDir)\java\ant\bin;%PATH%;&#x0D;&#x0A;cd ../..&#x0D;&#x0A;call ant clean&#x0D;&#x0A;&#x0D;&#x0A;"\r
+                               Output=""\r
+                               PreprocessorDefinitions="WIN32;_DEBUG"\r
+                               IncludeSearchPath=""\r
+                               ForcedIncludes=""\r
+                               AssemblySearchPath=""\r
+                               ForcedUsingAssemblies=""\r
+                               CompileAsManaged=""\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="$(ConfigurationName)"\r
+                       IntermediateDirectory="$(ConfigurationName)"\r
+                       ConfigurationType="0"\r
+                       >\r
+                       <Tool\r
+                               Name="VCNMakeTool"\r
+                               BuildCommandLine="set JAVA_HOME=$(SolutionDir)\java\jdk&#x0D;&#x0A;set PATH=$(SolutionDir)\java\ant\bin;%PATH%;&#x0D;&#x0A;cd ../..&#x0D;&#x0A;call ant jar&#x0D;&#x0A;&#x0D;&#x0A;"\r
+                               ReBuildCommandLine="set JAVA_HOME=$(SolutionDir)\java\jdk&#x0D;&#x0A;set PATH=$(SolutionDir)\java\ant\bin;%PATH%;&#x0D;&#x0A;cd ../..&#x0D;&#x0A;call ant jar&#x0D;&#x0A;"\r
+                               CleanCommandLine="set JAVA_HOME=$(SolutionDir)\java\jdk&#x0D;&#x0A;set PATH=$(SolutionDir)\java\ant\bin;%PATH%;&#x0D;&#x0A;cd ../..&#x0D;&#x0A;call ant clean&#x0D;&#x0A;&#x0D;&#x0A;"\r
+                               Output=""\r
+                               PreprocessorDefinitions="WIN32;NDEBUG"\r
+                               IncludeSearchPath=""\r
+                               ForcedIncludes=""\r
+                               AssemblySearchPath=""\r
+                               ForcedUsingAssemblies=""\r
+                               CompileAsManaged=""\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{32CECC8B-3355-4312-87A2-5B25796C3F41}"\r
+                       >\r
+               </Filter>\r
+               <File\r
+                       RelativePath="..\..\..\build.xml"\r
+                       >\r
+               </File>\r
+       </Files>\r
+       <Globals>\r
+       </Globals>\r
+</VisualStudioProject>\r
diff --git a/scilab/modules/completion/src/nocompletion/LibScilab_Import.def b/scilab/modules/completion/src/nocompletion/LibScilab_Import.def
new file mode 100644 (file)
index 0000000..cd87bef
--- /dev/null
@@ -0,0 +1,5 @@
+LIBRARY    LibScilab.dll\r
+\r
+\r
+EXPORTS\r
+ Scierror\r
diff --git a/scilab/modules/completion/src/nocompletion/nocompletion.c b/scilab/modules/completion/src/nocompletion/nocompletion.c
new file mode 100644 (file)
index 0000000..60ec124
--- /dev/null
@@ -0,0 +1,15 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/ \r
+#include "machine.h" \r
+/*-----------------------------------------------------------------------------------*/ \r
+extern int  Scierror __PARAMS((int iv,char *fmt,...));\r
+/*-----------------------------------------------------------------------------------*/ \r
+int C2F(gw_completion)()\r
+{\r
+       Scierror(999,"completion interface not installed.\r\n");\r
+       return 0;\r
+}\r
+/*-----------------------------------------------------------------------------------*/ \r
+       
\ No newline at end of file
diff --git a/scilab/modules/completion/src/nocompletion/nocompletion.rc b/scilab/modules/completion/src/nocompletion/nocompletion.rc
new file mode 100644 (file)
index 0000000..7fc7784
--- /dev/null
@@ -0,0 +1,97 @@
+// Microsoft Visual C++ generated resource script.\r
+//\r
+#include "resource.h"\r
+\r
+#define APSTUDIO_READONLY_SYMBOLS\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Generated from the TEXTINCLUDE 2 resource.\r
+//\r
+//#include "afxres.h"\r
+#define APSTUDIO_HIDDEN_SYMBOLS\r
+#include "windows.h"\r
+/////////////////////////////////////////////////////////////////////////////\r
+#undef APSTUDIO_READONLY_SYMBOLS\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+// French (France) resources\r
+\r
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)\r
+#ifdef _WIN32\r
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH\r
+#pragma code_page(1252)\r
+#endif //_WIN32\r
+\r
+#ifdef APSTUDIO_INVOKED\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// TEXTINCLUDE\r
+//\r
+\r
+1 TEXTINCLUDE \r
+BEGIN\r
+    "resource.h\0"\r
+END\r
+\r
+\r
+3 TEXTINCLUDE \r
+BEGIN\r
+    "\r\n"\r
+    "\0"\r
+END\r
+\r
+#endif    // APSTUDIO_INVOKED\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Version\r
+//\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+ FILEVERSION 5,0,0,0\r
+ PRODUCTVERSION 5,0,0,0\r
+ FILEFLAGSMASK 0x17L\r
+#ifdef _DEBUG\r
+ FILEFLAGS 0x1L\r
+#else\r
+ FILEFLAGS 0x0L\r
+#endif\r
+ FILEOS 0x4L\r
+ FILETYPE 0x0L\r
+ FILESUBTYPE 0x0L\r
+BEGIN\r
+    BLOCK "StringFileInfo"\r
+    BEGIN\r
+        BLOCK "040c04b0"\r
+        BEGIN\r
+            VALUE "FileDescription", "nocompletion module"\r
+            VALUE "FileVersion", "5, 0, 0, 0"\r
+            VALUE "InternalName", "nocompletion module"\r
+            VALUE "LegalCopyright", "Copyright (C) 2007"\r
+            VALUE "OriginalFilename", "nocompletion.dll"\r
+            VALUE "ProductName", " nocompletion"\r
+            VALUE "ProductVersion", "5, 0, 0, 0"\r
+        END\r
+    END\r
+    BLOCK "VarFileInfo"\r
+    BEGIN\r
+        VALUE "Translation", 0x40c, 1200\r
+    END\r
+END\r
+\r
+#endif    // French (France) resources\r
+/////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+\r
+#ifndef APSTUDIO_INVOKED\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Generated from the TEXTINCLUDE 3 resource.\r
+//\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+#endif    // not APSTUDIO_INVOKED\r
+\r
diff --git a/scilab/modules/completion/src/nocompletion/nocompletion.vcproj b/scilab/modules/completion/src/nocompletion/nocompletion.vcproj
new file mode 100644 (file)
index 0000000..61ce06e
--- /dev/null
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="8,00"\r
+       Name="nocompletion"\r
+       ProjectGUID="{D1586C83-3F16-467B-85C6-6A12A08CCB8D}"\r
+       RootNamespace="nocompletion"\r
+       Keyword="Win32Proj"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
+                       IntermediateDirectory="$(ConfigurationName)"\r
+                       ConfigurationType="2"\r
+                       CharacterSet="2"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="../../../core/includes"\r
+                               PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;FORDLL;WIN32;_DEBUG;_WINDOWS;_USRDLL;NOCOMPLETION_EXPORTS"\r
+                               MinimalRebuild="true"\r
+                               BasicRuntimeChecks="0"\r
+                               RuntimeLibrary="3"\r
+                               UsePrecompiledHeader="0"\r
+                               WarningLevel="3"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                               Description="Make dependencies"\r
+                               CommandLine="if NOT EXIST LibScilab.lib lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n nocompletion.dll %%f &gt;nul&#x0D;&#x0A;copy *.def nocompletiontmp.def &gt;nul&#x0D;&#x0A;copy ..\nocompletion_header.def+nocompletiontmp.def  ..\nocompletion.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions="/fixed:no"\r
+                               AdditionalDependencies="LibScilab.lib"\r
+                               OutputFile="../../../../bin/$(ProjectName).dll"\r
+                               LinkIncremental="1"\r
+                               ModuleDefinitionFile="nocompletion.def"\r
+                               GenerateDebugInformation="true"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
+                       IntermediateDirectory="$(ConfigurationName)"\r
+                       ConfigurationType="2"\r
+                       CharacterSet="2"\r
+                       WholeProgramOptimization="0"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               InlineFunctionExpansion="1"\r
+                               FavorSizeOrSpeed="1"\r
+                               WholeProgramOptimization="false"\r
+                               AdditionalIncludeDirectories="../../../core/includes"\r
+                               PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;FORDLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;NOCOMPLETION_EXPORTS"\r
+                               StringPooling="true"\r
+                               RuntimeLibrary="2"\r
+                               EnableEnhancedInstructionSet="1"\r
+                               UsePrecompiledHeader="0"\r
+                               WarningLevel="3"\r
+                               Detect64BitPortabilityProblems="false"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                               Description="Make dependencies"\r
+                               CommandLine="if NOT EXIST LibScilab.lib lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n nocompletion.dll %%f &gt;nul&#x0D;&#x0A;copy *.def nocompletiontmp.def &gt;nul&#x0D;&#x0A;copy ..\nocompletion_header.def+nocompletiontmp.def  ..\nocompletion.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalDependencies="LibScilab.lib"\r
+                               OutputFile="../../../../bin/$(ProjectName).dll"\r
+                               LinkIncremental="1"\r
+                               ModuleDefinitionFile="nocompletion.def"\r
+                               GenerateDebugInformation="false"\r
+                               SubSystem="2"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
+                               LinkTimeCodeGeneration="0"\r
+                               ImportLibrary="../../../../bin/$(ProjectName).lib"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\nocompletion.c"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Header Files"\r
+                       Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
+                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"\r
+                       >\r
+               </Filter>\r
+               <Filter\r
+                       Name="Resource Files"\r
+                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"\r
+                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\nocompletion.rc"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+       </Globals>\r
+</VisualStudioProject>\r
diff --git a/scilab/modules/completion/src/nocompletion/nocompletion_header.def b/scilab/modules/completion/src/nocompletion/nocompletion_header.def
new file mode 100644 (file)
index 0000000..ea13874
--- /dev/null
@@ -0,0 +1,4 @@
+LIBRARY    scicompletion.dll\r
+\r
+\r
+EXPORTS\r
diff --git a/scilab/modules/completion/src/nocompletion/resource.h b/scilab/modules/completion/src/nocompletion/resource.h
new file mode 100644 (file)
index 0000000..d99ecaa
--- /dev/null
@@ -0,0 +1,14 @@
+//{{NO_DEPENDENCIES}}\r
+// Microsoft Visual C++ generated include file.\r
+// Used by completion.rc\r
+\r
+// Next default values for new objects\r
+// \r
+#ifdef APSTUDIO_INVOKED\r
+#ifndef APSTUDIO_READONLY_SYMBOLS\r
+#define _APS_NEXT_RESOURCE_VALUE        101\r
+#define _APS_NEXT_COMMAND_VALUE         40001\r
+#define _APS_NEXT_CONTROL_VALUE         1001\r
+#define _APS_NEXT_SYMED_VALUE           101\r
+#endif\r
+#endif\r
diff --git a/scilab/modules/completion/unit_tests/completion.tst b/scilab/modules/completion/unit_tests/completion.tst
new file mode 100644 (file)
index 0000000..57b8aa4
--- /dev/null
@@ -0,0 +1,26 @@
+lines(0);\r
+\r
+// parameters tests\r
+r = completion('w')\r
+r = completion('w','functions')\r
+r = completion('w','commands')\r
+r = completion('w','variables')\r
+r = completion('w','macros')\r
+r = completion('w','graphics_properties')\r
+r = completion('w','files')\r
+\r
+[functions,commands,variables,macros,graphics_properties,files] = completion('w')\r
+[functions,commands,variables,macros,graphics_properties] = completion('w')\r
+[functions,commands,variables,macros] = completion('w')\r
+[functions,commands,variables] = completion('w')\r
+[functions,commands] = completion('w')\r
+\r
+// memory leak\r
+\r
+for i=1:1000000,a=completion('w');end;\r
+for i=1:1000000,a=completion('w',"functions");end;\r
+for i=1:1000000,a=completion('w',"commands");end;\r
+for i=1:1000000,a=completion('w',"variables");end;\r
+for i=1:1000000,a=completion('w',"macros");end;\r
+for i=1:1000000,a=completion('w',"graphics_properties");end;\r
+for i=1:1000000,a=completion('w',"files");end;\r
diff --git a/scilab/modules/completion/version.xml b/scilab/modules/completion/version.xml
new file mode 100644 (file)
index 0000000..f6bb46a
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!DOCTYPE MODULE_VERSION SYSTEM "../core/xml/version.dtd">\r
+<MODULE_VERSION name="completion">\r
+<!-- =================== -->\r
+<!--\r
+ Scilab\r
+ Defines version of "completion" module\r
+ @author Allan CORNET\r
+ @date INRIA 2007\r
+ ===================\r
+-->\r
+<!-- =================== -->\r
+\r
+<VERSION major="5" minor="0" maintenance="0" revision="0" string="unstable-svn" />\r
+</MODULE_VERSION>\r
index a45c9d8..4256af9 100644 (file)
@@ -407,7 +407,9 @@ includes/callFunctionFromGateway.h \
 includes/librarieslist.h \
 includes/libraryinfo.h \
 includes/getvariablesname.h \
-includes/commandwords.h
+includes/commandwords.h \
+includes/existfunction.h \
+includes/getfunctionslist.h
 
 
 #### core : demos files ####
similarity index 53%
rename from scilab/modules/shell/src/c/completion.c
rename to scilab/modules/core/includes/existfunction.h
index 87009c3..1ee9667 100644 (file)
@@ -1,16 +1,17 @@
-/*-----------------------------------------------------------------------------------*/
-/**
-  * @author Allan CORNET - INRIA 2007
- */
-/*-----------------------------------------------------------------------------------*/
-#include "completion.h"
-#include "MALLOC.h"
-/*-----------------------------------------------------------------------------------*/
-char **completion(char *somechars, int *sizeArrayReturned)
-{
-       char **ListWords = NULL;
-       *sizeArrayReturned = 0;
-       
-       return ListWords;
-}
-/*-----------------------------------------------------------------------------------*/
+/*-----------------------------------------------------------------------------------*/\r
+/* Allan CORNET */\r
+/* INRIA 2007 */\r
+/*-----------------------------------------------------------------------------------*/\r
+#ifndef __EXISTFUNCTION_H__\r
+#define __EXISTFUNCTION_H__\r
+\r
+/** \r
+ * Check if a function exists in the list\r
+ * @param[in] name the name of the function\r
+ * @return if there is this function or not\r
+ */\r
+BOOL ExistFunction(char *name);\r
+\r
+/*-----------------------------------------------------------------------------------*/\r
+#endif /* __EXISTFUNCTION_H__ */\r
+/*-----------------------------------------------------------------------------------*/\r
diff --git a/scilab/modules/core/includes/getfunctionslist.h b/scilab/modules/core/includes/getfunctionslist.h
new file mode 100644 (file)
index 0000000..938a565
--- /dev/null
@@ -0,0 +1,16 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* Allan CORNET */\r
+/* INRIA 2007 */\r
+/*-----------------------------------------------------------------------------------*/\r
+#ifndef __GETFUNCTIONSLIST_H__\r
+#define __GETFUNCTIONSLIST_H__\r
+\r
+/** \r
+ * Return the list of the functions \r
+ * @param[out] sizeList the size of the function list\r
+ * @return all the functions\r
+ */\r
+char **GetFunctionsList(int *sizeList);\r
+/*-----------------------------------------------------------------------------------*/\r
+#endif /* __GETFUNCTIONSLIST_H__ */\r
+/*-----------------------------------------------------------------------------------*/\r
index bd82d2d..e939ab9 100644 (file)
@@ -6,6 +6,7 @@
 #include "machine.h"
 #include "stack-c.h"
 #include "scicurdir.h"
+#include "../../../io/includes/directories.h"
 #include "MALLOC.h"
 #include "error_scilab.h"
 /*-----------------------------------------------------------------------------------*/
@@ -20,9 +21,8 @@ int C2F(sci_getcwd) _PARAMS((char *fname,unsigned long fname_len))
        CheckRhs(0,0);
        CheckLhs(0,1);
 
-       path=(char*)MALLOC(sizeof(char)*(PATH_MAX+1));
-
        C2F(scigetcwd)(&path,&lpath,&ierr);
+       
        if (ierr)
        {
                error_scilab(998,"core_error_284");
@@ -36,7 +36,6 @@ int C2F(sci_getcwd) _PARAMS((char *fname,unsigned long fname_len))
                LhsVar(1) = Rhs+1;
                C2F(putlhsvar)();       
        }
-       if (path) {FREE(path);path=NULL;}
 
        return 0;
 }
index fa0c5ba..707321d 100644 (file)
@@ -72,9 +72,7 @@
 /* 51 */                                               #include "../../../fftw/includes/gw_fftw.h"
 /* 52 */                                               #include "../../../jvm/includes/gw_jvm.h"
 /* 53 */                                               #include "../../../shell/includes/gw_shell.h"
-/*
-/* 54 */                                               #include "../../../renderer/includes/gw_renderer.h"
-/* 55 */                               //              #include "../../../renderer/includes/gw_dynamic_link.h"
+/* 54 */                                               #include "../../../completion/includes/gw_completion.h"
 
 
 void errjump (int n);
@@ -140,9 +138,8 @@ static OpTab Interfaces[] = {
        /* 50  */ {C2F(gw_localization)},
        /* 51  */ {C2F(gw_fftw)},
        /* 52  */ {C2F(gw_jvm)},
-       /* 53  */ {C2F(gw_shell)}
-//     /* 54  */ ,{C2F(gw_renderer)},
-//     /* 55  */ {C2F(gw_dynamic_link)}
+       /* 53  */ {C2F(gw_shell)},
+       /* 54  */ {C2F(gw_completion)}
 };
 
 
index 4a33546..850a18d 100644 (file)
@@ -2,7 +2,7 @@
 /* INRIA 2007 */\r
 /* Allan CORNET */\r
 /*-----------------------------------------------------------------------------------*/ \r
-#include <string.h>
+#include <string.h>\r
 #include "machine.h" \r
 #include "commandwords.h"\r
 #include "MALLOC.h"\r
index 062ad2d..3ba5016 100644 (file)
                                >
                        </File>
                        <File
+                               RelativePath="..\..\includes\existfunction.h"
+                               >
+                       </File>
+                       <File
                                RelativePath=".\expr.h"
                                >
                        </File>
                                >
                        </File>
                        <File
-                               RelativePath="..\..\includes\fromjava.h"
+                               RelativePath=".\fromjava.h"
                                >
                        </File>
                        <File
-                               RelativePath=".\fromjava.h"
+                               RelativePath="..\..\includes\fromjava.h"
                                >
                        </File>
                        <File
                                >
                        </File>
                        <File
+                               RelativePath="..\..\includes\getfunctionslist.h"
+                               >
+                       </File>
+                       <File
                                RelativePath=".\getmemory.h"
                                >
                        </File>
                                >
                        </File>
                        <File
-                               RelativePath="..\..\includes\Os_specific.h"
+                               RelativePath=".\Os_specific.h"
                                >
                        </File>
                        <File
-                               RelativePath=".\Os_specific.h"
+                               RelativePath="..\..\includes\Os_specific.h"
                                >
                        </File>
                        <File
index da6a669..8152361 100644 (file)
@@ -7,6 +7,8 @@
 #include <stdlib.h>
 #include "MALLOC.h"
 #include "hashtable_core.h"
+#include "getfunctionslist.h"
+#include "existfunction.h"
 /*-----------------------------------------------------------------------------------*/
 static _ENTRY   * htable = NULL;
 static unsigned   hashtableSize;
index 8fc5d60..4ab256c 100644 (file)
@@ -1,6 +1,9 @@
 /*-----------------------------------------------------------------------------------*/
 /* Scilab */
 /*-----------------------------------------------------------------------------------*/
+#ifndef __HASHTABLE_CORE_H__
+#define __HASHTABLE_CORE_H__
+/*-----------------------------------------------------------------------------------*/
 #include "machine.h"
 #include "stack-def.h"
 /*-----------------------------------------------------------------------------------*/
@@ -57,16 +60,11 @@ void destroy_hashtable_scilab_functions(void);
 int action_hashtable_scilab_functions(int *key,char *name, int *data, SCI_HFUNCTIONS_ACTION action);
 
 /** 
- * Return the list of the functions 
- * @param[out] sizeList the size of the function list
- * @return all the functions
- */
-char **GetFunctionsList(int *sizeList);
-
-/** 
  * Check if a function exists in the list
  * @param[in] name the name of the function
  * @return if there is this function or not
  */
 BOOL ExistFunction(char *name);
 /*-----------------------------------------------------------------------------------*/
+#endif /* __HASHTABLE_CORE_H__ */
+/*-----------------------------------------------------------------------------------*/
\ No newline at end of file
index a8247d1..89d1989 100644 (file)
@@ -42,7 +42,7 @@ int C2F(scigetcwd)(char **path,int *lpath,int *err)
 #ifndef _MSC_VER
        if (GETCWD(cur_dir, FSIZE) == (char*) 0)
 #else
-       if ( GetCurrentDirectory(FSIZE,cur_dir) == 0 )
+       if ( _getcwd(cur_dir, FSIZE) == (char*) 0 )
 #endif
        {
                /* get current working dir */
@@ -53,12 +53,7 @@ int C2F(scigetcwd)(char **path,int *lpath,int *err)
        }
     else 
        {
-               char *returnPath=NULL;
-               returnPath=(char*)MALLOC(sizeof(char)*(strlen(cur_dir)+1));
-               strcpy(returnPath,cur_dir);
-
-               *path= returnPath;
-
+               *path= cur_dir;
                *lpath=strlen(cur_dir);
                *err=0;
        }
index 1f95dff..79f928d 100644 (file)
@@ -99,7 +99,8 @@ libscifileio_la_sci_gateway_DATA = sci_gateway/fileio_gateway.xml
 libscifileio_la_includedir=$(pkgincludedir)/fileio
 libscifileio_la_include_HEADERS = includes/FileExist.h \
 includes/gw_fileio.h \
-includes/sci_fileio.h
+includes/sci_fileio.h \
+includes/findfiles.h
 
 
 #### fileio : demos files ####
index a6abc53..634a650 100644 (file)
                                >
                        </File>
                        <File
-                               RelativePath=".\src\c\findfiles.h"
+                               RelativePath=".\includes\findfiles.h"
                                >
                        </File>
                        <File
index 3f8e6fd..3daecb3 100644 (file)
@@ -18,6 +18,8 @@ int C2F(sci_findfiles) _PARAMS((char *fname,unsigned long fname_len))
        char *filespec=NULL;
        char **FilesList=NULL;
        int sizeListReturned=0;
+       BOOL needtofreefilespec = FALSE;
+       BOOL needtofreepath = FALSE;
 
        Rhs=Max(Rhs,0);
        CheckRhs(0,2) ;
@@ -25,12 +27,13 @@ int C2F(sci_findfiles) _PARAMS((char *fname,unsigned long fname_len))
 
        switch(Rhs)
        {
-               default: case 0:
+       default: case 0:
                {
                        int ierr=0;
                        int lpath=0;
 
                        C2F(scigetcwd)(&path,&lpath,&ierr);
+                       needtofreepath = TRUE;
 
                        if (ierr)
                        {
@@ -41,19 +44,22 @@ int C2F(sci_findfiles) _PARAMS((char *fname,unsigned long fname_len))
                        {
                                filespec=(char *)MALLOC(sizeof(char)*(strlen(DEFAULT_FILESPEC)+1));
                                strcpy(filespec,DEFAULT_FILESPEC);
+                               needtofreefilespec = TRUE;
                        }
                }
                break;
 
-               case 1:
+       case 1:
                {
                        if (GetType(1) == sci_strings)
                        {
                                GetRhsVar(1,"c",&m1,&n1,&l1);
                                path=cstk(l1);
+                               needtofreepath = FALSE;
 
                                filespec=(char *)MALLOC(sizeof(char)*(strlen(DEFAULT_FILESPEC)+1));
                                strcpy(filespec,DEFAULT_FILESPEC);
+                               needtofreefilespec = TRUE;
                        }
                        else
                        {
@@ -64,15 +70,17 @@ int C2F(sci_findfiles) _PARAMS((char *fname,unsigned long fname_len))
                }
                break;
 
-               case 2:
+       case 2:
                {
                        if ( (GetType(1) == sci_strings) && (GetType(2) == sci_strings) )
                        {
                                GetRhsVar(1,"c",&m1,&n1,&l1);
                                path=cstk(l1);
+                               needtofreepath = FALSE;
 
                                GetRhsVar(2,"c",&m1,&n1,&l1);
                                filespec=cstk(l1);
+                               needtofreefilespec = FALSE;
                        }
                        else
                        {
@@ -84,8 +92,8 @@ int C2F(sci_findfiles) _PARAMS((char *fname,unsigned long fname_len))
        }
 
        FilesList=findfiles(path,filespec,&sizeListReturned);
-       if (filespec) {FREE(filespec);filespec = NULL;}
-       if (path){FREE(path);path=NULL;}
+       if ( (filespec) && needtofreefilespec ) {FREE(filespec);filespec = NULL;}
+       if ( (path) && needtofreepath ) {FREE(path);path=NULL;}
 
        if (FilesList)
        {
index f8bea6e..a371989 100644 (file)
                                >
                        </File>
                        <File
+                               RelativePath=".\includes\getDictionaryGetProperties.h"
+                               >
+                       </File>
+                       <File
+                               RelativePath=".\includes\getDictionarySetProperties.h"
+                               >
+                       </File>
+                       <File
                                RelativePath=".\src\c\getHandleProperty\getHandleProperty.h"
                                >
                        </File>
diff --git a/scilab/modules/graphics/includes/getDictionaryGetProperties.h b/scilab/modules/graphics/includes/getDictionaryGetProperties.h
new file mode 100644 (file)
index 0000000..947b816
--- /dev/null
@@ -0,0 +1,16 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/\r
+#ifndef __GETDICTIONARYGETPROPERTIES_H__\r
+#define __GETDICTIONARYGETPROPERTIES_H__\r
+\r
+/**\r
+* get all "Get" Handle graphics properties name\r
+* @param[out] size of string matrix\r
+* @return a string matrix\r
+*/\r
+char **getDictionaryGetProperties(int *sizearray);\r
+\r
+#endif /* __GETDICTIONARYGETPROPERTIES_H__ */\r
+/*-----------------------------------------------------------------------------------*/\r
diff --git a/scilab/modules/graphics/includes/getDictionarySetProperties.h b/scilab/modules/graphics/includes/getDictionarySetProperties.h
new file mode 100644 (file)
index 0000000..8c5cea2
--- /dev/null
@@ -0,0 +1,16 @@
+/*-----------------------------------------------------------------------------------*/\r
+/* INRIA 2007 */\r
+/* Allan CORNET */\r
+/*-----------------------------------------------------------------------------------*/\r
+#ifndef __GETDICTIONARYSETPROPERTIES_H__\r
+#define __GETDICTIONARYSETPROPERTIES_H__\r
+\r
+/**\r
+* get all "Set" Handle graphics properties name\r
+* @param[out] size of string matrix\r
+* @return a string matrix\r
+*/\r
+char **getDictionarySetProperties(int *sizearray);\r
+\r
+#endif /* __GETDICTIONARYSETPROPERTIES_H__ */\r
+/*-----------------------------------------------------------------------------------*/\r
index c9f952b..c4b65dd 100644 (file)
@@ -9,7 +9,8 @@
 #include "machine.h"
 #include "getHandleProperty.h"
 #include "sciprint.h"
-
+#include "getDictionaryGetProperties.h"
+#include "MALLOC.h"
 /**
  * use for the singleton to know if the hashtable has already be created.
  */
@@ -224,5 +225,24 @@ void destroyScilabGetHashTable( void )
   getHashTableCreated = FALSE ;
 }
 /*-----------------------------------------------------------------------------------*/
+char **getDictionaryGetProperties(int *sizearray)
+{
+       char **dictionary = NULL;
+       *sizearray = 0;
 
+       dictionary = (char **)MALLOC(sizeof(char*)*NB_PROPERTIES);
+       if (dictionary)
+       {
+               int i = 0;
+               *sizearray = NB_PROPERTIES;
+               for (i = 0;i < NB_PROPERTIES; i++)
+               {
+                       char *propertyname = (char*)MALLOC(sizeof(char)*(strlen(propertyTable[i].key)+1));
+                       if (propertyname) strcpy(propertyname,propertyTable[i].key);
+                       dictionary [i] = propertyname;
+               }
+       }
+       return dictionary;
+}
+/*-----------------------------------------------------------------------------------*/
 #undef NB_PROPERTIES
index 1dbda9c..b41e474 100644 (file)
@@ -9,7 +9,8 @@
 #include "machine.h"
 #include "setHandleProperty.h"
 #include "sciprint.h"
-
+#include "getDictionarySetProperties.h"
+#include "MALLOC.h"
 /** 
 * use for the singleton to know if the hashtable has already be created.
 */
@@ -221,5 +222,23 @@ void destroyScilabSetHashTable( void )
   setHashTableCreated = FALSE ;
 }
 /*-----------------------------------------------------------------------------------*/
-
+char **getDictionarySetProperties(int *sizearray)
+{
+       char **dictionary = NULL;
+       *sizearray = 0;
+       dictionary = (char **)MALLOC(sizeof(char*)*NB_PROPERTIES);
+       if (dictionary)
+       {
+               int i = 0;
+               *sizearray = NB_PROPERTIES;
+               for (i = 0;i < NB_PROPERTIES; i++)
+               {
+                       char *propertyname = (char*)MALLOC(sizeof(char)*(strlen(propertyTable[i].key)+1));
+                       if (propertyname) strcpy(propertyname,propertyTable[i].key);
+                       dictionary [i] = propertyname;
+               }
+       }
+       return dictionary;
+}
+/*-----------------------------------------------------------------------------------*/
 #undef NB_PROPERTIES
index 9459500..f8ecb97 100644 (file)
@@ -86,28 +86,23 @@ int C2F(sci_get_absolute_file_path) _PARAMS((char *fname,unsigned long fname_len
                                int ierr=0;
                                int lpath=0;
                                char *path=NULL;
-                               path=(char*)MALLOC(sizeof(char)*(PATH_MAX+1));
-                               if (path)
+
+                               C2F(scigetcwd)(&path,&lpath,&ierr);
+                               if (ierr) /* Problem to get current directory */
                                {
-                                       C2F(scigetcwd)(&path,&lpath,&ierr);
-                                       if (ierr) /* Problem to get current directory */
-                                       {
-                                               m1=0; n1=0; l1=0; /* returns a empty string */
-                                               CreateVar(Rhs+1,"c",  &m1, &n1, &l1);
-                                               LhsVar(1)=Rhs+1;
-                                               C2F(putlhsvar)();
-                                               FREE(path);path=NULL;
-                                               return 0;
-                                       }
-                                       else
-                                       {
-                                               absolute_file_path=(char *)MALLOC(sizeof(char)*(lpath+(int)strlen(DIR_SEPARATOR)+1));
-                                               strncpy(absolute_file_path,path,lpath);
-                                               absolute_file_path[lpath]='\0';
-                                               /* Add '\' or '/' */
-                                               strcat(absolute_file_path,DIR_SEPARATOR);
-                                       }
-                                       FREE(path);path=NULL;
+                                       m1=0; n1=0; l1=0; /* returns a empty string */
+                                       CreateVar(Rhs+1,"c",  &m1, &n1, &l1);
+                                       LhsVar(1)=Rhs+1;
+                                       C2F(putlhsvar)();
+                                       return 0;
+                               }
+                               else
+                               {
+                                       absolute_file_path=(char *)MALLOC(sizeof(char)*(lpath+(int)strlen(DIR_SEPARATOR)+1));
+                                       strncpy(absolute_file_path,path,lpath);
+                                       absolute_file_path[lpath]='\0';
+                                       /* Add '\' or '/' */
+                                       strcat(absolute_file_path,DIR_SEPARATOR);
                                }
                        }
 
index af11371..7855e94 100644 (file)
@@ -10,16 +10,14 @@ src/cpp/HistorySearch.cpp \
 src/cpp/HistoryFile.cpp
 
 # List of the c files
-SHELL_C_SOURCES = src/c/completion.c \
-src/c/clc.c \
+SHELL_C_SOURCES = src/c/clc.c \
 src/c/tohome.c \
 src/c/zzledt_Linux.c \
 src/c/getCommentDateSession.c
 
 
 # List of the gateway c files
-GATEWAY_C_SOURCES = sci_gateway/c/sci_completion.c \
-sci_gateway/c/gw_shell.c \
+GATEWAY_C_SOURCES = sci_gateway/c/gw_shell.c \
 sci_gateway/c/sci_clc.c \
 sci_gateway/c/sci_tohome.c \
 sci_gateway/c/sci_gethistory.c \
index 7e9b078..78709a5 100644 (file)
@@ -12,7 +12,6 @@ int C2F(gw_shell)(void);
 /*-----------------------------------------------------------------------------------*/
 /* Declaration of all the profile function declared and */
 /* used in sci_gateway */
-int C2F(sci_completion) _PARAMS((char *fname,unsigned long fname_len));
 int C2F(sci_clc) _PARAMS((char *fname,unsigned long fname_len));
 int C2F(sci_tohome) _PARAMS((char *fname,unsigned long fname_len));
 int C2F(sci_loadhistory) _PARAMS((char *fname,unsigned long fname_len));
index 147f431..72b9117 100644 (file)
@@ -10,7 +10,6 @@
 /*-----------------------------------------------------------------------------------*/
 static gw_generic_table Tab[]=
 {
-{C2F(sci_completion),"completion"},
 {C2F(sci_clc),"clc"},
 {C2F(sci_tohome),"tohome"},
 {C2F(sci_loadhistory),"loadhistory"},
index b6d9155..28f4d3e 100644 (file)
  Don't touch if you do not know what you are doing
 -->
 <!-- =================== -->
-
-<PRIMITIVE gatewayId="53" primitiveId="1" primitiveName="completion"/>
-<PRIMITIVE gatewayId="53" primitiveId="2" primitiveName="clc"/>
-<PRIMITIVE gatewayId="53" primitiveId="3" primitiveName="tohome"/>
-<PRIMITIVE gatewayId="53" primitiveId="4" primitiveName="loadhistory" />
-<PRIMITIVE gatewayId="53" primitiveId="5" primitiveName="savehistory" />
-<PRIMITIVE gatewayId="53" primitiveId="6" primitiveName="gethistory" />
-<PRIMITIVE gatewayId="53" primitiveId="7" primitiveName="resethistory" />
-<PRIMITIVE gatewayId="53" primitiveId="8" primitiveName="displayhistory" />  
-<PRIMITIVE gatewayId="53" primitiveId="9" primitiveName="addhistory" />  
-<PRIMITIVE gatewayId="53" primitiveId="10" primitiveName="saveconsecutivecommands" />  
-<PRIMITIVE gatewayId="53" primitiveId="11" primitiveName="saveafterncommands" />
-<PRIMITIVE gatewayId="53" primitiveId="12" primitiveName="gethistoryfile" />
-<PRIMITIVE gatewayId="53" primitiveId="13" primitiveName="sethistoryfile" />
-<PRIMITIVE gatewayId="53" primitiveId="14" primitiveName="removelinehistory" />
-<PRIMITIVE gatewayId="53" primitiveId="15" primitiveName="historysize" />
+<PRIMITIVE gatewayId="53" primitiveId="1" primitiveName="clc"/>
+<PRIMITIVE gatewayId="53" primitiveId="2" primitiveName="tohome"/>
+<PRIMITIVE gatewayId="53" primitiveId="3" primitiveName="loadhistory" />
+<PRIMITIVE gatewayId="53" primitiveId="4" primitiveName="savehistory" />
+<PRIMITIVE gatewayId="53" primitiveId="5" primitiveName="gethistory" />
+<PRIMITIVE gatewayId="53" primitiveId="6" primitiveName="resethistory" />
+<PRIMITIVE gatewayId="53" primitiveId="7" primitiveName="displayhistory" />  
+<PRIMITIVE gatewayId="53" primitiveId="8" primitiveName="addhistory" />  
+<PRIMITIVE gatewayId="53" primitiveId="9" primitiveName="saveconsecutivecommands" />  
+<PRIMITIVE gatewayId="53" primitiveId="10" primitiveName="saveafterncommands" />
+<PRIMITIVE gatewayId="53" primitiveId="11" primitiveName="gethistoryfile" />
+<PRIMITIVE gatewayId="53" primitiveId="12" primitiveName="sethistoryfile" />
+<PRIMITIVE gatewayId="53" primitiveId="13" primitiveName="removelinehistory" />
+<PRIMITIVE gatewayId="53" primitiveId="14" primitiveName="historysize" />
 </GATEWAY>
diff --git a/scilab/modules/shell/src/c/completion.h b/scilab/modules/shell/src/c/completion.h
deleted file mode 100644 (file)
index 1f6ea30..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef __COMPLETION_H__
-#define __COMPLETION_H__
-/*-----------------------------------------------------------------------------------*/
-/**
- * @author Allan CORNET - INRIA 2007
- */
-/*-----------------------------------------------------------------------------------*/
-/**
- * completion function 
- * @param somechars first characters of a word
- * @param sizeArrayReturned
- * @return a array of chars 
- */
-char **completion(char *somechars, int *sizeArrayReturned);
-/*-----------------------------------------------------------------------------------*/
-#endif /* __COMPLETION_H__ */
index 0ffc431..6afc4cc 100644 (file)
                                >
                        </File>
                        <File
-                               RelativePath=".\completion.c"
-                               >
-                       </File>
-                       <File
                                RelativePath=".\getCommentDateSession.c"
                                >
                        </File>
                                >
                        </File>
                        <File
-                               RelativePath="..\..\sci_gateway\c\sci_completion.c"
-                               >
-                       </File>
-                       <File
                                RelativePath="..\..\sci_gateway\c\sci_displayhistory.c"
                                >
                        </File>
                                >
                        </File>
                        <File
-                               RelativePath=".\completion.h"
-                               >
-                       </File>
-                       <File
                                RelativePath=".\getCommentDateSession.h"
                                >
                        </File>