errcatch and iserror functions removed from YaSp. 96/15596/2
Cedric Delamarre [Wed, 26 Nov 2014 14:43:51 +0000 (15:43 +0100)]
Change-Id: I4415c658eec6ab3a38ab1ad3cf4c72fe20b6c1f4

28 files changed:
scilab/modules/core/help/en_US/error_handling/errcatch.xml [deleted file]
scilab/modules/core/help/en_US/error_handling/iserror.xml [deleted file]
scilab/modules/core/help/en_US/variables/predef.xml
scilab/modules/core/help/fr_FR/error_handling/errcatch.xml [deleted file]
scilab/modules/core/help/fr_FR/error_handling/iserror.xml [deleted file]
scilab/modules/core/help/ja_JP/error_handling/errcatch.xml [deleted file]
scilab/modules/core/help/ja_JP/error_handling/iserror.xml [deleted file]
scilab/modules/core/help/ja_JP/variables/predef.xml
scilab/modules/core/help/pt_BR/error_handling/errcatch.xml [deleted file]
scilab/modules/core/help/pt_BR/error_handling/iserror.xml [deleted file]
scilab/modules/core/help/ru_RU/error_handling/errcatch.xml [deleted file]
scilab/modules/core/help/ru_RU/error_handling/iserror.xml [deleted file]
scilab/modules/core/help/ru_RU/variables/predef.xml
scilab/modules/core/sci_gateway/c/sci_errcatch.c [deleted file]
scilab/modules/core/tests/nonreg_tests/bug_1430.dia.ref [deleted file]
scilab/modules/core/tests/nonreg_tests/bug_1430.tst [deleted file]
scilab/modules/core/tests/nonreg_tests/bug_2613.dia.ref
scilab/modules/core/tests/nonreg_tests/bug_2613.tst
scilab/modules/core/tests/nonreg_tests/bug_2619.tst [deleted file]
scilab/modules/core/tests/nonreg_tests/bug_2621.tst [deleted file]
scilab/modules/core/tests/nonreg_tests/bug_2622.tst [deleted file]
scilab/modules/core/tests/nonreg_tests/bug_2623.tst [deleted file]
scilab/modules/core/tests/nonreg_tests/bug_8050.dia.ref [deleted file]
scilab/modules/core/tests/nonreg_tests/bug_8050.tst [deleted file]
scilab/modules/core/tests/unit_tests/errcatch.dia.ref [deleted file]
scilab/modules/core/tests/unit_tests/errcatch.tst [deleted file]
scilab/modules/core/tests/unit_tests/matsys.dia.ref
scilab/modules/core/tests/unit_tests/matsys.tst

