summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSylvestre Ledru <sylvestre.ledru@scilab.org>2008-11-19 17:09:48 +0100
committerSylvestre Ledru <sylvestre.ledru@scilab.org>2008-11-19 17:09:48 +0100
commit6a740bfbe519ea2853ab6a976c9cbbb193fc8040 (patch)
tree736c575d14c5292be9ce16230a60a379ec21e8d8
parentb4811a7cc382dd59168609c1313f27f73c607e59 (diff)
parentd7560e72c50f8fc0a8a395a588f09b7880f61586 (diff)
downloadscilab-6a740bfbe519ea2853ab6a976c9cbbb193fc8040.zip
scilab-6a740bfbe519ea2853ab6a976c9cbbb193fc8040.tar.gz
Merge branch 'master' of git@git.scilab.org:scilab into atoms
-rw-r--r--scilab/.gitignore4
-rw-r--r--scilab/CHANGES_5.0.X3
-rw-r--r--scilab/CHANGES_5.111
-rw-r--r--scilab/Makefile.am12
-rw-r--r--scilab/Makefile.in7
-rw-r--r--scilab/Scilab.sln1
-rw-r--r--scilab/Scilab_f2c.sln1
-rwxr-xr-xscilab/bin/scilab6
-rwxr-xr-xscilab/configure126
-rw-r--r--scilab/configure.ac6
-rw-r--r--scilab/m4/docbook.m42
-rw-r--r--scilab/modules/Makefile.am2
-rw-r--r--scilab/modules/Makefile.in8
-rw-r--r--scilab/modules/cacsd/sci_gateway/fortran/sci_f_gschur.f4
-rw-r--r--scilab/modules/cacsd/sci_gateway/fortran/sci_f_gspec.f5
-rw-r--r--scilab/modules/cacsd/sci_gateway/fortran/sci_f_linmeq.f3
-rw-r--r--scilab/modules/cacsd/sci_gateway/fortran/sci_f_lyap.f6
-rw-r--r--scilab/modules/cacsd/sci_gateway/fortran/sci_f_sylv.f4
-rw-r--r--scilab/modules/core/includes/realmain.h1
-rw-r--r--scilab/modules/core/includes/scimem.h1
-rw-r--r--scilab/modules/core/sci_gateway/fortran/sci_exists.f3
-rw-r--r--scilab/modules/core/sci_gateway/fortran/sci_intppty.f3
-rw-r--r--scilab/modules/core/sci_gateway/fortran/sci_mode.f4
-rw-r--r--scilab/modules/core/sci_gateway/fortran/sci_mtlb_mode.f4
-rw-r--r--scilab/modules/core/sci_gateway/fortran/sci_useascommand.f3
-rw-r--r--scilab/modules/core/src/fortran/allops.f3
-rw-r--r--scilab/modules/core/src/fortran/copyvar.f3
-rw-r--r--scilab/modules/core/src/fortran/createref.f3
-rw-r--r--scilab/modules/core/src/fortran/fact.f4
-rw-r--r--scilab/modules/core/src/fortran/hmcreate.f4
-rw-r--r--scilab/modules/core/src/fortran/misops.f3
-rw-r--r--scilab/modules/core/src/fortran/nextj.f4
-rw-r--r--scilab/modules/core/src/fortran/ref2val.f3
-rw-r--r--scilab/modules/core/src/fortran/stack.f3
-rw-r--r--scilab/modules/core/src/fortran/stackc2i.f3
-rw-r--r--scilab/modules/core/src/fortran/stacki2d.f3
-rw-r--r--scilab/modules/core/src/fortran/stackr2d.f3
-rw-r--r--scilab/modules/core/src/fortran/varfunptr.f3
-rw-r--r--scilab/modules/data_structures/sci_gateway/fortran/sci_setfield.f3
-rw-r--r--scilab/modules/dynamic_link/macros/configure_msifort.sci61
-rw-r--r--scilab/modules/dynamic_link/macros/detectmsifort64tools.sci11
-rw-r--r--scilab/modules/dynamic_link/macros/findmsifortcompiler.sci12
-rw-r--r--scilab/modules/dynamic_link/tests/nonreg_tests/bug_3769.tst30
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_chinesehat.f3
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_dsearch.f3
-rw-r--r--scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_rand.f5
-rw-r--r--scilab/modules/graphics/includes/GetProperty.h2
-rw-r--r--scilab/modules/graphics/includes/Interaction.h19
-rw-r--r--scilab/modules/graphics/includes/ObjectStructure.h2
-rw-r--r--scilab/modules/graphics/includes/SetProperty.h3
-rw-r--r--scilab/modules/graphics/includes/axesScale.h15
-rw-r--r--scilab/modules/graphics/sci_gateway/c/sci_rubberbox.c6
-rw-r--r--scilab/modules/graphics/src/c/BuildObjects.c3
-rw-r--r--scilab/modules/graphics/src/c/DestroyObjects.c2
-rw-r--r--scilab/modules/graphics/src/c/GetProperty.c24
-rw-r--r--scilab/modules/graphics/src/c/InitObjects.c21
-rw-r--r--scilab/modules/graphics/src/c/Interaction.c123
-rw-r--r--scilab/modules/graphics/src/c/SetProperty.c90
-rw-r--r--scilab/modules/graphics/src/c/axesScale.c100
-rw-r--r--scilab/modules/graphics/src/c/getHandleProperty/get_info_message_property.c23
-rw-r--r--scilab/modules/graphics/src/c/getHandleProperty/set_rotation_angles_property.c2
-rw-r--r--scilab/modules/graphics/tests/nonreg_tests/bug_3080.tst35
-rw-r--r--scilab/modules/gui/macros/figure.sci43
-rw-r--r--scilab/modules/gui/src/java/org/scilab/modules/gui/events/AxesRotationTracker.java39
-rw-r--r--scilab/modules/gui/src/java/org/scilab/modules/gui/events/ScilabRubberBox.java45
-rw-r--r--scilab/modules/gui/src/java/org/scilab/modules/gui/events/ZoomRubberBox.java2
-rw-r--r--scilab/modules/io/help/en_US/get_absolute_file_path.xml7
-rw-r--r--scilab/modules/io/sci_gateway/c/sci_get_absolute_file_path.c53
-rw-r--r--scilab/modules/io/sci_gateway/fortran/intdeff.f3
-rw-r--r--scilab/modules/io/sci_gateway/fortran/intdisp.f3
-rw-r--r--scilab/modules/io/sci_gateway/fortran/intgetf.f3
-rw-r--r--scilab/modules/io/sci_gateway/fortran/intprint.f3
-rw-r--r--scilab/modules/io/sci_gateway/fortran/oldloadsave.f6
-rw-r--r--scilab/modules/io/src/fortran/newsave.f21
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3075.dia.ref7
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3075.tst4
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3427.dia.ref4
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3427.tst4
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3775.dia.ref22
-rw-r--r--scilab/modules/io/tests/nonreg_tests/bug_3775.tst27
-rw-r--r--scilab/modules/io/tests/unit_tests/get_absolute_file_path.dia.ref10
-rw-r--r--scilab/modules/io/tests/unit_tests/get_absolute_file_path.tst12
-rw-r--r--scilab/modules/linear_algebra/src/fortran/complexify.f3
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6bandred.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6bmatch.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6busack.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6cent.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6chcm.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6clique.f3
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6clique1.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6compc.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6compfc.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6concom.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6deumesh.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6dfs2.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6diam.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6dijkst.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6dmtree.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6edge2st.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6findiso.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6flomax.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6floqua.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6ford.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6fordfulk.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6frang.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6hamil.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6hullcvex.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6johns.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6kilter.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6knapsk.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6loadg.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tad.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6lp2tau.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6mesh2b.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6meshmesh.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6ns2p.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6p2ns.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6pcchna.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6permuto.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6prevn2p.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6prevn2st.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6prfmatch.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6relax.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6saveg.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6sconcom.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6ta2lpd.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6ta2lpu.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6tconex.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6transc.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6umtree.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6umtree1.f4
-rw-r--r--scilab/modules/metanet/sci_gateway/fortran/sci_m6visitor.f4
-rw-r--r--scilab/modules/optimization/Makefile.am3
-rw-r--r--scilab/modules/optimization/Makefile.in14
-rw-r--r--scilab/modules/optimization/includes/gw_optim.h1
-rw-r--r--scilab/modules/optimization/sci_gateway/c/sci_qld.c142
-rw-r--r--scilab/modules/optimization/src/c/intqld.c158
-rw-r--r--scilab/modules/optimization/src/c/intqld.h30
-rw-r--r--scilab/modules/optimization/src/c/optimization.vcproj8
-rw-r--r--scilab/modules/optimization/tests/nonreg_tests/bug_3770.dia.ref154
-rw-r--r--scilab/modules/optimization/tests/nonreg_tests/bug_3770.tst187
-rw-r--r--scilab/modules/polynomials/sci_gateway/fortran/sci_f_simp.f5
-rw-r--r--scilab/modules/renderer/graphics_Import.def5
-rw-r--r--scilab/modules/renderer/includes/GetJavaProperty.h13
-rw-r--r--scilab/modules/renderer/includes/JavaInteraction.h36
-rw-r--r--scilab/modules/renderer/src/cpp/GetJavaProperty.cpp10
-rw-r--r--scilab/modules/renderer/src/cpp/JavaInteraction.cpp34
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigure.cpp26
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigure.h36
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureBridge.h37
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureJavaMapper.cpp47
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureJavaMapper.hxx10
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureJoGL.cpp28
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/DrawableFigureJoGL.h36
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/FigureScilabCall.cpp81
-rw-r--r--scilab/modules/renderer/src/cpp/figureDrawing/FigureScilabCall.h8
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwin.cpp15
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwin.h16
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinBridge.h15
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinJavaMapper.cpp15
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinJavaMapper.hxx6
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinJoGL.cpp15
-rw-r--r--scilab/modules/renderer/src/cpp/subwinDrawing/DrawableSubwinJoGL.h15
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/figureDrawing/DrawableFigureGL.java57
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/figureDrawing/RendererProperties.java2
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/jni/FigureScilabCall.java47
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/jni/FigureScilabCallJNI.java6
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/subwinDrawing/DrawableSubwinGL.java25
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/GraphicEvent.java70
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/GraphicEventManager.java96
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/InteractiveRotationEvent.java118
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/InteractiveSubwinRotationEvent.java45
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/InteractiveZoomEvent.java75
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/graphicEvents/SubwinUnzoomEvent.java49
-rw-r--r--scilab/modules/renderer/src/java/org/scilab/modules/renderer/utils/selection/RubberBox.java56
-rw-r--r--scilab/modules/renderer/src/jni/DrawableFigureGL.cpp100
-rw-r--r--scilab/modules/renderer/src/jni/DrawableFigureGL.giws.xml10
-rw-r--r--scilab/modules/renderer/src/jni/DrawableFigureGL.hxx17
-rw-r--r--scilab/modules/renderer/src/jni/DrawableSubwinGL.cpp51
-rw-r--r--scilab/modules/renderer/src/jni/DrawableSubwinGL.giws.xml9
-rw-r--r--scilab/modules/renderer/src/jni/DrawableSubwinGL.hxx9
-rw-r--r--scilab/modules/renderer/src/jni/FigureScilabCall.i46
-rw-r--r--scilab/modules/renderer/src/jni/FigureScilabCall_wrap.c88
-rw-r--r--scilab/modules/scicos/sci_gateway/fortran/sci_tree2.f3
-rw-r--r--scilab/modules/scicos/sci_gateway/fortran/sci_tree3.f3
-rw-r--r--scilab/modules/scicos/sci_gateway/fortran/sci_tree4.f3
-rw-r--r--scilab/modules/shell/src/c/others/mainscic.c3
-rw-r--r--scilab/modules/sound/Makefile.am12
-rw-r--r--scilab/modules/sound/Makefile.in64
-rw-r--r--scilab/modules/sound/help/en_US/loadwave.xml57
-rw-r--r--scilab/modules/sound/help/en_US/savewave.xml51
-rw-r--r--scilab/modules/sound/help/en_US/wavread.xml97
-rw-r--r--scilab/modules/sound/help/en_US/wavwrite.xml92
-rw-r--r--scilab/modules/sound/includes/gw_sound.h2
-rw-r--r--scilab/modules/sound/license.txt14
-rw-r--r--scilab/modules/sound/license;txt3
-rw-r--r--scilab/modules/sound/macros/loadwave.sci48
-rw-r--r--scilab/modules/sound/macros/savewave.sci250
-rw-r--r--scilab/modules/sound/macros/wavread.sci232
-rw-r--r--scilab/modules/sound/macros/wavwrite.sci26
-rw-r--r--scilab/modules/sound/sci_gateway/c/gw_sound.c2
-rw-r--r--scilab/modules/sound/sci_gateway/c/sci_PlaySound.c99
-rw-r--r--scilab/modules/sound/sci_gateway/c/sci_beep.c2
-rw-r--r--scilab/modules/sound/sci_gateway/c/sci_loadwave.c75
-rw-r--r--scilab/modules/sound/sci_gateway/c/sci_savewave.c59
-rw-r--r--scilab/modules/sound/sci_gateway/sound_gateway.xml7
-rw-r--r--scilab/modules/sound/sound.vcproj45
-rw-r--r--scilab/modules/sound/src/c/raw.c274
-rw-r--r--scilab/modules/sound/src/c/sizes.h28
-rw-r--r--scilab/modules/sound/src/c/sox.c302
-rw-r--r--scilab/modules/sound/src/c/sox.h22
-rw-r--r--scilab/modules/sound/src/c/st.h272
-rw-r--r--scilab/modules/sound/src/c/styles.h24
-rw-r--r--scilab/modules/sound/src/c/wav.c497
-rw-r--r--scilab/modules/sound/src/c/wav.h46
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_141.dia.ref3
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_1609.dia.ref17
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_1609.tst20
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_1926.dia.ref40
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_1926.tst49
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_1926.wavbin0 -> 22096 bytes
-rw-r--r--scilab/modules/sound/tests/nonreg_tests/bug_600.tst4
-rw-r--r--scilab/modules/sound/tests/unit_tests/playsnd.dia.ref3
-rw-r--r--scilab/modules/sound/tests/unit_tests/savewave.dia.ref9
-rw-r--r--scilab/modules/sound/tests/unit_tests/sound.dia.ref18
-rw-r--r--scilab/modules/sound/tests/unit_tests/sound.tst4
-rw-r--r--scilab/modules/sound/tests/unit_tests/wavwrite.dia.ref10
-rw-r--r--scilab/modules/sound/tests/unit_tests/wavwrite.tst11
-rw-r--r--scilab/modules/sparse/src/fortran/intreadmps.f3
-rw-r--r--scilab/modules/sparse/src/fortran/mycmatptr.f1
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_calerf.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_dlgamma.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_gamma.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_lgamma.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_oldbesseli.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_oldbesselj.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_oldbesselk.f3
-rw-r--r--scilab/modules/special_functions/sci_gateway/fortran/sci_f_oldbessely.f3
239 files changed, 3385 insertions, 3117 deletions
diff --git a/scilab/.gitignore b/scilab/.gitignore
index 214ff6a..f7e1afb 100644
--- a/scilab/.gitignore
+++ b/scilab/.gitignore
@@ -139,3 +139,7 @@ pvm3
139# 139#
140.svn 140.svn
141 141
142#
143# pvm configuration file
144#
145.pvmd.conf
diff --git a/scilab/CHANGES_5.0.X b/scilab/CHANGES_5.0.X
index f9df0c0..3d214a6 100644
--- a/scilab/CHANGES_5.0.X
+++ b/scilab/CHANGES_5.0.X
@@ -7,6 +7,8 @@ bugs, submiting patches, fixing bugs, testing ...
7Bug fixes: 7Bug fixes:
8========== 8==========
9 9
10* Some bashims in the starting script were causing startup issues.
11
10* bug 2357 fixed - The vertex-order of the plot3d2 and plor3d3 functions is different from the one given in the manual 12* bug 2357 fixed - The vertex-order of the plot3d2 and plor3d3 functions is different from the one given in the manual
11 13
12* bug 3605 fixed - Better fix of the javasci freeze. A part of this bug was caused by a dead lock in the TCL thread (we were trying to get access to a TCL interpretor which was locked). 14* bug 3605 fixed - Better fix of the javasci freeze. A part of this bug was caused by a dead lock in the TCL thread (we were trying to get access to a TCL interpretor which was locked).
@@ -17,6 +19,7 @@ Bug fixes:
17 19
18* bug 3753 fixed - drawaxis produces unreadable labels 20* bug 3753 fixed - drawaxis produces unreadable labels
19 21
22* bug 3770 fixed - "qld" returns a error (qld: The constraints are inconsistent.)
20 23
21 24
22 25
diff --git a/scilab/CHANGES_5.1 b/scilab/CHANGES_5.1
index fdddc43..0caabcc 100644
--- a/scilab/CHANGES_5.1
+++ b/scilab/CHANGES_5.1
@@ -17,6 +17,8 @@ See http://lists.scilab.org/cgi-bin/ezmlm-browse?list=dev&cmd=showmsg&msgnum=684
17 17
18* interpolation, signal_processing, statistics modules are loaded dynamically by scilab. 18* interpolation, signal_processing, statistics modules are loaded dynamically by scilab.
19 19
20* cc and cc-* are not longer consider as GNU C compiler when detecting the compiler (use gcc & gcc-*) because it was causing some issues under Solaris
21
20Enhancement: 22Enhancement:
21============ 23============
22 24
@@ -39,6 +41,8 @@ Bug fixes:
39 41
40* In the binary, the path to the fortran include directory was wrong. 42* In the binary, the path to the fortran include directory was wrong.
41 43
44* bug 3080 fixed - When we click many times on a button of the Graphic window the instruction will be done as much times we have clicked.
45
42* bug 3500 fixed - [pcre] match position but no character = no match 46* bug 3500 fixed - [pcre] match position but no character = no match
43 47
44* bug 3462 fixed - The match string returned by regexp is not the right one if the subject string contains backslashes. 48* bug 3462 fixed - The match string returned by regexp is not the right one if the subject string contains backslashes.
@@ -108,3 +112,10 @@ Bug fixes:
108* bug 3635 fixed - popupmenu objects created using uicontrol does not work as expected (it is not possible to use the arrow keys on the keyboard to browse through the various options) 112* bug 3635 fixed - popupmenu objects created using uicontrol does not work as expected (it is not possible to use the arrow keys on the keyboard to browse through the various options)
109 113
110* bug 3561 fixed - 'call' crashs when we want to return a 'c' variable type. 114* bug 3561 fixed - 'call' crashs when we want to return a 'c' variable type.
115
116* bug 3769 fixed - Dynamic link doesn't detect intel fortran compiler version 11 on Windows
117
118* bug 3775 fixed - get_absolute_file_path(input_file) returns a error if input_file is not opened in scilab.
119
120* bug 1926 fixed - wavwrite doesn't manage single channel mode.
121
diff --git a/scilab/Makefile.am b/scilab/Makefile.am
index 9d00200..6c6bddc 100644
--- a/scilab/Makefile.am
+++ b/scilab/Makefile.am
@@ -22,8 +22,7 @@ bin_SCRIPTS = bin/scilab
22scilab_bin_SOURCES = $(top_srcdir)/modules/shell/src/c/others/mainscic.c 22scilab_bin_SOURCES = $(top_srcdir)/modules/shell/src/c/others/mainscic.c
23 23
24scilab_bin_LDFLAGS = 24scilab_bin_LDFLAGS =
25scilab_bin_CFLAGS = 25scilab_bin_CFLAGS =
26# --no-undefined --relax
27 26
28 27
29# libshell is mandatory here since main_linux.c depends on it. 28# libshell is mandatory here since main_linux.c depends on it.
@@ -36,12 +35,15 @@ $(top_builddir)/modules/localization/libscilocalization.la
36 35
37if NEED_JAVA 36if NEED_JAVA
38 scilab_bin_LDADD += $(JAVA_JNI_LIBS) 37 scilab_bin_LDADD += $(JAVA_JNI_LIBS)
39# $(X_EXTRA_LIBS) -lXt -lX11 -lSM -lGLU
40#else
41# scilab_bin_LDADD += $(X_EXTRA_LIBS)
42endif 38endif
43 39
44 40
41
42if IS_SOLARIS
43# The binary itself needs this dep
44 scilab_bin_LDADD += $(BLAS_LIBS)
45endif
46
45if ENABLE_STATIC 47if ENABLE_STATIC
46scilab_static_bin_LDFLAGS = -static -static-libgcc --start-group 48scilab_static_bin_LDFLAGS = -static -static-libgcc --start-group
47scilab_static_bin_CFLAGS = -Wl,--start-group `$(CXX) -print-file-name=libstdc++.a` 49scilab_static_bin_CFLAGS = -Wl,--start-group `$(CXX) -print-file-name=libstdc++.a`
diff --git a/scilab/Makefile.in b/scilab/Makefile.in
index f54f230..dfd1ca7 100644
--- a/scilab/Makefile.in
+++ b/scilab/Makefile.in
@@ -363,7 +363,6 @@ bin_SCRIPTS = bin/scilab
363scilab_bin_SOURCES = $(top_srcdir)/modules/shell/src/c/others/mainscic.c 363scilab_bin_SOURCES = $(top_srcdir)/modules/shell/src/c/others/mainscic.c
364scilab_bin_LDFLAGS = 364scilab_bin_LDFLAGS =
365scilab_bin_CFLAGS = 365scilab_bin_CFLAGS =
366# --no-undefined --relax
367 366
368# libshell is mandatory here since main_linux.c depends on it. 367# libshell is mandatory here since main_linux.c depends on it.
369# Localization dep already exists because of the `exportLocaleToSystem' symbol 368# Localization dep already exists because of the `exportLocaleToSystem' symbol
@@ -373,9 +372,6 @@ $(top_builddir)/modules/shell/libscishell.la \
373$(top_builddir)/modules/core/libscicore.la \ 372$(top_builddir)/modules/core/libscicore.la \
374$(top_builddir)/modules/localization/libscilocalization.la 373$(top_builddir)/modules/localization/libscilocalization.la
375 374
376# $(X_EXTRA_LIBS) -lXt -lX11 -lSM -lGLU
377#else
378# scilab_bin_LDADD += $(X_EXTRA_LIBS)
379@ENABLE_STATIC_TRUE@scilab_static_bin_LDFLAGS = -static -static-libgcc --start-group 375@ENABLE_STATIC_TRUE@scilab_static_bin_LDFLAGS = -static -static-libgcc --start-group
380@ENABLE_STATIC_TRUE@scilab_static_bin_CFLAGS = -Wl,--start-group `$(CXX) -print-file-name=libstdc++.a` 376@ENABLE_STATIC_TRUE@scilab_static_bin_CFLAGS = -Wl,--start-group `$(CXX) -print-file-name=libstdc++.a`
381@ENABLE_STATIC_TRUE@scilab_static_bin_LDADD = $(top_builddir)/modules/libscilab.la 377@ENABLE_STATIC_TRUE@scilab_static_bin_LDADD = $(top_builddir)/modules/libscilab.la
@@ -1083,6 +1079,9 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
1083 1079
1084@NEED_JAVA_TRUE@ scilab_bin_LDADD += $(JAVA_JNI_LIBS) 1080@NEED_JAVA_TRUE@ scilab_bin_LDADD += $(JAVA_JNI_LIBS)
1085 1081
1082# The binary itself needs this dep
1083@IS_SOLARIS_TRUE@ scilab_bin_LDADD += $(BLAS_LIBS)
1084
1086all-local: $(TARGETS_ALL) 1085all-local: $(TARGETS_ALL)
1087 1086
1088macros:$(top_builddir)/scilab-bin $(top_builddir)/bin/scilab 1087macros:$(top_builddir)/scilab-bin $(top_builddir)/bin/scilab
diff --git a/scilab/Scilab.sln b/scilab/Scilab.sln
index 7767dd3..1675567 100644
--- a/scilab/Scilab.sln
+++ b/scilab/Scilab.sln
@@ -416,7 +416,6 @@ EndProject
416Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sound", "modules\sound\sound.vcproj", "{03773159-155A-48E0-9B26-119D0BF35B2B}" 416Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sound", "modules\sound\sound.vcproj", "{03773159-155A-48E0-9B26-119D0BF35B2B}"
417 ProjectSection(ProjectDependencies) = postProject 417 ProjectSection(ProjectDependencies) = postProject
418 {ECFFEB0C-1EDA-45EE-9A10-B18143852E17} = {ECFFEB0C-1EDA-45EE-9A10-B18143852E17} 418 {ECFFEB0C-1EDA-45EE-9A10-B18143852E17} = {ECFFEB0C-1EDA-45EE-9A10-B18143852E17}
419 {FBF44619-6C9B-4400-940C-9147D81EB340} = {FBF44619-6C9B-4400-940C-9147D81EB340}
420 {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} 419 {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
421 {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} 420 {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
422 {A5911CD7-F8E8-440C-A23E-4843A0636F3A} = {A5911CD7-F8E8-440C-A23E-4843A0636F3A} 421 {A5911CD7-F8E8-440C-A23E-4843A0636F3A} = {A5911CD7-F8E8-440C-A23E-4843A0636F3A}
diff --git a/scilab/Scilab_f2c.sln b/scilab/Scilab_f2c.sln
index 6066baf..4cf23ca 100644
--- a/scilab/Scilab_f2c.sln
+++ b/scilab/Scilab_f2c.sln
@@ -319,7 +319,6 @@ EndProject
319Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sound", "modules\sound\sound.vcproj", "{03773159-155A-48E0-9B26-119D0BF35B2B}" 319Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sound", "modules\sound\sound.vcproj", "{03773159-155A-48E0-9B26-119D0BF35B2B}"
320 ProjectSection(ProjectDependencies) = postProject 320 ProjectSection(ProjectDependencies) = postProject
321 {ECFFEB0C-1EDA-45EE-9A10-B18143852E17} = {ECFFEB0C-1EDA-45EE-9A10-B18143852E17} 321 {ECFFEB0C-1EDA-45EE-9A10-B18143852E17} = {ECFFEB0C-1EDA-45EE-9A10-B18143852E17}
322 {FBF44619-6C9B-4400-940C-9147D81EB340} = {FBF44619-6C9B-4400-940C-9147D81EB340}
323 {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} 322 {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E} = {6A84AD8C-BA18-4A3F-9C72-EC3DF0939E9E}
324 {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} 323 {3170E4C2-1173-4264-A222-7EE8CCB3DDF7} = {3170E4C2-1173-4264-A222-7EE8CCB3DDF7}
325 {A5911CD7-F8E8-440C-A23E-4843A0636F3A} = {A5911CD7-F8E8-440C-A23E-4843A0636F3A} 324 {A5911CD7-F8E8-440C-A23E-4843A0636F3A} = {A5911CD7-F8E8-440C-A23E-4843A0636F3A}
diff --git a/scilab/bin/scilab b/scilab/bin/scilab
index 7fc7693..01685e0 100755
--- a/scilab/bin/scilab
+++ b/scilab/bin/scilab
@@ -110,7 +110,8 @@ find_docbook_path() {
110 for dir in $SCI/thirdparty/docbook /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/docbook2X/xslt/man/ /usr/share/xml/docbook/stylesheet/nwalsh/ /usr/share/xml/docbook/stylesheet/nwalsh/current/ /sw/share/xml/xsl/docbook-xsl /usr/share/xml/docbook/xsl-stylesheets-*/ /usr/share/sgml/docbook/xsl-stylesheets-*/; do 110 for dir in $SCI/thirdparty/docbook /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/docbook2X/xslt/man/ /usr/share/xml/docbook/stylesheet/nwalsh/ /usr/share/xml/docbook/stylesheet/nwalsh/current/ /sw/share/xml/xsl/docbook-xsl /usr/share/xml/docbook/xsl-stylesheets-*/ /usr/share/sgml/docbook/xsl-stylesheets-*/; do
111 if test -r "$dir/javahelp/javahelp.xsl"; then 111 if test -r "$dir/javahelp/javahelp.xsl"; then
112 if test -z "$DOCBOOK_ROOT"; then 112 if test -z "$DOCBOOK_ROOT"; then
113 export DOCBOOK_ROOT=$dir 113 DOCBOOK_ROOT=$dir
114 export DOCBOOK_ROOT
114 fi 115 fi
115 fi 116 fi
116 done 117 done
@@ -409,7 +410,8 @@ fi
409# desactivate bug-buddy. 410# desactivate bug-buddy.
410# See also https://bugzilla.novell.com/show_bug.cgi?id=331618 411# See also https://bugzilla.novell.com/show_bug.cgi?id=331618
411# and: http://bugzilla.gnome.org/show_bug.cgi?id=479929 412# and: http://bugzilla.gnome.org/show_bug.cgi?id=479929
412export GTK_MODULES=`echo $GTK_MODULES | sed s/gnomebreakpad//g` 413GTK_MODULES=`echo $GTK_MODULES | sed s/gnomebreakpad//g`
414export GTK_MODULES
413 415
414if test $SCIVERBOSE -ne 0; then 416if test $SCIVERBOSE -ne 0; then
415 echo "SCI : $SCI" 417 echo "SCI : $SCI"
diff --git a/scilab/configure b/scilab/configure
index 80550cb..975cdc8 100755
--- a/scilab/configure
+++ b/scilab/configure
@@ -880,6 +880,8 @@ IS_HPUX_TRUE
880IS_HPUX_FALSE 880IS_HPUX_FALSE
881IS_SPARC_TRUE 881IS_SPARC_TRUE
882IS_SPARC_FALSE 882IS_SPARC_FALSE
883IS_SOLARIS_TRUE
884IS_SOLARIS_FALSE
883IS_MIPS_SGI_IRIX_TRUE 885IS_MIPS_SGI_IRIX_TRUE
884IS_MIPS_SGI_IRIX_FALSE 886IS_MIPS_SGI_IRIX_FALSE
885IS_64_BITS_CPU_TRUE 887IS_64_BITS_CPU_TRUE
@@ -10479,6 +10481,9 @@ case "$host" in
10479 mips-sgi-irix*) 10481 mips-sgi-irix*)
10480 MIPS_SGI_IRIX=1 10482 MIPS_SGI_IRIX=1
10481 ;; 10483 ;;
10484 *-*-solaris*)
10485 SOLARIS=1
10486 ;;
10482esac 10487esac
10483 10488
10484 if test -n "$HPUX"; then 10489 if test -n "$HPUX"; then
@@ -10497,6 +10502,14 @@ else
10497 IS_SPARC_FALSE= 10502 IS_SPARC_FALSE=
10498fi 10503fi
10499 10504
10505 if test -n "$SOLARIS"; then
10506 IS_SOLARIS_TRUE=
10507 IS_SOLARIS_FALSE='#'
10508else
10509 IS_SOLARIS_TRUE='#'
10510 IS_SOLARIS_FALSE=
10511fi
10512
10500 if test -n "$MIPS_SGI_IRIX"; then 10513 if test -n "$MIPS_SGI_IRIX"; then
10501 IS_MIPS_SGI_IRIX_TRUE= 10514 IS_MIPS_SGI_IRIX_TRUE=
10502 IS_MIPS_SGI_IRIX_FALSE='#' 10515 IS_MIPS_SGI_IRIX_FALSE='#'
@@ -10545,7 +10558,7 @@ esac
10545#F77_LDFLAGS="$F77_LDFLAGS $LIEEE" 10558#F77_LDFLAGS="$F77_LDFLAGS $LIEEE"
10546IS_64_BITS_CPU=false 10559IS_64_BITS_CPU=false
10547case "$CC" in 10560case "$CC" in
10548 gcc-* | gcc | cc | cc-* | ccache*gcc | ccache*gcc-* ) 10561 gcc-* | gcc | ccache*gcc | ccache*gcc-* )
10549 ## With GNU Compiler 10562 ## With GNU Compiler
10550 if test "$enable_debug_C" = yes; then 10563 if test "$enable_debug_C" = yes; then
10551 CFLAGS="$CFLAGS -pipe -Wformat -Wshadow -Wfloat-equal -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-noreturn -Wendif-labels -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wwrite-strings -Winline -Wredundant-decls -Wall -Wchar-subscripts -Wextra -Wuninitialized -Wno-format-y2k -Wmissing-format-attribute -Wno-missing-field-initializers -Wno-strict-aliasing -Wold-style-definition -g3" 10564 CFLAGS="$CFLAGS -pipe -Wformat -Wshadow -Wfloat-equal -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-noreturn -Wendif-labels -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wwrite-strings -Winline -Wredundant-decls -Wall -Wchar-subscripts -Wextra -Wuninitialized -Wno-format-y2k -Wmissing-format-attribute -Wno-missing-field-initializers -Wno-strict-aliasing -Wold-style-definition -g3"
@@ -11147,7 +11160,7 @@ echo "${ECHO_T}$ac_java_classpath" >&6; }
11147echo $ECHO_N "checking to see if the java compiler works... $ECHO_C" >&6; } 11160echo $ECHO_N "checking to see if the java compiler works... $ECHO_C" >&6; }
11148 11161
11149 cat << \EOF > conftest.java 11162 cat << \EOF > conftest.java
11150// #line 11150 "configure" 11163// #line 11163 "configure"
11151 11164
11152 11165
11153public class conftest { 11166public class conftest {
@@ -11197,7 +11210,7 @@ echo $ECHO_N "checking type of jvm... $ECHO_C" >&6; }
11197 if test "x$ac_java_jvm_name" = "x" ; then 11210 if test "x$ac_java_jvm_name" = "x" ; then
11198 11211
11199 cat << \EOF > conftest.java 11212 cat << \EOF > conftest.java
11200// #line 11200 "configure" 11213// #line 11213 "configure"
11201import gnu.java.io.EncodingManager; 11214import gnu.java.io.EncodingManager;
11202 11215
11203public class conftest { 11216public class conftest {
@@ -11245,7 +11258,7 @@ echo $ECHO_N "checking java API version... $ECHO_C" >&6; }
11245 11258
11246 11259
11247 cat << \EOF > conftest.java 11260 cat << \EOF > conftest.java
11248// #line 11248 "configure" 11261// #line 11261 "configure"
11249import java.nio.charset.Charset; 11262import java.nio.charset.Charset;
11250 11263
11251public class conftest { 11264public class conftest {
@@ -11272,7 +11285,7 @@ EOF
11272 11285
11273 11286
11274 cat << \EOF > conftest.java 11287 cat << \EOF > conftest.java
11275// #line 11275 "configure" 11288// #line 11288 "configure"
11276import java.lang.StringBuilder; 11289import java.lang.StringBuilder;
11277 11290
11278public class conftest { 11291public class conftest {
@@ -12551,7 +12564,7 @@ echo $ECHO_N "checking flexdock... $ECHO_C" >&6; }
12551 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 12564 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
12552 12565
12553 cat << \EOF > conftest.java 12566 cat << \EOF > conftest.java
12554// #line 12554 "configure" 12567// #line 12567 "configure"
12555import org.flexdock.docking.DockingManager; 12568import org.flexdock.docking.DockingManager;
12556 12569
12557public class conftest { 12570public class conftest {
@@ -12619,7 +12632,7 @@ echo $ECHO_N "checking looks... $ECHO_C" >&6; }
12619 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 12632 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
12620 12633
12621 cat << \EOF > conftest.java 12634 cat << \EOF > conftest.java
12622// #line 12622 "configure" 12635// #line 12635 "configure"
12623import com.jgoodies.looks.common.RenderingUtils; 12636import com.jgoodies.looks.common.RenderingUtils;
12624 12637
12625public class conftest { 12638public class conftest {
@@ -12687,7 +12700,7 @@ echo $ECHO_N "checking skinlf... $ECHO_C" >&6; }
12687 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 12700 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
12688 12701
12689 cat << \EOF > conftest.java 12702 cat << \EOF > conftest.java
12690// #line 12690 "configure" 12703// #line 12703 "configure"
12691import com.l2fprod.util.AccessUtils; 12704import com.l2fprod.util.AccessUtils;
12692 12705
12693public class conftest { 12706public class conftest {
@@ -12755,7 +12768,7 @@ echo $ECHO_N "checking jogl... $ECHO_C" >&6; }
12755 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 12768 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
12756 12769
12757 cat << \EOF > conftest.java 12770 cat << \EOF > conftest.java
12758// #line 12758 "configure" 12771// #line 12771 "configure"
12759import javax.media.opengl.glu.GLUnurbs; 12772import javax.media.opengl.glu.GLUnurbs;
12760 12773
12761public class conftest { 12774public class conftest {
@@ -12823,7 +12836,7 @@ echo $ECHO_N "checking jhall... $ECHO_C" >&6; }
12823 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 12836 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
12824 12837
12825 cat << \EOF > conftest.java 12838 cat << \EOF > conftest.java
12826// #line 12826 "configure" 12839// #line 12839 "configure"
12827import javax.help.JHelp; 12840import javax.help.JHelp;
12828 12841
12829public class conftest { 12842public class conftest {
@@ -12891,7 +12904,7 @@ echo $ECHO_N "checking gluegen-rt... $ECHO_C" >&6; }
12891 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 12904 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
12892 12905
12893 cat << \EOF > conftest.java 12906 cat << \EOF > conftest.java
12894// #line 12894 "configure" 12907// #line 12907 "configure"
12895import com.sun.gluegen.runtime.CPU; 12908import com.sun.gluegen.runtime.CPU;
12896 12909
12897public class conftest { 12910public class conftest {
@@ -12959,7 +12972,7 @@ echo $ECHO_N "checking jrosetta-API... $ECHO_C" >&6; }
12959 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 12972 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
12960 12973
12961 cat << \EOF > conftest.java 12974 cat << \EOF > conftest.java
12962// #line 12962 "configure" 12975// #line 12975 "configure"
12963import com.artenum.rosetta.interfaces.core.ConsoleConfiguration; 12976import com.artenum.rosetta.interfaces.core.ConsoleConfiguration;
12964 12977
12965public class conftest { 12978public class conftest {
@@ -13027,7 +13040,7 @@ echo $ECHO_N "checking jrosetta-engine... $ECHO_C" >&6; }
13027 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 13040 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
13028 13041
13029 cat << \EOF > conftest.java 13042 cat << \EOF > conftest.java
13030// #line 13030 "configure" 13043// #line 13043 "configure"
13031import com.artenum.rosetta.core.action.AbstractConsoleAction; 13044import com.artenum.rosetta.core.action.AbstractConsoleAction;
13032 13045
13033public class conftest { 13046public class conftest {
@@ -13095,7 +13108,7 @@ echo $ECHO_N "checking commons-logging... $ECHO_C" >&6; }
13095 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 13108 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
13096 13109
13097 cat << \EOF > conftest.java 13110 cat << \EOF > conftest.java
13098// #line 13098 "configure" 13111// #line 13111 "configure"
13099import org.apache.commons.logging.LogFactory; 13112import org.apache.commons.logging.LogFactory;
13100 13113
13101public class conftest { 13114public class conftest {
@@ -24695,7 +24708,7 @@ CPPFLAGS="$CPPFLAGS -I$CHK_TCL_INCLUDE_PATH"
24695{ echo "$as_me:$LINENO: checking if tcl is version $CHK_TCL_MAJOR.$CHK_TCL_MINOR or later" >&5 24708{ echo "$as_me:$LINENO: checking if tcl is version $CHK_TCL_MAJOR.$CHK_TCL_MINOR or later" >&5
24696echo $ECHO_N "checking if tcl is version $CHK_TCL_MAJOR.$CHK_TCL_MINOR or later... $ECHO_C" >&6; } 24709echo $ECHO_N "checking if tcl is version $CHK_TCL_MAJOR.$CHK_TCL_MINOR or later... $ECHO_C" >&6; }
24697cat > conftest.$ac_ext <<EOF 24710cat > conftest.$ac_ext <<EOF
24698#line 24698 "configure" 24711#line 24711 "configure"
24699#include "confdefs.h" 24712#include "confdefs.h"
24700 24713
24701#include "$CHK_TCL_INCLUDE_PATH/$CHK_TCL_INC_NAME" 24714#include "$CHK_TCL_INCLUDE_PATH/$CHK_TCL_INC_NAME"
@@ -25229,7 +25242,7 @@ CPPFLAGS="$CPPFLAGS $TCL_INC_PATH -I$CHK_TK_INCLUDE_PATH $X_CFLAGS"
25229echo $ECHO_N "checking if tk is version $CHK_TK_MAJOR.$CHK_TK_MINOR or later... $ECHO_C" >&6; } 25242echo $ECHO_N "checking if tk is version $CHK_TK_MAJOR.$CHK_TK_MINOR or later... $ECHO_C" >&6; }
25230 25243
25231cat > conftest.$ac_ext <<EOF 25244cat > conftest.$ac_ext <<EOF
25232#line 25232 "configure" 25245#line 25245 "configure"
25233#include "confdefs.h" 25246#include "confdefs.h"
25234 25247
25235#include "$CHK_TK_INCLUDE_PATH/$CHK_TK_INC_NAME" 25248#include "$CHK_TK_INCLUDE_PATH/$CHK_TK_INC_NAME"
@@ -26053,7 +26066,7 @@ echo $ECHO_N "checking batik-all... $ECHO_C" >&6; }
26053 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 26066 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
26054 26067
26055 cat << \EOF > conftest.java 26068 cat << \EOF > conftest.java
26056// #line 26056 "configure" 26069// #line 26069 "configure"
26057import org.apache.batik.parser.Parser; 26070import org.apache.batik.parser.Parser;
26058 26071
26059public class conftest { 26072public class conftest {
@@ -26121,7 +26134,7 @@ echo $ECHO_N "checking saxon... $ECHO_C" >&6; }
26121 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 26134 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
26122 26135
26123 cat << \EOF > conftest.java 26136 cat << \EOF > conftest.java
26124// #line 26124 "configure" 26137// #line 26137 "configure"
26125import com.icl.saxon.Loader; 26138import com.icl.saxon.Loader;
26126 26139
26127public class conftest { 26140public class conftest {
@@ -26189,7 +26202,7 @@ echo $ECHO_N "checking fop... $ECHO_C" >&6; }
26189 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 26202 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
26190 26203
26191 cat << \EOF > conftest.java 26204 cat << \EOF > conftest.java
26192// #line 26192 "configure" 26205// #line 26205 "configure"
26193import org.apache.fop.pdf.PDFInfo; 26206import org.apache.fop.pdf.PDFInfo;
26194 26207
26195public class conftest { 26208public class conftest {
@@ -26257,8 +26270,8 @@ echo $ECHO_N "checking jeuclid-core... $ECHO_C" >&6; }
26257 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 26270 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
26258 26271
26259 cat << \EOF > conftest.java 26272 cat << \EOF > conftest.java
26260// #line 26260 "configure" 26273// #line 26273 "configure"
26261import net.sourceforge.jeuclid.ant.MathMLConverter; 26274import net.sourceforge.jeuclid.LayoutContext;
26262 26275
26263public class conftest { 26276public class conftest {
26264 public static void main(String[] argv) { 26277 public static void main(String[] argv) {
@@ -26298,8 +26311,8 @@ echo "${ECHO_T}$jar_resolved" >&6; }
26298 if test "$found_jar" = "no"; then 26311 if test "$found_jar" = "no"; then
26299 { echo "$as_me:$LINENO: result: no" >&5 26312 { echo "$as_me:$LINENO: result: no" >&5
26300echo "${ECHO_T}no" >&6; } 26313echo "${ECHO_T}no" >&6; }
26301 { { echo "$as_me:$LINENO: error: Could not find or use the Java package/jar jeuclid-core used by MathML rendering solution (at least version 3.1.X) (looking for package net.sourceforge.jeuclid.ant.MathMLConverter)" >&5 26314 { { echo "$as_me:$LINENO: error: Could not find or use the Java package/jar jeuclid-core used by MathML rendering solution (at least version 3.1.X) (looking for package net.sourceforge.jeuclid.LayoutContext)" >&5
26302echo "$as_me: error: Could not find or use the Java package/jar jeuclid-core used by MathML rendering solution (at least version 3.1.X) (looking for package net.sourceforge.jeuclid.ant.MathMLConverter)" >&2;} 26315echo "$as_me: error: Could not find or use the Java package/jar jeuclid-core used by MathML rendering solution (at least version 3.1.X) (looking for package net.sourceforge.jeuclid.LayoutContext)" >&2;}
26303 { (exit 1); exit 1; }; } 26316 { (exit 1); exit 1; }; }
26304 fi 26317 fi
26305 26318
@@ -26325,7 +26338,7 @@ echo $ECHO_N "checking commons-io... $ECHO_C" >&6; }
26325 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 26338 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
26326 26339
26327 cat << \EOF > conftest.java 26340 cat << \EOF > conftest.java
26328// #line 26328 "configure" 26341// #line 26341 "configure"
26329import org.apache.commons.io.output.CountingOutputStream; 26342import org.apache.commons.io.output.CountingOutputStream;
26330 26343
26331public class conftest { 26344public class conftest {
@@ -26393,7 +26406,7 @@ echo $ECHO_N "checking xmlgraphics-commons... $ECHO_C" >&6; }
26393 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 26406 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
26394 26407
26395 cat << \EOF > conftest.java 26408 cat << \EOF > conftest.java
26396// #line 26396 "configure" 26409// #line 26409 "configure"
26397import org.apache.xmlgraphics.util.Service; 26410import org.apache.xmlgraphics.util.Service;
26398 26411
26399public class conftest { 26412public class conftest {
@@ -26462,7 +26475,7 @@ echo $ECHO_N "checking avalon-framework... $ECHO_C" >&6; }
26462 export ac_java_classpath="$jar_resolved:$ac_java_classpath" 26475 export ac_java_classpath="$jar_resolved:$ac_java_classpath"
26463 26476
26464 cat << \EOF > conftest.java 26477 cat << \EOF > conftest.java
26465// #line 26465 "configure" 26478// #line 26478 "configure"
26466import org.apache.avalon.framework.configuration.ConfigurationException; 26479import org.apache.avalon.framework.configuration.ConfigurationException;
26467 26480
26468public class conftest { 26481public class conftest {
@@ -27102,7 +27115,7 @@ ia64-*-hpux*)
27102 ;; 27115 ;;
27103*-*-irix6*) 27116*-*-irix6*)
27104 # Find out which ABI we are using. 27117 # Find out which ABI we are using.
27105 echo '#line 27105 "configure"' > conftest.$ac_ext 27118 echo '#line 27118 "configure"' > conftest.$ac_ext
27106 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 27119 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
27107 (eval $ac_compile) 2>&5 27120 (eval $ac_compile) 2>&5
27108 ac_status=$? 27121 ac_status=$?
@@ -28972,11 +28985,11 @@ else
28972 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 28985 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
28973 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 28986 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
28974 -e 's:$: $lt_compiler_flag:'` 28987 -e 's:$: $lt_compiler_flag:'`
28975 (eval echo "\"\$as_me:28975: $lt_compile\"" >&5) 28988 (eval echo "\"\$as_me:28988: $lt_compile\"" >&5)
28976 (eval "$lt_compile" 2>conftest.err) 28989 (eval "$lt_compile" 2>conftest.err)
28977 ac_status=$? 28990 ac_status=$?
28978 cat conftest.err >&5 28991 cat conftest.err >&5
28979 echo "$as_me:28979: \$? = $ac_status" >&5 28992 echo "$as_me:28992: \$? = $ac_status" >&5
28980 if (exit $ac_status) && test -s "$ac_outfile"; then 28993 if (exit $ac_status) && test -s "$ac_outfile"; then
28981 # The compiler can only warn and ignore the option if not recognized 28994 # The compiler can only warn and ignore the option if not recognized
28982 # So say no if there are warnings other than the usual output. 28995 # So say no if there are warnings other than the usual output.
@@ -29262,11 +29275,11 @@ else
29262 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 29275 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
29263 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 29276 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
29264 -e 's:$: $lt_compiler_flag:'` 29277 -e 's:$: $lt_compiler_flag:'`
29265 (eval echo "\"\$as_me:29265: $lt_compile\"" >&5) 29278 (eval echo "\"\$as_me:29278: $lt_compile\"" >&5)
29266 (eval "$lt_compile" 2>conftest.err) 29279 (eval "$lt_compile" 2>conftest.err)
29267 ac_status=$? 29280 ac_status=$?
29268 cat conftest.err >&5 29281 cat conftest.err >&5
29269 echo "$as_me:29269: \$? = $ac_status" >&5 29282 echo "$as_me:29282: \$? = $ac_status" >&5
29270 if (exit $ac_status) && test -s "$ac_outfile"; then 29283 if (exit $ac_status) && test -s "$ac_outfile"; then
29271 # The compiler can only warn and ignore the option if not recognized 29284 # The compiler can only warn and ignore the option if not recognized
29272 # So say no if there are warnings other than the usual output. 29285 # So say no if there are warnings other than the usual output.
@@ -29366,11 +29379,11 @@ else
29366 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 29379 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
29367 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 29380 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
29368 -e 's:$: $lt_compiler_flag:'` 29381 -e 's:$: $lt_compiler_flag:'`
29369 (eval echo "\"\$as_me:29369: $lt_compile\"" >&5) 29382 (eval echo "\"\$as_me:29382: $lt_compile\"" >&5)
29370 (eval "$lt_compile" 2>out/conftest.err) 29383 (eval "$lt_compile" 2>out/conftest.err)
29371 ac_status=$? 29384 ac_status=$?
29372 cat out/conftest.err >&5 29385 cat out/conftest.err >&5
29373 echo "$as_me:29373: \$? = $ac_status" >&5 29386 echo "$as_me:29386: \$? = $ac_status" >&5
29374 if (exit $ac_status) && test -s out/conftest2.$ac_objext 29387 if (exit $ac_status) && test -s out/conftest2.$ac_objext
29375 then 29388 then
29376 # The compiler can only warn and ignore the option if not recognized 29389 # The compiler can only warn and ignore the option if not recognized
@@ -31815,7 +31828,7 @@ else
31815 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 31828 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
31816 lt_status=$lt_dlunknown 31829 lt_status=$lt_dlunknown
31817 cat > conftest.$ac_ext <<EOF 31830 cat > conftest.$ac_ext <<EOF
31818#line 31818 "configure" 31831#line 31831 "configure"
31819#include "confdefs.h" 31832#include "confdefs.h"
31820 31833
31821#if HAVE_DLFCN_H 31834#if HAVE_DLFCN_H
@@ -31915,7 +31928,7 @@ else
31915 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 31928 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
31916 lt_status=$lt_dlunknown 31929 lt_status=$lt_dlunknown
31917 cat > conftest.$ac_ext <<EOF 31930 cat > conftest.$ac_ext <<EOF
31918#line 31918 "configure" 31931#line 31931 "configure"
31919#include "confdefs.h" 31932#include "confdefs.h"
31920 31933
31921#if HAVE_DLFCN_H 31934#if HAVE_DLFCN_H
@@ -34336,11 +34349,11 @@ else
34336 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 34349 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
34337 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 34350 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
34338 -e 's:$: $lt_compiler_flag:'` 34351 -e 's:$: $lt_compiler_flag:'`
34339 (eval echo "\"\$as_me:34339: $lt_compile\"" >&5) 34352 (eval echo "\"\$as_me:34352: $lt_compile\"" >&5)
34340 (eval "$lt_compile" 2>conftest.err) 34353 (eval "$lt_compile" 2>conftest.err)
34341 ac_status=$? 34354 ac_status=$?
34342 cat conftest.err >&5 34355 cat conftest.err >&5
34343 echo "$as_me:34343: \$? = $ac_status" >&5 34356 echo "$as_me:34356: \$? = $ac_status" >&5
34344 if (exit $ac_status) && test -s "$ac_outfile"; then 34357 if (exit $ac_status) && test -s "$ac_outfile"; then
34345 # The compiler can only warn and ignore the option if not recognized 34358 # The compiler can only warn and ignore the option if not recognized
34346 # So say no if there are warnings other than the usual output. 34359 # So say no if there are warnings other than the usual output.
@@ -34440,11 +34453,11 @@ else
34440 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 34453 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
34441 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 34454 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
34442 -e 's:$: $lt_compiler_flag:'` 34455 -e 's:$: $lt_compiler_flag:'`
34443 (eval echo "\"\$as_me:34443: $lt_compile\"" >&5) 34456 (eval echo "\"\$as_me:34456: $lt_compile\"" >&5)
34444 (eval "$lt_compile" 2>out/conftest.err) 34457 (eval "$lt_compile" 2>out/conftest.err)
34445 ac_status=$? 34458 ac_status=$?
34446 cat out/conftest.err >&5 34459 cat out/conftest.err >&5
34447 echo "$as_me:34447: \$? = $ac_status" >&5 34460 echo "$as_me:34460: \$? = $ac_status" >&5
34448 if (exit $ac_status) && test -s out/conftest2.$ac_objext 34461 if (exit $ac_status) && test -s out/conftest2.$ac_objext
34449 then 34462 then
34450 # The compiler can only warn and ignore the option if not recognized 34463 # The compiler can only warn and ignore the option if not recognized
@@ -36038,11 +36051,11 @@ else
36038 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 36051 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
36039 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 36052 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
36040 -e 's:$: $lt_compiler_flag:'` 36053 -e 's:$: $lt_compiler_flag:'`
36041 (eval echo "\"\$as_me:36041: $lt_compile\"" >&5) 36054 (eval echo "\"\$as_me:36054: $lt_compile\"" >&5)
36042 (eval "$lt_compile" 2>conftest.err) 36055 (eval "$lt_compile" 2>conftest.err)
36043 ac_status=$? 36056 ac_status=$?
36044 cat conftest.err >&5 36057 cat conftest.err >&5
36045 echo "$as_me:36045: \$? = $ac_status" >&5 36058 echo "$as_me:36058: \$? = $ac_status" >&5
36046 if (exit $ac_status) && test -s "$ac_outfile"; then 36059 if (exit $ac_status) && test -s "$ac_outfile"; then
36047 # The compiler can only warn and ignore the option if not recognized 36060 # The compiler can only warn and ignore the option if not recognized
36048 # So say no if there are warnings other than the usual output. 36061 # So say no if there are warnings other than the usual output.
@@ -36142,11 +36155,11 @@ else
36142 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 36155 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
36143 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 36156 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
36144 -e 's:$: $lt_compiler_flag:'` 36157 -e 's:$: $lt_compiler_flag:'`
36145 (eval echo "\"\$as_me:36145: $lt_compile\"" >&5) 36158 (eval echo "\"\$as_me:36158: $lt_compile\"" >&5)
36146 (eval "$lt_compile" 2>out/conftest.err) 36159 (eval "$lt_compile" 2>out/conftest.err)
36147 ac_status=$? 36160 ac_status=$?
36148 cat out/conftest.err >&5 36161 cat out/conftest.err >&5
36149 echo "$as_me:36149: \$? = $ac_status" >&5 36162 echo "$as_me:36162: \$? = $ac_status" >&5
36150 if (exit $ac_status) && test -s out/conftest2.$ac_objext 36163 if (exit $ac_status) && test -s out/conftest2.$ac_objext
36151 then 36164 then
36152 # The compiler can only warn and ignore the option if not recognized 36165 # The compiler can only warn and ignore the option if not recognized
@@ -38366,11 +38379,11 @@ else
38366 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 38379 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
38367 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 38380 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
38368 -e 's:$: $lt_compiler_flag:'` 38381 -e 's:$: $lt_compiler_flag:'`
38369 (eval echo "\"\$as_me:38369: $lt_compile\"" >&5) 38382 (eval echo "\"\$as_me:38382: $lt_compile\"" >&5)
38370 (eval "$lt_compile" 2>conftest.err) 38383 (eval "$lt_compile" 2>conftest.err)
38371 ac_status=$? 38384 ac_status=$?
38372 cat conftest.err >&5 38385 cat conftest.err >&5
38373 echo "$as_me:38373: \$? = $ac_status" >&5 38386 echo "$as_me:38386: \$? = $ac_status" >&5
38374 if (exit $ac_status) && test -s "$ac_outfile"; then 38387 if (exit $ac_status) && test -s "$ac_outfile"; then
38375 # The compiler can only warn and ignore the option if not recognized 38388 # The compiler can only warn and ignore the option if not recognized
38376 # So say no if there are warnings other than the usual output. 38389 # So say no if there are warnings other than the usual output.
@@ -38656,11 +38669,11 @@ else
38656 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 38669 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
38657 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 38670 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
38658 -e 's:$: $lt_compiler_flag:'` 38671 -e 's:$: $lt_compiler_flag:'`
38659 (eval echo "\"\$as_me:38659: $lt_compile\"" >&5) 38672 (eval echo "\"\$as_me:38672: $lt_compile\"" >&5)
38660 (eval "$lt_compile" 2>conftest.err) 38673 (eval "$lt_compile" 2>conftest.err)
38661 ac_status=$? 38674 ac_status=$?
38662 cat conftest.err >&5 38675 cat conftest.err >&5
38663 echo "$as_me:38663: \$? = $ac_status" >&5 38676 echo "$as_me:38676: \$? = $ac_status" >&5
38664 if (exit $ac_status) && test -s "$ac_outfile"; then 38677 if (exit $ac_status) && test -s "$ac_outfile"; then
38665 # The compiler can only warn and ignore the option if not recognized 38678 # The compiler can only warn and ignore the option if not recognized
38666 # So say no if there are warnings other than the usual output. 38679 # So say no if there are warnings other than the usual output.
@@ -38760,11 +38773,11 @@ else
38760 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 38773 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
38761 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ 38774 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
38762 -e 's:$: $lt_compiler_flag:'` 38775 -e 's:$: $lt_compiler_flag:'`
38763 (eval echo "\"\$as_me:38763: $lt_compile\"" >&5) 38776 (eval echo "\"\$as_me:38776: $lt_compile\"" >&5)
38764 (eval "$lt_compile" 2>out/conftest.err) 38777 (eval "$lt_compile" 2>out/conftest.err)
38765 ac_status=$? 38778 ac_status=$?
38766 cat out/conftest.err >&5 38779 cat out/conftest.err >&5
38767 echo "$as_me:38767: \$? = $ac_status" >&5 38780 echo "$as_me:38780: \$? = $ac_status" >&5
38768 if (exit $ac_status) && test -s out/conftest2.$ac_objext 38781 if (exit $ac_status) && test -s out/conftest2.$ac_objext
38769 then 38782 then
38770 # The compiler can only warn and ignore the option if not recognized 38783 # The compiler can only warn and ignore the option if not recognized
@@ -41896,6 +41909,13 @@ echo "$as_me: error: conditional \"IS_SPARC\" was never defined.
41896Usually this means the macro was only invoked conditionally." >&2;} 41909Usually this means the macro was only invoked conditionally." >&2;}
41897 { (exit 1); exit 1; }; } 41910 { (exit 1); exit 1; }; }
41898fi 41911fi
41912if test -z "${IS_SOLARIS_TRUE}" && test -z "${IS_SOLARIS_FALSE}"; then
41913 { { echo "$as_me:$LINENO: error: conditional \"IS_SOLARIS\" was never defined.
41914Usually this means the macro was only invoked conditionally." >&5
41915echo "$as_me: error: conditional \"IS_SOLARIS\" was never defined.
41916Usually this means the macro was only invoked conditionally." >&2;}
41917 { (exit 1); exit 1; }; }
41918fi
41899if test -z "${IS_MIPS_SGI_IRIX_TRUE}" && test -z "${IS_MIPS_SGI_IRIX_FALSE}"; then 41919if test -z "${IS_MIPS_SGI_IRIX_TRUE}" && test -z "${IS_MIPS_SGI_IRIX_FALSE}"; then
41900 { { echo "$as_me:$LINENO: error: conditional \"IS_MIPS_SGI_IRIX\" was never defined. 41920 { { echo "$as_me:$LINENO: error: conditional \"IS_MIPS_SGI_IRIX\" was never defined.
41901Usually this means the macro was only invoked conditionally." >&5 41921Usually this means the macro was only invoked conditionally." >&5
@@ -42815,6 +42835,8 @@ IS_HPUX_TRUE!$IS_HPUX_TRUE$ac_delim
42815IS_HPUX_FALSE!$IS_HPUX_FALSE$ac_delim 42835IS_HPUX_FALSE!$IS_HPUX_FALSE$ac_delim
42816IS_SPARC_TRUE!$IS_SPARC_TRUE$ac_delim 42836IS_SPARC_TRUE!$IS_SPARC_TRUE$ac_delim
42817IS_SPARC_FALSE!$IS_SPARC_FALSE$ac_delim 42837IS_SPARC_FALSE!$IS_SPARC_FALSE$ac_delim
42838IS_SOLARIS_TRUE!$IS_SOLARIS_TRUE$ac_delim
42839IS_SOLARIS_FALSE!$IS_SOLARIS_FALSE$ac_delim
42818IS_MIPS_SGI_IRIX_TRUE!$IS_MIPS_SGI_IRIX_TRUE$ac_delim 42840IS_MIPS_SGI_IRIX_TRUE!$IS_MIPS_SGI_IRIX_TRUE$ac_delim
42819IS_MIPS_SGI_IRIX_FALSE!$IS_MIPS_SGI_IRIX_FALSE$ac_delim 42841IS_MIPS_SGI_IRIX_FALSE!$IS_MIPS_SGI_IRIX_FALSE$ac_delim
42820IS_64_BITS_CPU_TRUE!$IS_64_BITS_CPU_TRUE$ac_delim 42842IS_64_BITS_CPU_TRUE!$IS_64_BITS_CPU_TRUE$ac_delim
@@ -42896,8 +42918,6 @@ BLAS_LIBS!$BLAS_LIBS$ac_delim
42896USE_EMBEDDED_BLAS_TRUE!$USE_EMBEDDED_BLAS_TRUE$ac_delim 42918USE_EMBEDDED_BLAS_TRUE!$USE_EMBEDDED_BLAS_TRUE$ac_delim
42897USE_EMBEDDED_BLAS_FALSE!$USE_EMBEDDED_BLAS_FALSE$ac_delim 42919USE_EMBEDDED_BLAS_FALSE!$USE_EMBEDDED_BLAS_FALSE$ac_delim
42898LAPACK_LIBS!$LAPACK_LIBS$ac_delim 42920LAPACK_LIBS!$LAPACK_LIBS$ac_delim
42899USE_EMBEDDED_LAPACK_TRUE!$USE_EMBEDDED_LAPACK_TRUE$ac_delim
42900USE_EMBEDDED_LAPACK_FALSE!$USE_EMBEDDED_LAPACK_FALSE$ac_delim
42901_ACEOF 42921_ACEOF
42902 42922
42903 if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then 42923 if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -42939,6 +42959,8 @@ _ACEOF
42939ac_delim='%!_!# ' 42959ac_delim='%!_!# '
42940for ac_last_try in false false false false false :; do 42960for ac_last_try in false false false false false :; do
42941 cat >conf$$subs.sed <<_ACEOF 42961 cat >conf$$subs.sed <<_ACEOF
42962USE_EMBEDDED_LAPACK_TRUE!$USE_EMBEDDED_LAPACK_TRUE$ac_delim
42963USE_EMBEDDED_LAPACK_FALSE!$USE_EMBEDDED_LAPACK_FALSE$ac_delim
42942UMFPACK_LIB!$UMFPACK_LIB$ac_delim 42964UMFPACK_LIB!$UMFPACK_LIB$ac_delim
42943UMFPACK_ENABLE!$UMFPACK_ENABLE$ac_delim 42965UMFPACK_ENABLE!$UMFPACK_ENABLE$ac_delim
42944UMFPACK_TRUE!$UMFPACK_TRUE$ac_delim 42966UMFPACK_TRUE!$UMFPACK_TRUE$ac_delim
@@ -42987,7 +43009,7 @@ ENABLE_STATIC_FALSE!$ENABLE_STATIC_FALSE$ac_delim
42987LTLIBOBJS!$LTLIBOBJS$ac_delim 43009LTLIBOBJS!$LTLIBOBJS$ac_delim
42988_ACEOF 43010_ACEOF
42989 43011
42990 if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 46; then 43012 if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 48; then
42991 break 43013 break
42992 elif $ac_last_try; then 43014 elif $ac_last_try; then
42993 { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 43015 { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff --git a/scilab/configure.ac b/scilab/configure.ac
index 5ee6f0b..a01b5f1 100644
--- a/scilab/configure.ac
+++ b/scilab/configure.ac
@@ -346,10 +346,14 @@ case "$host" in
346 mips-sgi-irix*) 346 mips-sgi-irix*)
347 MIPS_SGI_IRIX=1 347 MIPS_SGI_IRIX=1
348 ;; 348 ;;
349 *-*-solaris*)
350 SOLARIS=1
351 ;;
349esac 352esac
350 353
351AM_CONDITIONAL(IS_HPUX, test -n "$HPUX") 354AM_CONDITIONAL(IS_HPUX, test -n "$HPUX")
352AM_CONDITIONAL(IS_SPARC, test -n "$SPARC") 355AM_CONDITIONAL(IS_SPARC, test -n "$SPARC")
356AM_CONDITIONAL(IS_SOLARIS, test -n "$SOLARIS")
353AM_CONDITIONAL(IS_MIPS_SGI_IRIX, test -n "$MIPS_SGI_IRIX") 357AM_CONDITIONAL(IS_MIPS_SGI_IRIX, test -n "$MIPS_SGI_IRIX")
354 358
355 359
@@ -389,7 +393,7 @@ esac
389#F77_LDFLAGS="$F77_LDFLAGS $LIEEE" 393#F77_LDFLAGS="$F77_LDFLAGS $LIEEE"
390IS_64_BITS_CPU=false 394IS_64_BITS_CPU=false
391case "$CC" in 395case "$CC" in
392 gcc-* | gcc | cc | cc-* | ccache*gcc | ccache*gcc-* ) 396 gcc-* | gcc | ccache*gcc | ccache*gcc-* )
393 ## With GNU Compiler 397 ## With GNU Compiler
394 if test "$enable_debug_C" = yes; then 398 if test "$enable_debug_C" = yes; then
395 CFLAGS="$CFLAGS -pipe -Wformat -Wshadow -Wfloat-equal -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-noreturn -Wendif-labels -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wwrite-strings -Winline -Wredundant-decls -Wall -Wchar-subscripts -Wextra -Wuninitialized -Wno-format-y2k -Wmissing-format-attribute -Wno-missing-field-initializers -Wno-strict-aliasing -Wold-style-definition -g3" 399 CFLAGS="$CFLAGS -pipe -Wformat -Wshadow -Wfloat-equal -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-noreturn -Wendif-labels -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wwrite-strings -Winline -Wredundant-decls -Wall -Wchar-subscripts -Wextra -Wuninitialized -Wno-format-y2k -Wmissing-format-attribute -Wno-missing-field-initializers -Wno-strict-aliasing -Wold-style-definition -g3"
diff --git a/scilab/m4/docbook.m4 b/scilab/m4/docbook.m4
index 405d4bd..13f75a3 100644
--- a/scilab/m4/docbook.m4
+++ b/scilab/m4/docbook.m4
@@ -40,7 +40,7 @@ AC_ARG_WITH(docbook,
40 AC_SUBST(FOP) 40 AC_SUBST(FOP)
41 41
42 # MathML rendering solution 42 # MathML rendering solution
43 AC_JAVA_CHECK_PACKAGE([jeuclid-core],[net.sourceforge.jeuclid.ant.MathMLConverter],[MathML rendering solution (at least version 3.1.X)]) 43 AC_JAVA_CHECK_PACKAGE([jeuclid-core],[net.sourceforge.jeuclid.LayoutContext],[MathML rendering solution (at least version 3.1.X)])
44 JEUCLID_CORE=$PACKAGE_JAR_FILE 44 JEUCLID_CORE=$PACKAGE_JAR_FILE
45 AC_SUBST(JEUCLID_CORE) 45 AC_SUBST(JEUCLID_CORE)
46 46
diff --git a/scilab/modules/Makefile.am b/scilab/modules/Makefile.am
index c2374e2..aabe43d 100644
--- a/scilab/modules/Makefile.am
+++ b/scilab/modules/Makefile.am
@@ -20,10 +20,10 @@ history_manager \
20fileio \ 20fileio \
21spreadsheet \ 21spreadsheet \
22tclsci \ 22tclsci \
23localization \
23renderer \ 24renderer \
24shell \ 25shell \
25completion \ 26completion \
26localization \
27console \ 27console \
28graphic_export \ 28graphic_export \
29gui \ 29gui \
diff --git a/scilab/modules/Makefile.in b/scilab/modules/Makefile.in
index f499f38..a82e0c3 100644
--- a/scilab/modules/Makefile.in
+++ b/scilab/modules/Makefile.in
@@ -130,8 +130,8 @@ ETAGS = etags
130CTAGS = ctags 130CTAGS = ctags
131DIST_SUBDIRS = core output_stream action_binding arnoldi \ 131DIST_SUBDIRS = core output_stream action_binding arnoldi \
132 elementary_functions string dynamic_link history_manager \ 132 elementary_functions string dynamic_link history_manager \
133 fileio spreadsheet tclsci renderer shell completion \ 133 fileio spreadsheet tclsci localization renderer shell \
134 localization console graphic_export gui jvm graphics \ 134 completion console graphic_export gui jvm graphics \
135 optimization symbolic randlib statistics special_functions \ 135 optimization symbolic randlib statistics special_functions \
136 interpolation linear_algebra integer data_structures mexlib \ 136 interpolation linear_algebra integer data_structures mexlib \
137 differential_equations cacsd polynomials boolean double pvm io \ 137 differential_equations cacsd polynomials boolean double pvm io \
@@ -339,8 +339,8 @@ top_srcdir = @top_srcdir@
339# since it already linked almost the whole world 339# since it already linked almost the whole world
340SUBDIRS = core output_stream action_binding arnoldi \ 340SUBDIRS = core output_stream action_binding arnoldi \
341 elementary_functions string dynamic_link history_manager \ 341 elementary_functions string dynamic_link history_manager \
342 fileio spreadsheet tclsci renderer shell completion \ 342 fileio spreadsheet tclsci localization renderer shell \
343 localization console graphic_export gui jvm graphics \ 343 completion console graphic_export gui jvm graphics \
344 optimization symbolic randlib statistics special_functions \ 344 optimization symbolic randlib statistics special_functions \
345 interpolation linear_algebra integer data_structures mexlib \ 345 interpolation linear_algebra integer data_structures mexlib \
346 differential_equations cacsd polynomials boolean double pvm io \ 346 differential_equations cacsd polynomials boolean double pvm io \
diff --git a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gschur.f b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gschur.f
index 4d85d7e..d8b1e7b 100644
--- a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gschur.f
+++ b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gschur.f
@@ -14,10 +14,6 @@ c Copyright INRIA
14 INCLUDE 'stack.h' 14 INCLUDE 'stack.h'
15c 15c
16 character*(*) fname 16 character*(*) fname
17 integer iadr,sadr
18
19 sadr(l)=(l/2)+1
20 iadr(l)=l+l-1
21 17
22c obsolete 18c obsolete
23c call macro for emulation 19c call macro for emulation
diff --git a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gspec.f b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gspec.f
index db7052f..eb890ee 100644
--- a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gspec.f
+++ b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_gspec.f
@@ -13,11 +13,6 @@ c --------------------------
13 INCLUDE 'stack.h' 13 INCLUDE 'stack.h'
14c 14c
15 character*(*) fname 15 character*(*) fname
16 integer iadr,sadr
17
18 sadr(l)=(l/2)+1
19 iadr(l)=l+l-1
20
21c osolete 16c osolete
22c call macro for emulation 17c call macro for emulation
23 call cvname(ids(1,pt+1),'gspec',0) 18 call cvname(ids(1,pt+1),'gspec',0)
diff --git a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_linmeq.f b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_linmeq.f
index b90521e..01f0af9 100644
--- a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_linmeq.f
+++ b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_linmeq.f
@@ -750,10 +750,9 @@ C *** Last line of LINMEQ ***
750 include 'stack.h' 750 include 'stack.h'
751 integer pos 751 integer pos
752c 752c
753 integer iadr,sadr 753 integer iadr
754c 754c
755 iadr(l)=l+l-1 755 iadr(l)=l+l-1
756 sadr(l)=(l/2)+1
757c 756c
758 il=iadr(lstk(pos + top - rhs)) 757 il=iadr(lstk(pos + top - rhs))
759 if (istk(il).lt.0) il=iadr(istk(il+2)) 758 if (istk(il).lt.0) il=iadr(istk(il+2))
diff --git a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_lyap.f b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_lyap.f
index d090c36..5383567 100644
--- a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_lyap.f
+++ b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_lyap.f
@@ -11,11 +11,7 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 11
12 include 'stack.h' 12 include 'stack.h'
13 character*(*) fname 13 character*(*) fname
14 integer iadr,sadr 14
15c
16 iadr(l)=l+l-1
17 sadr(l)=(l/2)+1
18c
19 call cvname(ids(1,pt+1),'lyap',0) 15 call cvname(ids(1,pt+1),'lyap',0)
20 fun=-1 16 fun=-1
21c 17c
diff --git a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_sylv.f b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_sylv.f
index ecae2ff..fbf55c6 100644
--- a/scilab/modules/cacsd/sci_gateway/fortran/sci_f_sylv.f
+++ b/scilab/modules/cacsd/sci_gateway/fortran/sci_f_sylv.f
@@ -11,10 +11,6 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 11
12 include 'stack.h' 12 include 'stack.h'
13 character*(*) fname 13 character*(*) fname
14 integer iadr,sadr
15c
16 iadr(l)=l+l-1
17 sadr(l)=(l/2)+1
18c 14c
19 call cvname(ids(1,pt+1),'sylv',0) 15 call cvname(ids(1,pt+1),'sylv',0)
20 fun=-1 16 fun=-1
diff --git a/scilab/modules/core/includes/realmain.h b/scilab/modules/core/includes/realmain.h
index ee9799b..fb9457a 100644
--- a/scilab/modules/core/includes/realmain.h
+++ b/scilab/modules/core/includes/realmain.h
@@ -19,7 +19,6 @@
19#include <Windows.h> 19#include <Windows.h>
20#endif 20#endif
21 21
22#include "stack-c.h"
23#include "version.h" 22#include "version.h"
24 23
25/** 24/**
diff --git a/scilab/modules/core/includes/scimem.h b/scilab/modules/core/includes/scimem.h
index 20d1fb4..a190d2c 100644
--- a/scilab/modules/core/includes/scimem.h
+++ b/scilab/modules/core/includes/scimem.h
@@ -13,6 +13,7 @@
13#ifndef __SCIMEM_H__ 13#ifndef __SCIMEM_H__
14#define __SCIMEM_H__ 14#define __SCIMEM_H__
15 15
16#include "machine.h" /* C2F */
16 17
17int C2F(scimem)(int *n, int *ptr); 18int C2F(scimem)(int *n, int *ptr);
18int C2F(scigmem)(int *n, int *ptr); 19int C2F(scigmem)(int *n, int *ptr);
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_exists.f b/scilab/modules/core/sci_gateway/fortran/sci_exists.f
index 07243d7..41eb4fc 100644
--- a/scilab/modules/core/sci_gateway/fortran/sci_exists.f
+++ b/scilab/modules/core/sci_gateway/fortran/sci_exists.f
@@ -15,14 +15,13 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
15 logical checkrhs,checklhs,cremat,getsmat,checkval,crebmat 15 logical checkrhs,checklhs,cremat,getsmat,checkval,crebmat
16 integer flag 16 integer flag
17 integer local,nolocal 17 integer local,nolocal
18 integer iadr,sadr 18 integer iadr
19c 19c
20 data local/21/ 20 data local/21/
21 data nolocal/23/ 21 data nolocal/23/
22 data all/10/ 22 data all/10/
23c 23c
24 iadr(l)=l+l-1 24 iadr(l)=l+l-1
25 sadr(l)=(l/2)+1
26c 25c
27 topk=top 26 topk=top
28 27
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_intppty.f b/scilab/modules/core/sci_gateway/fortran/sci_intppty.f
index c277c7f..82a8672 100644
--- a/scilab/modules/core/sci_gateway/fortran/sci_intppty.f
+++ b/scilab/modules/core/sci_gateway/fortran/sci_intppty.f
@@ -13,11 +13,10 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
13 parameter (mxbyptr=40) 13 parameter (mxbyptr=40)
14 integer byptr(mxbyptr),nbyptr 14 integer byptr(mxbyptr),nbyptr
15 common /ippty/ byptr,nbyptr 15 common /ippty/ byptr,nbyptr
16 integer iadr,sadr 16 integer iadr
17c 17c
18c 18c
19 iadr(l)=l+l-1 19 iadr(l)=l+l-1
20 sadr(l)=(l/2)+1
21c 20c
22 rhs=max(0,rhs) 21 rhs=max(0,rhs)
23 if(.not.checkrhs('intppty',0,1)) return 22 if(.not.checkrhs('intppty',0,1)) return
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_mode.f b/scilab/modules/core/sci_gateway/fortran/sci_mode.f
index ec96698..78f9329 100644
--- a/scilab/modules/core/sci_gateway/fortran/sci_mode.f
+++ b/scilab/modules/core/sci_gateway/fortran/sci_mode.f
@@ -10,10 +10,6 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10 include 'stack.h' 10 include 'stack.h'
11 integer cmode,topk 11 integer cmode,topk
12 logical checkrhs,checklhs,getscalar,cremat 12 logical checkrhs,checklhs,getscalar,cremat
13 integer iadr,sadr
14c
15 iadr(l)=l+l-1
16 sadr(l)=(l/2)+1
17c 13c
18 rhs=max(rhs,0) 14 rhs=max(rhs,0)
19 if(.not.checklhs('mode',1,1)) return 15 if(.not.checklhs('mode',1,1)) return
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_mtlb_mode.f b/scilab/modules/core/sci_gateway/fortran/sci_mtlb_mode.f
index 0b1cd1e..bd4f3c9 100644
--- a/scilab/modules/core/sci_gateway/fortran/sci_mtlb_mode.f
+++ b/scilab/modules/core/sci_gateway/fortran/sci_mtlb_mode.f
@@ -12,10 +12,6 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
12 integer offset 12 integer offset
13 logical checkrhs,checklhs,crebmat,getbmat,checkval 13 logical checkrhs,checklhs,crebmat,getbmat,checkval
14 common /mtlbc/ mmode 14 common /mtlbc/ mmode
15 integer iadr,sadr
16c
17 iadr(l)=l+l-1
18 sadr(l)=(l/2)+1
19c 15c
20 rhs=max(rhs,0) 16 rhs=max(rhs,0)
21c 17c
diff --git a/scilab/modules/core/sci_gateway/fortran/sci_useascommand.f b/scilab/modules/core/sci_gateway/fortran/sci_useascommand.f
index 27c8ea4..4fc3b76 100644
--- a/scilab/modules/core/sci_gateway/fortran/sci_useascommand.f
+++ b/scilab/modules/core/sci_gateway/fortran/sci_useascommand.f
@@ -11,13 +11,12 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 include 'stack.h' 11 include 'stack.h'
12 logical checkrhs,checklhs,cremat,getscalar,getsmat,checkval 12 logical checkrhs,checklhs,cremat,getscalar,getsmat,checkval
13 integer topk,id(nsiz) 13 integer topk,id(nsiz)
14 integer iadr,sadr 14 integer iadr
15 character*1 opt 15 character*1 opt
16 character*(*) fname 16 character*(*) fname
17c 17c
18c 18c
19 iadr(l)=l+l-1 19 iadr(l)=l+l-1
20 sadr(l)=(l/2)+1
21c 20c
22 rhs=max(0,rhs) 21 rhs=max(0,rhs)
23 if(.not.checkrhs(fname,1,2)) return 22 if(.not.checkrhs(fname,1,2)) return
diff --git a/scilab/modules/core/src/fortran/allops.f b/scilab/modules/core/src/fortran/allops.f
index 738e406..0bcf291 100644
--- a/scilab/modules/core/src/fortran/allops.f
+++ b/scilab/modules/core/src/fortran/allops.f
@@ -14,12 +14,11 @@ c ======================================================================
14 include 'stack.h' 14 include 'stack.h'
15 integer ogettype, vt,vt1,id(nsiz),r,op,extrac,bl(nsiz) 15 integer ogettype, vt,vt1,id(nsiz),r,op,extrac,bl(nsiz)
16 logical compil,ptover 16 logical compil,ptover
17 integer iadr,sadr 17 integer iadr
18 18
19 data extrac/3/,bl/nsiz*673720360/ 19 data extrac/3/,bl/nsiz*673720360/
20c 20c
21 iadr(l)=l+l-1 21 iadr(l)=l+l-1
22 sadr(l)=(l/2)+1
23 22
24 r=0 23 r=0
25 if(pt.gt.0) r=rstk(pt) 24 if(pt.gt.0) r=rstk(pt)
diff --git a/scilab/modules/core/src/fortran/copyvar.f b/scilab/modules/core/src/fortran/copyvar.f
index fa48e67..6698cfc 100644
--- a/scilab/modules/core/src/fortran/copyvar.f
+++ b/scilab/modules/core/src/fortran/copyvar.f
@@ -19,10 +19,9 @@ c sz : memory size used by the variable (in stk words)
19c on return top is incremented 19c on return top is incremented
20 integer il,sz 20 integer il,sz
21c 21c
22 integer iadr,sadr 22 integer sadr
23c 23c
24c 24c
25 iadr(l)=l+l-1
26 sadr(l)=(l/2)+1 25 sadr(l)=(l/2)+1
27c 26c
28 top=top+1 27 top=top+1
diff --git a/scilab/modules/core/src/fortran/createref.f b/scilab/modules/core/src/fortran/createref.f
index 4cd4898..347c72a 100644
--- a/scilab/modules/core/src/fortran/createref.f
+++ b/scilab/modules/core/src/fortran/createref.f
@@ -10,10 +10,9 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10 subroutine createref1(topk) 10 subroutine createref1(topk)
11 include 'stack.h' 11 include 'stack.h'
12 integer topk,sz 12 integer topk,sz
13 integer iadr,sadr 13 integer iadr
14c 14c
15 iadr(l)=l+l-1 15 iadr(l)=l+l-1
16 sadr(l)=(l/2)+1
17c 16c
18 call createref(iadr(lstk(topk)),topk,lstk(topk+1)-lstk(topk)) 17 call createref(iadr(lstk(topk)),topk,lstk(topk+1)-lstk(topk))
19 end 18 end
diff --git a/scilab/modules/core/src/fortran/fact.f b/scilab/modules/core/src/fortran/fact.f
index ad6db59..541d5e0 100644
--- a/scilab/modules/core/src/fortran/fact.f
+++ b/scilab/modules/core/src/fortran/fact.f
@@ -33,9 +33,7 @@ c
33 data minus/46/,plus/45/ 33 data minus/46/,plus/45/
34 data num/0/,name/1/,cmt/2/ 34 data num/0/,name/1/,cmt/2/
35 data cconc/1/,extrac/3/,rconc/4/ 35 data cconc/1/,extrac/3/,rconc/4/
36c 36
37 iadr(l)=l+l-1
38c
39 r = rstk(pt) 37 r = rstk(pt)
40c 38c
41 if (ddt .eq. 4) then 39 if (ddt .eq. 4) then
diff --git a/scilab/modules/core/src/fortran/hmcreate.f b/scilab/modules/core/src/fortran/hmcreate.f
index 9ea95e8..2eeb6ca 100644
--- a/scilab/modules/core/src/fortran/hmcreate.f
+++ b/scilab/modules/core/src/fortran/hmcreate.f
@@ -138,10 +138,6 @@ c entries
138c 138c
139 integer ivt(*),l 139 integer ivt(*),l
140 character*(*) job 140 character*(*) job
141 integer iadr,sadr
142c
143 iadr(l)=l+l-1
144 sadr(l)=(l/2)+1
145c 141c
146 if(job.eq.'size') then 142 if(job.eq.'size') then
147c size of the data structure 143c size of the data structure
diff --git a/scilab/modules/core/src/fortran/misops.f b/scilab/modules/core/src/fortran/misops.f
index 7c3f770..b87e7db 100644
--- a/scilab/modules/core/src/fortran/misops.f
+++ b/scilab/modules/core/src/fortran/misops.f
@@ -12,12 +12,11 @@ c operations sur les types secondaires (macros librairies...)
12c ============================================================= 12c =============================================================
13 include 'stack.h' 13 include 'stack.h'
14c 14c
15 integer iadr,sadr,op,rhs1,r 15 integer iadr,op,rhs1,r
16 integer equal,less,great,insert,extrac 16 integer equal,less,great,insert,extrac
17 data equal/50/,less/59/,great/60/,insert/2/,extrac/3/ 17 data equal/50/,less/59/,great/60/,insert/2/,extrac/3/
18c 18c
19 iadr(l)=l+l-1 19 iadr(l)=l+l-1
20 sadr(l)=(l/2)+1
21c 20c
22 r=0 21 r=0
23 if(pt.gt.0) r=rstk(pt) 22 if(pt.gt.0) r=rstk(pt)
diff --git a/scilab/modules/core/src/fortran/nextj.f b/scilab/modules/core/src/fortran/nextj.f
index 81a9862..6abe176 100644
--- a/scilab/modules/core/src/fortran/nextj.f
+++ b/scilab/modules/core/src/fortran/nextj.f
@@ -22,12 +22,8 @@ c
22 logical eqid 22 logical eqid
23 logical getmat,cremat,smatj,lmatj,getsmat,getilist,getpoly,pmatj 23 logical getmat,cremat,smatj,lmatj,getsmat,getilist,getpoly,pmatj
24c 24c
25 integer iadr,sadr
26 data semi/43/ 25 data semi/43/
27c 26c
28 iadr(l)=l+l-1
29 sadr(l)=(l/2)+1
30c
31 if (ddt .eq. 4) then 27 if (ddt .eq. 4) then
32 write(buf(1:4),'(i4)') j 28 write(buf(1:4),'(i4)') j
33 call cvname(id,buf(5:4+nsiz*4),1) 29 call cvname(id,buf(5:4+nsiz*4),1)
diff --git a/scilab/modules/core/src/fortran/ref2val.f b/scilab/modules/core/src/fortran/ref2val.f
index 5d42fa6..43af060 100644
--- a/scilab/modules/core/src/fortran/ref2val.f
+++ b/scilab/modules/core/src/fortran/ref2val.f
@@ -11,10 +11,9 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 INCLUDE 'stack.h' 11 INCLUDE 'stack.h'
12 integer vol,topk,volk 12 integer vol,topk,volk
13 logical ref 13 logical ref
14 integer iadr,sadr 14 integer iadr
15c 15c
16 iadr(l)=l+l-1 16 iadr(l)=l+l-1
17 sadr(l)=(l/2)+1
18c 17c
19 18
20 if(rhs.le.0.or.top.lt.rhs) return 19 if(rhs.le.0.or.top.lt.rhs) return
diff --git a/scilab/modules/core/src/fortran/stack.f b/scilab/modules/core/src/fortran/stack.f
index ae19c37..ab9eae4 100644
--- a/scilab/modules/core/src/fortran/stack.f
+++ b/scilab/modules/core/src/fortran/stack.f
@@ -86,11 +86,10 @@ c ====================================================================
86 include 'stack.h' 86 include 'stack.h'
87 integer offset 87 integer offset
88 integer l 88 integer l
89 integer iadr,sadr 89 integer iadr
90 logical eqid 90 logical eqid
91c 91c
92 iadr(l)=l+l-1 92 iadr(l)=l+l-1
93 sadr(l)=(l/2)+1
94 93
95 offset=offset+1 94 offset=offset+1
96 call unsfdcopy(l,stk(lstk(isiz+2)),1,stk(offset),1) 95 call unsfdcopy(l,stk(lstk(isiz+2)),1,stk(offset),1)
diff --git a/scilab/modules/core/src/fortran/stackc2i.f b/scilab/modules/core/src/fortran/stackc2i.f
index 18c3c53..3023b1e 100644
--- a/scilab/modules/core/src/fortran/stackc2i.f
+++ b/scilab/modules/core/src/fortran/stackc2i.f
@@ -14,8 +14,7 @@ c to integer and overlapping region
14c =============================== 14c ===============================
15 include 'stack.h' 15 include 'stack.h'
16 integer n,sl1,il1 16 integer n,sl1,il1
17 integer iadr,cadr 17 integer cadr
18 iadr(l)=l+l-1
19 cadr(l)=l+l+l+l-3 18 cadr(l)=l+l+l+l-3
20 if((sl1+n-1).ge.cadr(il1+n-1)) then 19 if((sl1+n-1).ge.cadr(il1+n-1)) then
21 call cvstr(n,istk(il1),cstk(sl1:sl1+n),0) 20 call cvstr(n,istk(il1),cstk(sl1:sl1+n),0)
diff --git a/scilab/modules/core/src/fortran/stacki2d.f b/scilab/modules/core/src/fortran/stacki2d.f
index 88f6851..fd9d2d5 100644
--- a/scilab/modules/core/src/fortran/stacki2d.f
+++ b/scilab/modules/core/src/fortran/stacki2d.f
@@ -30,9 +30,8 @@ c are not scratched and then from n-1 to p
30c =============================== 30c ===============================
31 include 'stack.h' 31 include 'stack.h'
32 integer n,il1,dl1 32 integer n,il1,dl1
33 integer iadr,sadr 33 integer iadr
34 iadr(l)=l+l-1 34 iadr(l)=l+l-1
35 sadr(l)=(l/2)+1
36 if((il1+n-1).ge.iadr(dl1+n-1)) then 35 if((il1+n-1).ge.iadr(dl1+n-1)) then
37 call int2db(n,istk(il1),1,stk(dl1),1) 36 call int2db(n,istk(il1),1,stk(dl1),1)
38 elseif(il1.le.iadr(dl1)) then 37 elseif(il1.le.iadr(dl1)) then
diff --git a/scilab/modules/core/src/fortran/stackr2d.f b/scilab/modules/core/src/fortran/stackr2d.f
index 93e2335..3499093 100644
--- a/scilab/modules/core/src/fortran/stackr2d.f
+++ b/scilab/modules/core/src/fortran/stackr2d.f
@@ -15,9 +15,8 @@ c to double
15c =============================== 15c ===============================
16 include 'stack.h' 16 include 'stack.h'
17 integer n,sl1,dl1 17 integer n,sl1,dl1
18 integer iadr,sadr 18 integer iadr
19 iadr(l)=l+l-1 19 iadr(l)=l+l-1
20 sadr(l)=(l/2)+1
21 if((sl1+n-1).ge.iadr(dl1+n-1)) then 20 if((sl1+n-1).ge.iadr(dl1+n-1)) then
22 call rea2db(n,istk(sl1),1,stk(dl1),1) 21 call rea2db(n,istk(sl1),1,stk(dl1),1)
23 elseif(sl1.le.iadr(dl1)) then 22 elseif(sl1.le.iadr(dl1)) then
diff --git a/scilab/modules/core/src/fortran/varfunptr.f b/scilab/modules/core/src/fortran/varfunptr.f
index 7f3d22b..bb28730 100644
--- a/scilab/modules/core/src/fortran/varfunptr.f
+++ b/scilab/modules/core/src/fortran/varfunptr.f
@@ -40,11 +40,10 @@ c compilation [27]
40 40
41 subroutine isafunptr(k,id,ffun,ffin) 41 subroutine isafunptr(k,id,ffun,ffin)
42 include 'stack.h' 42 include 'stack.h'
43 integer iadr,sadr 43 integer iadr
44 integer id(*),ffun,ffin 44 integer id(*),ffun,ffin
45 45
46 iadr(l)=l+l-1 46 iadr(l)=l+l-1
47 sadr(l)=(l/2)+1
48 47
49 ffun=0 48 ffun=0
50 ffin=0 49 ffin=0
diff --git a/scilab/modules/data_structures/sci_gateway/fortran/sci_setfield.f b/scilab/modules/data_structures/sci_gateway/fortran/sci_setfield.f
index 1b63841..bcd7dd9 100644
--- a/scilab/modules/data_structures/sci_gateway/fortran/sci_setfield.f
+++ b/scilab/modules/data_structures/sci_gateway/fortran/sci_setfield.f
@@ -11,10 +11,9 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 integer typs,topk 11 integer typs,topk
12 logical eptover 12 logical eptover
13c 13c
14 integer iadr,sadr 14 integer iadr
15c 15c
16 iadr(l)=l+l-1 16 iadr(l)=l+l-1
17 sadr(l)=(l/2)+1
18c 17c
19 if (rhs .ne. 3) then 18 if (rhs .ne. 3) then
20 call error(39) 19 call error(39)
diff --git a/scilab/modules/dynamic_link/macros/configure_msifort.sci b/scilab/modules/dynamic_link/macros/configure_msifort.sci
index 5924316..16316e4 100644
--- a/scilab/modules/dynamic_link/macros/configure_msifort.sci
+++ b/scilab/modules/dynamic_link/macros/configure_msifort.sci
@@ -20,12 +20,58 @@ function ifpath = getIFpath(ifversion)
20 ifpath = getenv('IFORT_COMPILER9',''); 20 ifpath = getenv('IFORT_COMPILER9','');
21 case 'ifort10' then 21 case 'ifort10' then
22 ifpath = getenv('IFORT_COMPILER10',''); 22 ifpath = getenv('IFORT_COMPILER10','');
23 case 'ifort11' then
24 ifpath = getenv('IFORT_COMPILER11','');
23 else 25 else
24 ifpath = ''; 26 ifpath = '';
25 end 27 end
26endfunction 28endfunction
27//========================================== 29//==========================================
28function bOK = set_commons_msifort(ifpath,machinepath) 30function bOK = set_commons_msifort11(ifpath,machinepath)
31 // intel fortran directories changed with version 11
32 bOK = %F;
33 ENV_PATH = getenv('PATH','');
34 // example set PATH=%IFORT_COMPILER11%\Bin\intel64;
35 PATH_TO_ADD = ifpath + 'bin' + filesep() + machinepath;
36 if isdir(PATH_TO_ADD) then
37 ENV_PATH = PATH_TO_ADD + pathsep() + ENV_PATH;
38 err = setenv('PATH',ENV_PATH);
39 if (err == %F) then bOK = %F,return,end
40 bOK = %T;
41 else
42 bOK = %F;
43 return;
44 end
45
46 // example set INCLUDE=%IFORT_COMPILER11%\include\intel64;
47 ENV_INCLUDE = getenv('INCLUDE','');
48 PATH_TO_ADD = ifpath + 'include' + filesep() + machinepath;
49 if isdir(PATH_TO_ADD) then
50 ENV_INCLUDE = PATH_TO_ADD + pathsep() + ENV_INCLUDE;
51 err = setenv('INCLUDE',ENV_INCLUDE);
52 if (err == %F) then bOK = %F,return,end
53 bOK = %T;
54 else
55 bOK = %F;
56 return;
57 end
58
59 // example set LIB=%IFORT_COMPILER10%\lib\intel64;
60 ENV_LIB = getenv('LIB','');
61 PATH_TO_ADD = ifpath + 'lib' + filesep() + machinepath;
62 if isdir(PATH_TO_ADD) then
63 ENV_LIB = PATH_TO_ADD + pathsep() + ENV_LIB;
64 err = setenv('LIB',ENV_LIB);
65 if (err == %F) then bOK = %F,return,end
66 bOK = %T;
67 else
68 bOK = %F;
69 return;
70 end
71
72endfunction
73//==========================================
74function bOK = set_commons_msi9and10(ifpath,machinepath)
29 bOK = %F; 75 bOK = %F;
30 76
31 // example set PATH=%IFORT_COMPILER10%\EM64T\Bin; 77 // example set PATH=%IFORT_COMPILER10%\EM64T\Bin;
@@ -69,7 +115,6 @@ function bOK = set_commons_msifort(ifpath,machinepath)
69 115
70endfunction 116endfunction
71//========================================== 117//==========================================
72
73 bOK = %F; 118 bOK = %F;
74 if MSDOS then 119 if MSDOS then
75 ifortcompiler = findmsifortcompiler(); 120 ifortcompiler = findmsifortcompiler();
@@ -77,9 +122,17 @@ endfunction
77 if_path = getIFpath(ifortcompiler); 122 if_path = getIFpath(ifortcompiler);
78 123
79 if win64() & detectmsifort64tools() then 124 if win64() & detectmsifort64tools() then
80 set_commons_msifort(if_path,'EM64T'); 125 if ifortcompiler == 'ifort11' then
126 set_commons_msifort11(if_path,'intel64');
127 else
128 set_commons_msi9and10(if_path,'EM64T');
129 end
81 else 130 else
82 set_commons_msifort(if_path,'IA32'); 131 if ifortcompiler == 'ifort11' then
132 set_commons_msifort11(if_path,'ia32');
133 else
134 set_commons_msi9and10(if_path,'IA32');;
135 end
83 end 136 end
84 137
85 end 138 end
diff --git a/scilab/modules/dynamic_link/macros/detectmsifort64tools.sci b/scilab/modules/dynamic_link/macros/detectmsifort64tools.sci
index bb33b14..94bb77e 100644
--- a/scilab/modules/dynamic_link/macros/detectmsifort64tools.sci
+++ b/scilab/modules/dynamic_link/macros/detectmsifort64tools.sci
@@ -19,6 +19,9 @@ function bOK = detectmsifort64tools()
19 if ifortcomp <> 'unknown' then 19 if ifortcomp <> 'unknown' then
20 select ifortcomp, 20 select ifortcomp,
21 21
22 case 'ifort11' then
23 IFORTPATH = getenv('IFORT_COMPILER11','');
24
22 case 'ifort10' then 25 case 'ifort10' then
23 IFORTPATH = getenv('IFORT_COMPILER10',''); 26 IFORTPATH = getenv('IFORT_COMPILER10','');
24 27
@@ -28,7 +31,7 @@ function bOK = detectmsifort64tools()
28 else 31 else
29 show = displayWarningmsifort(); 32 show = displayWarningmsifort();
30 if show then 33 if show then
31 TXT = gettext('Intel Fortran Comiler 9 or 10 Compiler not found.'); 34 TXT = gettext('Intel Fortran Comiler 9, 10 or 11 Compiler not found.');
32 warning(TXT); 35 warning(TXT);
33 clear TXT; 36 clear TXT;
34 disableWarningmsifort(); 37 disableWarningmsifort();
@@ -38,7 +41,11 @@ function bOK = detectmsifort64tools()
38 end 41 end
39 end 42 end
40 43
41 IFORTSPATHEMT64 = IFORTPATH + 'em64t'; 44 if (ifortcomp == 'ifort11') then
45 IFORTSPATHEMT64 = IFORTPATH + 'lib\intel64';
46 else
47 IFORTSPATHEMT64 = IFORTPATH + 'em64t';
48 end
42 49
43 if isdir(IFORTSPATHEMT64) then 50 if isdir(IFORTSPATHEMT64) then
44 bOK = %T; 51 bOK = %T;
diff --git a/scilab/modules/dynamic_link/macros/findmsifortcompiler.sci b/scilab/modules/dynamic_link/macros/findmsifortcompiler.sci
index 3d63d01..9002a35 100644
--- a/scilab/modules/dynamic_link/macros/findmsifortcompiler.sci
+++ b/scilab/modules/dynamic_link/macros/findmsifortcompiler.sci
@@ -14,11 +14,15 @@ function ifortCompiler = findmsifortcompiler()
14 ifortCompiler='unknown'; // unknown 14 ifortCompiler='unknown'; // unknown
15 15
16 if MSDOS then 16 if MSDOS then
17 if getenv('IFORT_COMPILER10','NOK') <> 'NOK' then 17 if getenv('IFORT_COMPILER11','NOK') <> 'NOK' then
18 ifortCompiler='ifort10'; 18 ifortCompiler='ifort11';
19 else 19 else
20 if getenv('IFORT_COMPILER9','NOK') <> 'NOK' then 20 if getenv('IFORT_COMPILER10','NOK') <> 'NOK' then
21 ifortCompiler='ifort9'; 21 ifortCompiler='ifort10';
22 else
23 if getenv('IFORT_COMPILER9','NOK') <> 'NOK' then
24 ifortCompiler='ifort9';
25 end
22 end 26 end
23 end 27 end
24 else // NOT MSDOS 28 else // NOT MSDOS
diff --git a/scilab/modules/dynamic_link/tests/nonreg_tests/bug_3769.tst b/scilab/modules/dynamic_link/tests/nonreg_tests/bug_3769.tst
new file mode 100644
index 0000000..8d68084
--- /dev/null
+++ b/scilab/modules/dynamic_link/tests/nonreg_tests/bug_3769.tst
@@ -0,0 +1,30 @@
1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2008 - DIGITEO - Allan CORNET
4//
5// This file is distributed under the same license as the Scilab package.
6// =============================================================================
7
8// <-- ENGLISH IMPOSED -->
9
10// <-- Non-regression test for bug 3647 -->
11//
12// <-- Bugzilla URL -->
13// http://bugzilla.scilab.org/show_bug.cgi?id=3769
14//
15// <-- Short Description -->
16// Dynamic link doesn't detect intel fortran compiler version 11 on Windows
17
18// <-- INTERACTIVE TEST -->
19
20// On Windows Only
21// Please be sure that you have installed Intel fortran 11
22// launch scilab
23//
24
25r = findmsifortcompiler();
26if r <> ifort11 then pause,end
27
28// And checks that others tests about dynamic link work
29
30//================================================
diff --git a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_chinesehat.f b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_chinesehat.f
index 8ae5a0a..4090769 100644
--- a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_chinesehat.f
+++ b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_chinesehat.f
@@ -11,10 +11,9 @@ c
11 INCLUDE 'stack.h' 11 INCLUDE 'stack.h'
12 integer id(nsiz) 12 integer id(nsiz)
13 13
14 integer iadr,sadr 14 integer iadr
15c 15c
16 iadr(l)=l+l-1 16 iadr(l)=l+l-1
17 sadr(l)=(l/2)+1
18 17
19 fun=-1 18 fun=-1
20 il=iadr(lstk(top-rhs+1)) 19 il=iadr(lstk(top-rhs+1))
diff --git a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_dsearch.f b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_dsearch.f
index 6fa7760..63076f9 100644
--- a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_dsearch.f
+++ b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_dsearch.f
@@ -43,9 +43,8 @@ c LOCAL VAR
43 character*9 fname 43 character*9 fname
44 44
45c STATEMENT FUNC 45c STATEMENT FUNC
46 integer l, iadr,sadr 46 integer l, iadr
47 iadr(l)=l+l-1 47 iadr(l)=l+l-1
48 sadr(l)=(l/2)+1
49 48
50c TEXT 49c TEXT
51 fname = 'dsearch' 50 fname = 'dsearch'
diff --git a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_rand.f b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_rand.f
index 8970bc1..368cfc3 100644
--- a/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_rand.f
+++ b/scilab/modules/elementary_functions/sci_gateway/fortran/sci_f_rand.f
@@ -9,9 +9,9 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txtc ----------------
9c 9c
10 subroutine intrand(fname,id) 10 subroutine intrand(fname,id)
11c ------------------------------- 11c -------------------------------
12 character*(*) fname
13c Interface for rand function 12c Interface for rand function
14 INCLUDE 'stack.h' 13 INCLUDE 'stack.h'
14 character*(*) fname
15 double precision s,sr,si,r 15 double precision s,sr,si,r
16 save si, r 16 save si, r
17 integer id(nsiz),tops,topk,name(nlgh) 17 integer id(nsiz),tops,topk,name(nlgh)
@@ -22,11 +22,10 @@ c Interface for rand function
22 character*(20) randtype 22 character*(20) randtype
23 logical phase 23 logical phase
24 save phase 24 save phase
25 integer iadr,sadr
26 data phase /.true./ 25 data phase /.true./
26 integer iadr
27c 27c
28 iadr(l)=l+l-1 28 iadr(l)=l+l-1
29 sadr(l)=(l/2)+1
30c 29c
31 rhs=max(0,rhs) 30 rhs=max(0,rhs)
32 if (.not.checklhs(fname,1,1)) return 31 if (.not.checklhs(fname,1,1)) return
diff --git a/scilab/modules/graphics/includes/GetProperty.h b/scilab/modules/graphics/includes/GetProperty.h
index a62fd72..b406317 100644
--- a/scilab/modules/graphics/includes/GetProperty.h
+++ b/scilab/modules/graphics/includes/GetProperty.h
@@ -179,7 +179,7 @@ void sciGetGridStyle( sciPointObj * pObj, int * xStyle, int * yStyle, int * zSty
179 179
180void sciGetViewport( sciPointObj * pObj, int viewport[4] ); 180void sciGetViewport( sciPointObj * pObj, int viewport[4] );
181 181
182char * sciGetInfoMessage( sciPointObj * pObj ) ; 182void sciGetInfoMessage( sciPointObj * pObj, char * infoMessage ) ;
183 183
184int sciGetInfoMessageLength( sciPointObj * pObj ) ; 184int sciGetInfoMessageLength( sciPointObj * pObj ) ;
185 185
diff --git a/scilab/modules/graphics/includes/Interaction.h b/scilab/modules/graphics/includes/Interaction.h
index ad9cf14..858e26a 100644
--- a/scilab/modules/graphics/includes/Interaction.h
+++ b/scilab/modules/graphics/includes/Interaction.h
@@ -53,13 +53,12 @@ int Objmove(sciPointObj * pobj, double d[], int m, BOOL opt); /* INTERACTION */
53 * @param pFigure figure on which to apply the rubber box 53 * @param pFigure figure on which to apply the rubber box
54 * @param isClick specify whether the rubber box is selected by mouse click 54 * @param isClick specify whether the rubber box is selected by mouse click
55 * or a sequence of press/release. 55 * or a sequence of press/release.
56 * @param isZoom specify if the rubber box is used for a zoom and then change the mouse cursor.
57 * @param intialRect if not null, specify the initial rectangle to use 56 * @param intialRect if not null, specify the initial rectangle to use
58 * @param[out] endRect array containing the coordinates of two opposite corners of 57 * @param[out] endRect array containing the coordinates of two opposite corners of
59 * the rubber box 58 * the rubber box
60 * @param[out] usedButton Scilab code of the button used to terminate the rubber box 59 * @param[out] usedButton Scilab code of the button used to terminate the rubber box
61 */ 60 */
62void pixelRubberBox(sciPointObj * pFigure, BOOL isClick, BOOL isZoom, 61void pixelRubberBox(sciPointObj * pFigure, BOOL isClick,
63 const int initialRect[4], int endRect[4], int * usedButton); 62 const int initialRect[4], int endRect[4], int * usedButton);
64 63
65/** 64/**
@@ -67,17 +66,20 @@ void pixelRubberBox(sciPointObj * pFigure, BOOL isClick, BOOL isZoom,
67 * @param pFigure figure on which to apply the rubber box 66 * @param pFigure figure on which to apply the rubber box
68 * @param isClick specify whether the rubber box is selected by mouse click 67 * @param isClick specify whether the rubber box is selected by mouse click
69 * or a sequence of press/release. 68 * or a sequence of press/release.
70 * @param isZoom specify if the rubber box is used for a zoom and then change the mouse cursor.
71 *
72 * @param intialRect if not null, specify the initial rectangle [x,y,w,h] to use 69 * @param intialRect if not null, specify the initial rectangle [x,y,w,h] to use
73 * @param[out] endRect array containing the [x,y,w,h] of the selected rectangle 70 * @param[out] endRect array containing the [x,y,w,h] of the selected rectangle
74 * @param[out] usedButton Scilab code of the button used to terminate the rubber box 71 * @param[out] usedButton Scilab code of the button used to terminate the rubber box
75 */ 72 */
76void rubberBox(sciPointObj * pSubwin, BOOL isClick, BOOL isZoom, 73void rubberBox(sciPointObj * pSubwin, BOOL isClick,
77 const double initialRect[4], double endRect[4], int * usedButton); 74 const double initialRect[4], double endRect[4], int * usedButton);
78 75
79 76
80/** 77/**
78 * Perform an interative zoom on a subwin or figure handle;
79 */
80void interactiveZoom(sciPointObj * pObj);
81
82/**
81 * Interactive rotation of a subwin within the figure. 83 * Interactive rotation of a subwin within the figure.
82 */ 84 */
83void interactiveRotation(sciPointObj * pFigure); 85void interactiveRotation(sciPointObj * pFigure);
@@ -85,7 +87,7 @@ void interactiveRotation(sciPointObj * pFigure);
85/** 87/**
86 * Interactive rotation of a subwindow 88 * Interactive rotation of a subwindow
87 */ 89 */
88void interactiveSubwinRotation(sciPointObj * pSubiwn); 90void interactiveSubwinRotation(sciPointObj * pSubwin);
89 91
90/** 92/**
91 * Put the figure in top of other windows. 93 * Put the figure in top of other windows.
@@ -93,5 +95,10 @@ void interactiveSubwinRotation(sciPointObj * pSubiwn);
93 */ 95 */
94void showWindow(sciPointObj * pFigure); 96void showWindow(sciPointObj * pFigure);
95 97
98/**
99 * Modify a subwin viewing angles by a certain amount.
100 */
101void updateViewingAngles(sciPointObj * pSubwin, double deltaAlpha, double deltaTheta);
102
96 103
97#endif /* __SCI_INTERACTION__ */ 104#endif /* __SCI_INTERACTION__ */
diff --git a/scilab/modules/graphics/includes/ObjectStructure.h b/scilab/modules/graphics/includes/ObjectStructure.h
index 4e99e15..d49731a 100644
--- a/scilab/modules/graphics/includes/ObjectStructure.h
+++ b/scilab/modules/graphics/includes/ObjectStructure.h
@@ -313,6 +313,7 @@ typedef struct
313 double * colorMap ; 313 double * colorMap ;
314 int numColors ; 314 int numColors ;
315 BOOL autoResizeMode; 315 BOOL autoResizeMode;
316 char * infoMessage; /**< String displayed in the info bar of the graphic window */
316} 317}
317FigureModelData ; 318FigureModelData ;
318 319
@@ -347,7 +348,6 @@ typedef struct
347 BOOL allredraw; 348 BOOL allredraw;
348 349
349 sciFont fontcontext; /* F.Leray 08.04.04 */ 350 sciFont fontcontext; /* F.Leray 08.04.04 */
350 char * infoMessage ; /**< String displayed in the info bar of the graphic window */
351 351
352 char * eventHandler ; /**< Name of the EventHandler function */ 352 char * eventHandler ; /**< Name of the EventHandler function */
353 BOOL isEventHandlerEnable ; /**< flag enabling or disabling eventhandler */ 353 BOOL isEventHandlerEnable ; /**< flag enabling or disabling eventhandler */
diff --git a/scilab/modules/graphics/includes/SetProperty.h b/scilab/modules/graphics/includes/SetProperty.h
index ddb2847..a5086f1 100644
--- a/scilab/modules/graphics/includes/SetProperty.h
+++ b/scilab/modules/graphics/includes/SetProperty.h
@@ -35,7 +35,7 @@
35 35
36#include "BOOL.h" 36#include "BOOL.h"
37 37
38void Obj_RedrawNewAngle(sciPointObj *psubwin,double theta,double alpha); /* SET */ 38void Obj_RedrawNewAngle(sciPointObj * pSubwin, double alpha, double theta); /* SET */
39 39
40int sciSetEntityType (sciPointObj * pobj, sciEntityType value); /* SET */ 40int sciSetEntityType (sciPointObj * pobj, sciEntityType value); /* SET */
41int sciSetColormap (sciPointObj * pobj, double *rgbmat, 41int sciSetColormap (sciPointObj * pobj, double *rgbmat,
@@ -218,6 +218,7 @@ int sciSetGridStyle( sciPointObj * pObj, int xStyle, int yStyle, int zStyle ) ;
218 218
219int sciSetViewport( sciPointObj * pObj, const int viewport[4] ) ; /* SET */ 219int sciSetViewport( sciPointObj * pObj, const int viewport[4] ) ; /* SET */
220 220
221int sciInitInfoMessage(sciPointObj * pObj, const char * newMessage);
221int sciSetInfoMessage( sciPointObj * pObj, const char * newMessage ) ; /* SET */ 222int sciSetInfoMessage( sciPointObj * pObj, const char * newMessage ) ; /* SET */
222 223
223int sciInitEventHandler( sciPointObj * pObj, char * name ) ; 224int sciInitEventHandler( sciPointObj * pObj, char * name ) ;
diff --git a/scilab/modules/graphics/includes/axesScale.h b/scilab/modules/graphics/includes/axesScale.h
index e7f1521..95c2e68 100644
--- a/scilab/modules/graphics/includes/axesScale.h
+++ b/scilab/modules/graphics/includes/axesScale.h
@@ -44,6 +44,21 @@ void updateSubwinScale(sciPointObj * pSubwin);
44 * Update text bounds if needed 44 * Update text bounds if needed
45 */ 45 */
46void updateTextBounds(sciPointObj * pText); 46void updateTextBounds(sciPointObj * pText);
47
48/**
49 * Zoom an object using a rectangular selection given in pixels.
50 * @param pObj must be a figure or subwin handle
51 * @param x1 X coordinate of a corner of the selection
52 * @param y1 Y coordinate of a corner of the selection
53 * @param x2 X coordinate of the oppoiste corner of the selection
54 * @param y2 Y coordinate of the opposite corner of the selection
55 */
56void sciZoomObject(sciPointObj * pObj, int x1, int y1, int x2, int y2);
57
58/**
59 * Unzoom a subwindow
60 */
61void unzoomSubwin(sciPointObj * pSubwin);
47/*------------------------------------------------------------------------------*/ 62/*------------------------------------------------------------------------------*/
48BOOL checkDataBounds(sciPointObj * pObj, double xMin, double xMax, 63BOOL checkDataBounds(sciPointObj * pObj, double xMin, double xMax,
49 double yMin, double yMax, double zMin, double zMax); 64 double yMin, double yMax, double zMin, double zMax);
diff --git a/scilab/modules/graphics/sci_gateway/c/sci_rubberbox.c b/scilab/modules/graphics/sci_gateway/c/sci_rubberbox.c
index 75de387..fa11e3f 100644
--- a/scilab/modules/graphics/sci_gateway/c/sci_rubberbox.c
+++ b/scilab/modules/graphics/sci_gateway/c/sci_rubberbox.c
@@ -134,14 +134,14 @@ int sci_rubberbox(char * fname, unsigned long fname_len)
134 if (initialRectSpecified == 1 ) 134 if (initialRectSpecified == 1 )
135 { 135 {
136 /* edition mode is false if initial rect is specified */ 136 /* edition mode is false if initial rect is specified */
137 rubberBox(sciGetCurrentSubWin(), TRUE, FALSE, initialRect, selectedRect, &button); 137 rubberBox(sciGetCurrentSubWin(), TRUE, initialRect, selectedRect, &button);
138 } 138 }
139 else if (initialRectSpecified == 0) 139 else if (initialRectSpecified == 0)
140 { 140 {
141 /* no intial rect */ 141 /* no intial rect */
142 if (getEditionMode()) 142 if (getEditionMode())
143 { 143 {
144 rubberBox(sciGetCurrentSubWin(), FALSE, FALSE, NULL, selectedRect, &button); 144 rubberBox(sciGetCurrentSubWin(), FALSE, NULL, selectedRect, &button);
145 } 145 }
146 else 146 else
147 { 147 {
@@ -149,7 +149,7 @@ int sci_rubberbox(char * fname, unsigned long fname_len)
149 if (Rhs == 0) 149 if (Rhs == 0)
150 { 150 {
151 /* ok no parameter at all */ 151 /* ok no parameter at all */
152 rubberBox(sciGetCurrentSubWin(), TRUE, FALSE, NULL, selectedRect, &button); 152 rubberBox(sciGetCurrentSubWin(), TRUE, NULL, selectedRect, &button);
153 } 153 }
154 else 154 else
155 { 155 {
diff --git a/scilab/modules/graphics/src/c/BuildObjects.c b/scilab/modules/graphics/src/c/BuildObjects.c
index 95604cf..40b7f67 100644
--- a/scilab/modules/graphics/src/c/BuildObjects.c
+++ b/scilab/modules/graphics/src/c/BuildObjects.c
@@ -181,8 +181,7 @@ sciPointObj * ConstructFigure(sciPointObj * pparent, int * figureIndex)
181 sciGetScreenPosition(pfiguremdl, &x[0], &x[1]) ; 181 sciGetScreenPosition(pfiguremdl, &x[0], &x[1]) ;
182 sciInitScreenPosition( pobj, x[0], x[1] ); 182 sciInitScreenPosition( pobj, x[0], x[1] );
183 183
184 ppFigure->infoMessage = NULL ; /* needed otherwise it will be realloc */ 184 sciInitInfoMessage( pobj, ppModel->pModelData->infoMessage ) ;
185 sciSetInfoMessage( pobj, sciGetInfoMessage(pfiguremdl) ) ;
186 185
187 ppFigure->tag = NULL; 186 ppFigure->tag = NULL;
188 187
diff --git a/scilab/modules/graphics/src/c/DestroyObjects.c b/scilab/modules/graphics/src/c/DestroyObjects.c
index a23d9d5..6d3f70f 100644
--- a/scilab/modules/graphics/src/c/DestroyObjects.c
+++ b/scilab/modules/graphics/src/c/DestroyObjects.c
@@ -245,8 +245,6 @@ int DestroyFigure (sciPointObj * pthis)
245 { 245 {
246 FREE( pFIGURE_FEATURE(pthis)->eventHandler ) ; 246 FREE( pFIGURE_FEATURE(pthis)->eventHandler ) ;
247 } 247 }
248
249 FREE( pFIGURE_FEATURE(pthis)->infoMessage ) ;
250 248
251 destroyUiobjectTag(pthis); 249 destroyUiobjectTag(pthis);
252 destroyFigureModelData(pFIGURE_FEATURE(pthis)->pModelData) ; 250 destroyFigureModelData(pFIGURE_FEATURE(pthis)->pModelData) ;
diff --git a/scilab/modules/graphics/src/c/GetProperty.c b/scilab/modules/graphics/src/c/GetProperty.c
index ba943e5..e1cb1c7 100644
--- a/scilab/modules/graphics/src/c/GetProperty.c
+++ b/scilab/modules/graphics/src/c/GetProperty.c
@@ -2953,17 +2953,24 @@ void sciGetViewport( sciPointObj * pObj, int viewport[4] )
2953 } 2953 }
2954} 2954}
2955/*----------------------------------------------------------------------------------*/ 2955/*----------------------------------------------------------------------------------*/
2956char * sciGetInfoMessage( sciPointObj * pObj ) 2956void sciGetInfoMessage( sciPointObj * pObj, char * infoMessage )
2957{ 2957{
2958 switch ( sciGetEntityType(pObj) ) 2958 switch ( sciGetEntityType(pObj) )
2959 { 2959 {
2960 case SCI_FIGURE: 2960 case SCI_FIGURE:
2961 return pFIGURE_FEATURE(pObj)->infoMessage ; 2961 if (isFigureModel(pObj))
2962 {
2963 strcpy(infoMessage, pFIGURE_FEATURE(pObj)->pModelData->infoMessage);
2964 }
2965 else
2966 {
2967 sciGetJavaInfoMessage(pObj, infoMessage);
2968 }
2969 break;
2962 default: 2970 default:
2963 printSetGetErrorMessage("info_message"); 2971 printSetGetErrorMessage("info_message");
2964 return NULL ; 2972 break;
2965 } 2973 }
2966 return NULL ;
2967} 2974}
2968/*----------------------------------------------------------------------------------*/ 2975/*----------------------------------------------------------------------------------*/
2969int sciGetInfoMessageLength( sciPointObj * pObj ) 2976int sciGetInfoMessageLength( sciPointObj * pObj )
@@ -2971,7 +2978,14 @@ int sciGetInfoMessageLength( sciPointObj * pObj )
2971 switch ( sciGetEntityType(pObj) ) 2978 switch ( sciGetEntityType(pObj) )
2972 { 2979 {
2973 case SCI_FIGURE: 2980 case SCI_FIGURE:
2974 return (int)strlen( pFIGURE_FEATURE(pObj)->infoMessage ) ; 2981 if (isFigureModel(pObj))
2982 {
2983 return (int) strlen( pFIGURE_FEATURE(pObj)->pModelData->infoMessage ) ;
2984 }
2985 else
2986 {
2987 return sciGetJavaInfoMessageLength(pObj);
2988 }
2975 default: 2989 default:
2976 printSetGetErrorMessage("info_message"); 2990 printSetGetErrorMessage("info_message");
2977 return -1 ; 2991 return -1 ;
diff --git a/scilab/modules/graphics/src/c/InitObjects.c b/scilab/modules/graphics/src/c/InitObjects.c
index 3f22505..9c7cf63 100644
--- a/scilab/modules/graphics/src/c/InitObjects.c
+++ b/scilab/modules/graphics/src/c/InitObjects.c
@@ -498,10 +498,8 @@ int InitFigureModel( void )
498 pFIGURE_FEATURE (pfiguremdl)->size_of_user_data = 0; /* pour completude */ 498 pFIGURE_FEATURE (pfiguremdl)->size_of_user_data = 0; /* pour completude */
499 499
500 pFIGURE_FEATURE (pfiguremdl)->numsubwinselected = 0; 500 pFIGURE_FEATURE (pfiguremdl)->numsubwinselected = 0;
501 //sciInitPixmapMode(pfiguremdl, FALSE); 501 sciInitPixmapMode(pfiguremdl, FALSE);
502 pFIGURE_FEATURE (pfiguremdl)->pixmapMode = FALSE ; 502 sciInitInfoMessage( pfiguremdl, "") ;
503 //sciSetInfoMessage( pfiguremdl, "" ) ;
504 pFIGURE_FEATURE(pfiguremdl)->infoMessage = strdup("");
505 503
506 /* 504 /*
507 ** Must set Event Handler before making it enable 505 ** Must set Event Handler before making it enable
@@ -961,6 +959,7 @@ FigureModelData * newFigureModelData( void )
961 modelData->viewport[1] = 0; 959 modelData->viewport[1] = 0;
962 modelData->viewport[2] = 610; 960 modelData->viewport[2] = 610;
963 modelData->viewport[3] = 461; 961 modelData->viewport[3] = 461;
962 modelData->infoMessage = NULL;
964 963
965 return modelData ; 964 return modelData ;
966} 965}
@@ -972,8 +971,18 @@ void destroyFigureModelData( FigureModelData * data )
972{ 971{
973 if ( data != NULL ) 972 if ( data != NULL )
974 { 973 {
975 FREE(data->colorMap); 974 if (data->colorMap != NULL)
976 data->colorMap = NULL; 975 {
976 FREE(data->colorMap);
977 data->colorMap = NULL;
978 }
979
980 if (data->infoMessage != NULL)
981 {
982 FREE(data->infoMessage);
983 data->infoMessage = NULL;
984 }
985
977 FREE( data ) ; 986 FREE( data ) ;
978 data = NULL ; 987 data = NULL ;
979 } 988 }
diff --git a/scilab/modules/graphics/src/c/Interaction.c b/scilab/modules/graphics/src/c/Interaction.c
index 2e0d4c3..e29680c 100644
--- a/scilab/modules/graphics/src/c/Interaction.c
+++ b/scilab/modules/graphics/src/c/Interaction.c
@@ -44,7 +44,6 @@
44 44
45/*-------------------------------------------------------------------------------------*/ 45/*-------------------------------------------------------------------------------------*/
46static int moveObj(sciPointObj * pobj, double displacement[], int displacementSize); 46static int moveObj(sciPointObj * pobj, double displacement[], int displacementSize);
47static void trackSubwinRotation(sciPointObj * pSubwin);
48/*-------------------------------------------------------------------------------------*/ 47/*-------------------------------------------------------------------------------------*/
49 48
50/**sciAddCallback 49/**sciAddCallback
@@ -601,13 +600,13 @@ int Objmove (sciPointObj * pobj, double d[], int m,BOOL opt)
601} 600}
602 601
603/*---------------------------------------------------------------------------------*/ 602/*---------------------------------------------------------------------------------*/
604void pixelRubberBox(sciPointObj * pFigure, BOOL isClick, BOOL isZoom, 603void pixelRubberBox(sciPointObj * pFigure, BOOL isClick,
605 const int initialRect[4], int endRect[4], int * usedButton) 604 const int initialRect[4], int endRect[4], int * usedButton)
606{ 605{
607 javaRubberBox(pFigure, isClick, isZoom, initialRect, endRect, usedButton); 606 javaRubberBox(pFigure, isClick, initialRect, endRect, usedButton);
608} 607}
609/*---------------------------------------------------------------------------------*/ 608/*---------------------------------------------------------------------------------*/
610void rubberBox(sciPointObj * pSubwin, BOOL isClick, BOOL isZoom, 609void rubberBox(sciPointObj * pSubwin, BOOL isClick,
611 const double initialRect[4], double endRect[4], int * usedButton) 610 const double initialRect[4], double endRect[4], int * usedButton)
612{ 611{
613 int endPixelRect[4]; 612 int endPixelRect[4];
@@ -633,11 +632,11 @@ void rubberBox(sciPointObj * pSubwin, BOOL isClick, BOOL isZoom,
633 sciGet2dViewPixelCoordinates(pSubwin, firstCorner, initialPixelRect); 632 sciGet2dViewPixelCoordinates(pSubwin, firstCorner, initialPixelRect);
634 sciGet2dViewPixelCoordinates(pSubwin, secondCorner, initialPixelRect + 2); 633 sciGet2dViewPixelCoordinates(pSubwin, secondCorner, initialPixelRect + 2);
635 634
636 javaRubberBox(sciGetParentFigure(pSubwin), isClick, isZoom, initialPixelRect, endPixelRect, usedButton); 635 pixelRubberBox(sciGetParentFigure(pSubwin), isClick, initialPixelRect, endPixelRect, usedButton);
637 } 636 }
638 else 637 else
639 { 638 {
640 javaRubberBox(sciGetParentFigure(pSubwin), isClick, isZoom, NULL, endPixelRect, usedButton); 639 pixelRubberBox(sciGetParentFigure(pSubwin), isClick, NULL, endPixelRect, usedButton);
641 } 640 }
642 641
643 /* here we get the two opposite points of the rectangle in pixels */ 642 /* here we get the two opposite points of the rectangle in pixels */
@@ -653,98 +652,50 @@ void rubberBox(sciPointObj * pSubwin, BOOL isClick, BOOL isZoom,
653 652
654} 653}
655/*---------------------------------------------------------------------------------*/ 654/*---------------------------------------------------------------------------------*/
655void interactiveZoom(sciPointObj * pObj)
656{
657 if (sciGetEntityType(pObj) == SCI_FIGURE)
658 {
659 interactiveJavaZoom(pObj);
660 }
661 else if (sciGetEntityType(pObj) == SCI_SUBWIN)
662 {
663 interactiveJavaSubwinZoom(pObj);
664 }
665}
666/*---------------------------------------------------------------------------------*/
656void interactiveRotation(sciPointObj * pFigure) 667void interactiveRotation(sciPointObj * pFigure)
657{ 668{
658 /* get coordinates of first mouse click */ 669 interactiveJavaRotation(pFigure);
659 int clickCoordinates[2];
660 sciPointObj * clickedSubwin;
661 char * currentInfoMessage = sciGetInfoMessage(pFigure);
662 char * curInfoMessageCopy = NULL;
663
664 /* copy the info message to be able to reset it after zooming */
665 curInfoMessageCopy = MALLOC((strlen(currentInfoMessage) + 1) * sizeof(char));
666
667 if (curInfoMessageCopy == NULL)
668 {
669 sciprint(_("%s: No more memory.\n"), "Interactive rotation");
670 }
671 strcpy(curInfoMessageCopy, currentInfoMessage);
672 startFigureDataWriting(pFigure);
673 sciSetInfoMessage(pFigure, _("Click on an Axes object to start rotation. Click again to terminate."));
674 endFigureDataWriting(pFigure);
675
676 getJavaRotationDisplacement(pFigure, clickCoordinates);
677
678 /* find the subwin which is under the click if any */
679 clickedSubwin = getClickedSubwin(pFigure, clickCoordinates[0], clickCoordinates[1]);
680 if (clickedSubwin == NULL)
681 {
682 // no subwin found return
683 stopJavaRotationRecording(pFigure);
684 /* restore previous info message */
685 startFigureDataWriting(pFigure);
686 sciSetInfoMessage(pFigure,curInfoMessageCopy);
687 endFigureDataWriting(pFigure);
688 return;
689 }
690
691 trackSubwinRotation(clickedSubwin);
692
693 /* restore previous info message */
694 startFigureDataWriting(pFigure);
695 sciSetInfoMessage(pFigure,curInfoMessageCopy);
696 endFigureDataWriting(pFigure);
697
698 FREE(curInfoMessageCopy);
699
700} 670}
701/*---------------------------------------------------------------------------------*/ 671/*---------------------------------------------------------------------------------*/
702void interactiveSubwinRotation(sciPointObj * pSubiwn) 672void interactiveSubwinRotation(sciPointObj * pSubwin)
703{ 673{
704 /* get coordinates of first mouse click */ 674 /* get coordinates of first mouse click */
705 sciPointObj * parentFigure = sciGetParentFigure(pSubiwn); 675 interactiveJavaSubwinRotation(pSubwin);
706 int clickCoordinates[2];
707 getJavaRotationDisplacement(parentFigure, clickCoordinates);
708
709 trackSubwinRotation(pSubiwn);
710
711} 676}
712/*---------------------------------------------------------------------------------*/ 677/*---------------------------------------------------------------------------------*/
713/** 678void showWindow(sciPointObj * pFigure)
714 * Interactive rotation of a subwindow from initial mouse coordinates 679{
715 */ 680 javaShowWindow(pFigure);
716void trackSubwinRotation(sciPointObj * pSubwin) 681}
682/*---------------------------------------------------------------------------------*/
683void updateViewingAngles(sciPointObj * pSubwin, double deltaAlpha, double deltaTheta)
717{ 684{
718 int mouseDisplacement[2]; 685 double newAlpha;
719 double alpha; 686 double newTheta;
720 double theta;
721 sciPointObj * parentFigure = sciGetParentFigure(pSubwin);
722 687
688 /* Get current angles */
689 sciGetViewingAngles(pSubwin, &newAlpha, &newTheta);
723 690
724 /* get current viewing angles */ 691 /* update them */
725 sciGetViewingAngles(pSubwin, &alpha, &theta); 692 newAlpha += deltaAlpha;
726 while (getJavaRotationDisplacement(parentFigure, mouseDisplacement)) 693 newTheta += deltaTheta;
727 {
728 /* rotate axes accordingly */
729 alpha -= mouseDisplacement[1] / 4.0;
730 theta -= mouseDisplacement[0] / 4.0;
731
732 /* redraw */
733 startFigureDataWriting(parentFigure);
734 Obj_RedrawNewAngle(pSubwin, theta, alpha);
735 setInfoMessageWithRotationAngles(parentFigure, alpha, theta);
736 endFigureDataWriting(parentFigure);
737
738 /* several subwins may have been rotated */
739 sciDrawObj(parentFigure);
740 }
741 694
742 /* Perhaps we should think of restoring figure info message after the call */ 695 Obj_RedrawNewAngle(pSubwin, newAlpha, newTheta);
743 696
697 /* Update info message */
698 setInfoMessageWithRotationAngles(sciGetParentFigure(pSubwin), newAlpha, newTheta);
744} 699}
745/*---------------------------------------------------------------------------------*/ 700/*---------------------------------------------------------------------------------*/
746void showWindow(sciPointObj * pFigure) 701
747{
748 javaShowWindow(pFigure);
749}
750/*---------------------------------------------------------------------------------*/
diff --git a/scilab/modules/graphics/src/c/SetProperty.c b/scilab/modules/graphics/src/c/SetProperty.c
index 3216fe5..99e2a8d 100644
--- a/scilab/modules/graphics/src/c/SetProperty.c
+++ b/scilab/modules/graphics/src/c/SetProperty.c
@@ -119,10 +119,10 @@ int setSubWinAngles( sciPointObj *psubwin, double theta, double alpha )
119/* Modify the viewing angles of a subwindow and the one of its brothers id necessary */ 119/* Modify the viewing angles of a subwindow and the one of its brothers id necessary */
120/*---------------------------------------------------------------------------*/ 120/*---------------------------------------------------------------------------*/
121 121
122void Obj_RedrawNewAngle( sciPointObj * pSubWin, double theta, double alpha ) 122void Obj_RedrawNewAngle(sciPointObj * pSubwin, double alpha, double theta)
123{ 123{
124 /* check if all the axis must be turned */ 124 /* check if all the axis must be turned */
125 sciPointObj * pParentFigure = sciGetParentFigure( pSubWin ) ; 125 sciPointObj * pParentFigure = sciGetParentFigure( pSubwin ) ;
126 if ( pFIGURE_FEATURE(pParentFigure)->rotstyle == 1 ) 126 if ( pFIGURE_FEATURE(pParentFigure)->rotstyle == 1 )
127 { 127 {
128 /* every axes has the same angles */ 128 /* every axes has the same angles */
@@ -143,8 +143,8 @@ void Obj_RedrawNewAngle( sciPointObj * pSubWin, double theta, double alpha )
143 else 143 else
144 { 144 {
145 /* modify angles only for this axes */ 145 /* modify angles only for this axes */
146 setSubWinAngles( pSubWin, theta, alpha ) ; 146 setSubWinAngles( pSubwin, theta, alpha ) ;
147 forceRedraw(pSubWin); 147 forceRedraw(pSubwin);
148 } 148 }
149} 149}
150 150
@@ -1850,7 +1850,7 @@ int sciInitName(sciPointObj * pobj, char * newName)
1850 /* first case newName is NULL */ 1850 /* first case newName is NULL */
1851 if (newName == NULL) 1851 if (newName == NULL)
1852 { 1852 {
1853 /* Just set tan empty title for the phisical window if needed */ 1853 /* Just set an empty title for the physical window if needed */
1854 if (!isFigureModel(pobj)) 1854 if (!isFigureModel(pobj))
1855 { 1855 {
1856 sciSetJavaTitle(pobj, ""); 1856 sciSetJavaTitle(pobj, "");
@@ -3234,43 +3234,63 @@ int sciSetViewport( sciPointObj * pObj, const int viewport[4] )
3234 3234
3235} 3235}
3236/*-----------------------------------------------------------------------------------*/ 3236/*-----------------------------------------------------------------------------------*/
3237/** 3237int sciInitInfoMessage(sciPointObj * pObj, const char * newMessage)
3238 * Modify the string in the info bar of the graphic window
3239 */
3240int sciSetInfoMessage( sciPointObj * pObj, const char * newMessage )
3241{ 3238{
3242 if ( sciGetEntityType( pObj ) == SCI_FIGURE) 3239 if ( sciGetEntityType( pObj ) == SCI_FIGURE)
3243 {
3244 sciFigure * ppFigure = pFIGURE_FEATURE(pObj) ;
3245
3246 /* We keep a copy of the message for convenience */
3247 if ( newMessage == NULL )
3248 { 3240 {
3249 FREE( ppFigure->infoMessage ) ; 3241
3250 ppFigure->infoMessage = NULL ; 3242 /* first case newName is NULL */
3243 if (newMessage == NULL)
3244 {
3245 /* Just set an empty title for the physical window if needed */
3246 if(isFigureModel(pObj))
3247 {
3248 pFIGURE_FEATURE(pObj)->pModelData->infoMessage = NULL;
3249 }
3250 else
3251 {
3252 sciSetJavaInfoMessage(pObj, "");
3253 }
3254
3255 return 0;
3256 }
3257
3258 if (isFigureModel(pObj))
3259 {
3260 /* Copy the message into the special data */
3261 int newMessageLength = (int) strlen(newMessage);
3262 pFIGURE_FEATURE(pObj)->pModelData->infoMessage = MALLOC((newMessageLength + 1) * sizeof(char));
3263 if (pFIGURE_FEATURE(pObj)->pModelData->infoMessage != NULL)
3264 {
3265 strcpy(pFIGURE_FEATURE(pObj)->pModelData->infoMessage, newMessage);
3266 }
3267 }
3268 else
3269 {
3270 /* Copy in the Java data */
3271 sciSetJavaInfoMessage(pObj, newMessage);
3272 }
3273
3274 return 0 ;
3251 } 3275 }
3252 else 3276 else
3253 { 3277 {
3254 if ( ppFigure->infoMessage != NULL ) 3278 printSetGetErrorMessage("info_message");
3255 { 3279 return -1;
3256 FREE(ppFigure->infoMessage);
3257 }
3258 ppFigure->infoMessage = strdup( newMessage ) ;
3259 } 3280 }
3260 3281}
3261 /* set the java message */ 3282/*-----------------------------------------------------------------------------------*/
3262 if ( pObj != getFigureModel() ) 3283/**
3284 * Modify the string in the info bar of the graphic window
3285 */
3286int sciSetInfoMessage( sciPointObj * pObj, const char * newMessage )
3287{
3288 if (isFigureModel(pObj) && pFIGURE_FEATURE(pObj)->pModelData->infoMessage != NULL)
3263 { 3289 {
3264 sciSetJavaInfoMessage(pObj, newMessage); 3290 FREE(pFIGURE_FEATURE(pObj)->pModelData->infoMessage);
3291 pFIGURE_FEATURE(pObj)->pModelData->infoMessage = NULL;
3265 } 3292 }
3266 3293 return sciInitInfoMessage(pObj, newMessage);
3267 return 0 ;
3268 }
3269 else
3270 {
3271 printSetGetErrorMessage("info_message");
3272 return -1;
3273 }
3274} 3294}
3275/*-----------------------------------------------------------------------------------*/ 3295/*-----------------------------------------------------------------------------------*/
3276int sciInitEventHandler( sciPointObj * pObj, char * name ) 3296int sciInitEventHandler( sciPointObj * pObj, char * name )
diff --git a/scilab/modules/graphics/src/c/axesScale.c b/scilab/modules/graphics/src/c/axesScale.c
index 3792b24..79b2387 100644
--- a/scilab/modules/graphics/src/c/axesScale.c
+++ b/scilab/modules/graphics/src/c/axesScale.c
@@ -35,6 +35,7 @@
35#include "CurrentObjectsManagement.h" 35#include "CurrentObjectsManagement.h"
36#include "Interaction.h" 36#include "Interaction.h"
37#include "DoublyLinkedList.h" 37#include "DoublyLinkedList.h"
38#include "JavaInteraction.h"
38 39
39/*------------------------------------------------------------------------------*/ 40/*------------------------------------------------------------------------------*/
40static void zoomSubwin(sciPointObj * pSubwin, int posX, int posY, int width, int height); 41static void zoomSubwin(sciPointObj * pSubwin, int posX, int posY, int width, int height);
@@ -194,6 +195,30 @@ static void zoomFigure(sciPointObj * pFigure, int posX, int posY, int width, int
194 } 195 }
195} 196}
196/*------------------------------------------------------------------------------*/ 197/*------------------------------------------------------------------------------*/
198void sciZoomObject(sciPointObj * pObj, int x1, int y1, int x2, int y2)
199{
200 /* convert found data to [x,y,w,h] */
201 int x = Min(x1, x2);
202 int y = Min(y1, y2);
203 int w = Abs(x1 - x2);
204 int h = Abs(y1 - y2);
205
206 if (w == 0 || h == 0)
207 {
208 /* Zoom is not possible */
209 return;
210 }
211
212 if (sciGetEntityType(pObj) == SCI_FIGURE)
213 {
214 zoomFigure(pObj, x, y, w, h);
215 }
216 else if (sciGetEntityType(pObj) == SCI_SUBWIN)
217 {
218 zoomSubwin(pObj, x, y, w, h);
219 }
220}
221/*------------------------------------------------------------------------------*/
197/** 222/**
198 * Perform an interactive zoom (rectangular selection + zoom) 223 * Perform an interactive zoom (rectangular selection + zoom)
199 * @param pObj object on which the zoom will be applied. 224 * @param pObj object on which the zoom will be applied.
@@ -202,61 +227,7 @@ static void zoomFigure(sciPointObj * pFigure, int posX, int posY, int width, int
202 */ 227 */
203void sciInteractiveZoom(sciPointObj * pObj) 228void sciInteractiveZoom(sciPointObj * pObj)
204{ 229{
205 int selectionRectangleCorners[4]; 230 interactiveZoom(pObj);
206 int x;
207 int y;
208 int w;
209 int h;
210 int button;
211
212 sciPointObj * parentFigure = sciGetParentFigure(pObj);
213 char * currentInfoMessage = sciGetInfoMessage(parentFigure);
214 char * curInfoMessageCopy = NULL;
215
216 /* copy the info message to be able to reset it after zooming */
217 curInfoMessageCopy = MALLOC((strlen(currentInfoMessage) + 1) * sizeof(char));
218
219 if (curInfoMessageCopy == NULL)
220 {
221 sciprint(_("%s: No more memory.\n"), "Interactive zoom");
222 }
223 strcpy(curInfoMessageCopy, currentInfoMessage);
224
225 startFigureDataWriting(parentFigure);
226 /* display how to use zoom in the info bar */
227 sciSetInfoMessage(parentFigure, _("Click on the figure to select zooming area. Click again to stop."));
228 endFigureDataWriting(parentFigure);
229
230 /* create a rubber box to select a rectangular area */
231 pixelRubberBox(parentFigure, TRUE, TRUE, NULL, selectionRectangleCorners, &button);
232
233 /* convert found data to [x,y,w,h] */
234 x = Min(selectionRectangleCorners[0], selectionRectangleCorners[2]);
235 y = Min(selectionRectangleCorners[1], selectionRectangleCorners[3]);
236 w = Abs(selectionRectangleCorners[0] - selectionRectangleCorners[2]);
237 h = Abs(selectionRectangleCorners[1] - selectionRectangleCorners[3]);
238
239 /* Zoom using the found pixels if the selection is not empry */
240 startFigureDataWriting(parentFigure);
241 if (w != 0 && h != 0)
242 {
243 if (sciGetEntityType(pObj) == SCI_FIGURE)
244 {
245 zoomFigure(pObj, x, y, w, h);
246 }
247 else if (sciGetEntityType(pObj) == SCI_SUBWIN)
248 {
249 zoomSubwin(pObj, x, y, w, h);
250 }
251 }
252 // restore info message
253 sciSetInfoMessage(parentFigure, curInfoMessageCopy);
254 endFigureDataWriting(parentFigure);
255
256 FREE(curInfoMessageCopy);
257
258 /* redraw */
259 sciDrawObj(parentFigure);
260} 231}
261/*------------------------------------------------------------------------------*/ 232/*------------------------------------------------------------------------------*/
262/** 233/**
@@ -272,7 +243,7 @@ void sciDefaultInteractiveZoom(void)
272 243
273 244
274 /* zoom current figure */ 245 /* zoom current figure */
275 sciInteractiveZoom(curFigure); 246 interactiveZoom(curFigure);
276} 247}
277/*------------------------------------------------------------------------------*/ 248/*------------------------------------------------------------------------------*/
278/** 249/**
@@ -321,19 +292,18 @@ BOOL checkDataBounds(sciPointObj * pObj, double xMin, double xMax,
321 */ 292 */
322void sciUnzoomSubwin(sciPointObj * subwin) 293void sciUnzoomSubwin(sciPointObj * subwin)
323{ 294{
324 int currentStatus; 295 javaUnzoomSubwin(subwin);
325 sciPointObj * parentFig = sciGetParentFigure(subwin); 296}
326 startFigureDataWriting(parentFig); 297/*------------------------------------------------------------------------------*/
327 currentStatus = sciSetZooming(subwin, FALSE); 298void unzoomSubwin(sciPointObj * pSubwin)
328 299{
300 int currentStatus;
301 currentStatus = sciSetZooming(pSubwin, FALSE);
329 if (currentStatus == 0) 302 if (currentStatus == 0)
330 { 303 {
331 /* redraw only if needed */ 304 /* redraw only if needed */
332 forceRedraw(subwin); 305 forceRedraw(pSubwin);
333 } 306 }
334
335 endFigureDataWriting(parentFig);
336
337} 307}
338/*------------------------------------------------------------------------------*/ 308/*------------------------------------------------------------------------------*/
339/** 309/**
diff --git a/scilab/modules/graphics/src/c/getHandleProperty/get_info_message_property.c b/scilab/modules/graphics/src/c/getHandleProperty/get_info_message_property.c
index 4a2c3e6..4a09a2f 100644
--- a/scilab/modules/graphics/src/c/getHandleProperty/get_info_message_property.c
+++ b/scilab/modules/graphics/src/c/getHandleProperty/get_info_message_property.c
@@ -23,16 +23,35 @@
23#include "returnProperty.h" 23#include "returnProperty.h"
24#include "sciprint.h" 24#include "sciprint.h"
25#include "localization.h" 25#include "localization.h"
26#include "MALLOC.h"
26 27
27/*------------------------------------------------------------------------*/ 28/*------------------------------------------------------------------------*/
28int get_info_message_property( sciPointObj * pobj ) 29int get_info_message_property( sciPointObj * pobj )
29{ 30{
30 if ( sciGetEntityType(pobj) != SCI_FIGURE ) 31 char * infoMessage = NULL;
32 int infoMessageLength;
33 int res = -1;
34
35 if ( sciGetEntityType(pobj) != SCI_FIGURE )
31 { 36 {
32 sciprint(_("%s property does not exist for this handle.\n"),"info_message") ; 37 sciprint(_("%s property does not exist for this handle.\n"),"info_message") ;
33 return -1; 38 return -1;
34 } 39 }
35 return sciReturnString( sciGetInfoMessage( pobj ) ) ; 40
41 infoMessageLength = sciGetInfoMessageLength(pobj);
42 infoMessage = MALLOC((infoMessageLength + 1) * sizeof(char));
43 if (infoMessage == NULL)
44 {
45 return sciReturnString("");
46 }
47
48 sciGetInfoMessage(pobj, infoMessage);
49
50
51 res = sciReturnString( infoMessage ) ;
52
53 FREE(infoMessage);
36 54
55 return res;
37} 56}
38/*------------------------------------------------------------------------*/ 57/*------------------------------------------------------------------------*/
diff --git a/scilab/modules/graphics/src/c/getHandleProperty/set_rotation_angles_property.c b/scilab/modules/graphics/src/c/getHandleProperty/set_rotation_angles_property.c
index 41e1b39..6c4bcd3 100644
--- a/scilab/modules/graphics/src/c/getHandleProperty/set_rotation_angles_property.c
+++ b/scilab/modules/graphics/src/c/getHandleProperty/set_rotation_angles_property.c
@@ -45,7 +45,7 @@ int set_rotation_angles_property( sciPointObj * pobj, size_t stackPointer, int v
45 return SET_PROPERTY_ERROR ; 45 return SET_PROPERTY_ERROR ;
46 } 46 }
47 47
48 Obj_RedrawNewAngle( pobj, values[1], values[0] ) ; 48 Obj_RedrawNewAngle( pobj, values[0], values[1] ) ;
49 49
50 return SET_PROPERTY_SUCCEED ; 50 return SET_PROPERTY_SUCCEED ;
51 51
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_3080.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_3080.tst
new file mode 100644
index 0000000..a8df44f
--- /dev/null
+++ b/scilab/modules/graphics/tests/nonreg_tests/bug_3080.tst
@@ -0,0 +1,35 @@
1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2008-2008 - DIGITEO - Jean-Baptiste Silvy
4//
5// This file is distributed under the same license as the Scilab package.
6// =============================================================================
7
8// <-- INTERACTIVE TEST -->
9
10// <-- Non-regression test for bug 3080 -->
11//
12// <-- Bugzilla URL -->
13// http://bugzilla.scilab.org/show_bug.cgi?id=3080
14//
15// <-- Short Description -->
16// When we click many times on a button of the Graphic window the instruction will be done as much times we have clicked.
17//
18
19plot3d();
20rotate_axes();
21rotate_axes();
22rotate_axes();
23zoom_rect();
24zoom_rect();
25unzoom();
26rotate_axes();
27zoom_rect();
28rotate_axes();
29unzoom();
30unzoom();
31zoom_rect();
32zoom_rect();
33rotate_axes();
34
35// only the last rotae_axes should be active
diff --git a/scilab/modules/gui/macros/figure.sci b/scilab/modules/gui/macros/figure.sci
index c83435b..27b1581 100644
--- a/scilab/modules/gui/macros/figure.sci
+++ b/scilab/modules/gui/macros/figure.sci
@@ -15,13 +15,7 @@ Rhs=length(varargin);
15if (Rhs == 0) then 15if (Rhs == 0) then
16 // Create a new graphic window 16 // Create a new graphic window
17 h = scf(); 17 h = scf();
18 set(h, "immediate_drawing", "off"); // to avoid canvas creation 18 setFigDefaultProperties(%f);
19 // Set its default background for compatibility with versions < 5.0
20 set(h,"background",addcolor([0.8 0.8 0.8]))
21 axes = gca();
22 set(axes, "filled", "off"); // transparent axes so no need to display them
23 set(axes, "background", addcolor([0.8 0.8 0.8])); // same as figure
24 set(h, "immediate_drawing", "on"); // we can draw now
25else 19else
26 if (Rhs == 1) then 20 if (Rhs == 1) then
27 21
@@ -85,12 +79,8 @@ else
85 h=scf(numOrHandle); 79 h=scf(numOrHandle);
86end 80end
87 81
88if ~alreadyExists 82setFigDefaultProperties(alreadyExists);
89 // Set the default background if figure has just been created (compatibility with versions < 5.0) 83
90 set(h,"background",addcolor([0.8 0.8 0.8]))
91end
92// Hide the current axis
93set(gca(),"visible","off");
94endfunction 84endfunction
95// ----------------------------------------------------------- 85// -----------------------------------------------------------
96 86
@@ -123,3 +113,30 @@ else
123end 113end
124endfunction 114endfunction
125// ----------------------------------------------------------- 115// -----------------------------------------------------------
116
117// -----------------------------------------------------------
118function setFigDefaultProperties(alreadyExists)
119// Jean-Baptiste SILVY - Digiteo 2008
120// Set default properties for the lastly created figure.
121// These properties ensure that the 3D canvas won't be created
122// argument already exists is false if the figure has just been created.
123
124defaultColor = [0.8 0.8 0.8];
125curFig = gcf();
126axes = gca();
127
128set(curFig, "immediate_drawing", "off"); // to avoid canvas creation
129
130if ~alreadyExists
131 // Set the default background if figure has just been created (compatibility with versions < 5.0)
132 set(curFig,"background", addcolor(defaultColor));
133 set(axes, "background", addcolor(defaultColor)); // same as figure
134end
135
136set(axes,"visible","off");
137set(axes, "filled", "off"); // transparent axes so no need to display them
138
139set(curFig, "immediate_drawing", "on"); // we can draw now
140
141endfunction
142// -----------------------------------------------------------
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/AxesRotationTracker.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/AxesRotationTracker.java
index b3ae3b1..84a2d16 100644
--- a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/AxesRotationTracker.java
+++ b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/AxesRotationTracker.java
@@ -98,21 +98,27 @@ public class AxesRotationTracker extends MouseDisplacementTracker implements Mou
98 getTrackedCanvas().setCursor(ScilabSwingUtilities.createCursorFromIcon(ICON_PATH, CURSOR_ICON_NAME)); 98 getTrackedCanvas().setCursor(ScilabSwingUtilities.createCursorFromIcon(ICON_PATH, CURSOR_ICON_NAME));
99 // wait for initialization with a first click 99 // wait for initialization with a first click
100 waitForClick(displacement); 100 waitForClick(displacement);
101 101 if (recordEnded) {
102 if (clickPosX >= 0) { 102 // the record has been canceled
103 reinit();
104 return false;
105 } else {
103 // start recording the mouse displacement 106 // start recording the mouse displacement
104 startRecording(clickPosX, clickPosY); 107 startRecording(clickPosX, clickPosY);
105 return true; 108 return true;
106 } else {
107 // the record has been cancelled
108 reinit();
109 return false;
110 } 109 }
111 } else if (!recordEnded) { 110 } else if (!recordEnded) {
112 // inside tracking loop 111 // inside tracking loop
113 // get mouse displacement since last call 112 // get mouse displacement since last call
114 getMouseDisplacement(displacement); 113 getMouseDisplacement(displacement);
115 return true; 114
115 if (recordEnded) {
116 // record might have been canceled asynchronously
117 reinit();
118 return false;
119 } else {
120 return true;
121 }
116 } else { 122 } else {
117 // last call get current displacement and return 123 // last call get current displacement and return
118 getImmediateMouseDisplacement(displacement); 124 getImmediateMouseDisplacement(displacement);
@@ -125,15 +131,19 @@ public class AxesRotationTracker extends MouseDisplacementTracker implements Mou
125 } 131 }
126 132
127 /** 133 /**
128 * Manual disactivation of recording 134 * Manual disabling of recording
129 */ 135 */
130 public void cancelRecording() { 136 public void cancelRecording() {
131 endRecording(); 137 endRecording();
132 reinit(); 138
139 // wake everyone if needed
140 synchronized (getLock()) {
141 getLock().notifyAll();
142 }
133 } 143 }
134 144
135 /** 145 /**
136 * Start mouse tarcking. 146 * Start mouse tracking.
137 * @param initX initial X coordinate 147 * @param initX initial X coordinate
138 * @param initY initial Y coordinate 148 * @param initY initial Y coordinate
139 */ 149 */
@@ -155,6 +165,7 @@ public class AxesRotationTracker extends MouseDisplacementTracker implements Mou
155 getTrackedCanvas().removeMouseListener(this); 165 getTrackedCanvas().removeMouseListener(this);
156 getTrackedCanvas().removeFocusListener(this); 166 getTrackedCanvas().removeFocusListener(this);
157 recordEnded = true; 167 recordEnded = true;
168 recordStarted = true;
158 } 169 }
159 170
160 /** 171 /**
@@ -197,6 +208,7 @@ public class AxesRotationTracker extends MouseDisplacementTracker implements Mou
197 } else { 208 } else {
198 clickPosX = -1; 209 clickPosX = -1;
199 clickPosY = -1; 210 clickPosY = -1;
211 recordEnded = true;
200 } 212 }
201 213
202 214
@@ -243,11 +255,8 @@ public class AxesRotationTracker extends MouseDisplacementTracker implements Mou
243 // focus lost so stop recording 255 // focus lost so stop recording
244 256
245 // dont't stop if focus is given to one of the tracked canvas children 257 // dont't stop if focus is given to one of the tracked canvas children
246 if (event.getOppositeComponent().getParent() != getTrackedCanvas()) { 258 if (event.getOppositeComponent() == null || event.getOppositeComponent().getParent() != getTrackedCanvas()) {
247 endRecording(); 259 cancelRecording();
248 synchronized (getLock()) {
249 getLock().notifyAll();
250 }
251 } 260 }
252 } 261 }
253 262
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ScilabRubberBox.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ScilabRubberBox.java
index 19aebf2..fdd8f4c 100644
--- a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ScilabRubberBox.java
+++ b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ScilabRubberBox.java
@@ -19,6 +19,7 @@ import java.awt.event.MouseListener;
19import java.awt.event.MouseMotionListener; 19import java.awt.event.MouseMotionListener;
20 20
21import org.scilab.modules.gui.bridge.canvas.SwingScilabCanvas; 21import org.scilab.modules.gui.bridge.canvas.SwingScilabCanvas;
22import org.scilab.modules.renderer.FigureMapper;
22import org.scilab.modules.renderer.utils.selection.RubberBox; 23import org.scilab.modules.renderer.utils.selection.RubberBox;
23 24
24/** 25/**
@@ -45,10 +46,10 @@ public abstract class ScilabRubberBox extends RubberBox
45 * @param selectedCanvas Canvas on which the rubberbox will be added 46 * @param selectedCanvas Canvas on which the rubberbox will be added
46 */ 47 */
47 public ScilabRubberBox(SwingScilabCanvas selectedCanvas) { 48 public ScilabRubberBox(SwingScilabCanvas selectedCanvas) {
48 super(); 49 super(FigureMapper.getCorrespondingFigure(selectedCanvas.getFigureIndex()));
49 drawingMode = false; 50 drawingMode = false;
50 this.selectedCanvas = selectedCanvas; 51 this.selectedCanvas = selectedCanvas;
51 terminateButton = 0; 52 setUsedButton(0);
52 } 53 }
53 54
54 /** 55 /**
@@ -70,14 +71,14 @@ public abstract class ScilabRubberBox extends RubberBox
70 * the rubber box 71 * the rubber box
71 * @param buttonCode Scilab code of the button 72 * @param buttonCode Scilab code of the button
72 */ 73 */
73 protected void setUsedButton(int buttonCode) { 74 protected synchronized void setUsedButton(int buttonCode) {
74 terminateButton = buttonCode; 75 terminateButton = buttonCode;
75 } 76 }
76 77
77 /** 78 /**
78 * @return Scilab code of the button used to terminate the rubber box 79 * @return Scilab code of the button used to terminate the rubber box
79 */ 80 */
80 protected int getUsedButton() { 81 protected synchronized int getUsedButton() {
81 return terminateButton; 82 return terminateButton;
82 } 83 }
83 84
@@ -106,7 +107,6 @@ public abstract class ScilabRubberBox extends RubberBox
106 } 107 }
107 } 108 }
108 109
109
110 return rubberBox.getRectangle(initialRect, endRect); 110 return rubberBox.getRectangle(initialRect, endRect);
111 } 111 }
112 112
@@ -131,7 +131,11 @@ public abstract class ScilabRubberBox extends RubberBox
131 // wait until rubber box if finished 131 // wait until rubber box if finished
132 synchronized (lock) { 132 synchronized (lock) {
133 try { 133 try {
134 lock.wait(); 134 // check if rubberBox has not been canceled already
135 if (getUsedButton() != CLOSE_ACTION_BUTTON) {
136 // Ok, it's not already canceled
137 lock.wait();
138 }
135 } catch (InterruptedException e) { 139 } catch (InterruptedException e) {
136 e.printStackTrace(); 140 e.printStackTrace();
137 } 141 }
@@ -144,6 +148,7 @@ public abstract class ScilabRubberBox extends RubberBox
144 endRect[1] = getFirstPointY(); 148 endRect[1] = getFirstPointY();
145 endRect[2] = getSecondPointX(); 149 endRect[2] = getSecondPointX();
146 endRect[INITIAL_RECT_SIZE - 1] = getSecondPointY(); 150 endRect[INITIAL_RECT_SIZE - 1] = getSecondPointY();
151
147 152
148 return getUsedButton(); 153 return getUsedButton();
149 154
@@ -200,7 +205,7 @@ public abstract class ScilabRubberBox extends RubberBox
200 setSecondPoint(secondPointX, secondPointY); 205 setSecondPoint(secondPointX, secondPointY);
201 206
202 // activate the canvas 207 // activate the canvas
203 activate(selectedCanvas.getFigureIndex()); 208 activate();
204 209
205 // now track mouse motion event to update the rectangle position 210 // now track mouse motion event to update the rectangle position
206 selectedCanvas.addMouseMotionListener(this); 211 selectedCanvas.addMouseMotionListener(this);
@@ -213,8 +218,8 @@ public abstract class ScilabRubberBox extends RubberBox
213 * End the display of the dragging rectangle 218 * End the display of the dragging rectangle
214 */ 219 */
215 protected void endDragging() { 220 protected void endDragging() {
216 // desactivate drawing of rectangle 221 // disable drawing of rectangle
217 desactivate(); 222 deactivate();
218 223
219 // remove listener from the canvas 224 // remove listener from the canvas
220 selectedCanvas.removeMouseMotionListener(this); 225 selectedCanvas.removeMouseMotionListener(this);
@@ -232,24 +237,22 @@ public abstract class ScilabRubberBox extends RubberBox
232 */ 237 */
233 public void hierarchyChanged(HierarchyEvent event) { 238 public void hierarchyChanged(HierarchyEvent event) {
234 // we should stop recording here 239 // we should stop recording here
235 cancelDragging(); 240 cancelRubberbox();
236 } 241 }
237 242
238 /** 243 /**
239 * Cancel the recording and set an empty selection 244 * Cancel the recording and set an empty selection
240 */ 245 */
241 protected void cancelDragging() { 246 public void cancelRubberbox() {
242 // specify that canvas has been closed 247
243 setUsedButton(CLOSE_ACTION_BUTTON); 248 synchronized (lock) {
244 setEmptySelection(); 249 super.cancelRubberbox();
245 250 // specify that canvas has been closed
246 if (isDragging()) { 251 setUsedButton(CLOSE_ACTION_BUTTON);
247 endDragging(); 252 if (isDragging()) {
248 } else { 253 selectedCanvas.removeMouseMotionListener(this);
249 // wake up calling thread
250 synchronized (lock) {
251 lock.notifyAll();
252 } 254 }
255 lock.notifyAll();
253 } 256 }
254 } 257 }
255 258
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ZoomRubberBox.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ZoomRubberBox.java
index e13c4a4..6ab8486 100644
--- a/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ZoomRubberBox.java
+++ b/scilab/modules/gui/src/java/org/scilab/modules/gui/events/ZoomRubberBox.java
@@ -101,7 +101,7 @@ public class ZoomRubberBox extends ClickRubberBox implements FocusListener {
101 // focus lost so stop recording 101 // focus lost so stop recording
102 // do only this if the opposite component is not the canvas itself 102 // do only this if the opposite component is not the canvas itself
103 if (event.getOppositeComponent() != getSelectedCanvas().getAsComponent()) { 103 if (event.getOppositeComponent() != getSelectedCanvas().getAsComponent()) {
104 cancelDragging(); 104 cancelRubberbox();
105 } 105 }
106 } 106 }
107 107
diff --git a/scilab/modules/io/help/en_US/get_absolute_file_path.xml b/scilab/modules/io/help/en_US/get_absolute_file_path.xml
index 65886de..39e2447 100644
--- a/scilab/modules/io/help/en_US/get_absolute_file_path.xml
+++ b/scilab/modules/io/help/en_US/get_absolute_file_path.xml
@@ -69,7 +69,10 @@
69 <para>"get_absolute_file_path" seek, in the internal list of the files of 69 <para>"get_absolute_file_path" seek, in the internal list of the files of
70 scilab currently opened, " filename" and it gives his path.</para> 70 scilab currently opened, " filename" and it gives his path.</para>
71 71
72 <para>if file not opened , it will return current directory path.</para> 72 <para>if file not opened , it will return a error.</para>
73
74 <para>WARNING : in previous version (scilab 5.0.x) current directory was
75 returned if file was not found.</para>
73 76
74 <para>This function can be used to find from where (path) is executed a 77 <para>This function can be used to find from where (path) is executed a
75 scilab script.</para> 78 scilab script.</para>
@@ -105,4 +108,4 @@ mclose(a);
105 108
106 <para>Allan CORNET</para> 109 <para>Allan CORNET</para>
107 </refsection> 110 </refsection>
108</refentry> \ No newline at end of file 111</refentry>
diff --git a/scilab/modules/io/sci_gateway/c/sci_get_absolute_file_path.c b/scilab/modules/io/sci_gateway/c/sci_get_absolute_file_path.c
index f9f9ed6..4234d67 100644
--- a/scilab/modules/io/sci_gateway/c/sci_get_absolute_file_path.c
+++ b/scilab/modules/io/sci_gateway/c/sci_get_absolute_file_path.c
@@ -15,42 +15,30 @@
15 */ 15 */
16/*--------------------------------------------------------------------------*/ 16/*--------------------------------------------------------------------------*/
17#include <string.h> 17#include <string.h>
18#include <stdio.h> /* FILE */ 18#include <stdio.h>
19#ifdef _MSC_VER
20 #include <windows.h>
21#else
22 #include <unistd.h>
23 #define GETCWD(x,y) getcwd(x,y)
24#endif
25
26#include "gw_io.h" 19#include "gw_io.h"
27#include "PATH_MAX.h"
28#include "FileExist.h"
29#include "../../../core/src/c/scicurdir.h"
30#include "stack-c.h" 20#include "stack-c.h"
21#include "PATH_MAX.h"
31#include "MALLOC.h" 22#include "MALLOC.h"
32#include "Scierror.h" 23#include "Scierror.h"
33#include "getfiledesc.h" 24#include "getfiledesc.h"
34#include "getfileinfo.h" 25#include "getfileinfo.h"
35#include "localization.h" 26#include "localization.h"
36#include "freeArrayOfString.h" 27#include "freeArrayOfString.h"
37#include "warningmode.h"
38#include "sciprint.h"
39/*--------------------------------------------------------------------------*/ 28/*--------------------------------------------------------------------------*/
40int C2F(sci_get_absolute_file_path)(char *fname,unsigned long fname_len) 29int C2F(sci_get_absolute_file_path)(char *fname,unsigned long fname_len)
41{ 30{
42 int l1,n1,m1;
43
44 CheckRhs(1,1); 31 CheckRhs(1,1);
45 CheckLhs(1,1); 32 CheckLhs(1,1);
46 33
47 if (! (GetType(1) == sci_strings)) 34 if (GetType(1) != sci_strings)
48 { 35 {
49 Scierror(999,_("%s: Wrong type for input argument #%d: A string.\n"),fname); 36 Scierror(999,_("%s: Wrong type for input argument #%d: A string.\n"),fname);
50 return 0; 37 return 0;
51 } 38 }
52 else 39 else
53 { 40 {
41 int n1,m1;
54 char **parametersIN = NULL; 42 char **parametersIN = NULL;
55 43
56 GetRhsVar(1,MATRIX_OF_STRING_DATATYPE,&m1,&n1,&parametersIN); 44 GetRhsVar(1,MATRIX_OF_STRING_DATATYPE,&m1,&n1,&parametersIN);
@@ -65,8 +53,8 @@ int C2F(sci_get_absolute_file_path)(char *fname,unsigned long fname_len)
65 } 53 }
66 else 54 else
67 { 55 {
68 int i=0; 56 int i = 0;
69 int fdmax=0; 57 int fdmax = 0;
70 char fileNameFormList[PATH_MAX]; 58 char fileNameFormList[PATH_MAX];
71 char *absolute_file_path = NULL; 59 char *absolute_file_path = NULL;
72 char *filename = parametersIN[0]; 60 char *filename = parametersIN[0];
@@ -109,32 +97,9 @@ int C2F(sci_get_absolute_file_path)(char *fname,unsigned long fname_len)
109 97
110 if (!absolute_file_path) /* file not found in list of files opened by scilab */ 98 if (!absolute_file_path) /* file not found in list of files opened by scilab */
111 { 99 {
112 int ierr=0; 100 Scierror(999,_("%s: The file %s does not exist.\n"),fname,filename);
113 int lpath=0; 101 freeArrayOfString(parametersIN,m1*n1);
114 char *path=NULL; 102 return 0;
115
116 if ( getWarningMode() )
117 {
118 sciprint(_("%s: The file %s not found. current directory returned.\n"),fname,filename);
119 }
120
121 scigetcwd(&path,&lpath,&ierr);
122 if (ierr) /* Problem to get current directory */
123 {
124 m1=0; n1=0; l1=0; /* returns a empty string */
125 CreateVar(Rhs+1,STRING_DATATYPE, &m1, &n1, &l1);
126 LhsVar(1)=Rhs+1;
127 C2F(putlhsvar)();
128 return 0;
129 }
130 else
131 {
132 absolute_file_path=(char *)MALLOC(sizeof(char)*(lpath+(int)strlen(DIR_SEPARATOR)+1));
133 strncpy(absolute_file_path,path,lpath);
134 absolute_file_path[lpath]='\0';
135 /* Add '\' or '/' */
136 strcat(absolute_file_path,DIR_SEPARATOR);
137 }
138 } 103 }
139 104
140 freeArrayOfString(parametersIN,m1*n1); 105 freeArrayOfString(parametersIN,m1*n1);
diff --git a/scilab/modules/io/sci_gateway/fortran/intdeff.f b/scilab/modules/io/sci_gateway/fortran/intdeff.f
index a90e620..05e16ed 100644
--- a/scilab/modules/io/sci_gateway/fortran/intdeff.f
+++ b/scilab/modules/io/sci_gateway/fortran/intdeff.f
@@ -15,7 +15,7 @@ c
15 integer nocomp,profile 15 integer nocomp,profile
16 16
17 logical cremat 17 logical cremat
18 integer iadr,sadr 18 integer iadr
19 character *8 caller 19 character *8 caller
20 20
21 save icomp 21 save icomp
@@ -23,7 +23,6 @@ c
23 data nocomp/23/,profile/25/ 23 data nocomp/23/,profile/25/
24c 24c
25 iadr(l)=l+l-1 25 iadr(l)=l+l-1
26 sadr(l)=(l/2)+1
27c 26c
28 icomp=1 27 icomp=1
29 caller='deff' 28 caller='deff'
diff --git a/scilab/modules/io/sci_gateway/fortran/intdisp.f b/scilab/modules/io/sci_gateway/fortran/intdisp.f
index e056f62..3b1703e 100644
--- a/scilab/modules/io/sci_gateway/fortran/intdisp.f
+++ b/scilab/modules/io/sci_gateway/fortran/intdisp.f
@@ -11,11 +11,10 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 11
12 INCLUDE 'stack.h' 12 INCLUDE 'stack.h'
13 integer topk,id(nlgh) 13 integer topk,id(nlgh)
14 integer iadr,sadr 14 integer iadr
15 logical eptover 15 logical eptover
16c 16c
17 iadr(l)=l+l-1 17 iadr(l)=l+l-1
18 sadr(l)=(l/2)+1
19c 18c
20 19
21 if(rstk(pt).eq.908 ) goto 203 20 if(rstk(pt).eq.908 ) goto 203
diff --git a/scilab/modules/io/sci_gateway/fortran/intgetf.f b/scilab/modules/io/sci_gateway/fortran/intgetf.f
index abce52f..e7d610b 100644
--- a/scilab/modules/io/sci_gateway/fortran/intgetf.f
+++ b/scilab/modules/io/sci_gateway/fortran/intgetf.f
@@ -14,12 +14,11 @@ c
14 integer mode(2) 14 integer mode(2)
15 integer nocomp,profile 15 integer nocomp,profile
16 logical opened,eptover,cremat 16 logical opened,eptover,cremat
17 integer iadr,sadr 17 integer iadr
18c 18c
19 data nocomp/23/,profile/25/ 19 data nocomp/23/,profile/25/
20c 20c
21 iadr(l)=l+l-1 21 iadr(l)=l+l-1
22 sadr(l)=(l/2)+1
23c 22c
24 if (rstk(pt).eq.904) goto 57 23 if (rstk(pt).eq.904) goto 57
25c 24c
diff --git a/scilab/modules/io/sci_gateway/fortran/intprint.f b/scilab/modules/io/sci_gateway/fortran/intprint.f
index 3f22718..83e37fe 100644
--- a/scilab/modules/io/sci_gateway/fortran/intprint.f
+++ b/scilab/modules/io/sci_gateway/fortran/intprint.f
@@ -13,13 +13,12 @@ c
13 integer flag,top2,tops 13 integer flag,top2,tops
14 integer mode(2) 14 integer mode(2)
15 logical opened,eptover 15 logical opened,eptover
16 integer iadr,sadr 16 integer iadr
17c 17c
18 save opened,lunit 18 save opened,lunit
19c 19c
20c 20c
21 iadr(l)=l+l-1 21 iadr(l)=l+l-1
22 sadr(l)=(l/2)+1
23c 22c
24 if(rhs.le.1) then 23 if(rhs.le.1) then
25 call error(42) 24 call error(42)
diff --git a/scilab/modules/io/sci_gateway/fortran/oldloadsave.f b/scilab/modules/io/sci_gateway/fortran/oldloadsave.f
index 25e5a81..d14b5b5 100644
--- a/scilab/modules/io/sci_gateway/fortran/oldloadsave.f
+++ b/scilab/modules/io/sci_gateway/fortran/oldloadsave.f
@@ -13,13 +13,12 @@ c
13 integer id(nsiz),mode(2),h(nsiz) 13 integer id(nsiz),mode(2),h(nsiz)
14 integer top2,job,semi 14 integer top2,job,semi
15 logical opened,eptover 15 logical opened,eptover
16 integer iadr,sadr 16 integer iadr
17c 17c
18 data blank/40/,semi/43/ 18 data blank/40/,semi/43/
19 19
20c 20c
21 iadr(l)=l+l-1 21 iadr(l)=l+l-1
22 sadr(l)=(l/2)+1
23c 22c
24 lw=lstk(top+1) 23 lw=lstk(top+1)
25 il=iadr(lstk(top)) 24 il=iadr(lstk(top))
@@ -94,13 +93,12 @@ c
94 integer id(nsiz),mode(2) 93 integer id(nsiz),mode(2)
95 integer top2,job,semi 94 integer top2,job,semi
96 logical opened,eptover 95 logical opened,eptover
97 integer iadr,sadr 96 integer iadr
98c 97c
99 data blank/40/,semi/43/ 98 data blank/40/,semi/43/
100 99
101c 100c
102 iadr(l)=l+l-1 101 iadr(l)=l+l-1
103 sadr(l)=(l/2)+1
104c 102c
105 103
106 lw=lstk(top+1) 104 lw=lstk(top+1)
diff --git a/scilab/modules/io/src/fortran/newsave.f b/scilab/modules/io/src/fortran/newsave.f
index 8412ead..b243fd6 100644
--- a/scilab/modules/io/src/fortran/newsave.f
+++ b/scilab/modules/io/src/fortran/newsave.f
@@ -415,12 +415,10 @@ c Copyright INRIA
415 include 'stack.h' 415 include 'stack.h'
416c 416c
417 integer fd,id(nsiz),vol 417 integer fd,id(nsiz),vol
418 integer iadr
419 logical cremat 418 logical cremat
420 character*3 fmti,fmtd 419 character*3 fmti,fmtd
421c 420c
422c 421c
423 iadr(l)=l+l-1
424 sadr(l)=(l/2)+1 422 sadr(l)=(l/2)+1
425c 423c
426 424
@@ -1443,11 +1441,7 @@ c Save a pointer on sparse lu factorization
1443c 1441c
1444 integer fd 1442 integer fd
1445 character*3 fmti,fmtd 1443 character*3 fmti,fmtd
1446 integer sadr 1444c
1447c
1448c iadr(l)=l+l-1
1449 sadr(l)=(l/2)+1
1450c
1451 fmti='il'//char(0) 1445 fmti='il'//char(0)
1452 fmtd='dl'//char(0) 1446 fmtd='dl'//char(0)
1453c 1447c
@@ -1455,12 +1449,6 @@ c
1455c call error(997) 1449c call error(997)
1456 ierr=997 1450 ierr=997
1457 return 1451 return
1458c write header type excluded
1459c call mputnc (fd,istk(il+1),3,fmti,ierr)
1460c if(ierr.ne.0) return
1461c write pointer
1462c call mputnc(fd,stk(sadr(il+4)),1,fmtd,ierr)
1463c return
1464 end 1452 end
1465 1453
1466 subroutine loadptr(fd,il,n,ierr) 1454 subroutine loadptr(fd,il,n,ierr)
@@ -1540,11 +1528,7 @@ c Save a pointer on sparse lu factorization
1540c 1528c
1541 integer fd 1529 integer fd
1542 character*3 fmti,fmtd 1530 character*3 fmti,fmtd
1543 integer sadr 1531
1544c
1545c iadr(l)=l+l-1
1546 sadr(l)=(l/2)+1
1547c
1548 fmti='il'//char(0) 1532 fmti='il'//char(0)
1549 fmtd='dl'//char(0) 1533 fmtd='dl'//char(0)
1550c 1534c
@@ -1580,7 +1564,6 @@ c Save a pointer on sparse lu factorization
1580 character*3 fmti,fmtd 1564 character*3 fmti,fmtd
1581 integer sadr 1565 integer sadr
1582c 1566c
1583c iadr(l)=l+l-1
1584 sadr(l)=(l/2)+1 1567 sadr(l)=(l/2)+1
1585c 1568c
1586 fmti='il'//char(0) 1569 fmti='il'//char(0)
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_3075.dia.ref b/scilab/modules/io/tests/nonreg_tests/bug_3075.dia.ref
index 60134fc..86bfb07 100644
--- a/scilab/modules/io/tests/nonreg_tests/bug_3075.dia.ref
+++ b/scilab/modules/io/tests/nonreg_tests/bug_3075.dia.ref
@@ -6,13 +6,14 @@
6// ============================================================================= 6// =============================================================================
7// <-- Non-regression test for bug 3075 --> 7// <-- Non-regression test for bug 3075 -->
8// 8//
9// <-- Short Description -->
10// get_absolute_file_path() doesn't return error message when the input
11// argument hasn't the right size or a correct value.
12//
9// <-- Bugzilla URL --> 13// <-- Bugzilla URL -->
10// http://bugzilla.scilab.org/show_bug.cgi?id=3075 14// http://bugzilla.scilab.org/show_bug.cgi?id=3075
11// 15//
12a=mopen(TMPDIR+'test.sce','wt'); 16a=mopen(TMPDIR+'test.sce','wt');
13warning('off');
14if get_absolute_file_path('fhsjdfhjdshkfq') <> pwd()+filesep() then bugmes();quit;end
15warning('on');
16if get_absolute_file_path('test.sce') <> TMPDIR then bugmes();quit;end 17if get_absolute_file_path('test.sce') <> TMPDIR then bugmes();quit;end
17mclose(a); 18mclose(a);
18ierr = execstr('get_absolute_file_path('''')','errcatch'); 19ierr = execstr('get_absolute_file_path('''')','errcatch');
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_3075.tst b/scilab/modules/io/tests/nonreg_tests/bug_3075.tst
index e28ab41..9420502 100644
--- a/scilab/modules/io/tests/nonreg_tests/bug_3075.tst
+++ b/scilab/modules/io/tests/nonreg_tests/bug_3075.tst
@@ -16,10 +16,6 @@
16// 16//
17 17
18a=mopen(TMPDIR+'test.sce','wt'); 18a=mopen(TMPDIR+'test.sce','wt');
19warning('off');
20if get_absolute_file_path('fhsjdfhjdshkfq') <> pwd()+filesep() then pause,end
21warning('on');
22
23if get_absolute_file_path('test.sce') <> TMPDIR then pause,end 19if get_absolute_file_path('test.sce') <> TMPDIR then pause,end
24mclose(a); 20mclose(a);
25 21
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_3427.dia.ref b/scilab/modules/io/tests/nonreg_tests/bug_3427.dia.ref
index ee8289b..27accc9 100644
--- a/scilab/modules/io/tests/nonreg_tests/bug_3427.dia.ref
+++ b/scilab/modules/io/tests/nonreg_tests/bug_3427.dia.ref
@@ -19,10 +19,10 @@
19ierr = execstr('mgetl(''SCI/etc/scilab.start'',''r'');','errcatch'); 19ierr = execstr('mgetl(''SCI/etc/scilab.start'',''r'');','errcatch');
20if ierr <> 999 then bugmes();quit;end 20if ierr <> 999 then bugmes();quit;end
21err_msg = lasterror(); 21err_msg = lasterror();
22ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An integer scalar expected.\n"),'mgetl',2); 22ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An int scalar expected.\n"),'mgetl',2);
23if err_msg <> ref_msg then bugmes();quit;end 23if err_msg <> ref_msg then bugmes();quit;end
24ierr = execstr('mgetl(''SCI/etc/scilab.start'',[5 5]);','errcatch'); 24ierr = execstr('mgetl(''SCI/etc/scilab.start'',[5 5]);','errcatch');
25if ierr <> 999 then bugmes();quit;end 25if ierr <> 999 then bugmes();quit;end
26err_msg = lasterror(); 26err_msg = lasterror();
27ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An integer scalar expected.\n"),'mgetl',2); 27ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An int scalar expected.\n"),'mgetl',2);
28if err_msg <> ref_msg then bugmes();quit;end 28if err_msg <> ref_msg then bugmes();quit;end
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_3427.tst b/scilab/modules/io/tests/nonreg_tests/bug_3427.tst
index dadd7a8..f4a40de 100644
--- a/scilab/modules/io/tests/nonreg_tests/bug_3427.tst
+++ b/scilab/modules/io/tests/nonreg_tests/bug_3427.tst
@@ -21,13 +21,13 @@
21ierr = execstr('mgetl(''SCI/etc/scilab.start'',''r'');','errcatch'); 21ierr = execstr('mgetl(''SCI/etc/scilab.start'',''r'');','errcatch');
22if ierr <> 999 then pause,end 22if ierr <> 999 then pause,end
23err_msg = lasterror(); 23err_msg = lasterror();
24ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An integer scalar expected.\n"),'mgetl',2); 24ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An int scalar expected.\n"),'mgetl',2);
25 25
26if err_msg <> ref_msg then pause,end 26if err_msg <> ref_msg then pause,end
27 27
28ierr = execstr('mgetl(''SCI/etc/scilab.start'',[5 5]);','errcatch'); 28ierr = execstr('mgetl(''SCI/etc/scilab.start'',[5 5]);','errcatch');
29if ierr <> 999 then pause,end 29if ierr <> 999 then pause,end
30err_msg = lasterror(); 30err_msg = lasterror();
31ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An integer scalar expected.\n"),'mgetl',2); 31ref_msg = msprintf(gettext("%s: Wrong type for input argument #%d: An int scalar expected.\n"),'mgetl',2);
32 32
33if err_msg <> ref_msg then pause,end 33if err_msg <> ref_msg then pause,end
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_3775.dia.ref b/scilab/modules/io/tests/nonreg_tests/bug_3775.dia.ref
new file mode 100644
index 0000000..3c779ce
--- /dev/null
+++ b/scilab/modules/io/tests/nonreg_tests/bug_3775.dia.ref
@@ -0,0 +1,22 @@
1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2008 - DIGITEO - Allan CORNET
4//
5// This file is distributed under the same license as the Scilab package.
6// =============================================================================
7// <-- Non-regression test for bug 3775 -->
8//
9// <-- Short Description -->
10//There is no way to know if the path returned by get_absolute_file_path() is the good one or not :
11//if the input argument is not an opened file, the current directory is returned.
12//=> It should return an error instead of just printing a message.
13//
14// <-- Bugzilla URL -->
15// http://bugzilla.scilab.org/show_bug.cgi?id=3775
16//
17a=mopen(TMPDIR+'test.sce','wt');
18path_returned = get_absolute_file_path('test.sce');
19if (path_returned <> TMPDIR) then bugmes();quit;end
20mclose(a);
21ierr = execstr('path_returned = get_absolute_file_path(''test.sce'');','