opts was not cleared
[scilab.git] / scilab / etc / scilab.start
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2007-2008 - INRIA
3 // Copyright (C) 2009-2011 - DIGITEO
4 //
5 // This file must be used under the terms of the CeCILL.
6 // This source file is licensed as described in the file COPYING, which
7 // you should have received as part of this distribution.  The terms
8 // are also available at
9 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10
11 // Main Scilab initialisation file
12
13 mode(-1);  // silent execution mode
14
15 // clean database when restarted ======================================
16 predef("clear"); //unprotect all variables
17 clear  // erase all variables
18 clearglobal();
19
20 // Set stack size   ===================================================
21 function setStackSize()
22   defaultstacksize = 10000000;
23   old = stacksize()
24   params = sciargs();
25   nparam = find(params == "-mem");
26   if (nparam) then
27     ierr = execstr("newstacksize=" + params(nparam + 1), "errcatch");
28     if (ierr == 0) then
29       if old(1) <> newstacksize then
30         stacksize(newstacksize);
31       end
32     else
33       if old(1) <> defaultstacksize then
34         stacksize(defaultstacksize);
35       end
36     end
37   else
38     if old(1) <> defaultstacksize then
39       stacksize(defaultstacksize);
40     end
41   end
42 endfunction
43 setStackSize();
44 clear setStackSize;
45
46 // Special variables definition =======================================
47 oldieee=ieee()
48 ieee(2);
49 %inf = 1/0;
50 ieee(0);
51 %nan = %inf-%inf;
52 // boolean variables
53 %T = %t;
54 %F = %f;
55 %tk = (with_module("tclsci") & getscilabmode() <> "NWNI");
56
57 ieee(oldieee);
58 clear oldieee
59
60 // Default Obsolete Warning policy  ===================================
61 global %modalWarning;
62 // False -> Scilab will only display a Warning message in the console
63 //          if warnings are enabled [warning("on"/"off")].
64 // True  -> Scilab will show a blocking popup.
65 %modalWarning = %F;
66 clear %modalWarning;
67
68 // Create some configuration variables ================================
69 PWD = pwd();
70
71 // Startup message  ===================================================
72 if (sciargs() <> "-nb") & ~fromjava() & ~fromc() & getscilabmode() == "STD" then
73   write(%io(2),[" ";gettext("Startup execution:")]);
74   write(%io(2),gettext("  loading initial environment"));
75 end
76
77 if ((getscilabmode() == "NWNI" | getscilabmode() == "NW") & ~fromjava() & ~fromc() & sciargs()<>"-nb")
78    [v, opts] = getversion()
79    write(%io(2), strsubst(v, "scilab-", "Scilab ") + " (" + opts($-1) + ", " + opts($) + ")");
80    clear v opts;
81 end
82
83 // loads modules ======================================================
84 modules    = getmodules();
85
86 // Map 'load' to 'old binary files load' called %_load to be able to load Scilab libraries
87 warning("off");
88 load = %_load;
89 warning("on");
90
91 for i=1:size(modules,"*")
92   exec("SCI/modules/" + modules(i) + "/etc/" + modules(i) + ".start", -1);
93 end
94 clear modules i load;
95
96 // Create some configuration variables ================================
97 home = getenv("HOME", SCI);
98 if getos() <> "Windows" then
99   if getenv("PRINTERS", "ndef") == "ndef" then
100     setenv("PRINTERS", "lp");
101   end
102 end
103 setenv("VERSION", getversion());
104
105 // ATOMS ===============================================================
106 if with_module("atoms") then
107   atomsSystemInit();
108   if sciargs() <> "-noatomsautoload" then
109     atomsAutoload();
110     clear atomsAutoload;
111   end
112   clear atomsSystemInit;
113 end
114
115
116 // Protect variable previously defined  ================================
117 predef("all");
118
119 // At startup, no interactive vertical paging by default. ==============
120 lines(0);
121
122 // load contrib menu if present ========================================
123 function loadContrib()
124   if isfile(SCI+"/contrib/loader.sce") then
125     global %toolboxes;
126     global %toolboxes_dir;
127     exec(SCI+"/contrib/loader.sce");
128   end
129 endfunction
130 loadContrib();
131 clear loadContrib;
132
133 // calling user initialization =========================================
134 if sciargs()<>"-nouserstartup" then
135
136   startupfiles = [ SCIHOME + filesep() + ".scilab"     ; .. // Home directory startup
137                    SCIHOME + filesep() + "scilab.ini" ];    //  ""      ""    startup
138
139   if SCIHOME <> pwd() then
140     startupfiles = [ startupfiles     ; ..
141                      ".scilab"        ; .. // Working directory startup
142                      "scilab.ini" ]   ;    //  ""         ""    startup
143   end
144
145   for i = 1:size(startupfiles, "*")
146     if isfile(startupfiles(i)) then
147       exec(startupfiles(i),-1);
148     end
149   end
150
151   clear i;
152   clear startupfiles;
153 end
154
155 // Menus/toolbar can now be enabled ====================================
156 if getscilabmode() == "STD" then
157   setmenu(gettext("&File"));
158   setmenu(gettext("&Edit"));
159   setmenu(gettext("&Preferences"));
160   setmenu(gettext("&Control"));
161   setmenu(gettext("&Applications"));
162   if ~with_module("scinotes") then // Desactivate Editor menu
163     unsetmenu(gettext("&Applications"), 1);
164   end
165   if ~with_module("xcos") then // Desactivate xcos menu
166     unsetmenu(gettext("&Applications"), 3);
167   end
168   if ~with_module("m2sci") then // Desactivate mfile2sci menu
169     unsetmenu(gettext("&Applications"), 5);
170   end
171   if ~with_module("atoms") then // Desactivate atoms menu
172     unsetmenu(gettext("&Applications"), 7);
173   end
174   setmenu(gettext("&?"));
175   setmenu(gettext("&Toolboxes"));
176   toolbar(-1, "on");
177 end
178 // ====================================================================
179 clear ans