diff --git a/scilab/modules/core/help/en_US/error_handling/errcatch.xml b/scilab/modules/core/help/en_US/error_handling/errcatch.xml
deleted file mode 100644 (file)
index 1e0db56..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="errcatch">
-    <refnamediv>
-        <refname>errcatch</refname>
-        <refpurpose>error trapping</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Calling Sequence</title>
-        <synopsis>errcatch(n [,'action'] [,'option'])
-            errcatch()
-        </synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Arguments</title>
-        <variablelist>
-            <varlistentry>
-                <term>n</term>
-                <listitem>
-                    <para>integer</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>action, option</term>
-                <listitem>
-                    <para>strings</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Description</title>
-        <para>
-            <function>errcatch</function> gives an "action" (error-handler)  to be
-            performed when an error of type <varname>n</varname> occurs.
-        </para>
-        <para>
-            <varname>n</varname> has the following meanings:
-        </para>
-        <para>
-            if <varname>n</varname><literal>&gt;0</literal>, <varname>n</varname> is the error number to trap;
-        </para>
-        <para>
-            if <varname>n</varname><literal>&lt;0</literal> all errors are to be trapped.
-        </para>
-        <para>
-            <varname>action</varname> is one of the following character strings:
-        </para>
-        <variablelist>
-            <varlistentry>
-                <term>"pause"</term>
-                <listitem>
-                    <para>a pause is executed when trapping the error. This option is
-                        useful for debugging purposes. Use <code>whereami()</code> to get information
-                        on the current context.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"continue"</term>
-                <listitem>
-                    <para>next instruction in the function or exec files is executed,
-                        current instruction is ignored. It is possible to check if an error has occurred
-                        using the <link linkend="iserror">iserror</link> function. Do not forget to clear the  
-                        error using the <link linkend="errclear">errclear</link> function as soon as possible.  
-                        This option is useful for error recovery. In many cases, usage of 
-                        <literal> errcatch(n,"continue",..)</literal> can be replaced by the use of
-                        <link linkend="execstr">execstr</link> function or <link linkend="try">try</link> 
-                        control structure.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"kill"</term>
-                <listitem>
-                    <para>default mode, all intermediate functions are killed, Scilab goes
-                        back to the level 0 prompt.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"stop"</term>
-                <listitem>
-                    <para>interrupts the current Scilab session (useful when Scilab is called from an external program).</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-        <para>
-            <varname>option</varname> is the character string <literal>'nomessage'</literal> for killing
-            error message.
-        </para>
-        <para>
-            To set back default mode, enter <code>errcatch(-1,"kill")</code> or similarly
-            <code>errcatch(-1)</code>. <code>errcatch()</code> is an obsolete equivalent of <code>errcatch(-1)</code>.
-        </para>
-        <para/>
-        <para>
-            The <function>errcatch</function> actions apply to the current evaluation
-            context (<literal>function</literal>, <literal>exec</literal>, <literal>pause</literal>) and all the sub-levels. A  second <function>errcatch</function> call in a sub-level hides the initial one for this sub-level. If a second <function>errcatch</function> call is made at the
-            same level, the effect of the first one is removed.
-        </para>
-        <para>
-            When called in the context of  a Scilab function or exec the <function>errcatch</function> is automatically reset  when the function returns.
-        </para>
-    </refsection>
-    <refsection>
-        <title>Examples</title>
-        <programlisting role="example"><![CDATA[ 
-errcatch(144,"continue")
-2/"foo"
-disp(a) // Without the errcatch, this line would not be executed
-
-errcatch(-1,"kill") // Come back in the normal mode
-errcatch(144,"pause")
-2/"foo" // Enter in "pause" mode
-
-errcatch(27,'continue','nomessage')
-b=2/0 // No error message but b will not exist
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>See Also</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="try">try</link>
-            </member>
-            <member>
-                <link linkend="errclear">errclear</link>
-            </member>
-            <member>
-                <link linkend="iserror">iserror</link>
-            </member>
-            <member>
-                <link linkend="whereami">whereami</link>
-            </member>
-            <member>
-                <link linkend="execstr">execstr</link>
-            </member>
-            <member>
-                <link linkend="exec">exec</link>
-            </member>
-            <member>
-                <link linkend="pause">pause</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/core/help/en_US/error_handling/iserror.xml b/scilab/modules/core/help/en_US/error_handling/iserror.xml
deleted file mode 100644 (file)
index f9f66c7..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="iserror">
-    <refnamediv>
-        <refname>iserror</refname>
-        <refpurpose>error occurrence test</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Calling Sequence</title>
-        <synopsis>iserror([n])</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Arguments</title>
-        <variablelist>
-            <varlistentry>
-                <term>n</term>
-                <listitem>
-                    <para>an integer, an error number</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Description</title>
-        <para>
-            Tests if error number <varname>n</varname> has occurred (after a call to
-            <function>errcatch</function>). <function>iserror</function> returns <literal>1</literal>
-            if the error occurred and <literal>0</literal> otherwise.
-        </para>
-        <para>
-            <varname>n</varname><literal>&gt;0</literal> is the error number ; all errors are tested with <varname>n</varname><literal>&lt;0</literal>.
-        </para>
-    </refsection>
-    <refsection>
-        <title>Examples</title>
-        <programlisting role="example"><![CDATA[
-errcatch(4,'continue') // trap undefined variable
-unknown
-iserror() // 1
-errclear()
-iserror() // 0
-        ]]></programlisting>
-    </refsection>
-    
-    <refsection role="see also">
-        <title>See Also</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="error">error</link>
-            </member>
-            <member>
-                <link linkend="error_table">error_table</link>
-            </member>
-            <member>
-                <link linkend="errcatch">errcatch</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
index 9cd9d56..ad626aa 100644 (file)
@@ -17,7 +17,7 @@
         <title>Description</title>
         <para>
             Utility function used for defining "oldest" variables as "protected".
-            Protected variables cannot be killed. They are not saved 
+            Protected variables cannot be killed. They are not saved
             by the <function>save</function> command. The "oldest" are those appearing last in
             the <code>who('get')</code>.
         </para>
         </para>
         <para>
             A number of protected variables are set in the start-up file <literal>SCI/etc/scilab.start</literal>.
-            User may in particular set its own predefined variables in user's startup files 
+            User may in particular set its own predefined variables in user's startup files
             <literal>SCIHOME/.scilab</literal> or <literal>SCIHOME/scilab.ini</literal>
         </para>
         <para>
             <important>
-                Note that it is not possible to protect a new defined variable by using <code>predef(1)</code>. 
+                Note that it is not possible to protect a new defined variable by using <code>predef(1)</code>.
                 This means that to protect a variable, Scilab needs to protect all the variables that have been defined before it.
                 This limitation may disappear with Scilab 6, which will not be stack-designed.
             </important>
@@ -63,8 +63,7 @@
     </refsection>
     <refsection>
         <title>Examples</title>
-        <programlisting role="example"><![CDATA[ 
-errcatch(13, "continue") // Make sure we continue even when "clear a" will fail
+        <programlisting role="example"><![CDATA[
 a = 1;
 predef("all");
 clear a // fails
diff --git a/scilab/modules/core/help/fr_FR/error_handling/errcatch.xml b/scilab/modules/core/help/fr_FR/error_handling/errcatch.xml
deleted file mode 100644 (file)
index 90b0529..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="errcatch">
-    <refnamediv>
-        <refname>errcatch</refname>
-        <refpurpose>interception d'erreur  </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Séquence d'appel</title>
-        <synopsis>errcatch(n [,'action'] [,'option'])
-            errcatch()
-        </synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Paramètres</title>
-        <variablelist>
-            <varlistentry>
-                <term>n  </term>
-                <listitem>
-                    <para>entier
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>action, option  </term>
-                <listitem>
-                    <para>chaînes de caractères
-                    </para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Description</title>
-        <para>
-            <literal>errcatch</literal> définit une action à effectuer quand une erreur de
-            numéro <literal>n</literal> est rencontrée. <literal>n</literal> a la signification
-            suivante:
-        </para>
-        <para>
-            si <literal>n&gt;0</literal>, <literal>n</literal> est le numéro de l'erreur à
-            intercepter
-        </para>
-        <para>
-            si <literal>n&lt;0</literal>, toutes les erreurs sont à intercepter
-        </para>
-        <para>
-            <literal>action</literal> est une des chaînes de caractères suivantes :
-        </para>
-        <variablelist>
-            <varlistentry>
-                <term>"pause"</term>
-                <listitem>
-                    <para>l'interception de l'erreur conduit à une pause. Cette
-                        option est utile en phase de mise au point. On peut utiliser
-                        <literal>whereami()</literal> pour obtenir des informations sur le contexte
-                        courant.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"continue"</term>
-                <listitem>
-                    <para>l'exécution de la fonction ou du script continue,
-                        l'instruction courante est tout simplement ignorée. Il est
-                        possible de vérifier si une erreur s'est produite avec la
-                        fonction <literal>iserror</literal>. Ne pas oublier d'effacer
-                        l'erreur avec la fonction <literal>errclear</literal> le plus tôt
-                        possible. Cette option est utile pour remédier aux erreurs. Dans la
-                        plupart des cas, l'usage de <literal>
-                            errcatch(n,"continue",..)
-                        </literal>
-                        peut être remplacé par
-                        l'usage de la fonction <literal>execstr</literal>.  
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"kill"</term>
-                <listitem>
-                    <para>mode par défaut, tous les niveaux intermédiaires sont abandonnés,
-                        et Scilab revient à l'invite de commande de niveau 0.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"stop"</term>
-                <listitem>
-                    <para>interrompt la session Scilab courante (très utile quand Scilab est
-                        exécuté à partir d'un programme externe).
-                    </para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-        <para>
-            <literal>option</literal> est la chaîne de caractères
-            <literal>'nomessage'</literal> pour supprimer les messages
-            d'erreurs.
-        </para>
-        <para>
-            Pour revenir au mode par défaut, taper
-            <literal>errcatch(-1,"kill")</literal> ou bien
-            <literal>errcatch(-1)</literal>. 
-        </para>
-        <para>
-            Lorsque <literal>errcatch</literal> est appelée à l'intérieur d'une
-            fonction, le mode d'interception d'erreur est automatiquement
-            réinitialisé au mode par défaut lorsque l'on sort de la fonction. 
-        </para>
-        <para>
-            <literal>errcatch()</literal> est un equivalent obsolete de <literal>errcatch(-1)</literal>.
-        </para>
-    </refsection>
-    <refsection>
-        <title>REMARQUES</title>
-        <para>
-            <literal>errcatch</literal> est obsolete.
-            Il est préférable d'utiliser  <link linkend="try">try</link> ou <literal>execstr(...,'errcatch')</literal>  à
-            la place de <literal>errcatch</literal> lorsque c'est possible.
-        </para>
-    </refsection>
-    <refsection role="see also">
-        <title>Voir aussi</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="errclear">errclear</link>
-            </member>
-            <member>
-                <link linkend="iserror">iserror</link>
-            </member>
-            <member>
-                <link linkend="whereami">whereami</link>
-            </member>
-            <member>
-                <link linkend="execstr">execstr</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/core/help/fr_FR/error_handling/iserror.xml b/scilab/modules/core/help/fr_FR/error_handling/iserror.xml
deleted file mode 100644 (file)
index 182648a..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="iserror">
-    <refnamediv>
-        <refname>iserror</refname>
-        <refpurpose>test d'occurrence d'une erreur  </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Séquence d'appel</title>
-        <synopsis>iserror([n])</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Description</title>
-        <para>
-            Vérifie si l'erreur <literal>n</literal> a eu lieu (après un appel à
-            <literal>errcatch</literal>). <literal>iserror</literal> renvoie <literal>1</literal> si l'erreur a eu lieu
-            et <literal>0</literal> sinon.
-        </para>
-        <para>
-            <literal>n&gt;0</literal> est le numéro de l'erreur; toutes les erreurs sont testées si <literal>n&lt;0</literal>.
-        </para>
-    </refsection>
-    <refsection role="see also">
-        <title>Voir aussi</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="error">error</link>
-            </member>
-            <member>
-                <link linkend="errcatch">errcatch</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/core/help/ja_JP/error_handling/errcatch.xml b/scilab/modules/core/help/ja_JP/error_handling/errcatch.xml
deleted file mode 100644 (file)
index 9d8c77b..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="errcatch">
-    <refnamediv>
-        <refname>errcatch</refname>
-        <refpurpose>エラーの捕捉</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>呼出し手順</title>
-        <synopsis>errcatch(n [,'action'] [,'option'])
-            errcatch()
-        </synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>引数</title>
-        <variablelist>
-            <varlistentry>
-                <term>n</term>
-                <listitem>
-                    <para>整数</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>action, option</term>
-                <listitem>
-                    <para>文字列</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>説明</title>
-        <para>
-          <function>errcatch</function> は,
-          <literal>n</literal>型のエラーが発生した時に
-          実行される "アクション" (エラーハンドラ)を指定します,
-        </para>
-        <para>
-          <varname>n</varname> は以下の意味を有します:
-        </para>
-        <para>
-          <varname>n</varname><literal>&gt;0</literal>の場合, <varname>n</varname> は
-          捕捉するエラー番号となります.
-        </para>
-        <para>
-          <varname>n</varname><literal>&lt;0</literal> の場合,全てのエラーが捕捉されます.
-        </para>
-        <para>
-          <varname>action</varname>は以下の文字列のどれかとなります:
-        </para>
-        <variablelist>
-            <varlistentry>
-                <term>"pause"</term>
-                <listitem>
-                    <para>
-                      誤差を捕捉した際に pause が実行されます.
-                      このオプションはデバッグの際に有用です.
-                      カレントのコンテキストで情報を取得するには
-                      <code>whereami()</code>を使用してください.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"continue"</term>
-                <listitem>
-                    <para>
-                      関数または実行ファイルないの次の命令が実行され,
-                      カレントの命令は無視されます.
-                      <link linkend="iserror">iserror</link>関数により,
-                      エラーが発生したかどうかを調べることが可能です.できるだけ早く
-                      <link linkend="errclear">errclear</link>関数によりエラーをクリアすることを
-                      忘れないようにしてください.
-                      このオプションはエラーからの回復の際に有用です.
-                      多くの場合,
-                      <link linkend="execstr">execstr</link> 関数または
-                      <link linkend="try">try</link>制御構造を使用することにより
-                      <literal>errcatch(n,"continue",..)</literal>を
-                      置換することができます.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"kill"</term>
-                <listitem>
-                    <para>デフォルトのモードであり,全ての実行中の関数の実行が破棄され,
-                        Scilabの処理はレベル0プロンプトに戻ります.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"stop"</term>
-                <listitem>
-                    <para>
-                        カレントのScilabセッションを中断します(Scilabが外部プログラムからコールされた時に有用).
-                    </para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-        <para>
-          <varname>option</varname> は中断時のエラーメッセージである
-          文字列 <literal>'nomessage'</literal> です.
-        </para>
-        <para>
-          デフォルトモードに戻すためには,
-          <code>errcatch(-1,"kill")</code> または
-          <code>errcatch(-1)</code>と入力してください.
-          <code>errcatch()</code> は以前使用されていた<code>errcatch(-1)</code>と
-            等価です. 
-        </para>
-        <para/>
-        <para>
-          <function>errcatch</function>のアクションはカレントの評価コンテキスト
-          (function, exec, pause) およびサブレベル全体に適用されます.
-          あるサブレベル内で<function>errcatch</function>を2回コールすると
-          このサブレベルでの最初のコールが隠蔽され,
-          最初の関数コールの効果は削除されます.
-        </para>
-        <para> 
-          Scilab関数または exec のコンテキスト内でコールされた場合,
-          <function>errcatch</function>は,関数のリターンの時に自動的にリセットされます.
-        </para>
-    </refsection>
-    <refsection>
-        <title>例</title>
-        <programlisting role="example"><![CDATA[ 
-errcatch(144,"continue")
-2/"foo"
-disp(a) // Without the errcatch, this line would not be executed
-
-errcatch(-1,"kill") // Come back in the normal mode
-errcatch(144,"pause")
-2/"foo" // Enter in "pause" mode
-
-errcatch(27,'continue','nomessage')
-b=2/0 // No error message but b will not exist
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>参照</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="try">try</link>
-            </member>
-            <member>
-                <link linkend="errclear">errclear</link>
-            </member>
-            <member>
-                <link linkend="iserror">iserror</link>
-            </member>
-            <member>
-                <link linkend="whereami">whereami</link>
-            </member>
-            <member>
-                <link linkend="execstr">execstr</link>
-            </member>
-            <member>
-                <link linkend="exec">exec</link>
-            </member>
-            <member>
-                <link linkend="pause">pause</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/core/help/ja_JP/error_handling/iserror.xml b/scilab/modules/core/help/ja_JP/error_handling/iserror.xml
deleted file mode 100644 (file)
index 27a215b..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="iserror">
-    <refnamediv>
-        <refname>iserror</refname>
-        <refpurpose>エラー発生の確認</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>呼出し手順</title>
-        <synopsis>iserror([n])</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-      <title>引数</title>
-      <variablelist>
-        <varlistentry>
-          <term>n</term>
-          <listitem>
-            <para>整数, エラー番号</para>
-          </listitem>
-        </varlistentry>
-      </variablelist>
-    </refsection>
-    <refsection>
-      <title>説明</title>
-      <para>
-        (<function>errcatch</function>をコールした後に)
-        エラー番号 <varname>n</varname> のエラーが発生したかどうかを確認します.
-        <literal>iserror</literal> は,エラーが発生した場合に <literal>1</literal>,
-        それ以外の場合に <literal>0</literal>を返します.
-      </para>
-      <para>
-       <varname>n</varname><literal>&gt;0</literal> はエラー番号です ; 
-        <varname>n</varname><literal>&lt;0</literal>を指定すると全てのエラーが確認されます.
-      </para>
-    </refsection>
-    <refsection>
-        <title>例</title>
-        <programlisting role="example"><![CDATA[
-errcatch(4,'continue') // trap undefined variable
-unknown
-iserror() // 1
-errclear()
-iserror() // 0
-        ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>参照</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="error">error</link>
-            </member>
-            <member>
-                <link linkend="errcatch">errcatch</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
index a3c342e..569c939 100644 (file)
@@ -49,7 +49,7 @@
     <refsection>
         <title>注意:</title>
         <para>
-            変数 <literal>ans</literal> 
+            変数 <literal>ans</literal>
             は,式が代入されない場合に自動的に定義され,
             <code>predef('all')</code>により保護されません.
         </para>
@@ -57,7 +57,7 @@
             保護される変数の数は,スタートアップファイル
             <literal>SCI/etc/scilab.start</literal>で設定されます.
             ユーザは独自の定義済みの変数を
-            ユーザのスタートアップファイル 
+            ユーザのスタートアップファイル
             <literal>SCIHOME/.scilab</literal> および <literal>SCIHOME/scilab.ini</literal>
             により設定することができます.
         </para>
@@ -71,8 +71,7 @@
     </refsection>
     <refsection>
         <title>例</title>
-        <programlisting role="example"><![CDATA[ 
-errcatch(13, "continue") // "clear a" が失敗する場合でも続行するようにする
+        <programlisting role="example"><![CDATA[
 a = 1;
 predef("all");
 clear a // 失敗
diff --git a/scilab/modules/core/help/pt_BR/error_handling/errcatch.xml b/scilab/modules/core/help/pt_BR/error_handling/errcatch.xml
deleted file mode 100644 (file)
index 6efc4fa..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="errcatch" xml:lang="en">
-    <refnamediv>
-        <refname>errcatch</refname>
-        <refpurpose>"Armadilha" para erros</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Seqüência de Chamamento</title>
-        <synopsis>errcatch(n [,'action'] [,'option'])
-            errcatch()
-        </synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Parâmetros</title>
-        <variablelist>
-            <varlistentry>
-                <term>n</term>
-                <listitem>
-                    <para>inteiro </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>action, option</term>
-                <listitem>
-                    <para>strings</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Descrição</title>
-        <para>
-            <literal>errcatch</literal> fornece uma "ação" (manipulador de
-            erros) quando um erro do tipo <literal>n</literal> ocorre.
-            <literal>n</literal> tem o seguinte significado: 
-        </para>
-        <para>
-            Se <literal>n&gt;0</literal>, <literal>n</literal> é o número do
-            erro a ser apanhado 
-        </para>
-        <para>
-            Se <literal>n&lt;0</literal> todos os erros devem ser
-            apanhados
-        </para>
-        <para>
-            <literal>action</literal> é um dos seguintes strings: 
-        </para>
-        <variablelist>
-            <varlistentry>
-                <term>"pause"</term>
-                <listitem>
-                    <para>uma pausa é executada quando se apanha o erro. Esta opção é
-                        útil para propósitos de depuramento. Use
-                        <literal>whereami()</literal> para obter informações sobre o
-                        contexto corrente. 
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"continue"</term>
-                <listitem>
-                    <para>a próxima instrução na função ou em arquivos executáveis é
-                        executada, a instrução corrente é ignorada. É possível verificar se
-                        um erro ocorreu utilizando a função <literal>iserror</literal>
-                        function . Não se esqueça de apagar o erro utilizando a função
-                        <literal>errclear</literal> o quanto antes. Esta função é útil para
-                        recuperação de erros. Em muitos casos, o uso de <literal>
-                            errcatch(n,"continue",..)
-                        </literal>
-                        pode ser substituído pelo uso da
-                        função <link linkend="execstr">execstr</link> ou da estrutura de
-                        controle <link linkend="try">try</link> control structure.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"kill"</term>
-                <listitem>
-                    <para>modo padrão, todas as funções intermediárias são canceladas e
-                        o Scilab retorna ao prompt de nível 0. 
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"stop"</term>
-                <listitem>
-                    <para>interrompe a sessão do Scilab corrente (útil quando o Scilab é
-                        chamado por um programa externo).
-                    </para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-        <para>
-            <literal>option</literal> é o string <literal>'nomessage'</literal>
-            para cancelar mensagens de erro.
-        </para>
-        <para>Para retornar ao modo padrão, entre
-            <literal>errcatch(-1,"kill")</literal> ou, de modo semelhante,
-            <literal>errcatch(-1)</literal>.<literal>errcatch()</literal> é um
-            equivalente obsoleto a <literal>errcatch(-1)</literal>.
-        </para>
-        <para/>
-        <para>
-            As ações de <literal>errcatch</literal> se aplicm ao contexto
-            corrente de avaliação (function, exec, pause ) e a todos os subníveis. Uma
-            segunda chamada a <literal>errcatch</literal> em um sub-nível esconde a
-            inicial para este sub-nível. Se uma segunda chamada a
-            <literal>errcatch</literal> é feita no mesmo nível o efeito da primeira é
-            removido.
-        </para>
-        <para>Quando chamado no contexto de uma função do Scilab ou em exec o
-            <literal>errcatch</literal> é automaticamente reiniciado quando a função
-            retorna
-        </para>
-    </refsection>
-    <refsection role="see also">
-        <title>Ver Também</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="try">try</link>
-            </member>
-            <member>
-                <link linkend="errclear">errclear</link>
-            </member>
-            <member>
-                <link linkend="iserror">iserror</link>
-            </member>
-            <member>
-                <link linkend="whereami">whereami</link>
-            </member>
-            <member>
-                <link linkend="execstr">execstr</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/core/help/pt_BR/error_handling/iserror.xml b/scilab/modules/core/help/pt_BR/error_handling/iserror.xml
deleted file mode 100644 (file)
index 556caa6..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="iserror" xml:lang="en">
-    <refnamediv>
-        <refname>iserror</refname>
-        <refpurpose>teste de ocorrência de erros</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title> Seqüência de Chamamento </title>
-        <synopsis>iserror([n])</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Descrição</title>
-        <para>
-            Testa se um número de erro <literal>n</literal> ocorreu (após uma
-            chamada a <literal>errcatch</literal>). <literal>iserror</literal> retorna
-            <literal>1</literal> se o erro ocorreu e <literal>0</literal> , caso
-            contrário.
-        </para>
-        <para>
-            <literal>n&gt;0</literal> é o número do erro ; todos os erros são
-            testados com <literal>n&lt;0</literal>.
-        </para>
-    </refsection>
-    <refsection>
-        <title> Ver Também </title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="error">error</link>
-            </member>
-            <member>
-                <link linkend="errcatch">errcatch</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/core/help/ru_RU/error_handling/errcatch.xml b/scilab/modules/core/help/ru_RU/error_handling/errcatch.xml
deleted file mode 100644 (file)
index c7e3bd0..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="errcatch">
-    <refnamediv>
-        <refname>errcatch</refname>
-        <refpurpose>перехват ошибок</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Последовательность вызова</title>
-        <synopsis>
-            errcatch(n [,'action'] [,'option'])
-            errcatch()
-        </synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Аргументы</title>
-        <variablelist>
-            <varlistentry>
-                <term>n</term>
-                <listitem>
-                    <para>целое число</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>action, option</term>
-                <listitem>
-                    <para>строковые значения</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Описание</title>
-        <para>
-            <function>errcatch</function> указывает действие <literal>"action"</literal>
-            (реакцию на ошибку), которое будет выполнено в случае возникновения ошибки типа  
-            <varname>n</varname>.      
-        </para>
-        <para>
-            <varname>n</varname> имеет следующие значения:
-        </para>
-        <para>
-            если <varname>n</varname><literal>&gt;0</literal>, то <varname>n</varname> является номером ошибки, которую
-            требуется перехватить;
-        </para>
-        <para>
-            если <varname>n</varname><literal>&lt;0</literal>, то будут перехватываться все ошибки.
-        </para>
-        <para>
-            <varname>action</varname> может быть одной из следующих символьных строк:
-        </para>
-        <variablelist>
-            <varlistentry>
-                <term>"pause"</term>
-                <listitem>
-                    <para>
-                        пауза, выполняемая во время перехвата ошибки. Эта опция полезна в целях отладки. Используйте <code>whereami()</code> для получения информации о текущем контексте.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"continue"</term>
-                <listitem>
-                    <para>
-                        будет выполняться следующая инструкция в функции либо будут исполнены исполняемые 
-                        файлы, текущие  инструкции будут игнорироваться. Можно проверить произошла ли ошибка с 
-                        помощью функции <link linkend="iserror">iserror</link>. Не забудьте очистить ошибку с 
-                        помощью функции <link linkend="errclear">errclear</link> как можно скорее. Эта опция 
-                        полезна для обнаружения ошибок. Во многих случаях использование  
-                        <literal>errcatch(n,"continue",..)</literal> может быть заменено использованием 
-                        функции <link linkend="execstr">execstr</link> или структуры управления 
-                        <link linkend="try">try</link>.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"kill"</term>
-                <listitem>
-                    <para>
-                        режим по умолчанию; все промежуточные функции уничтожаются, Scilab возвращается на уровень 0 командной строки.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>"stop"</term>
-                <listitem>
-                    <para>
-                        прерывает текущую сессию Scilab (полезна, когда Scilab вызван из внешней программы).
-                    </para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-        <para>
-            <varname>option</varname> символьная строка <literal>'nomessage'</literal> для уничтожения
-            сообщения об ошибке.
-        </para>
-        <para>
-            Для возврата в режим по умолчанию введите  <code>errcatch(-1,"kill")</code> или, аналогичное, <code>errcatch(-1)</code>. <code>errcatch()</code> является устаревшим эквивалентом для <code>errcatch(-1)</code>.
-        </para>
-        <para>
-            Действия <function>errcatch</function> применимы в контексте текущего выполнения
-            (<literal>function</literal>, <literal>exec</literal>, <literal>pause</literal>) и всех 
-            подуровней. Второй вызов <function>errcatch</function> на подуровнях скрывает исходный вызов
-            для этого подуровня. Если второй вызов <function>errcatch</function> сделан на том же самом
-            уровне, то действие первого вызова удаляется.
-        </para>
-        <para>
-            При вызове в контексте функции Scilab или <function>exec</function>
-            <function>errcatch</function> автоматически сбрасывается при выходе из функции.
-        </para>
-    </refsection>
-    <refsection>
-        <title>Примеры</title>
-        <programlisting role="example"><![CDATA[
-errcatch(144,"continue")
-2/"foo"
-disp(a) // Без перехвата ошибки эта строка не будет выполнена
-
-errcatch(-1,"kill") // Возвращение обратно в нормальный режим
-errcatch(144,"pause")
-2/"foo" // Вход в режим "пауза"
-
-errcatch(27,'continue','nomessage')
-b=2/0 // Сообщения об ошибке нет, но b не будет существовать
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>Смотрите также</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="try">try</link>
-            </member>
-            <member>
-                <link linkend="errclear">errclear</link>
-            </member>
-            <member>
-                <link linkend="iserror">iserror</link>
-            </member>
-            <member>
-                <link linkend="whereami">whereami</link>
-            </member>
-            <member>
-                <link linkend="execstr">execstr</link>
-            </member>
-            <member>
-                <link linkend="exec">exec</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/core/help/ru_RU/error_handling/iserror.xml b/scilab/modules/core/help/ru_RU/error_handling/iserror.xml
deleted file mode 100644 (file)
index 0e773f3..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="iserror">
-    <refnamediv>
-        <refname>iserror</refname>
-        <refpurpose>проверка возникновения ошибки</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Последовательность вызова</title>
-        <synopsis>iserror([n])</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Аргументы</title>
-        <variablelist>
-            <varlistentry>
-                <term>n</term>
-                <listitem>
-                    <para>целое число, номер ошибки</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Описание</title>
-        <para>
-            Проверяет - возникла ли ошибка с номером <varname>n</varname> (после вызова
-            <function>errcatch</function>). <function>iserror</function> возвращает <literal>1</literal>,
-            если ошибка возникла, в противном случае - <literal>0</literal>.
-        </para>
-        <para>
-            <varname>n</varname><literal>&gt;0</literal> - это номер ошибки; все ошибки проверяются с помощью <varname>n</varname><literal>&lt;0</literal>.
-        </para>
-    </refsection>
-    <refsection>
-        <title>Примеры</title>
-        <programlisting role="example"><![CDATA[
-errcatch(4,'continue') // отлавливание неопределённой переменной
-unknown
-iserror() // 1
-errclear()
-iserror() // 0
-        ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>Смотрите также</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="error">error</link>
-            </member>
-            <member>
-                <link linkend="error_table">error_table</link>
-            </member>
-            <member>
-                <link linkend="errcatch">errcatch</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
index 89fd8e0..9dcf45d 100644 (file)
@@ -16,8 +16,8 @@
     <refsection>
         <title>Описание</title>
         <para>
-            Специальная функция, используемая для определения "самых старых" переменных в качестве 
-            "защищённых". Защищённые переменные нельзя уничтожить. Они не сохраняются командой  
+            Специальная функция, используемая для определения "самых старых" переменных в качестве
+            "защищённых". Защищённые переменные нельзя уничтожить. Они не сохраняются командой
             <function>save</function>. "Самые старые" -- это те, которые появляются в конце перечисления
             <code>who('get')</code>.
         </para>
@@ -34,7 +34,7 @@
         </para>
         <para>
             <code>predef(n)</code> устанавливает <code>max(n,7)</code> последних переменных в
-            качестве защищённых. Она также возвращает старое и новое значение количества защищённых 
+            качестве защищённых. Она также возвращает старое и новое значение количества защищённых
             переменных.
         </para>
         <para>
     <refsection>
         <title>Примечания</title>
         <para>
-            Переменная <literal>ans</literal>, создаваемая автоматически, когда выражение не 
+            Переменная <literal>ans</literal>, создаваемая автоматически, когда выражение не
             присваивается, никогда не защищается командой <code>predef('all')</code>.
         </para>
         <para>
-            Количество защищённых переменных устанавливается в файле запуска 
-            <literal>SCI/etc/scilab.start</literal>. Пользователь может в установить свои собственные 
+            Количество защищённых переменных устанавливается в файле запуска
+            <literal>SCI/etc/scilab.start</literal>. Пользователь может в установить свои собственные
             защищённые переменные в пользовательских файлах запуска
             <literal>SCIHOME/.scilab</literal> и <literal>SCIHOME/scilab.ini</literal>
         </para>
@@ -60,7 +60,6 @@
     <refsection>
         <title>Примеры</title>
         <programlisting role="example"><![CDATA[
-errcatch(13, "continue") // Гарантируем, что мы продолжим даже когда "clear a" не сработает
 a = 1;
 predef("all");
 clear a // не работает
diff --git a/scilab/modules/core/sci_gateway/c/sci_errcatch.c b/scilab/modules/core/sci_gateway/c/sci_errcatch.c
deleted file mode 100644 (file)
index a1ad3ee..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006 - INRIA - Allan CORNET
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
- *
- */
-#include "gw_core.h"
-/*--------------------------------------------------------------------------*/
-extern int C2F(interrcatch)();
-/*--------------------------------------------------------------------------*/
-int C2F(sci_errcatch)(char *fname, unsigned long fname_len)
-{
-    C2F(interrcatch)();
-    return 0;
-}
-/*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/core/tests/nonreg_tests/bug_1430.dia.ref b/scilab/modules/core/tests/nonreg_tests/bug_1430.dia.ref
deleted file mode 100644 (file)
index ce4b0da..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2008 - INRIA - Serge STEER <serge.steer@inria.fr>
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- Non-regression test for bug 1430 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=1430
-//
-// <-- Short Description -->
-//in errcatch(n,'continue') if an error arises in a for loop variable
-//evaluation, or during the evaluation of a decision expression in an  if
-//a while or select called in a compiled function, Scilab loops indefinetely.
-// <-- NO TRY CATCH -->
-errcatch(-1,'continue','nomessage');
-function r=testselect1()
-  r=0
-  select zzzz
-   case 1 then
-    r=-5
-  end;
-  r=r+2
-  select 1
-   case 1 then
-    r=r-5
-  end;
-endfunction
-if testselect1()<>-3 then bugmes();quit;end
-[msg,n]=lasterror();
-if n<>4 then bugmes();quit;end
-function r=testselect2()
-  r=0
-  select 1
-   case zzzz then
-    r=-5
-  end;
-  r=r+2
-  select 1
-   case 1 then
-    r=r-5
-  end;
-endfunction
-if testselect2()<>-3 then bugmes();quit;end
-[msg,n]=lasterror();
-if n<>4 then bugmes();quit;end
-function r=testif1()
-  r=0
-  if zzzz then
-    r=r+1
-  elseif 1==3 then
-    r=-5
-  elseif 1==4 then
-    r=-5
-  else
-    r=0.03
-  end
-  if %t then
-    r=r+2
-  end
-endfunction
-if testif1()<>2 then bugmes();quit;end
-[msg,n]=lasterror();
-if n<>4 then bugmes();quit;end
-function r=testif2()
-  r=0
-  if %f then
-    r=r+1
-  elseif zzz then
-    r=-5
-  elseif 1==4 then
-    r=-5
-  else
-    r=0.03
-  end
-  if %t then
-    r=r+2
-  end
-endfunction
-if testif1()<>2 then bugmes();quit;end
-[msg,n]=lasterror();
-if n<>4 then bugmes();quit;end
-function r=testfor()
-  r=0
-  for k=xxxx
-  r=r+1
-  end  
-  if %t then
-    r=r+2
-  end
-endfunction
-if testfor()<>2 then bugmes();quit;end
-[msg,n]=lasterror();
-if n<>4 then bugmes();quit;end
diff --git a/scilab/modules/core/tests/nonreg_tests/bug_1430.tst b/scilab/modules/core/tests/nonreg_tests/bug_1430.tst
deleted file mode 100644 (file)
index e57b67c..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2008 - INRIA - Serge STEER <serge.steer@inria.fr>
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-// <-- Non-regression test for bug 1430 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=1430
-//
-// <-- Short Description -->
-//in errcatch(n,'continue') if an error arises in a for loop variable
-//evaluation, or during the evaluation of a decision expression in an  if
-//a while or select called in a compiled function, Scilab loops indefinetely.
-
-
-// <-- NO TRY CATCH -->
-
-errcatch(-1,'continue','nomessage');
-
-function r=testselect1()
-  r=0
-  select zzzz
-   case 1 then
-    r=-5
-  end;
-  r=r+2
-  select 1
-   case 1 then
-    r=r-5
-  end;
-endfunction
-
-if testselect1()<>-3 then pause,end
-[msg,n]=lasterror();
-if n<>4 then pause,end
-
-function r=testselect2()
-  r=0
-  select 1
-   case zzzz then
-    r=-5
-  end;
-  r=r+2
-  select 1
-   case 1 then
-    r=r-5
-  end;
-endfunction
-
-if testselect2()<>-3 then pause,end
-[msg,n]=lasterror();
-if n<>4 then pause,end
-
-function r=testif1()
-  r=0
-  if zzzz then
-    r=r+1
-  elseif 1==3 then
-    r=-5
-  elseif 1==4 then
-    r=-5
-  else
-    r=0.03
-  end
-  if %t then
-    r=r+2
-  end
-endfunction
-
-if testif1()<>2 then pause,end
-[msg,n]=lasterror();
-if n<>4 then pause,end
-
-
-function r=testif2()
-  r=0
-  if %f then
-    r=r+1
-  elseif zzz then
-    r=-5
-  elseif 1==4 then
-    r=-5
-  else
-    r=0.03
-  end
-  if %t then
-    r=r+2
-  end
-endfunction
-
-if testif1()<>2 then pause,end
-[msg,n]=lasterror();
-if n<>4 then pause,end
-
-function r=testfor()
-  r=0
-  for k=xxxx
-  r=r+1
-  end  
-  if %t then
-    r=r+2
-  end
-endfunction
-
-if testfor()<>2 then pause,end
-[msg,n]=lasterror();
-if n<>4 then pause,end
index 2762d84..9f37daa 100644 (file)
@@ -38,12 +38,3 @@ catch
   y=1;
 end
 if y<>1 then bugmes();quit;end
-//in errcatch continue mode
-function y=pipo()
-  errcatch(1001,"continue","nomessage")
-  y=foo(1,fii(),2);
-  errclear(-1)
-  errcatch()
-endfunction
-y=pipo();
-if y<>6 then bugmes();quit;end
index 07f9e79..0402ca9 100644 (file)
 clear
 // reported problem test (loop expression removal)
 function y=test()
-  y=0
-  try
-    for j=1:3;
-      error(1001);
+    y=0
+    try
+        for j=1:3;
+            error(1001);
+        end
+    catch
+        y=1
     end
-  catch
-    y=1
-  end
 endfunction
 
 if test()<>1 then pause,end
@@ -37,18 +37,9 @@ function y=fii,y=3,error(1001),endfunction
 function y=foo(a,b,c),y=a+b+c,endfunction
 y=0;
 try
-  foo(1,fii(),2)
+    foo(1,fii(),2)
 catch
-  y=1;
+    y=1;
 end
 if y<>1 then pause,end
 
-//in errcatch continue mode
-function y=pipo()
-  errcatch(1001,"continue","nomessage")
-  y=foo(1,fii(),2);
-  errclear(-1)
-  errcatch()
-endfunction
-y=pipo();
-if y<>6 then pause,end
diff --git a/scilab/modules/core/tests/nonreg_tests/bug_2619.tst b/scilab/modules/core/tests/nonreg_tests/bug_2619.tst
deleted file mode 100644 (file)
index a9e8b53..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2007-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-// <-- INTERACTIVE TEST -->
-//
-// <-- Non-regression test for bug 2619 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=2619
-//
-// <-- Short Description -->
-//
-// errcatch with the "stop" action is broken.
-//
-// man page : "errcatch(-1,'stop')" : interrupts the current Scilab session (useful
-// when Scilab is called from an external program).
-//
-// => It works well with scilab-4.1.2 but with the trunk version, scilab is not
-// closed and the error not displayed. After that, scilab is broken and doesn't
-// display results anymore
-//
-//
-// Steps to reproduce the bug:
-//
-// errcatch(-1,'stop');
-// error(10000);
-
-errcatch(-1,'stop');
-error(10000);
diff --git a/scilab/modules/core/tests/nonreg_tests/bug_2621.tst b/scilab/modules/core/tests/nonreg_tests/bug_2621.tst
deleted file mode 100644 (file)
index a33a0cb..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2007-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-// <-- INTERACTIVE TEST -->
-//
-// <-- Non-regression test for bug 2621 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=2621
-//
-// <-- Short Description -->
-//
-// errcatch(n,'continue') with an error greater than 9999 doesn't catch the error
-//
-
-function bug_errcatch_one
-       errcatch(9999,"continue")
-       error(9999)
-       disp("TEST PASSED")
-endfunction
-
-function bug_errcatch_two
-       errcatch(10000,"continue")
-       error(10000)
-       disp("TEST PASSED")
-endfunction
-
-bug_errcatch_one()
-bug_errcatch_two()
diff --git a/scilab/modules/core/tests/nonreg_tests/bug_2622.tst b/scilab/modules/core/tests/nonreg_tests/bug_2622.tst
deleted file mode 100644 (file)
index afb5b78..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2007-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-// <-- INTERACTIVE TEST -->
-//
-// <-- Non-regression test for bug 2622 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=2622
-//
-// <-- Short Description -->
-//
-// errcatch(n,'pause') and errcatch(n,'continue') doesn't display the message
-// anymore
-
-errcatch(20,'pause');
-error(20,2);
diff --git a/scilab/modules/core/tests/nonreg_tests/bug_2623.tst b/scilab/modules/core/tests/nonreg_tests/bug_2623.tst
deleted file mode 100644 (file)
index 93a6c1b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-// <-- INTERACTIVE TEST -->
-//
-// <-- Non-regression test for bug 2623 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=2623
-//
-// <-- Short Description -->
-//
-// If an error "n" is catch with an errcatch(-1,'pause'), the only way to quit
-// the pause mode is abort. "resume" and "return" don't seem to 
-// work
-
-// <-- INTERACTIVE TEST -->
-
-errcatch(-1,'pause');
-error(1);
-resume;
-
-// enter
-// enter
diff --git a/scilab/modules/core/tests/nonreg_tests/bug_8050.dia.ref b/scilab/modules/core/tests/nonreg_tests/bug_8050.dia.ref
deleted file mode 100644 (file)
index 8fb0bc7..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2011 - INRIA - Serge STEER
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-//
-// <-- Non-regression test for bug 8050 -->
-//
-// <-- CLI SHELL MODE -->
-// <-- ENGLISH IMPOSED -->
-// <-- NO TRY CATCH --> 
-// 
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=8050
-//
-// <-- Short Description -->
-// weird error message
-setlanguage('en');
-errcatch(-1,"continue")
-function foo,[,endfunction
- !--error 2 
-Invalid factor.
-errclear(-1);errcatch(-1,"continue")
-function foo
-[
-endfunction
- !--error 2 
-Invalid factor.
diff --git a/scilab/modules/core/tests/nonreg_tests/bug_8050.tst b/scilab/modules/core/tests/nonreg_tests/bug_8050.tst
deleted file mode 100644 (file)
index e20d8c5..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2011 - INRIA - Serge STEER
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-//
-// <-- Non-regression test for bug 8050 -->
-//
-// <-- CLI SHELL MODE -->
-// <-- ENGLISH IMPOSED -->
-// <-- NO TRY CATCH --> 
-// 
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=8050
-//
-// <-- Short Description -->
-// weird error message
-setlanguage('en');
-
-errcatch(-1,"continue")
-function foo,[,endfunction
-
-errclear(-1);errcatch(-1,"continue")
-function foo
-[
-endfunction
-
-
-
-
-
-
diff --git a/scilab/modules/core/tests/unit_tests/errcatch.dia.ref b/scilab/modules/core/tests/unit_tests/errcatch.dia.ref
deleted file mode 100644 (file)
index 48b8c15..0000000
+++ /dev/null
@@ -1,1165 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- NO TRY CATCH -->
-// <-- ENGLISH IMPOSED -->
-funcprot(0);
-clear;
-errcatch(4,'continue','nomessage')
-a
-if iserror(4)==1 then errclear(-1),else bugmes();quit;end
-a;b=1;
-errclear(-1),if b<>1 then bugmes();quit;end
-b=[];for k=1:3,b(1,k)=k;a,end
-errclear(-1),if or(b<>(1:3)) then bugmes();quit;end
-deff('foo()','x=a','n')
-foo();if iserror(4)==1 then errclear(-1),else bugmes();quit;end
-deff('foo()','x=a')
-foo();if iserror(4)==1 then errclear(-1),else bugmes();quit;end
-deff('b=foo()','x=a;b=1','n')
-b=foo();errclear(-1),if b<>1 then bugmes();quit;end
-deff('b=foo()','x=a;b=1');b=foo();errclear(-1)
-deff('b=foo()',['x=a';'b=1'])
-b=foo();errclear(-1),if b<>1 then bugmes();quit;end
-deff('b=foo()','b=[];for k=1:3,b(1,k)=k;a,end','n')
-b=foo();errclear(-1),if  or(b<>(1:3)) then bugmes();quit;end
-deff('b=foo()',['b=[]';'for k=1:3';'b(1,k)=k;a';'end'])
-//b=foo();errclear(-1),if  or(b<>(1:3)) then bugmes();quit;end
-errcatch(47,'continue','nomessage')
-deff('b=foo()','if %t then b=1')
-if iserror(47)<>1 then pause,else errclear(-1);end
-errcatch(37,'continue','nomessage')
-deff('b=foo(','if %t then b=1')
-if iserror(37)<>1 then pause,else errclear(-1);end
-clear
-errcatch()
-if execstr('a','errcatch')<>4 then bugmes();quit;end
-ierr=execstr('a;b=1','errcatch');if ierr<>4 then bugmes();quit;end
-ierr=execstr(['b=[]';'for k=1:3';'b(1,k)=k';'end';'a'],'errcatch');
-if ierr<>4|or(b<>(1:3)) then bugmes();quit;end
-clear;errcatch(4,'continue','nomessage')
-execstr('a;if iserror(4)==1 then errclear(-1),else bugmes();quit;end')
-clear;errcatch()
-deff('b=foo()',['b=[]';
-                'errcatch(4,''continue'',''nomessage'')'
-                'for k=1:3'
-                '  b(1,k)=k'
-                '  a'
-                '  if iserror(4)==1 then errclear(-1),end'
-                'end'
-                'errclear(-1)'],'n')
-b=foo();if or(b<>(1:3)) then bugmes();quit;end
-deff('b=foo()',['b=[]';
-                'errcatch(4,''continue'',''nomessage'')'
-                'for k=1:3'
-                '  b(1,k)=k'
-                '  a'
-                '  if iserror(4)==1 then errclear(-1),end'
-                'end'
-               'errclear(-1)'])
-//b=foo();if or(b<>(1:3)) then bugmes();quit;end
-clear N
-function foo(),N,endfunction
-ierr=execstr('foo()','errcatch');
-if ierr<>4 then bugmes();quit;end
-ierr=exec(foo,'errcatch');
-if ierr<>4 then bugmes();quit;end
-//=====================================================
-path=TMPDIR+'/errcatchtst.sce';
-clear a;
-txt='a=1';
-mputl(txt,path);
-exec(path)
-a=1
- a  =
-    1.  
-if a<>1 then bugmes();quit;end
-exec(path,-1)
-if a<>1 then bugmes();quit;end
-clear a;
-txt=['a=1;';'return';'a=2'];
-mputl(txt,path);
-exec(path)
-a=1;
-return
-if a<>1 then bugmes();quit;end
-exec(path,-1)
-if a<>1 then bugmes();quit;end
-if exec(path,'errcatch')<>0 then bugmes();quit;end
-a=1;
-return
-if a<>1 then bugmes();quit;end
-clear a
-if exec(path,'errcatch',-1)<>0 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a
-if execstr(txt,'errcatch')<>0 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-txt=['a=1';'b=x'];
-mputl(txt,path);
-of=file();
-if exec(path,'errcatch')<>4 then bugmes();quit;end
-a=1
- a  =
-    1.  
-b=x
-if a<>1 then bugmes();quit;end
-if or(file()<>of) then bugmes();quit;end
-clear a x;
-if exec(path,'errcatch',-1)<>4 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-if execstr(txt,'errcatch')<>4 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-txt=['a=1';'b=sin()';'a=2;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>42 then bugmes();quit;end
-a=1
- a  =
-    1.  
-b=sin()
-if a<>1 then bugmes();quit;end
-clear a x;
-if exec(path,'errcatch',-1)<>42  then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-if execstr(txt,'errcatch')<>42 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-errclear(-1);errcatch()
-txt=['a=1';
-     'if %t then';
-     '  disp hello'
-     '  sin()'
-     'end'
-     'a=2;'];
-mputl(txt,path);
-of=file();
-if exec(path,'errcatch')<>42 then bugmes();quit;end
-a=1
- a  =
-    1.  
-if %t then
-  disp hello
- hello   
-  sin()
-end
-if a<>1 then bugmes();quit;end
-if or(file()<>of) then bugmes();quit;end
-clear a x;
-if exec(path,'errcatch',-1)<>42  then bugmes();quit;end
- hello   
-if a<>1 then bugmes();quit;end
-clear a x;
-if execstr(txt,'errcatch')<>42 then bugmes();quit;end
- hello   
-if a<>1 then bugmes();quit;end
-clear a x;
-txt=['a=1';
-       'if %t then';
-       '  disp hello'
-       '  x'
-       'end'
-       'a=2;'];
-mputl(txt,path);of=file();
-if exec(path,'errcatch')<>4 then bugmes();quit;end
-a=1
- a  =
-    1.  
-if %t then
-  disp hello
- hello   
-  x
-end
-if a<>1 then bugmes();quit;end
-if or(file()<>of) then bugmes();quit;end
-clear a x;
-if exec(path,'errcatch',-1)<>4  then bugmes();quit;end
- hello   
-if a<>1 then bugmes();quit;end
-clear a x;
-if execstr(txt,'errcatch')<>4 then bugmes();quit;end
- hello   
-if a<>1 then bugmes();quit;end
-clear a x;
-txt=['for a=1:3 ';
-       '  x'
-       'end'
-       'a=2;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>4 then bugmes();quit;end
-for a=1:3 
-  x
-end
-if a<>1 then bugmes();quit;end
-clear a x;
-if exec(path,'errcatch',-1)<>4  then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-if execstr(txt,'errcatch')<>4 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-function a=foo,  for a=1:3,x,end,  a=2;endfunction
-txt=['a=1';'a=foo();';'a=5;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>4 then bugmes();quit;end
-a=1
- a  =
-    1.  
-a=foo();
-if a<>1 then bugmes();quit;end
-clear a x;
-if exec(path,'errcatch',-1)<>4  then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-if exec(foo,'errcatch')<>4 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-if execstr(txt,'errcatch')<>4 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-function a=foo 
-  for a=1:3,
-    x,
-  end,  
-  a=2;
-endfunction
-txt=['a=1';'a=foo();';'a=5;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>4 then bugmes();quit;end
-a=1
- a  =
-    1.  
-a=foo();
-if a<>1 then bugmes();quit;end
-clear a x;
-if exec(path,'errcatch',-1)<>4  then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-if exec(foo,'errcatch')<>4 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-if execstr(txt,'errcatch')<>4 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x foo;
-txt=['for a=1:3 ';
-       '  sin()'
-       'end'
-       'a=2;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>42 then bugmes();quit;end
-for a=1:3 
-  sin()
-end
-if a<>1 then bugmes();quit;end
-clear a x 
-if exec(path,'errcatch',-1)<>42  then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x;
-if execstr(txt,'errcatch')<>42 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x foo;
-function a=foo,  
-  for a=1:3,
-    sin()
-  end,  
-  a=2;
-endfunction
-txt=['a=1';'a=foo();';'a=5;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>42 then bugmes();quit;end
-a=1
- a  =
-    1.  
-a=foo();
-if a<>1 then bugmes();quit;end
-clear a x 
-if exec(path,'errcatch',-1)<>42  then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x 
-if exec(foo,'errcatch')<>42 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a x 
-if execstr(txt,'errcatch')<>42 then bugmes();quit;end
-if a<>1 then bugmes();quit;end
-clear a foo;
-txt=['for a=1:3 ';
-       '  sin()'
-       'end'
-       'a=2;'];
-mputl(txt,path);
-function [a,ierr]=foo,ierr=exec(path,'errcatch'),endfunction
-[a,ierr]=foo()
-for a=1:3 
-  sin()
-end
- ierr  =
-    42.  
- a  =
-    1.  
-if a<>1|ierr<>42 then bugmes();quit;end
-clear a
-if execstr('[a,ierr]=foo()','errcatch')<>0 then bugmes();quit;end
-for a=1:3 
-  sin()
-end
-if a<>1|ierr<>42 then bugmes();quit;end
-clear a
-function [a]=foo,exec(path),endfunction
-ierr=execstr(['a=1';'[a]=foo()'],'errcatch')
-for a=1:3 
-  sin()
-end
- ierr  =
-    42.  
-if a<>1|ierr<>42 then bugmes();quit;end
-path=TMPDIR+'/errcatchtst.sce';
-path2=TMPDIR+'/errcatchtst2.sce';
-clear a x;
-txt=['a=1';
-     'if %t then';
-     '  exec(path2)'
-     'end'
-     'a=3;'];
-mputl(txt,path);
-txt2=['for a=1:3 ';
-       '  x'
-       'end'
-       'a=2;'];
-mputl(txt2,path2);
-of=file();
-if exec(path,'errcatch')<>4 then bugmes();quit;end
-a=1
- a  =
-    1.  
-if %t then
-  exec(path2)
-for a=1:3 
-  x
-end
-a=2;
-end
-if a<>1 then bugmes();quit;end
-if or(file()<>of) then bugmes();quit;end
-clear a x;
-if exec(path,'errcatch',-1)<>4  then bugmes();quit;end
-for a=1:3 
-  x
-end
-a=2;
-if a<>1 then bugmes();quit;end
-clear a x;
-if execstr(txt,'errcatch')<>4 then bugmes();quit;end
-for a=1:3 
-  x
-end
-if a<>1 then bugmes();quit;end
-clear a x;
-txt=['a=1';
-     'if %t then';
-     '  ierr=exec(path2,''errcatch'')'
-     'end'
-     'a=3;'];
-mputl(txt,path);
-txt2=['for a=1:3 ';
-       '  x'
-       'end'
-       'a=2;'];
-mputl(txt2,path2);
-of=file();
-if exec(path,'errcatch')<>0 then bugmes();quit;end
-a=1
- a  =
-    1.  
-if %t then
-  ierr=exec(path2,'errcatch')
-for a=1:3 
-  x
-end
- ierr  =
-    4.  
-end
-a=3;
-if a<>3 then bugmes();quit;end
-if ierr<>4 then bugmes();quit;end
-if or(file()<>of) then bugmes();quit;end
-clear a x ierr;
-if exec(path,'errcatch',-1)<>0  then bugmes();quit;end
-for a=1:3 
-  x
-end
-if a<>3 then bugmes();quit;end
-if ierr<>4 then bugmes();quit;end
-clear a x ierr;
-if execstr(txt,'errcatch')<>0 then bugmes();quit;end
-for a=1:3 
-  x
-end
-if a<>3 then bugmes();quit;end
-if ierr<>4 then bugmes();quit;end
-clear a x ierr foo;
-txt=['a=1;';
-     'if %t then';
-     '  ierr=exec(path2,''errcatch'');'
-     'end'
-     'a=a+3;'];
-mputl(txt,path);
-txt2=['errcatch(-1,''continue'')'
-      'for a=1:3 ';
-      '  x'
-      'end'
-      'a=2;'
-      'errcatch()'];
-mputl(txt2,path2);
-of=file();
-if exec(path,'errcatch')<>0 then bugmes();quit;end
-a=1;
-if %t then
-  ierr=exec(path2,'errcatch');
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-end
-a=a+3;
-if a<>5 then bugmes();quit;end
-if ierr<>4 then bugmes();quit;end
-if or(file()<>of) then bugmes();quit;end
-clear a x ierr;
-if exec(path,'errcatch',-1)<>0  then bugmes();quit;end
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-if a<>5 then bugmes();quit;end
-if ierr<>4 then bugmes();quit;end
-clear a x ierr;
-if execstr(txt,'errcatch')<>0 then bugmes();quit;end
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-if a<>5 then bugmes();quit;end
-if ierr<>4 then bugmes();quit;end
-function [ierr,ierr2]=foo(),ierr2=exec(path,'errcatch');endfunction
-[ierr,ierr2]=foo()
-a=1;
-if %t then
-  ierr=exec(path2,'errcatch');
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-end
-a=a+3;
- ierr2  =
-    0.  
- ierr  =
-    4.  
-if ierr<>4|ierr2<>0 then bugmes();quit;end
-exec(foo)
-a=1;
-if %t then
-  ierr=exec(path2,'errcatch');
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-end
-a=a+3;
-if a<>5 then bugmes();quit;end
-if ierr<>4|ierr2<>0 then bugmes();quit;end
-exec(foo,'errcatch')
-a=1;
-if %t then
-  ierr=exec(path2,'errcatch');
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-  x
-    !--error 4 
-Undefined variable: x
-end
-a=a+3;
- ans  =
-    0.  
-if a<>5 then bugmes();quit;end
-if ierr<>4|ierr2<>0 then bugmes();quit;end
-clear a x ierr foo;
-txt=['a=1;';
-     'if %t then';
-     '  a=foo()'
-     'end'
-     'a=a+3;'];
-mputl(txt,path);
-function a=foo()
-  errcatch(-1,'continue')
-  for a=1:3 
-    x
-  end
-  a=2;
-  errcatch();errclear()
-endfunction
-of=file();
-if exec(path,'errcatch')<>0 then bugmes();quit;end
-a=1;
-if %t then
-  a=foo()
- !--error 4 
-Undefined variable: x
- !--error 4 
-Undefined variable: x
- !--error 4 
-Undefined variable: x
- a  =
-    2.  
-end
-a=a+3;
-if a<>5 then bugmes();quit;end
-if or(file()<>of) then bugmes();quit;end
-path=TMPDIR+'/errcatchtst.sce';
-clear a x ierr foo iii1;
-txt=['a=1;';
-     'if %t then';
-     '  ierr=execstr(''a=foo()'',''errcatch'')'
-     '  disp hello'
-     'end'
-     'a=a+3';
-     'disp(a)'
-    ];
-function iii1=foo()
-  for iii1=1:3 
-    x
-  end
-  iii1=2;
-endfunction
-mputl(txt,path);
-of=file();
-exec(path)
-a=1;
-if %t then
-  ierr=execstr('a=foo()','errcatch')
- ierr  =
-    4.  
-  disp hello
- hello   
-end
-a=a+3
- a  =
-    4.  
-disp(a)
-    4.  
-if a<>4 then bugmes();quit;end
-if  exists('iii1')<>0  then bugmes();quit;end
-if ierr<>4 then bugmes();quit;end
-if or(file()<>of) then bugmes();quit;end
-if exec(path,'errcatch')<>0 then bugmes();quit;end
-a=1;
-if %t then
-  ierr=execstr('a=foo()','errcatch')
- ierr  =
-    4.  
-  disp hello
- hello   
-end
-a=a+3
- a  =
-    4.  
-disp(a)
-    4.  
-if a<>4 then bugmes();quit;end
-if ierr<>4 then bugmes();quit;end
-if or(file()<>of) then bugmes();quit;end
-clear a x ierr foo;
-txt=['a=1;';
-     'if %t then';
-     '  ierr=exec(foo,''errcatch'')'
-     'end'
-     'a=a+3;'];
-mputl(txt,path);
-function a=foo()
-  for a=1:3 
-    x
-  end
-  a=2;
-endfunction
-of=file();
-exec(path)
-a=1;
-if %t then
-  ierr=exec(foo,'errcatch')
- ierr  =
-    4.  
-end
-a=a+3;
-if a<>4 then bugmes();quit;end
-if ierr<>4 then bugmes();quit;end
-if or(file()<>of) then bugmes();quit;end
-if exec(path,'errcatch')<>0 then bugmes();quit;end
-a=1;
-if %t then
-  ierr=exec(foo,'errcatch')
- ierr  =
-    4.  
-end
-a=a+3;
-if a<>4 then bugmes();quit;end
-if ierr<>4 then bugmes();quit;end
-if or(file()<>of) then bugmes();quit;end
diff --git a/scilab/modules/core/tests/unit_tests/errcatch.tst b/scilab/modules/core/tests/unit_tests/errcatch.tst
deleted file mode 100644 (file)
index 4d7cbd7..0000000
+++ /dev/null
@@ -1,468 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-// <-- NO TRY CATCH -->
-
-// <-- ENGLISH IMPOSED -->
-
-funcprot(0);
-
-clear;
-
-errcatch(4,'continue','nomessage')
-a
-if iserror(4)==1 then errclear(-1),else pause,end
-a;b=1;
-errclear(-1),if b<>1 then pause,end
-b=[];for k=1:3,b(1,k)=k;a,end
-errclear(-1),if or(b<>(1:3)) then pause,end
-
-deff('foo()','x=a','n')
-foo();if iserror(4)==1 then errclear(-1),else pause,end
-deff('foo()','x=a')
-foo();if iserror(4)==1 then errclear(-1),else pause,end
-
-deff('b=foo()','x=a;b=1','n')
-b=foo();errclear(-1),if b<>1 then pause,end
-
-
-deff('b=foo()','x=a;b=1');b=foo();errclear(-1)
-
-
-deff('b=foo()',['x=a';'b=1'])
-b=foo();errclear(-1),if b<>1 then pause,end
-
-deff('b=foo()','b=[];for k=1:3,b(1,k)=k;a,end','n')
-b=foo();errclear(-1),if  or(b<>(1:3)) then pause,end
-
-deff('b=foo()',['b=[]';'for k=1:3';'b(1,k)=k;a';'end'])
-//b=foo();errclear(-1),if  or(b<>(1:3)) then pause,end
-
-
-errcatch(47,'continue','nomessage')
-deff('b=foo()','if %t then b=1')
-if iserror(47)<>1 then pause,else errclear(-1);end
-
-errcatch(37,'continue','nomessage')
-deff('b=foo(','if %t then b=1')
-if iserror(37)<>1 then pause,else errclear(-1);end
-
-
-clear
-errcatch()
-if execstr('a','errcatch')<>4 then pause,end
-ierr=execstr('a;b=1','errcatch');if ierr<>4 then pause,end
-ierr=execstr(['b=[]';'for k=1:3';'b(1,k)=k';'end';'a'],'errcatch');
-if ierr<>4|or(b<>(1:3)) then pause,end
-
-clear;errcatch(4,'continue','nomessage')
-execstr('a;if iserror(4)==1 then errclear(-1),else pause,end')
-clear;errcatch()
-
-deff('b=foo()',['b=[]';
-                'errcatch(4,''continue'',''nomessage'')'
-                'for k=1:3'
-                '  b(1,k)=k'
-                '  a'
-                '  if iserror(4)==1 then errclear(-1),end'
-                'end'
-                'errclear(-1)'],'n')
-b=foo();if or(b<>(1:3)) then pause,end
-
-deff('b=foo()',['b=[]';
-                'errcatch(4,''continue'',''nomessage'')'
-                'for k=1:3'
-                '  b(1,k)=k'
-                '  a'
-                '  if iserror(4)==1 then errclear(-1),end'
-                'end'
-               'errclear(-1)'])
-//b=foo();if or(b<>(1:3)) then pause,end
-
-clear N
-function foo(),N,endfunction
-ierr=execstr('foo()','errcatch');
-if ierr<>4 then pause,end
-ierr=exec(foo,'errcatch');
-if ierr<>4 then pause,end
-
-//=====================================================
-path=TMPDIR+'/errcatchtst.sce';
-clear a;
-txt='a=1';
-mputl(txt,path);
-exec(path)
-if a<>1 then pause,end
-exec(path,-1)
-if a<>1 then pause,end
-
-clear a;
-txt=['a=1;';'return';'a=2'];
-mputl(txt,path);
-exec(path)
-if a<>1 then pause,end
-exec(path,-1)
-if a<>1 then pause,end
-
-if exec(path,'errcatch')<>0 then pause,end
-if a<>1 then pause,end
-clear a
-if exec(path,'errcatch',-1)<>0 then pause,end
-if a<>1 then pause,end
-clear a
-if execstr(txt,'errcatch')<>0 then pause,end
-if a<>1 then pause,end
-
-
-clear a x;
-txt=['a=1';'b=x'];
-mputl(txt,path);
-of=file();
-if exec(path,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-if or(file()<>of) then pause,end
-
-clear a x;
-if exec(path,'errcatch',-1)<>4 then pause,end
-if a<>1 then pause,end
-clear a x;
-if execstr(txt,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-
-
-clear a x;
-txt=['a=1';'b=sin()';'a=2;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>42 then pause,end
-if a<>1 then pause,end
-clear a x;
-if exec(path,'errcatch',-1)<>42  then pause,end
-if a<>1 then pause,end
-clear a x;
-if execstr(txt,'errcatch')<>42 then pause,end
-if a<>1 then pause,end
-
-clear a x;
-errclear(-1);errcatch()
-txt=['a=1';
-     'if %t then';
-     '  disp hello'
-     '  sin()'
-     'end'
-     'a=2;'];
-mputl(txt,path);
-of=file();
-if exec(path,'errcatch')<>42 then pause,end
-if a<>1 then pause,end
-if or(file()<>of) then pause,end
-clear a x;
-if exec(path,'errcatch',-1)<>42  then pause,end
-if a<>1 then pause,end
-clear a x;
-if execstr(txt,'errcatch')<>42 then pause,end
-if a<>1 then pause,end
-
-clear a x;
-txt=['a=1';
-       'if %t then';
-       '  disp hello'
-       '  x'
-       'end'
-       'a=2;'];
-mputl(txt,path);of=file();
-if exec(path,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-if or(file()<>of) then pause,end
-clear a x;
-if exec(path,'errcatch',-1)<>4  then pause,end
-if a<>1 then pause,end
-clear a x;
-if execstr(txt,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-
-clear a x;
-txt=['for a=1:3 ';
-       '  x'
-       'end'
-       'a=2;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-clear a x;
-if exec(path,'errcatch',-1)<>4  then pause,end
-if a<>1 then pause,end
-clear a x;
-if execstr(txt,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-
-
-
-clear a x;
-function a=foo,  for a=1:3,x,end,  a=2;endfunction
-txt=['a=1';'a=foo();';'a=5;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-clear a x;
-if exec(path,'errcatch',-1)<>4  then pause,end
-if a<>1 then pause,end
-clear a x;
-if exec(foo,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-clear a x;
-if execstr(txt,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-
-
-
-clear a x;
-function a=foo 
-  for a=1:3,
-    x,
-  end,  
-  a=2;
-endfunction
-txt=['a=1';'a=foo();';'a=5;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-clear a x;
-if exec(path,'errcatch',-1)<>4  then pause,end
-if a<>1 then pause,end
-clear a x;
-if exec(foo,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-clear a x;
-if execstr(txt,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-
-
-
-clear a x foo;
-txt=['for a=1:3 ';
-       '  sin()'
-       'end'
-       'a=2;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>42 then pause,end
-if a<>1 then pause,end
-clear a x 
-if exec(path,'errcatch',-1)<>42  then pause,end
-if a<>1 then pause,end
-clear a x;
-if execstr(txt,'errcatch')<>42 then pause,end
-if a<>1 then pause,end
-
-
-
-clear a x foo;
-function a=foo,  
-  for a=1:3,
-    sin()
-  end,  
-  a=2;
-endfunction
-txt=['a=1';'a=foo();';'a=5;'];
-mputl(txt,path);
-if exec(path,'errcatch')<>42 then pause,end
-if a<>1 then pause,end
-clear a x 
-if exec(path,'errcatch',-1)<>42  then pause,end
-if a<>1 then pause,end
-clear a x 
-if exec(foo,'errcatch')<>42 then pause,end
-if a<>1 then pause,end
-clear a x 
-if execstr(txt,'errcatch')<>42 then pause,end
-if a<>1 then pause,end
-
-
-clear a foo;
-txt=['for a=1:3 ';
-       '  sin()'
-       'end'
-       'a=2;'];
-mputl(txt,path);
-function [a,ierr]=foo,ierr=exec(path,'errcatch'),endfunction
-[a,ierr]=foo()
-if a<>1|ierr<>42 then pause,end
-clear a
-if execstr('[a,ierr]=foo()','errcatch')<>0 then pause,end
-if a<>1|ierr<>42 then pause,end
-
-
-clear a
-function [a]=foo,exec(path),endfunction
-ierr=execstr(['a=1';'[a]=foo()'],'errcatch')
-if a<>1|ierr<>42 then pause,end
-
-
-path=TMPDIR+'/errcatchtst.sce';
-path2=TMPDIR+'/errcatchtst2.sce';
-
-clear a x;
-txt=['a=1';
-     'if %t then';
-     '  exec(path2)'
-     'end'
-     'a=3;'];
-mputl(txt,path);
-txt2=['for a=1:3 ';
-       '  x'
-       'end'
-       'a=2;'];
-mputl(txt2,path2);
-of=file();
-if exec(path,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-if or(file()<>of) then pause,end
-clear a x;
-if exec(path,'errcatch',-1)<>4  then pause,end
-if a<>1 then pause,end
-clear a x;
-if execstr(txt,'errcatch')<>4 then pause,end
-if a<>1 then pause,end
-
-clear a x;
-txt=['a=1';
-     'if %t then';
-     '  ierr=exec(path2,''errcatch'')'
-     'end'
-     'a=3;'];
-mputl(txt,path);
-txt2=['for a=1:3 ';
-       '  x'
-       'end'
-       'a=2;'];
-mputl(txt2,path2);
-of=file();
-if exec(path,'errcatch')<>0 then pause,end
-if a<>3 then pause,end
-if ierr<>4 then pause,end
-if or(file()<>of) then pause,end
-clear a x ierr;
-if exec(path,'errcatch',-1)<>0  then pause,end
-if a<>3 then pause,end
-if ierr<>4 then pause,end
-clear a x ierr;
-if execstr(txt,'errcatch')<>0 then pause,end
-if a<>3 then pause,end
-if ierr<>4 then pause,end
-
-clear a x ierr foo;
-txt=['a=1;';
-     'if %t then';
-     '  ierr=exec(path2,''errcatch'');'
-     'end'
-     'a=a+3;'];
-mputl(txt,path);
-txt2=['errcatch(-1,''continue'')'
-      'for a=1:3 ';
-      '  x'
-      'end'
-      'a=2;'
-      'errcatch()'];
-mputl(txt2,path2);
-of=file();
-if exec(path,'errcatch')<>0 then pause,end
-if a<>5 then pause,end
-if ierr<>4 then pause,end
-if or(file()<>of) then pause,end
-clear a x ierr;
-if exec(path,'errcatch',-1)<>0  then pause,end
-if a<>5 then pause,end
-if ierr<>4 then pause,end
-clear a x ierr;
-if execstr(txt,'errcatch')<>0 then pause,end
-if a<>5 then pause,end
-if ierr<>4 then pause,end
-function [ierr,ierr2]=foo(),ierr2=exec(path,'errcatch');endfunction
-[ierr,ierr2]=foo()
-if ierr<>4|ierr2<>0 then pause,end
-exec(foo)
-if a<>5 then pause,end
-if ierr<>4|ierr2<>0 then pause,end
-exec(foo,'errcatch')
-if a<>5 then pause,end
-if ierr<>4|ierr2<>0 then pause,end
-
-clear a x ierr foo;
-txt=['a=1;';
-     'if %t then';
-     '  a=foo()'
-     'end'
-     'a=a+3;'];
-mputl(txt,path);
-function a=foo()
-  errcatch(-1,'continue')
-  for a=1:3 
-    x
-  end
-  a=2;
-  errcatch();errclear()
-endfunction
-of=file();
-if exec(path,'errcatch')<>0 then pause,end
-if a<>5 then pause,end
-if or(file()<>of) then pause,end
-
-
-path=TMPDIR+'/errcatchtst.sce';
-clear a x ierr foo iii1;
-txt=['a=1;';
-     'if %t then';
-     '  ierr=execstr(''a=foo()'',''errcatch'')'
-     '  disp hello'
-     'end'
-     'a=a+3';
-     'disp(a)'
-    ];
-function iii1=foo()
-  for iii1=1:3 
-    x
-  end
-  iii1=2;
-endfunction
-
-mputl(txt,path);
-of=file();
-exec(path)
-
-if a<>4 then pause,end
-if  exists('iii1')<>0  then pause,end
-if ierr<>4 then pause,end
-if or(file()<>of) then pause,end
-
-if exec(path,'errcatch')<>0 then pause,end
-if a<>4 then pause,end
-if ierr<>4 then pause,end
-if or(file()<>of) then pause,end
-
-clear a x ierr foo;
-txt=['a=1;';
-     'if %t then';
-     '  ierr=exec(foo,''errcatch'')'
-     'end'
-     'a=a+3;'];
-mputl(txt,path);
-function a=foo()
-  for a=1:3 
-    x
-  end
-  a=2;
-endfunction
-of=file();
-exec(path)
-if a<>4 then pause,end
-if ierr<>4 then pause,end
-if or(file()<>of) then pause,end
-
-if exec(path,'errcatch')<>0 then pause,end
-if a<>4 then pause,end
-if ierr<>4 then pause,end
-if or(file()<>of) then pause,end
-
index 4b10fb8..0e889b6 100644 (file)
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) ????-2008 - INRIA
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 // <-- NO TRY CATCH -->
+// <-- ENGLISH IMPOSED -->
 // test of matsys functions
-// debug
-// if debug()<>0 then bugmes();quit;end
-// debug(4)
-// if debug()<>4 then bugmes();quit;end
-// debug(0)
-//errcatch,errclear,iserror
-clear
-errcatch(4,'continue')
-unknown
-unknown
-  !--error 4 
-Undefined variable: unknown
-
-if iserror()<>1 then bugmes();quit;end
-errclear()
-if iserror()<>0 then bugmes();quit;end
-unknown
-unknown
-  !--error 4 
-Undefined variable: unknown
-
-if iserror(4)<>1 then bugmes();quit;end
-errclear(4)
-if iserror(4)<>0 then bugmes();quit;end
-errcatch(4,'continue','nomessage')
-unknown
-if iserror()<>1 then bugmes();quit;end
-errclear()
-if iserror()<>0 then bugmes();quit;end
-unknown
-if iserror(4)<>1 then bugmes();quit;end
-errclear(4)
-if iserror(4)<>0 then bugmes();quit;end
-errcatch()
 //error
-errcatch(4,'continue','nomessage')
-error(4)
-if iserror()<>1 then bugmes();quit;end
-errclear();errcatch()
-errcatch(-1,'continue','nomessage')
-error('test erreur');
+execstr("error(""test erreur"")", "errcatch");
 errclear();
-error('test erreur',999);
+assert_checkequal(lasterror(), []);
+execstr("error(""test erreur"", 999)", "errcatch");
 errclear();
-errcatch()
+[m,n]=lasterror();
+assert_checkequal(m, []);
+assert_checkequal(n, 0);
 // lasterror
-errcatch(4,'continue','nomessage')
-unknown
-if stripblanks(lasterror(%f))<>"Undefined variable: unknown" then bugmes();quit;end
+execstr("unknown", "errcatch");
+assert_checkequal(stripblanks(lasterror(%f)), "Undefined variable: unknown");
 [m,n]=lasterror();
-if stripblanks(m)<>"Undefined variable: unknown" then bugmes();quit;end
-if n<>4 then bugmes();quit;end
-if lasterror()<>[] then bugmes();quit;end
+assert_checkequal(stripblanks(m), "Undefined variable: unknown");
+assert_checktrue(n <> 0);
+assert_checkequal(lasterror(), []);
 [m,n]=lasterror();
-if m<>[]|n<>0 then bugmes();quit;end
+assert_checkequal(m, []);
+assert_checkequal(n, 0);
index 1dc1ecb..25ee06a 100644 (file)
 
 // test of matsys functions
 
-// debug
-// if debug()<>0 then pause,end
-// debug(4)
-// if debug()<>4 then pause,end
-// debug(0)
-
-//errcatch,errclear,iserror
-clear
-errcatch(4,'continue')
-unknown
-if iserror()<>1 then pause,end
-errclear()
-if iserror()<>0 then pause,end
-unknown
-if iserror(4)<>1 then pause,end
-errclear(4)
-if iserror(4)<>0 then pause,end
-errcatch(4,'continue','nomessage')
-unknown
-if iserror()<>1 then pause,end
-errclear()
-if iserror()<>0 then pause,end
-unknown
-if iserror(4)<>1 then pause,end
-errclear(4)
-if iserror(4)<>0 then pause,end
-errcatch()
-
 //error
-errcatch(4,'continue','nomessage')
-error(4)
-if iserror()<>1 then pause,end
-errclear();errcatch()
-errcatch(-1,'continue','nomessage')
-error('test erreur');
+execstr("error(""test erreur"")", "errcatch");
 errclear();
-error('test erreur',999);
+assert_checkequal(lasterror(), []);
+
+execstr("error(""test erreur"", 999)", "errcatch");
 errclear();
-errcatch()
+[m,n]=lasterror();
+assert_checkequal(m, []);
+assert_checkequal(n, 0);
 
 // lasterror
-errcatch(4,'continue','nomessage')
-unknown
-if stripblanks(lasterror(%f))<>"Undefined variable: unknown" then pause,end
+execstr("unknown", "errcatch");
+assert_checkequal(stripblanks(lasterror(%f)), "Undefined variable: unknown");
 [m,n]=lasterror();
-if stripblanks(m)<>"Undefined variable: unknown" then pause,end
-if n<>4 then pause,end
-if lasterror()<>[] then pause,end
+assert_checkequal(stripblanks(m), "Undefined variable: unknown");
+assert_checktrue(n <> 0);
+assert_checkequal(lasterror(), []);
 [m,n]=lasterror();
-if m<>[]|n<>0 then pause,end
+assert_checkequal(m, []);
+assert_checkequal(n, 0);
+