bug 5138
[scilab.git] / scilab / CHANGES_5.2.X
1                Changes between version 5.1.1 and 5.2.0 of Scilab
2                =================================================
3
4
5 Xcos:
6 =====
7
8 Xcos is developed simultaneously and together with Scilab, and replaces Scicos
9 in Scilab distributions. With a new ergonomic and efficient block diagrams 
10 editor, Xcos provides functionalities for modeling mechanical systems and control
11 systems, and is particularly suitable for industrial and academic needs.
12
13 This new version provides numerous new features:
14 * Several diagrams can be edited at the same time
15 * Scilab can be used during the diagram construction
16 * Diagram edition is available even during simulation
17 * Drap and drop from palettes to diagram and between diagrams
18 * History (Undo/Redo) with an unlimited number of actions memorized 
19 * Viewport to have an overall view of your diagram
20 * Palette window with new palettes organization
21 * Improved stability
22 * Better usability of menus
23 * Tool tips on block
24 * Big diagram managements
25 * Better integration of the demonstrations
26 * Standard shortcuts (Copy/Paste/Undo/Redo/...)
27
28 ATOMS:
29 ======
30
31 ATOMS is the packaging system for Scilab's modules. Thanks to ATOMS, any user
32 running Scilab on a supported operating system is able to
33 install any modules from Scilab or third-party repositories with only three 
34 clicks or with just one Scilab command.
35
36 For example, the following command will install plotlib:
37 atomsInstall("plotlib")
38 This command will:
39 * download the binary package of plotlib from the Scilab repository
40 * unpack the package
41 * configure the package
42 * load the package
43
44 Many packages are already available and more are going to be offered
45 on Scilab's repositories.
46
47 This system is fully open to contributors. Anyone can manage his own toolbox
48 on Scilab ATOMS website (http://atoms.scilab.org) or run his own 
49 repository.
50
51 Note that ATOMS website replaces the current toolboxes/modules web interface.
52
53
54 Text Editor:
55 ============
56
57 A new text editor is implemented in this version of Scilab. The editor now
58 follows the look and feel of Scilab and is integrated into the docking system.
59
60 The following features are available:
61 * Syntaxic colorization
62 * Automatic indentation
63 * Line numbering
64 * Execute into Scilab
65 * Comment/uncomment of blocks
66 * Go to line
67
68 Graphics:
69 =========
70
71 * Text rendering with LaTeX / MathML
72
73 The annotation of Scilab's graphics in MathML or LaTeX is now possible. 
74 It enables the integration of mathematical equations, greek variables, matrix 
75 displays... 
76 This is available in any cases where text can be set in the graphic (label, 
77 tick, title, xstring...).
78 For example:
79 x = 1:0.25:10;y1 = 1 + sin(4*%pi*x / 10);plot(x,y1,'k-');
80 xstring(6,1.4,'$\leftarrow f \left( x \right) = 1 + \sin \left( \frac{x \cdot 4 \cdot \pi}{10} \right)$');
81 See demos => Graphics => LaTeX/MathML
82 Thanks to Calixte Denizet for this feature and the underlying API for LaTeX rendering (project JLaTeXMath)
83
84 * New features
85   - Antialiasing on graphics
86     This new feature improves the quality of graphic rendering.
87     It can be activated with the following commands: 
88     df = gdf(); df.anti_aliasing = "8x"; plot3d();
89     The rationnal and performance tests are available in SEP #16 or can be
90     requested in Scilab bugtracker as bug #2984.
91   - Add transparency to markdrawing.
92
93
94 Introduction of new binaries:
95 =============================
96
97 The goal of these changes is to improve the capabilities to use Scilab
98 in different environnements and use cases.
99
100 * Scilab 5.2 introduces new binaries in the distribution:
101
102   - classical - The GUI application (equivalent to Scilab Standard Mode).
103     This program is exactly the same as in the previous version and all arguments
104     are still available
105     Name: scilab
106
107   - Advanced Command-Line Interpreter (ACLI) - Interpreter in command line with the graphic capabilities available 
108     (equivalent to Scilab NW Mode)
109     Name: scilab-adv-cli
110
111   - Command-Line Interpreter (CLI) - Interpreter in command line without the graphic or Tcl/Tk capabilities (faster)
112     (equivalent to Scilab NWNI Mode)
113     Name: scilab-cli
114
115   See SEP #18 for more details
116
117 * The pipe has been plugged back under all operating systems
118     It is now possible to do:
119     echo "disp(%pi)"|./bin/scilab-adv-cli
120     echo "disp(%pi)"|./bin/scilab-cli
121     echo "disp(%pi)"|./bin/scilab -nw
122     echo "disp(%pi)"|./bin/scilab -nwni
123
124 * Add error code capability to exit (SEP #19 and request 505).
125   Example:
126   echo "if 1<>2 then exit(99) end"|scilab -nwni; echo $?
127   returns 99
128
129
130 Optimization:
131 =============
132 * New features
133  - Created neldermead component for simplex-based direct search optimization
134  - Created nmplot component for fast plots of neldermead optimization
135  - Created optimbase component to build optimization algorithms
136  - Created optimsimplex component to build direct search algorithms
137  - Created fminsearch optimization function
138  - Created optimget/optimset to configure fminsearch
139  - Created optimplotfunccount, optimplotfval, optimplotx as plotting functions for fminsearch
140 * Improvements
141  - Added examples in the help of optim for logging feature and optimization
142    based on numerical derivatives
143
144
145 Extension capabilities of Scilab (API Scilab):
146 ==============================================
147
148 In the previous versions of Scilab, there was no clear or easy way to extend
149 Scilab or to use it as an embedded application. 
150 Knowing these drawbacks, Scilab 5.2 tackles all those issues by prodiving a new
151 consistent, documented and easy way to use API. 
152
153 * A new API called api_scilab is available. This API provides functions to
154   read/write data from/to Scilab memory.
155   It provides many advantages:
156   - management of all Scilab data types
157   - consistency over all data types
158   - error management
159   - fully documented
160   - fully tested by unitary tests
161   - and it will be maintained over future versions of Scilab
162
163   Note that all other Scilab API (straight access to the Scilab stack, stack1,
164   stack2 and stack3) will be maintained in the Scilab 5.X family but most of
165   them will be dropped in the 6 family.
166   Do not hesitate to submit a bug report if you would like to see new features
167   and functions in Scilab API.
168
169 * In the enum sci_types which lists all Scilab data types, the type 
170   "sci_lufact_pointer" has been renamed "sci_pointer".
171   A define of "sci_lufact_pointer" on "sci_pointer" has been added to backward
172   compatibilities.
173   The rationale is to improve the use in special case of the pointer data type
174   to avoid memory duplication.
175
176 * Under all operating systems but Windows, all headers are not installed in a single directory 
177   in order to simplify the use   of Scilab features in the dynamic link.
178   See SEP #32 for more information
179
180 * From this version of Scilab, only a defined and documented number of headers
181   are installed. 
182   Thanks to this change, a module/toolbox developer knows exactly what are the
183   available functions provided by Scilab.
184   See SEP #35. 
185   Do not hesitate to contact us if you have been using a Scilab header which has been removed from Scilab 5.2.
186
187
188 call_scilab module:
189 ===================
190
191 Call Scilab is the API which allows Scilab to be called as computing engine or
192 embedded into a third-party application.
193 From this version, Call Scilab is based on Scilab API and handles all Scilab
194 data types (in previous versions, Double, Boolean, Complex Matrixes and String 
195 elements were managed).
196 The Call Scilab function has the same profile as Scilab API with 'Named' into 
197 the function name.
198  
199 * CallScilab.h renamed call_scilab.h (See SEP #34). CallScilab.h is still 
200   available and points to call_scilab.h
201
202 * Documentation and examples about call_scilab added (BooleanManagement call_scilab
203   compile_and_run_call_scilab DisableInteractiveMode GetLastJob DoubleManagement
204   ScilabHaveAGraph SendScilabJobs SendScilabJob StartScilab StringManagement
205   TerminateScilab)
206
207 * Some function profiles in stack3.h provided to manage named variable
208   have been moved in CallScilab.h (please note that we have not changed the ABI
209   and the symbols remain in the core library)
210   The goal of this modification is to separate functions dealing with the
211   call_scilab API and the internal API used in the gateways.
212   Note that all moved functions are considered as obsolete.
213
214 * In call_scilab, all previous functions available to read/write data from/to
215   the Scilab engine are now obsolete but supported until Scilab 6:
216
217   * C2F(readmat) is obsolete. Please use readNamedMatrix in api_double.h
218   * C2F(readchain) is obsolete. Please use readNamedMatrixOfString or readNamedMatrixOfWideString in api_string.h
219   * C2F(matptr) is obsolete. Please use readNamedMatrixOfDouble in api_double.h
220   * C2F(creadmat) is obsolete. Please use readNamedMatrix in api_double.h
221   * C2F(creadbmat) is obsolete. Please use readNamedMatrixOfBoolean in api_boolean.h
222   * C2F(creadcmat) is obsolete. Please use readNamedComplexMatrixOfDouble in api_double.h
223   * C2F(creadchain) is obsolete. Please use readNamedMatrixOfString or readNamedMatrixOfWideString in api_string.h
224   * C2F(creadchains) is obsolete. Please use readNamedMatrixOfString or readNamedMatrixOfWideString in api_string.h in api_string.h
225   * C2F(cmatptr) is obsolete. Please use readNamedMatrixOfDouble in api_double.h
226   * C2F(cmatcptr) is obsolete. Please use readNamedComplexMatrixOfDouble in api_double.h
227   * C2F(cmatsptr) is obsolete. Please use createNamedMatrixOfString or createNamedMatrixOfWideString in api_string.h
228   * C2F(cmatbptr) is obsolete. Please use createNamedMatrixOfBoolean in api_boolean.h
229   * C2F(cwritemat) is obsolete. Please use createNamedMatrixOfDouble in api_double.h
230   * C2F(cwritecmat) is obsolete. Please use createNamedComplexMatrixOfDouble in api_double.h
231   * C2F(cwritechain) is obsolete. Please use createNamedMatrixOfString or createNamedMatrixOfWideString in api_string.h
232   * C2F(cwritebmat) is obsolete. Please use createNamedMatrixOfBoolean in api_boolean.h
233
234 * "make check" now also builds call_scilab examples
235
236 * An example to call Scilab from C# added.
237    see SCI/modules/call_scilab/examples/call_scilab/NET/C# directory
238
239 * An example to call Scilab from VB.NET added.
240    see SCI/modules/call_scilab/examples/call_scilab/NET/VB.NET directory
241
242 Option configuration:
243 =====================
244
245 * The file jvm_options.xml has been moved into etc/jvm_options.xml in order to
246 facilitate the use of this configuration file.
247
248
249 Mac OS X:
250 =========
251
252 * Support of Snow Leopard
253
254 * Docking system enabled
255
256 * bug 4087 fixed - Under Mac OS X, an Apple + C shortcut (Ctrl + C) did not work from the console.
257
258 * bug 4508 fixed - When saving/exporting a figure under
259                    Mac OS X, a file could not be created.
260
261 * bug 4393 fixed - When launching Scilab from the puffin icon, it did not detect the locale and switched to English.
262
263 * bug 4949 fixed - Using Xcos/Scicos in the source tree environnement, with
264                    schema using sundials library, the application had problems
265                    to load the dynamic library.
266
267 toolbox_skeleton:
268 =================
269
270 The toolbox skeleton is an example of standard toolbox which shows most of the
271 use cases.
272
273 * examples of gateways functions (c_sum, f_sum, cpp_find) rewritten with new API.
274
275 * cleaner added
276
277 Input/Output functions:
278 =======================
279
280 * Input arguments of fprintf are now checked 
281
282 * save / load are now based on the HDF5 file format. The specification of the
283 formats is going to be released in a near future. 
284
285 * Rewrite:
286     + getenv
287     + diary - SEP 23
288
289 Core functions:
290 ===============
291
292 * Rewrite:
293    + mode
294    + predef
295    + type
296    + typename
297    + whereis
298      
299 * sethomedirectory is obsolete (see home). 
300
301 * getf is obsolete (see exec).
302
303 fileio functions:
304 =================
305
306 * Input arguments of functions are now checked 
307     (mclearerr, mclose, merror, mget, mgetstr, meof, mopen, mput, mputstr, mseek, mtell)
308     
309 * fileinfo manages column vector of strings (SEP #25)
310   
311 * basename uses fileparts
312   
313 * pathconvert: If the flagtrail argument is set to FALSE and the trailing separator
314                 of the path is removed (if present of course). See Bug 4468.
315                   
316 * getcwd is obsolete (see pwd). 
317
318 * isfile: checks if filename is an existing file.
319
320 * movefile: moves files or directory (Request 661)
321
322 * Rewrite:
323    + copyfile (primitive)
324    + fileparts (primitive)
325    + isdir manages matrix of strings as input argument
326    + basename (primitive)
327    + pathconvert (primitive)
328    + cd, chdir (primitive)
329   
330 Dynamic link:
331 =============
332
333 * Windows: temporary files (objects) are generated in an intermediate subdirectory (Release or Debug)
334    ilib_for_link and ilib_gen_Make (with Visual studio) use a same makefile template.
335    (SCI/modules/dynamic_link/src/scripts/TEMPLATE_MAKEFILE.VC)
336   
337 * ilib_for_link and ilib_gen_Make with lcc-win32 use a same makefile template.
338    (SCI/modules/dynamic_link/src/scripts/TEMPLATE_MAKEFILE.LCC)
339
340 * ilib_verbose (SEP #17) Set level of display returned by dynamic link functions.
341  
342 * add an example to call a Scilab macro from a C interface
343    (see SCI/modules/dynamic_link/examples/interfaces/call_scilab_function directory)
344    
345 * a 'cleaner.sce' file is generated by 'ilib_for_link' and 'ilib_build'.
346  
347 * addinter: each interface added can manage 999 functions (see bug 4675). 
348
349 * ilib_gen_gateway can generate gateway without PutLhsVar (Managed by user, in this case)
350   see help of 'ilib_gen_gateway' about this modification and 
351   SCI/contrib/toolbox_skeleton/sci_gateway/c/builder_gateway_c.sce (example)
352
353 * ilib_gen_loader now generates loaders which can be executed outside the loader's directory
354
355 * bug 4726 fixed - Under Windows, when the dynamic link was copying the files,
356   in some cases, it was going to copy backup files (for example, sci_luinc.c.bak
357   instead of sci_luinc.c)
358
359 * bug 4919 fixed - If the source file was stored in TMPDIR, the dynamic link
360   was removing the content of this file.
361
362 Online Help:
363 ============
364
365 * Sub-chapters are now allowed (See SEP #24)
366
367 * xmltochm exports help to chm format (Windows)
368
369 * add_help_chapter now accepts string array as input argument: consequently,
370    several online help chapters can be added at the same time.
371
372 * add_help_chapter now accepts to add help chapters with the same title.
373
374 * In the documentation, the font size of the equations has been increased 
375   for a better readability.
376
377 * Javasci FAQ page added
378
379 * Online help XML files have been converted into UTF-8
380  
381
382 Source reorganization:
383 ======================
384
385 * Makefile.incl.mak (Windows, dynamic link) moved from SCI directory to
386   SCI/modules/src/scripts
387   
388 * newest, get_absolute_file_path, getrelativefilename moved from io to fileio.
389
390 * bug 3668 fixed - formatnumber.f, dmdsp.f, ... moved in output_stream module.
391
392 * printf, msprintf, mprintf, print moved in output_stream module.
393
394 * disp moved in output_stream module.
395
396 * bug 3668 fixed - lib, deff, getf, exec, execstr moved in functions module.
397
398 * oldsave, oldload functions (only used with macros of Scilab 2.4) are removed
399   Replaces oldsave, oldload by save and load in your code.
400   
401 * bug 3669 fixed - integrate, intc and intl moved in Differential equations
402   interp1, interp2d and splin2d  moved in the Interpolation module.
403
404 * libs/MALLOC/src/malloc.c is no longer build (used to be built for 64 
405 bits archs). Note that if Scilab is built on a 64 bits and triggers a 
406 seg fault on startup, uncomment the related line in 
407 libs/MALLOC/Makefile.am and launch autoreconf.
408
409
410 Compilation:
411 ============
412
413 * Visual studio uses default runtime library /MD (msvcrt.lib) to build all libraries of Scilab.
414
415 * Scilab on Windows built with Intel Fortran 11.0.061 and Intel C++ 11.0.074
416
417 * Symbols in dlls are explicitly exported on Windows.
418   In previous versions of Scilab all symbols were exported.
419
420 * modelicac (Xcos/Scicos) built with Ocaml 3.11.0 on Windows
421
422 * blas, lapack, arpack libraries moved as pre-requirements (Windows)
423
424 * blas, lapack libraries moved as pre-requirements (Linux/Unix/Mac OS X)
425
426 * lapack 3.2 used on Windows
427
428 * functions module is dynamically loaded by Scilab.
429
430 * autoconf updated to version 2.64
431
432 * automake updated to version 1.11
433
434 * libtool updated from version 1.5.26 to 2.2.7a (Closes bug #4279) with some
435   patches for Mac OS X/Darwin support
436
437 * --enable-debug-java add two options to the JVM args (-verbose:jni and
438   -Xcheck:jni) in order to provide more feedbacks on debug
439   Note that this should not be used into a binary since it is expensive
440
441 * C++ => Java connector updated (using GIWS - 
442   http://www.scilab.org/giws/ version 1.0.5)
443   There was a bug in GIWS:
444   The use of a static method returning an int was not calling the right
445   method.
446   It did not seem to trigger any errors in the past but the latest 
447   version of the JDK is now complaining.
448
449
450 * Patches applied (see bugs #4506, #4517 & #4588) by Dan McMahill. They fix 
451   some compile time problems under NetBSD which also improve all operating systems but Windows.
452     - adds some missing $host to the 64 bit list.  
453     - adds a needed compiler flag for alpha-*-netbsd
454     - adds autoconf check for term.h header
455     - adds autoconf checks for gettext
456     - adds autoconf check for dlopen in -ldl 
457       (on some systems, we do not need -ldl because dlopen is in libc).  
458       Do not hardcode linking with -ldl but rely on this new check.
459     - adds correct getrlimit() argument for NetBSD and DragonFly
460     - avoids pulling in an OSF1 specific header on NetBSD/alpha
461     - adds missing newline at the end of a file
462     - adds missing XML LIBS and CFLAGS
463     - adds LTLIBINTL to the list of common objects needed for linking the top level binary.
464     - adds checks for term.h and termcap.h headers.  
465     - adds check for -lpthread
466     - reworks the checks for curses a little bit to search for 
467       curses.h and -lcurses first followed by ncurses.h and -lncurses.   
468     - uses configure results to protect the inclusion of curses.h, 
469       ncurses.h, term.h, and termcap.h.
470     - adds __DragonFly__ to a few conditional lines.
471     - removes the static declaration of BC to match what was found
472       in a header file.
473     - adds missing enable_keypad_mode()
474     - uses configure results to protect the inclusion of curses.h, 
475       ncurses.h, term.h, and termcap.h.
476     - Large amounts of cleanup of the PVM configure code (Closes: #4151)
477
478 * Improve detection of build/run environment under GNU/Linux Debian under
479   arm, armel, mips & mipsel
480
481 tests:
482 ======
483
484 * test_run() now accepts Sub-Modules (See SEP #31)
485
486 Internationalization:
487 =====================
488
489 * Portugues do Brazil localization added (Thanks Daniel de Souza Grilo and others)
490
491 * Japanese localization added (Thanks Hiroshi Saito)
492
493 * More help pages translated to Portugues do Brazil (Thanks Daniel de Souza Grilo)
494
495 * Catalan localization added to Scipad (Thanks Oriol Gonzalez)
496
497 * Japanese localization added to Scipad (Thanks Hiroshi Saito)
498
499 Bugs:
500
501 * bug 2627 fixed - Scilab 5 console retrieved input strings in UTF-8 format and Scilab did not
502                    manage this format but ISO-8859.
503
504 * bug 3228 fixed - ascii function was broken for extended set (example: ascii('é')).
505
506 * bug 3433 fixed - Length with a UTF string returned an incorrect size
507
508 * bug 3472 fixed - Dropping files into Scilab shell did not work when the path
509                    contained accented characters.
510
511 * bug 3666 fixed - 'input' returned accented characters.
512
513 * bug 3701 fixed - "Error during call to UTFToLocale: No such file or directory" on Windows.
514
515 * bug 3839 fixed - strrev() did not work correctly if the string to be reversed
516                    included some accented characters.
517
518 * bug 4003 fixed - setenv & getenv did not manage utf string on Windows.
519
520 * bug 4012 fixed - Display of month and week were wrong in sessions starts and ends (history manager).
521
522 * bug 4019 fixed - With -nw or -nwni mode on Windows, console returned error about
523                    localization.
524
525 * bug 4068 fixed - Accented names in directories were not supported.
526
527 * bug 4145 fixed - Simplified Chinese file names were not shown properly.
528
529 * bug 4233 fixed - exec command with a UTF filename failed.
530
531 * bug 4277 fixed - strsubst,regexp, strindex, grep returned strange results if accented
532                    characters and character class were associated in the pattern to match.
533
534 * bug 4617 fixed - Some items (Console pull down menu and help browser item) 
535                  were not translatable
536
537 * bug 4660 fixed - Error in the French localization (Edit instead of Edition)
538
539 * bug 4758 fixed - Embedded version of autoconf libs.m4 were causing some issues
540
541 * bug 4768 fixed - strsplit returned strange results with accented characters
542
543 * bug 4915 fixed - The default font in some of the uicontrols applications in
544                    Scilab were not handling correctly for the Japanese and
545                    others languages. This was happenning with m2sci and the
546                    demos browser.
547
548 * bug 5071 fixed - isletter("é") returned [%F %F] instead of %F.
549
550 * bug 5072 fixed - strspn("aéio","éa") returned 3 instead of 2.
551
552 String manipulation:
553 ====================
554
555 * Rewrite:
556     + strsplit - SEP #26
557
558 * 'NumTokens' is obsolete. See 'tokens'
559
560 Java/Scilab API:
561 ================
562
563  - uses api_scilab functions to write & read data (internal for javasci)
564
565  - SciInteger class added  
566
567 Functions removed:
568 ==================
569
570 * lgfft (See bug #4600)
571
572 Linear algebra:
573 ===============
574  - Clarified documentation for lu function.
575
576 Elementary functions:
577 =====================
578  - 'sort' is obsolete. see 'gsort'
579
580 Bug fixes:
581 ==========
582
583 * bug 336  fixed - pspect and cspec help pages improved
584
585 * bug 415 fixed - Order in the roots of a polynomial fixed
586
587
588 * bug 667  fixed - scilab.start-file caused an initialization error when you 
589                     used predef('all') in a user startup file.
590
591 * bug 1412 fixed - A(3,3)=%s,A(:)=%z caused Scilab to hang
592
593 * bug 1451 fixed - theta, alpha, leg, flags as optional named arguments for hist3d set
594
595 * bug 1628 fixed - With long programs (several hours) a negative value for
596                    timer() was get
597
598 * bug 1776 fixed - funcprot accepted non-integer arguments
599
600 * bug 1809 fixed - Warning message (figure_size) after an invalid graphical script added
601
602 * bug 1885 fixed - histplot starts from %eps rather than 0 to avoid logarithmic trouble.
603
604 * bug 2042 fixed - copy function altered axes properties.
605
606 * bug 2043 fixed - The function copy applied to an axis handle did not work
607
608 * bug 2238 fixed - Function returned a wrong error
609
610 * bug 2275 fixed - isvector help page added
611
612 * bug 2347 fixed - "fun2string" indentation problem with select/case 
613                     instruction.
614
615 * bug 2446 fixed - "while" documentation help page improved to explain 
616                     that the keywords do or then can be ommitted.
617
618 * bug 2453 fixed - mfscanf and probably the other variants msscanf mscanf could crash Scilab when
619                    first argument was -1 (any number of lines)
620
621 * bug 2509 fixed - execstr forgot to store the function name and line number when in the errcatch mode
622
623 * bug 2537 fixed - xstring feature improved
624
625 * bug 2570 fixed - LCC did not work with some "stk" ref on some old toolboxes.
626
627 * bug 2649 fixed - diary() function could not be nested.
628
629 * bug 3131 fixed - a glibc >= 2.4 was mandatory (causing Scilab to fail under
630                    Debian Etch, Centos 4.X and some other old operating 
631                    systems)
632
633 * bug 3184 fixed - Ticks of colorbar have disappeared
634
635 * bug 3201 fixed - Help page for the function del_help_chapter added
636
637 * bug 3264 fixed - More explicit message when too many files have been
638                     opened added.
639
640 * bug 3422 fixed - The keyword for history search was not updatable
641
642 * bug 3488 fixed - Dynamic link functions can now handle Fortran 90 code.
643
644 * bug 3533 fixed - lib(dir_path) did not work if the final slash was missing in dir_path.
645
646 * bug 3537 fixed - Problem with examples in French help page for metanet functions. 
647                     The old graph data structure was used.
648
649 * bug 3543 fixed - Wrong parenthesize in struct indices (code generated by tree2code).
650
651 * bug 3580 fixed - A gateway declaration containing a false primitive ID or gateway ID crashed Scilab.
652
653 * bug 3612 fixed - History manager did not work at startup
654
655 * bug 3660 fixed - font_angle was lost on the axis label when exporting through xs2pdf - Thanks to Paul Griffiths for the patch
656
657 * bug 3772 fixed - Input argument of 'predef' was not correctly checked.
658
659 * bug 3773 fixed - 'ans' was protected with predef('all').
660
661 * bug 3884 fixed - chdir, getcwd, pwd moved from core to fileio module.
662
663 * bug 3923 fixed - diary() function produced bad files when it tried to record interactive commands.
664
665 * bug 3953 fixed - delete() always set the current entity to the parent of the
666                    deleted entity.
667
668 * bug 3980 fixed - Wrong line number in error message
669
670 * bug 3992 fixed - Some invalid dependencies on external libraries removed.
671
672 * bug 4030 fixed - unix_w('dir /s') could display strange matrix on Windows.
673
674 * bug 4090 fixed - Draw did not work any more while inside drawlater/drawnow scope.
675
676 * bug 4101 fixed - -ns option was not clearly explaining that it is 
677                     disabling many Scilab features
678
679 * bug 4110 fixed - Demos order were different between Linux and Windows versions
680
681 * bug 4181 fixed - AdCommunications help page removed
682
683 * bug 4184 fixed - Style of the examples corrected
684
685 * bug 4217 fixed - gsort sorted complex by magnitude only with 'g' and not support 'r', 'c', 'lr', 'lc'
686
687 * bug 4222 fixed - Documentation page on fromc and fromjava added
688
689 * bug 4232 fixed - Problem in the Java detection with GNU/Linux under
690                     PowerPC fixed
691
692 * bug 4262 fixed - Lines returned incorrect values.
693
694 * bug 4263 fixed - Completion cleaned current input line.
695
696 * bug 4267 fixed - A non-initialization of a lock under Netbsd was 
697                    causing an error on startup
698                    
699 * bug 4277 fixed - Force UTF8 management in pcre processing.
700
701 * bug 4278 fixed - typename() called with a wrong number of input arguments returned incoherent errors.
702
703 * bug 4298 fixed - ilib_for_link failed with lcc-win32 (Windows).
704
705 * bug 4304 fixed - Fail to build with ./configure --without-gui
706
707 * bug 4307 fixed - Desactivate (in modules.xml) modules if their functionnalities
708                    are not available.
709                    
710 * bug 4307 fixed - Help file for %io added                  
711
712 * bug 4330 fixed - stacksize('max') + stacksize(required_mem) did not work
713
714 * bug 4347 fixed - messagebox(): buttons were displayed in reverse order with 
715                    respect to their order in the vector specifying them (Windows).
716
717 * bug 4351 fixed - Test about 'exit' did not work on Linux.
718
719 * bug 4358 fixed - Changing defaultstacksize in scilab.start did not work
720
721 * bug 4360 fixed - The reference of bug_3954.tst was missing
722
723 * bug 4364 fixed - stacksize('max') + stacksize(required_mem) did not work
724
725 * bug 4365 fixed - Completion failed on a wrong path
726
727 * bug 4369 fixed - Help for text_properties: For the clip_state attribut,
728                    the second possible value was 'clipgrf' instead of 'cliprf'
729
730 * bug 4378 fixed - The gamma function did not work properly with large numbers under Linux 64 bits
731
732 * bug 4379 fixed - If the thickness property (of plot3d for example) was set to 0,
733                    the lines/edges could disappear
734
735 * bug 4380 fixed - diary(0) without an initialization of diary crashed Scilab
736
737 * bug 4380 fixed - Help page of the printf command had a problem
738
739 * bug 4380 fixed - Merror error codes documented
740
741 * bug 4385 fixed - the param3d_properties page has been removed, but a lot of
742                    links to this page existed in the documentation.
743
744 * bug 4386 fixed - Dynamic link: link('show') displayed only one library if
745                    we had only one symbol.
746
747 * bug 4391 fixed - make install-html (when the option --with-install-help-xml
748                    was added to the configure) was not installing MathML sources
749
750 * bug 4394 fixed - 'origin' as position for X and Y axes added
751
752 * bug 4395 fixed - Incorrect descriptions of the axesflag and nax parameters
753                    in the plot2d help page.
754
755 * bug 4396 fixed - In Plot2d, the nax option could receive -1 for number of ticks, which meant autoticks
756
757 * bug 4403 fixed - ieeefp.h was not included under Solaris in evaluate_expr.c
758                    isinf was defined (when not provided by the system) with a return
759
760 * bug 4407 fixed - Help file scilab_xx_XX_help.jar had another scilab_xx_XX_help.jar embedded
761                    and not valid.
762
763 * bug 4409 fixed - Fortran optim subroutines used fwrite (fortran) and not basout as
764                    standard output
765
766 * bug 4414 fixed - Complex grayplots were not saved correctly in Scilab 5.1
767
768 * bug 4421 fixed - Completion failed on some relative path.
769
770 * bug 4426 fixed - uigetfile() - File name was cut when we were in the root directory.
771
772 * bug 4428 fixed - Function compute_initial_temp could not handle functions with
773                     several arguments
774
775 * bug 4429 fixed - Use hidden_axes instead of hidden_axis
776
777 * bug 4430 fixed - Incorrect description of the margins property in the axes_properties help page.
778
779 * bug 4431 fixed - xsegs() accepted z argument
780
781 * bug 4433 fixed - Problem using optim. In some cases, the optim function made Scilab hung.
782
783 * bug 4437 fixed - Exporting an empty figure crashed Scilab.
784
785 * bug 4438 fixed - Completion did not support insert mode.
786
787 * bug 4439 fixed - Unexpected complex conjugates when using cat.
788
789 * bug 4459 fixed - grayplot did not always plot map containing %nan.
790
791 * bug 4461 fixed - Redefined prompt not displayed in a diary.
792
793 * bug 4463 fixed - Creating an one-colored Sgrayplot generated some exceptions
794                    and did not plot anything.
795
796 * bug 4466 fixed - .' operator defined for strings and booleans
797
798 * bug 4467 fixed - getshortpathname,getlongpathname did not manage string matrix as input
799
800 * bug 4468 fixed - pathconvert(<path>,%F) could remove last trailing separator.
801
802 * bug 4469 fixed - getmd5() & mopen hung if there were called with an existing
803                     directory as input argument and not a filename (Linux)
804
805 * bug 4474 fixed - Help of 'fort' was obsolete.
806
807 * bug 4474 fixed - addinter help had no example.
808
809 * bug 4479 fixed - A few minor bugs were causing the configure to fail under
810                    FreeBSD (Thanks to Otacílio de Araújo Ramos Neto)
811
812 * bug 4483 fixed - Handle FreeBSD Java detection
813
814 * bug 4486 fixed - When a file had been opened for execution with "File/Execute..."
815                    menu, its pathname was lost.
816
817 * bug 4489 fixed - oldsave and oldload removed.
818
819 * bug 4491 fixed - get() with wrong argument causes EXCEPTION_ACCESS_VIOLATION error.
820
821 * bug 4492 fixed - output_stream_gateway.xml was not include in Windows binary.
822
823 * bug 4495 fixed - exec did not check second and third input arguments.
824
825 * bug 4496 fixed - in tbx_build_gateway help page, ismex parameter was not documented.
826
827 * bug 4497 fixed - xmltoformat got stuck in directories beginning with '.'.
828
829 * bug 4498 fixed - merror() returned weird strings if called before opening files.
830
831 * bug 4499 fixed - basename returned a wrong value if file or a directory started with a dot
832
833 * bug 4500 fixed - basename('') returned a error
834
835 * bug 4501 fixed - mput() no more allowed integer types as first input argument.
836
837 * bug 4507 fixed - Depending on the Fortran runtime libraries a dummy main
838                    definition was needed.
839
840 * bug 4514 fixed - valgrind.supp was not installed
841
842 * bug 4515 fixed - Linking and loading some external functions already used crashed Scilab
843
844 * bug 4516 fixed - ilib_for_link did not use ilib_gen_loader but an internal function.
845
846 * bug 4518 fixed - ilib_build with a column vector of strings as filenames did not work on Linux
847
848 * bug 4522 fixed - The Tcl interpreter initialization code made use of some uninitialized variables
849
850 * bug 4525 fixed - scilab.sln and scilab_f2c.sln did not apply same dependencies on libraries (Windows)
851
852 * bug 4528 fixed - makefile (Windows) generated by ilib_for_link forced to rebuild all files each time
853
854 * bug 4530 fixed - Leg labels curves were in reverse order
855
856 * bug 4533 fixed - Link failed on some path (Windows)
857
858 * bug 4539 fixed - Some optional parameters were not set in hist3d
859
860 * bug 4542 fixed - Unexpected interpretor warning 
861
862 * bug 4546 fixed - Error message added for linpro function (moved to an external function)
863  
864 * bug 4547 fixed - Examples of javasci with graphics were no more interactive
865
866 * bug 4548 fixed - With Intel Fortran, file unit opened in a external dll were not shared
867
868 * bug 4551 fixed - Menus could return an error in GUI mode (error 2 Invalid factor)
869
870 * bug 4552 fixed - c++ comments in stack3.h had been translated into c comments
871
872 * bug 4564 fixed - Unable to edit matrices using x_mdialog function
873
874 * bug 4573 fixed - core.start tried to load add_module_help_chapter even if it did not exist
875
876 * bug 4574 fixed - ilib_build did not check if library was already loaded in Scilab
877
878 * bug 4580 fixed - rpem documentation made more accurate
879
880 * bug 4584 fixed - Under Windows, home value was wrong
881
882 * bug 4585 fixed - Scilab failed to build with Intel C++ compiler 11.0.074 on Windows
883
884 * bug 4586 fixed - Function fieldnames added for getting tlist, mlist and struct field names (see SEP #28)
885
886 * bug 4592 fixed - The ged entity picker produced an error if a menu had been
887                    added to the graphic window
888
889 * bug 4596 fixed - g_margin failed to return the gain margins in some cases
890
891 * bug 4600 fixed - Missing function inside lgfft (lgfft needed be removed)
892
893 * bug 4601 fixed - Hidden functions and missing help for vec2list list2vec aplat and recons
894
895 * bug 4603 fixed - Unknown function lst2tree called by function mtlb_eval
896                    (+ some other problems fixed in mtlb_eval)
897
898 * bug 4604 fixed - rmdir(<dir>,"s") did not work if it contained a hidden file
899                    (starting with a dot)
900
901 * bug 4605 fixed - basename('') returned a error
902
903 * bug 4606 fixed - Example of 'link' in help did not work
904
905 * bug 4608 fixed - get_function_path returned a non-consistent path
906
907 * bug 4611 fixed - what function did not return a complete list of functions
908
909 * bug 4612 fixed - The graphic export used to consider .jpeg as an invalid
910                    extension
911
912 * bug 4614 fixed - On some (rare) archs/OS, File -> Export on a graphic could
913                     led to a crash 
914
915 * bug 4615 fixed - xs2jpg(0, '/tmp/myplop.jpeg'); was creating a file 
916                    called /tmp/myplop.jpeg.jpg (Thanks to Guilherme 
917                    Kunigami for the fix)
918
919 * bug 4616 fixed - Text strings in SVG output were not rotated. Thanks 
920                    to Paul Griffiths for the patch!
921
922 * bug 4618 fixed - buttmag produced a warning because of redefining symbol sample
923
924 * bug 4620 fixed - the setenv function made scilab hung.
925
926 * bug 4626 fixed - When using the CLI version, completion made Scilab crashed
927
928 * bug 4627 fixed - The function matfile2sci did not manage 7.x format
929
930 * bug 4630 fixed - Problem with the Xcos/Scicos block affich
931
932 * bug 4635 fixed - Bad title in the French help of the graphic module
933
934 * bug 4636 fixed - Metanet on-line help: an accent was missing on the "e" in the French version 
935
936 * bug 4638 fixed - This example with optim freezed Scilab
937
938 * bug 4639 fixed - Some graphics demos did not contain the menu item "show code"
939
940 * bug 4641 fixed - The parameter Q of the function derivative was not clear
941
942 * bug 4645 fixed - French 'gsort' help had some wrong information
943
944 * bug 4646 fixed - Assigning a string to an element of a matrix of numbers did not give an error
945
946 * bug 4650 fixed - SCI/modules/graphics/macros/Sfgrayplot.sci had not been modified for localization
947
948 * bug 4654 fixed - Max of an empty sparse matrix made Scilab hung
949
950 * bug 4656 fixed - part(input_matrix,[]) always returned a single string even if
951                    input_matrix had a several dimensions
952
953 * bug 4658 fixed - For graphics macros from adddcolor to getfont and all colormap
954
955 * bug 4666 fixed - SCIHOME was not well defined if Scilab had been launched in another Scilab session
956
957 * bug 4676 fixed - diary() removed whitespaces characters from the output of mprintf()
958
959 * bug 4683 fixed - There was no example of the use of tlist in the dedicated page
960
961 * bug 4684 fixed - printf(), mprintf, msprintf did not properly deal with -%inf
962
963 * bug 4688 fixed - listfiles("/") returned an error
964
965 * bug 4689 fixed - diary() did not report interactive commands into the output file
966
967 * bug 4695 fixed - Some help pages + examples were missing in the arnoldi package
968
969 * bug 4702 fixed - On some cases, dos(cmd) did not return results
970
971 * bug 4707 fixed - Could not save a Xcos/Scicos diagram to a non-existing file under Mac OS
972
973 * bug 4709 fixed - The set function with 2 parameters and no handles made Scilab hung
974
975 * bug 4710 fixed - Error with C++ interface which uses the function CreateVar
976
977 * bug 4712 fixed - By GUI handle affectation produced an error
978
979 * bug 4719 fixed - fsolve might failed on some system of equations. An example in the documentation was added
980
981 * bug 4724 fixed - When the f variation of a data set was too small, plot hung
982
983 * bug 4727 fixed - The function 'length' did not return the same value in Scilab 5.1 and Scilab 4.1.2
984
985 * bug 4728 fixed - The function 'strcat' did not return the same value in Scilab 5.1 and Scilab 4.1.2
986
987 * bug 4732 fixed - The help page of function ss2ss had some missing part
988
989 * bug 4737 fixed - Completion failed on file extension search
990
991 * bug 4744 fixed - whereis, librairieslist, libraryinfo primitives moved in "functions" modules
992
993 * bug 4750 fixed - Error boolean catenation
994
995 * bug 4752 fixed - ci2exp produced erroneous code when applied to boolean matrices (; are missing)
996
997 * bug 4753 fixed - If you had a toolbox and you launched scilab-cli, you had an error message at startup
998
999 * bug 4759 fixed - Better error message in nlev when called with no input argument provided.
1000
1001 * bug 4770 fixed - modules::renderer::utils::ColorMap::isValidScilabIndex test was wrong
1002
1003 * bug 4773 fixed - Using "axes_reverse" produced a switch between the front and back color of a figure
1004
1005 * bug 4789 fixed - Number of input arguments was not checked in ilib_functions (dynamic_link module)
1006
1007 * bug 4792 fixed - Macro name too long
1008
1009 * bug 4795 fixed - CallScilab.h renamed call_scilab.h
1010
1011 * bug 4797 fixed - macro make_help_index.sci (internal) removed (not used in Scilab 5.x)
1012
1013 * bug 4798 fixed - pathconvert macro rewritten as a primitive (many times used and not faster)
1014
1015 * bug 4807 fixed - strsubst did not check if second argument was a valid patter where fourth argument was 'r'
1016
1017 * bug 4810 fixed - gsort did not manage sparse vectors as sort
1018
1019 * bug 4811 fixed - For some figures, it was not possible to save and load the handle of the figure
1020
1021 * bug 4812 fixed - xs2... function did not work if the first argument was a handle
1022
1023 * bug 4816 fixed - plot did not manage autoclear correctly
1024
1025 * bug 4817 fixed - macro savedefaultbrowser (internal) removed (not used in Scilab 5.x)
1026
1027 * bug 4826 fixed - The type of the 'dims' entry of an hypermat was not always the same
1028
1029 * bug 4828 fixed - Completion cleared the content of some completed path
1030
1031 * bug 4832 fixed - wavread returned a non explicit error if RIFF had some 'smpl' chunck
1032
1033 * bug 4838 fixed - Completion returned wrong value with '..' 
1034
1035 * bug 4846 fixed - mopen("","") crashed on Windows
1036
1037 * bug 4853 fixed - C,C++ dlls generated by Scilab had a dependency on fortran runtime (Windows)
1038
1039 * bug 4855 fixed - Standard error messages added when setting/getting values from graphics handles
1040
1041 * bug 4904 fixed - wrong localized fr_FR message
1042
1043 * bug 4917 fixed - fileinfo(SCI+'/') returned [] (under Windows)
1044
1045 * bug 4918 fixed - Error message returned by 'get_absolute_file_path' was incorrect
1046
1047 * bug 4925 fixed - Verbose option of the optim function crashed on Windows
1048
1049 * bug 4926 fixed - Could not save a structure in a MAT-file using savematfile
1050
1051 * bug 4927 fixed - When the user tried to plot some data in semilogx or semilogy, a blank plot windows was displayed
1052
1053 * bug 4928 fixed - x_mdialog crashed when more default valued than labels
1054
1055 * bug 4943 fixed - execstr did not check input arguments
1056
1057 * bug 4961 fixed - missing some field when printing some graphics Handle
1058
1059 * bug 4964 fixed - set or get 'format_n' property from an axis crashed Scilab
1060
1061 * bug 4966 fixed - execstr([]) return []
1062
1063 * bug 4974 fixed - exec('') crashed Scilab
1064
1065 * bug 4983 fixed - When Scilab was started in nw mode, the addmenu examples were failing with a weird error message
1066
1067 * bug 4991 fixed - No check if there was modification when doing "Execute Into Scilab" in the editor
1068
1069 * bug 5033 fixed - The Demo CACSD / Inverted pendulum was broken.
1070
1071 * bug 5042 fixed - (1|[1,0,1;1,1,0]) returned a wrong result.
1072
1073 * bug 5074 fixed - French help star showed mis-encoded characters.
1074
1075 * bug 5081 fixed - demo "Signal Processing" --> "Spectral Estimation" failed (on Windows)
1076
1077 * bug 5105 fixed - completion: cd "..\L<tab>  did not work.
1078
1079 * bug 5138 fixed - ilib_build: if the "makefile name" argument is an empty matrix, the generated Makefile is ".mak"
1080
1081 * bug 5148 fixed - Setting {x,y,z}_ticks with empty value work.