error displaying.
[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.1-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 %tk = (with_module("tclsci") & getscilabmode() <> "NWNI");
21
22 // Default Obsolete Warning policy  ===================================
23 global %modalWarning;
24 // False -> Scilab will only display a Warning message in the console
25 //          if warnings are enabled [warning("on"/"off")].
26 // True  -> Scilab will show a blocking popup.
27 %modalWarning = %F;
28 clear %modalWarning;
29
30 // Create some configuration variables ================================
31 PWD = pwd();
32
33 // Startup message  ===================================================
34 // if (sciargs() <> "-nb") & ~fromjava() & ~fromc() & getscilabmode() == "STD" then
35 if (sciargs() <> "-nb") & getscilabmode() == "STD" then
36   printf("\n\n%s\n", gettext("Startup execution:"));
37   printf(gettext("  loading initial environment") + "\n");
38 end
39
40 //if ((getscilabmode() == "NWNI" | getscilabmode() == "NW") & ~fromjava() & ~fromc() & sciargs()<>"-nb")
41 if ((getscilabmode() == "NWNI" | getscilabmode() == "NW") & sciargs()<>"-nb")
42    [v, opts] = getversion()
43    printf(strsubst(v, "scilab-", "Scilab ") + " (" + opts($-1) + ", " + opts($) + ")\n");
44    clear v opts;
45 end
46
47 // loads modules ======================================================
48 modules    = getmodules();
49 for i=1:size(modules,"*")
50   startFile = "SCI/modules/" + modules(i) + "/etc/" + modules(i) + ".start";
51   ierr=exec(startFile, 'errcatch', -1);
52   if ierr <> 0 then
53      disp(msprintf(gettext("Failed to execute %s:"),startFile));
54      disp(lasterror());
55      exit(2);
56    end
57 end
58 clear modules i ierr startFile;
59
60 // Create some configuration variables ================================
61 //home = getenv("HOME", SCI);
62 if getos() <> "Windows" then
63   if getenv("PRINTERS", "ndef") == "ndef" then
64     setenv("PRINTERS", "lp");
65   end
66 end
67 setenv("VERSION", getversion());
68
69 // ATOMS ===============================================================
70 if with_module("atoms") then
71   atomsSystemInit();
72   if sciargs() <> "-noatomsautoload" then
73     atomsAutoload();
74     clear atomsAutoload;
75   end
76   clear atomsSystemInit;
77 end
78
79
80 // Protect variable previously defined  ================================
81 predef("all");
82
83 // At startup, no interactive vertical paging by default. ==============
84 lines(0);
85
86 // load contrib menu if present ========================================
87 function loadContrib()
88   if isfile(SCI+"/contrib/loader.sce") then
89     global %toolboxes;
90     global %toolboxes_dir;
91     exec(SCI+"/contrib/loader.sce");
92   end
93 endfunction
94 loadContrib();
95 clear loadContrib;
96
97 // calling user initialization =========================================
98 if sciargs()<>"-nouserstartup" then
99
100   startupfiles = [ SCIHOME + filesep() + ".scilab"     ; .. // Home directory startup
101                    SCIHOME + filesep() + "scilab.ini" ];    //  ""      ""    startup
102   for i = 1:size(startupfiles, "*")
103     if isfile(startupfiles(i)) then
104       exec(startupfiles(i),-1);
105     end
106   end
107
108   // execute .scilab and scilab.start only
109   // if last exec does not change current directory to SCIHOME
110   // See bug #4150
111   workingDirectory = pwd();
112   if SCIHOME <> workingDirectory then
113
114       workingfiles = [ workingDirectory + filesep() + ".scilab"     ; .. // Working directory startup
115                        workingDirectory + filesep() + "scilab.ini" ];    //  ""      ""    startup
116
117       for i = 1:size(startupfiles, "*")
118         if isfile(startupfiles(i)) then
119           exec(startupfiles(i),-1);
120         end
121       end
122   end
123
124   clear i startupfiles workingfiles workingDirectory;
125 end
126
127 // Menus/toolbar can now be enabled ====================================
128 if getscilabmode() == "STD" then
129   setmenu(gettext("&File"));
130   setmenu(gettext("&Edit"));
131   setmenu(gettext("&Preferences"));
132   setmenu(gettext("&Control"));
133   setmenu(gettext("&Applications"));
134   if ~with_module("scinotes") then // Desactivate Editor menu
135     unsetmenu(gettext("&Applications"), 1);
136   end
137   if ~with_module("xcos") then // Desactivate xcos menu
138     unsetmenu(gettext("&Applications"), 3);
139   end
140   if ~with_module("m2sci") then // Desactivate mfile2sci menu
141     unsetmenu(gettext("&Applications"), 5);
142   end
143   if ~with_module("atoms") then // Desactivate atoms menu
144     unsetmenu(gettext("&Applications"), 7);
145   end
146   setmenu(gettext("&?"));
147   setmenu(gettext("&Toolboxes"));
148   toolbar(-1, "on");
149 end
150 // ====================================================================
151 clear ans
152
153 printf("------------------------------------------------------------\n");
154 printf("This is alpha version: avoid using in production\n");
155 printf("but please report any problem at http://bugzilla.scilab.org.\n");
156 printf("Thank you!\n");
157 printf("------------------------------------------------------------\n");