* Bug 12330: mode() was poorly documented. Page overhauled 50/19250/7
Samuel GOUGEON [Sun, 9 Apr 2017 17:36:11 +0000 (19:36 +0200)]
  . http://bugzilla.scilab.org/12330
  . New page rendered in mode.pdf. Please remove it before merging.
  . exec() page will be overhauled in another commit
  . The page will be retranslated from scratch in other commits

Change-Id: Ie860502479588ff12052675a29454982ca2c935a

scilab/CHANGES.md
scilab/modules/core/help/en_US/mode.xml
scilab/modules/core/help/fr_FR/mode.xml [deleted file]
scilab/modules/core/help/ja_JP/mode.xml [deleted file]
scilab/modules/core/help/pt_BR/mode.xml [deleted file]
scilab/modules/core/help/ru_RU/mode.xml

index d7b0347..675ee9f 100644 (file)
@@ -234,7 +234,7 @@ Help pages:
   `scilab|scilex`, `flipdim`, `Matplot_properties`, `meshgrid`, `ismatrix`, `xget`, `xset`, `ieee`
 * rewritten: `consolebox`, `double`, `isoview`, `pixel_drawing_mode`, `householder`, `or`, `|,||`,
 `and`, `&,&&`, `format`, `typeof`, `brackets`, `setlanguage`, `sleep`, `isinf`,
-`bitor`, `bitxor`, `bitand`, `macr2tree`, `geomean`, `clf`, `getPreferencesValue`, `gcd`, `isglobal`, `whereis`
+`bitor`, `bitxor`, `bitand`, `macr2tree`, `geomean`, `clf`, `getPreferencesValue`, `gcd`, `isglobal`, `whereis`, `mode`
 * reorganized:
   - `else`, `elseif`, `end`, `try`, `sciargs`, `global`, `halt`, `empty`, `power`, `numderivative`
   - `pixel_drawing_mode`, `show_window`, `twinkle`, `uigetcolor`, `winsid`, `xdel`, `xgrid`, `xname`, `xnumb`
@@ -364,11 +364,16 @@ the [development mailing list](dev@lists.scilab.org) for a particular toolbox.
 ### Bugs fixed in 6.0.1:
 * [#4276](http://bugzilla.scilab.org/show_bug.cgi?id=4276): `strsubst` replaced the first occurence in regex mode.
 * [#5278](http://bugzilla.scilab.org/show_bug.cgi?id=5278): obsolete `xset()` was still used in scripts, macros, tests and help pages.
+<<<<<<< HEAD
 * [#8297](http://bugzilla.scilab.org/show_bug.cgi?id=8297): `cat` slowness was exponential, crippling, and made it useless.
 * [#9519](http://bugzilla.scilab.org/show_bug.cgi?id=9519): The console menu `File -> Open a file` opened any file in Scinotes. Binary files like .zcos blocked Scinotes.
 * [#11756](http://bugzilla.scilab.org/show_bug.cgi?id=11756): In the categories of the ATOMS GUI, actually available modules might be not listed.
 * [#12195](http://bugzilla.scilab.org/show_bug.cgi?id=12195): `generateBlockImage` sometimes changed the current graphic driver.
 * [#12771](http://bugzilla.scilab.org/show_bug.cgi?id=12771): xcosPalGenerateAllIcons help example was broken.
+=======
+* [#12372](http://bugzilla.scilab.org/show_bug.cgi?id=12372): The `mode` function was poorly documented.
+* [#12771](http://bugzilla.scilab.org/show_bug.cgi?id=12771): xcosPalGenerateAllIcons help example was broken
+>>>>>>> e8fcc0dce30... * Bug 12330: mode() was poorly documented. Page overhauled
 * [#13592](http://bugzilla.scilab.org/show_bug.cgi?id=13592): In an axes in a uicontrol frame, setting a `legend` interactively might not follow the mouse accurately.
 * [#13900](http://bugzilla.scilab.org/show_bug.cgi?id=13900): `nanmin` and `nanmax` were useless duplicates of `min` and `max`
 * [#14254](http://bugzilla.scilab.org/show_bug.cgi?id=14254): When installing an ATOMS module that is not locally registered and available, the error message was unclear.
index f783be1..8c114e3 100644 (file)
@@ -2,6 +2,7 @@
 <!--
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ * Copyright (C) 2017 - Samuel GOUGEON
  *
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
  *
  * along with this program.
  *
  -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="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="mode" xml:lang="en">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
+          xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="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="mode" xml:lang="en">
     <refnamediv>
         <refname>mode</refname>
-        <refpurpose>select a mode in an exec-file</refpurpose>
+        <refpurpose>sets or queries the mode echoing Scilab instructions in the console</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Syntax</title>
-        <synopsis>mode(k)
+        <synopsis>
+            mode(k)
             k = mode()
         </synopsis>
     </refsynopsisdiv>
     <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>k</term>
+                <para>integer from -1 to 6: chosen or current execution / echoing mode.
+                </para>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
         <title>Description</title>
         <para>
-            Used <emphasis role="bold">exclusively</emphasis> inside an
-            exec-file or a Scilab function <literal>mode(k)</literal> allows to change
-            the information displayed during the execution, depending on the value of
-            <literal>k</literal>:
+            <literal>mode(k)</literal> allows to choose how informations are displayed in the console
+            during the execution of Scilab instructions. If these instructions include a
+            <literal>mode</literal> one, following ones in the same environment are echoed according
+            to the new mode. A <link linkend="semicolon">semicolon</link> appended
+            to any instruction always cancels the display of its result, whatever is the current
+            execution <literal>mode</literal>.
         </para>
-        <variablelist>
-            <varlistentry>
-                <term>k = 0</term>
+        <refsect3>
+            <title>Contexts</title>
+            <literal>mode(..)</literal> and other instructions can be used and executed in various
+            contexts:
+            <itemizedlist>
                 <listitem>
-                    <para>The new variable values are displayed if required (see help on
-                        <link linkend="semicolon">semicolon</link> or <link linkend="comma">comma</link>).
+                    <para>
+                    <emphasis role="bold">Functions (F)</emphasis>: a function written in Scilab
+                    language may include <literal>mode</literal> instructions. After being compiled
+                    and called, effects of an inner <literal>mode</literal> instruction are tagged
+                    with a <emphasis role="bold">F</emphasis> in the table herebelow.
+                    By default, instructions in functions are run in silent mode
+                    <literal>mode(-1)</literal>, whatever is the current mode in the calling environment.
                     </para>
                 </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k = -1</term>
                 <listitem>
-                    <para>The exec-file or Scilab function executes silently (this is
-                        the default value for Scilab functions).
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k = 2</term>
-                <listitem>
-                    <para>It is the default value on Scilab prompt.</para>
                     <para>
-                        Please notices that <literal>mode(2)</literal> does not used at prompt, only in an
-                        exec-file or a Scilab function.
+                    <emphasis role="bold">Scripts (S)</emphasis>: Scilab instructions written in a
+                    file (typically with the .sce extension) out of any function definition may
+                    include <literal>mode</literal> instructions. When such a file is run with
+                    <literal>exec(filename)</literal> or <literal>exec(filename, mode_k)</literal>,
+                    effects of a <literal>mode</literal> instruction in the executed file are tagged
+                    with a <emphasis role="bold">S</emphasis> in the table herebelow.
+                    By default, scripts are run in <literal>mode(3)</literal> mode,
+                    <emphasis role="italic">whatever is the current mode in the calling
+                    environment</emphasis>. This is overridden with the <literal>mode_k</literal>
+                    option.
                     </para>
                 </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k = 1 or k = 3</term>
                 <listitem>
-                    <para>Each line of instructions is echoed preceded of the prompt (if
-                        possible). The new variable values are displayed if required. This
-                        is the default for exec-files.
+                    <para>
+                    <emphasis role="bold">Console (C)</emphasis>: Scilab instructions directly
+                    entered in the console are always displayed as entered. Effects of the current
+                    <literal>mode</literal> or of any forthcoming <literal>mode</literal>
+                    instruction entered in the console are tagged with a
+                    <emphasis role="bold">C</emphasis> in the table herebelow.
+                    By default, results of instructions run in the console are displayed in
+                    <literal>mode(2)</literal>.
                     </para>
                 </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k = 4 or k = 7</term>
                 <listitem>
-                    <para>The new variable values are displayed if required, each line
-                        of instructions is echoed (if possible) and a prompt (&gt;&gt;) is
-                        issued after each line waiting for a carriage return.
-                    </para>
-                    <para>If the carriage return follows character "p" the execution is
-                        paused (see <link linkend="pause">pause</link>).
+                    <para>
+                    <emphasis role="bold">execstr(T)</emphasis>: This function accepts a matrix of
+                    text T. Each component is executed as a series of Scilab instructions, that may
+                    include <literal>mode</literal> ones.
+                    Effects of any forthcoming <literal>mode</literal> instruction met in the matrix
+                    are tagged with a <emphasis role="bold">T</emphasis> (as Text) in the table
+                    herebelow.
+                    By default, all instructions are run in silent mode <literal>mode(-1)</literal>,
+                    <emphasis role="italic">whatever is the current mode in the calling
+                    environment</emphasis> running <literal>execstr()</literal>.
                     </para>
                 </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k &gt; 7</term>
                 <listitem>
-                    <para>User mode. If you define your own mode, it is recommended to
-                        use a value &gt; 100.
+                    <para>
+                    <emphasis role="bold">Callbacks (K)</emphasis>: a callback is a unique string
+                    in which Scilab instructions are written. This string is assigned to an
+                    interactive component such as the item of a menu, a checkbox, etc. The
+                    instructions are executed when the component is activated by an interaction:
+                    the menu is selected, the checkbox is checked or unchecked, etc. A callback may
+                    include some <literal>mode</literal> instructions. The instructions of a callback
+                    are always executed directly at the console level. Their effects remain in
+                    the console after the callback is completed. Effects of a <literal>mode</literal>
+                    instruction used in a callbacK are tagged with a <emphasis role="bold">K</emphasis>
+                    in the table herebelow.
                     </para>
                 </listitem>
-            </varlistentry>
-        </variablelist>
-        <para>
-            By default, Scilab functions are executed using the silent ("-1") mode.
-        </para>
-        <para>Functions in a function library are executed using "-1" mode.</para>
+            </itemizedlist>
+        </refsect3>
+        <refsect3>
+            <title>Features</title>
+        <table border="1" cellpadding="3pt" style="text-align:center" align="center">
+            <tr style="text-align:center">
+                <th align="left">mode #</th>
+                <th>-1</th><th>0</th>  <th>1</th>    <th>2</th> <th>3</th> <th>4</th> <th>6</th>
+            </tr>
+            <tr style="text-align:center">
+                <td align="left">Displays instructions [a]</td>
+                <td>C</td>  <td>C</td> <td>C S</td>  <td>C</td> <td>C S</td> <td>C S</td> <td>C S K</td>
+            </tr>
+            <tr style="text-align:center">
+                <td align="left">Displays results [b]</td>
+                <td></td><td>always</td><td>always</td><td>always</td><td>always</td><td>always</td><td>always</td>
+            </tr>
+            <tr style="text-align:center">
+                <td align="left">Step by step [s]</td>
+                <td></td>  <td></td>  <td> </td>  <td></td>  <td></td> <td>S F K</td> <td>S F T K</td>
+            </tr>
+            <tr style="text-align:center">
+                <td align="left">Compact [c]</td>
+                <td>C++</td><td>+</td><td>++</td><td></td><td>SFT +</td><td>CK++ SFT+</td><td>S+</td>
+            </tr>
+            <tr style="text-align:center">
+                <td align="left">Comments</td>
+                <td>[d]</td>  <td></td>   <td>[e]</td>     <td>[f]</td> <td>[g]</td><td>[h]</td><td>[h,i]</td>
+            </tr>
+        </table>
+        </refsect3>
+        <refsect3>
+            <title>Comments</title>
+            <!-- <emphasis role="bold">Comments:</emphasis> -->
+            <table>
+                <tr>
+                    <td valign="top">[a]: </td>
+                    <td>
+                        In normal modes, instructions are displayed with the <literal>--></literal>
+                        heading prompt. In step-by-step modes, <literal>>></literal> is used instead.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[b]: </td>
+                    <td>provided that no <link linkend="semicolon">semicolon</link> is appended.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[c]: </td>
+                    <td>"+" means: no extra blank line after results. "++" means: no extra blank
+                    line neither after completed instructions, nor after results.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[d]: </td>
+                    <td>
+                        Default silent mode in functions and with <literal>execstr()</literal>.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[e]: </td>
+                    <td>
+                        <literal>mode(5)</literal> is equivalent to <literal>mode(1)</literal>
+                        but must not be used.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[f]: </td>
+                    <td>
+                        Default mode in the console.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[g]: </td>
+                    <td>
+                        Default <literal>exec()</literal> mode.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[h]: </td>
+                    <td valign="top">
+                        <simplelist>
+                            <member>
+                                Any comment <literal>//</literal> is displayed without prompting and
+                                being stepped.
+                            </member>
+                            <member>
+                                Some parasitic <literal>--></literal> prompts and extra blank lines
+                                may be sometimes displayed (bug).
+                            </member>
+                            <member>
+                                A callback is always made of a unique string of instructions, as if
+                                they were specified and run on a single row. Therefore, both
+                                available stepping execution modes are activable but useless in any
+                                callback.
+                            </member>
+                        </simplelist>
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[i]: </td>
+                    <td>
+                        <literal>mode(7)</literal> does the same but must not be used.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[s]: </td>
+                    <td>
+                        The step-by-step mode stops after each line of instruction(s) and waits for
+                        the user pressing the <literal>&lt;enter></literal> or
+                        <literal>p&lt;enter></literal> keys to go on. Entering <literal>p</literal>
+                        enters the <link linkend="pause">pause</link> mode. These modes may be used
+                        for instance in demos, or as a raw debugging mode.
+                    </td>
+                </tr>
+            </table>
+        </refsect3>
+        <para> </para>
+        <important>
+            The mode in the calling environment is never changed after using
+            <literal>mode(..)</literal> in a called function, in an executed script.sce or
+            as an <literal>execstr()</literal> input, after the execution is completed and returns.
+            When <literal>mode(k)</literal> is used in a <emphasis role="italic">callback</emphasis>
+            that is executed, it becomes and remains the actual echoing mode in the console after
+            the end of the callback.
+        </important>
+        <important>
+            Output intentionnally displayed by functions like <literal>disp()</literal> or
+            <literal>mprinf()</literal> are never cancelled, even with <literal>mode(-1)</literal>.
+        </important>
+        <warning>
+            <literal>mode(5)</literal>, <literal>mode(7)</literal>, and other unregistered values
+            may be accepted but should not be used: they could be removed or redefined in the future.
+        </warning>
     </refsection>
     <refsection>
         <title>Examples</title>
+        <para>
+        In a function():
+        </para>
         <programlisting role="example"><![CDATA[
-// copy - paste in Scilab
-
 function example_mode( level_mode )
- mode(level_mode)
- a = 3
- disp(mode());
+   disp(mode());
+   mode(level_mode)
+   a = 3
 endfunction
 
 mode(2)
-
 example_mode(0)
-example_mode(-1)
-example_mode(2)
+mode()
 example_mode(1)
-example_mode(3)
-example_mode(7)
-
+example_mode(2)
+ ]]></programlisting>
+    <para>
+    With exec(script, mode):
+    </para>
+    <programlisting role="example"><![CDATA[
+ins = [
+    "mprintf(""Default execution mode: %d\n"", mode())"
+    "mode(i)"
+    "mprintf(""New active mode: %d\n"", mode())"
+    "// A new comment"
+    "a = rand(2,4)"
+    "b = %pi;"
+    "c = %s;"
+    ];
+fn = TMPDIR + "\test_mode.sce";
+mputl(ins, fn);
+//
+mode(2)
+i = 1;
+exec(fn)
+mode()
+exec(fn, 0)
+i = 3; // instructions are displayed
+exec(fn, 3)
+i = 4; // displayed instructions + stepped mode. "p<enter>" enters the paused mode
+exec(fn, 4)
+ ]]></programlisting>
+    <para>
+    With execstr():
+    </para>
+    <programlisting role="example"><![CDATA[
+ins = [
+    "mprintf(""Default execution mode: %d\n"", mode())"
+    "mode(1)        // Entering the compact mode"
+    "mprintf(""New active mode: %d\n"", mode())"
+    "a = rand(2,4)"
+    "b = 1"
+    "c = %pi"
+    ];
 mode(2)
+execstr(ins)
+mode()       // The initial mode is restored
+ ]]></programlisting>
+    <para>
+    In a callback (here a menu):
+    </para>
+        <programlisting role="no-scilab-exec"><![CDATA[
+mode(2)
+uimenu("parent",0,"Label","mode_test",..
+       "callback", "disp(mode()); mode(1); a = rand(2,4), pwd(),");
+// Click on the "mode_test" menu and see what is displayed in the console
+mode()
+delmenu mode_test
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
@@ -130,8 +336,46 @@ mode(2)
                 <link linkend="semicolon">semicolon</link>
             </member>
             <member>
-                <link linkend="comma">comma</link>
+                <link linkend="debug">debug</link>
+            </member>
+            <member>
+                <link linkend="pause">pause</link>
+            </member>
+            <member>
+                <link linkend="getscilabmode">getscilabmode</link>
+            </member>
+            <member>
+                <link linkend="warning">warning mode</link>
+            </member>
+            <member>
+                <link linkend="funcprot">funcprot</link>
+            </member>
+            <member>
+                <link linkend="ieee">ieee</link>
             </member>
         </simplelist>
     </refsection>
+    <refsection role="history">
+        <title>History</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0</revnumber>
+                <revdescription>
+                <itemizedlist>
+                    <listitem>
+                        mode(4) is now stepped and can be paused, in scripts as well as in functions.
+                    </listitem>
+                    <listitem>
+                        For/in scripts, mode(4) now displays each line of instructions, and
+                        displays results in a compact way. It can be used for demos.
+                    </listitem>
+                    <listitem>
+                        Callbacks were always executed in silent mode(-1). They are now executed by
+                        default in the current <literal>mode()</literal>.
+                    </listitem>
+                </itemizedlist>
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
diff --git a/scilab/modules/core/help/fr_FR/mode.xml b/scilab/modules/core/help/fr_FR/mode.xml
deleted file mode 100644 (file)
index 806b85a..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2009 - DIGITEO - Allan CORNET
- *
- * Copyright (C) 2012 - 2016 - Scilab Enterprises
- *
- * This file is hereby licensed under the terms of the GNU GPL v2.0,
- * pursuant to article 5.3.4 of the CeCILL v.2.1.
- * This file was originally licensed under the terms of the CeCILL v2.1,
- * and continues to be available under such terms.
- * For more information, see the COPYING file which you should have received
- * along with this program.
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="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="mode" xml:lang="fr">
-    <refnamediv>
-        <refname>mode</refname>
-        <refpurpose>choisit le mode d'exécution des scripts et des
-            fonctions
-        </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Séquence d'appel</title>
-        <synopsis>mode(k)
-            k=mode()
-        </synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Description</title>
-        <para>
-            Utilisé
-            <emphasis role="bold">
-                <literal>uniquement</literal>
-            </emphasis>
-            dans un script ou une
-            fonction, <literal>mode(k)</literal> permet de choisir le mode d'affichage
-            utilisé pendant l'exécution, suivant la valeur de
-            <literal>k</literal> :
-        </para>
-        <variablelist>
-            <varlistentry>
-                <term>k = 0</term>
-                <listitem>
-                    <para>les nouvelles valeurs des variables sont affichées (voir
-                        <link linkend="semicolon">semicolon</link> ou <link linkend="comma">comma</link>).
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k = -1</term>
-                <listitem>
-                    <para>l'exécution est silencieuse (rien n'est affiché :
-                        mode par défaut pour les fonctions)
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k = 2</term>
-                <listitem>
-                    <para>valeur par défaut retournée au prompt de scilab.</para>
-                    <para>veuillez noter que ce mode ne doit pas etre utilisé au prompt mais seulement via un script ou une fonction.</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k = 1 ou k = 3</term>
-                <listitem>
-                    <para>les nouvelles valeurs des variables sont affichées,
-                        chaque ligne de commande est affichée et
-                        précédée de l'invite de commande (mode par
-                        défaut pour les scripts lancés par "exec")
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k = 4 ou k = 7</term>
-                <listitem>
-                    <para>les nouvelles valeurs des variables sont affichées,
-                        chaque ligne de commande est affichée et
-                        précédée de l'invite de commande. L'exécution
-                        est interrompue après chaque ligne et reprend après un
-                        appui sur la touche entrée/return.
-                    </para>
-                    <para>Si la touche entrée/return et précédée du
-                        caractère "p", l'éxecution est suspendue (voir <link linkend="pause">pause</link>).
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k &gt; 7</term>
-                <listitem>
-                    <para>mode défini par l'utilisateur. Si vous définissez
-                        votre propre mode, il est recommandé d'utiliser des valeurs
-                        &gt; 100.
-                    </para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-        <para>Par défaut les fonctions Scilab sont
-            exécutées en mode silencieux ("-1").
-        </para>
-        <para>Les fonctions incluses dans une bibliothèque de fonctions scilab sont executés avec le mode "-1".</para>
-    </refsection>
-    <refsection>
-        <title>Exemples</title>
-        <programlisting role="exemple"><![CDATA[
-// copier - coller ces lignes dans scilab
-
-function example_mode( level_mode )
-  mode(level_mode)
-  a = 3
-  disp(mode());
-endfunction
-
-mode(2)
-
-example_mode(0)
-example_mode(-1)
-example_mode(2)
-example_mode(1)
-example_mode(3)
-example_mode(7)
-
-mode(2)
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>Voir aussi</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="exec">exec</link>
-            </member>
-            <member>
-                <link linkend="execstr">execstr</link>
-            </member>
-            <member>
-                <link linkend="semicolon">semicolon</link>
-            </member>
-            <member>
-                <link linkend="comma">comma</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/core/help/ja_JP/mode.xml b/scilab/modules/core/help/ja_JP/mode.xml
deleted file mode 100644 (file)
index 9cd2606..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2009 - DIGITEO - Allan CORNET
- *
- * Copyright (C) 2012 - 2016 - Scilab Enterprises
- *
- * This file is hereby licensed under the terms of the GNU GPL v2.0,
- * pursuant to article 5.3.4 of the CeCILL v.2.1.
- * This file was originally licensed under the terms of the CeCILL v2.1,
- * and continues to be available under such terms.
- * For more information, see the COPYING file which you should have received
- * along with this program.
- *
- -->
-
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="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="mode" xml:lang="ja">
-
-    <refnamediv>
-
-        <refname>mode</refname>
-
-        <refpurpose>ファイル実行のモードを選択</refpurpose>
-
-    </refnamediv>
-
-    <refsynopsisdiv>
-
-        <title>呼び出し手順</title>
-
-        <synopsis>mode(k)
-
-            k = mode()
-
-        </synopsis>
-
-    </refsynopsisdiv>
-
-    <refsection>
-
-        <title>説明</title>
-
-        <para>
-
-            ファイル実行またはScilab関数の中で<emphasis role="bold">排他的に</emphasis>に
-
-            使用され,<literal>mode(k)</literal>は<literal>k</literal>の値に応じて
-
-            次のように実行時に表示される情報を変更することができます:
-
-        </para>
-
-        <variablelist>
-
-            <varlistentry>
-
-                <term>k = 0</term>
-
-                <listitem>
-
-                    <para>
-
-                        新しい変数の値が必要に応じて表示されます
-
-                        (<link linkend="semicolon">セミコロン</link>
-
-                        または
-
-                        <link linkend="comma">カンマ</link>のヘルプを参照).
-
-                    </para>
-
-                </listitem>
-
-            </varlistentry>
-
-            <varlistentry>
-
-                <term>k = -1</term>
-
-                <listitem>
-
-                    <para>
-
-                        ファイル実行またはScilab関数の実行時の
-
-                        表示を行いません.
-
-                        (これはScilab関数に関するデフォルト値です)
-
-                    </para>
-
-                </listitem>
-
-            </varlistentry>
-
-            <varlistentry>
-
-                <term>k = 2</term>
-
-                <listitem>
-
-                    <para>Scilabプロンプトのデフォルト値.</para>
-
-                    <para>
-
-                        <literal>mode(2)</literal>はプロンプトでは使用されず,
-
-                        ファイル実行またはScilab関数でのみ使用されることに
-
-                        注意してください.
-
-                    </para>
-
-                </listitem>
-
-            </varlistentry>
-
-            <varlistentry>
-
-                <term>k = 1 または k = 3</term>
-
-                <listitem>
-
-                    <para>
-
-                        命令の各行はプロンプトの前に表示されます.
-
-                        新しい変数の値は必要に応じて表示されます.
-
-                        これはファイル実行時のデフォルトです.
-
-                    </para>
-
-                </listitem>
-
-            </varlistentry>
-
-            <varlistentry>
-
-                <term>k = 4 または k = 7</term>
-
-                <listitem>
-
-                    <para>
-
-                        新しい変数の値は必要に応じて表示され,
-
-                        各行の命令は表示され,
-
-                        プロンプト (&gt;&gt;) がキャレッジリターンを待つ各行の
-
-                        後に出力されます.
-
-                    </para>
-
-                    <para>キャレッジリターンの後に "p" が続く場合,
-
-                        実行は中断されています(<link linkend="pause">pause</link>参照).
-
-                    </para>
-
-                </listitem>
-
-            </varlistentry>
-
-            <varlistentry>
-
-                <term>k &gt; 7</term>
-
-                <listitem>
-
-                    <para>ユーザモード. ユーザが独自のモードを定義した場合,
-
-                        100 より大きい値を使用することが推奨されます.
-
-                    </para>
-
-                </listitem>
-
-            </varlistentry>
-
-        </variablelist>
-
-        <para>
-
-            デフォルトでScilab関数はサイレントモード("-1")で実行されます.
-
-        </para>
-
-        <para>関数ライブラリ内の関数は, "-1" モードで実行されます.</para>
-
-    </refsection>
-
-    <refsection>
-
-        <title>例</title>
-
-        <programlisting role="example"><![CDATA[
-// scilab内にコピー/ペーストしてください
-function example_mode( level_mode )
- mode(level_mode)
- a = 3
- disp(mode());
-endfunction
-mode(2)
-example_mode(0)
-example_mode(-1)
-example_mode(2)
-example_mode(1)
-example_mode(3)
-example_mode(7)
-mode(2)
- ]]></programlisting>
-
-    </refsection>
-
-    <refsection role="see also">
-
-        <title>参照</title>
-
-        <simplelist type="inline">
-
-            <member>
-
-                <link linkend="exec">exec</link>
-
-            </member>
-
-            <member>
-
-                <link linkend="execstr">execstr</link>
-
-            </member>
-
-            <member>
-
-                <link linkend="semicolon">semicolon</link>
-
-            </member>
-
-            <member>
-
-                <link linkend="comma">comma</link>
-
-            </member>
-
-        </simplelist>
-
-    </refsection>
-
-</refentry>
-
diff --git a/scilab/modules/core/help/pt_BR/mode.xml b/scilab/modules/core/help/pt_BR/mode.xml
deleted file mode 100644 (file)
index 43edc46..0000000
+++ /dev/null
@@ -1,77 +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:ns4="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="mode" xml:lang="pt">
-    <refnamediv>
-        <refname>mode</refname>
-        <refpurpose>seleciona um modo em um arquivo executável</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Seqüência de Chamamento</title>
-        <synopsis>mode(k)
-            k=mode()
-        </synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Descrição</title>
-        <para>Usado exclusivamente dentro de um arquivo executável ou uma função
-            do Scilab, <literal>mode(k)</literal> permite mudar as informações
-            exibidas durante a execução, dependendo do valor de
-            <literal>k</literal>:
-        </para>
-        <variablelist>
-            <varlistentry>
-                <term>k=0</term>
-                <listitem>
-                    <para>os novos valores de variáveis são exibidos, se requeridos (ver
-                        ajuda em semi ou comma).
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k=-1</term>
-                <listitem>
-                    <para>o arquivo executável ou a função Scilab roda
-                        "silenciosamente". (este é o valor padrão para funções do Scilab)
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k=1 or k=3</term>
-                <listitem>
-                    <para>cada linha de instruções é ecoada precedida do prompt (se
-                        possível). Os novos valores de variáveis são exibidos, se requerido.
-                        Este é o padrão para arquivos executáveis.
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k=7</term>
-                <listitem>
-                    <para>Os novos valores de variáveis são exibidos, se requerido. Cada
-                        linha de instruções é ecoada (se possível) e um prompt (&gt;&gt;)
-                        aparece após cada linha esperando por um retorno de carro.
-                    </para>
-                    <para>Se o retorno de carro segue o caractere "p", a execução é
-                        pausada (ver <link linkend="pause">pause</link>).
-                    </para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-        <para>Por padrão, funções do Scilab são executadas no modo
-            "silencioso" ("-1").
-        </para>
-    </refsection>
-    <refsection role="see also">
-        <title>Ver Também</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="exec">exec</link>
-            </member>
-            <member>
-                <link linkend="semicolon">semicolon</link>
-            </member>
-            <member>
-                <link linkend="comma">comma</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
index 7b6fe32..940efad 100644 (file)
@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Scilab ( http://www.Scilab.org/ ) - This file is part of Scilab
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ * Copyright (C) 2017 - Samuel GOUGEON
  *
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
  *
  * along with this program.
  *
  -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="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="mode" xml:lang="ru">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
+          xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="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="mode" xml:lang="ru">
     <refnamediv>
         <refname>mode</refname>
-        <refpurpose>выбор режима отображения информации во время исполнения файла</refpurpose>
+        <refpurpose>устанавливает или запрашивает режим отображения в командном окне инструкций Scilab</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Синтаксис</title>
-        <synopsis>mode(k)
+        <synopsis>
+            mode(k)
             k = mode()
         </synopsis>
     </refsynopsisdiv>
     <refsection>
-        <title>Описание</title>
-        <para>
-            Используется <emphasis role="bold">исключительно</emphasis> внутри исполняемого файла
-            или Scilab-функции. <literal>mode(k)</literal> позволяет менять информацию, отображаемую
-            во время исполнения; зависит от значения <literal>k</literal>:
-        </para>
+        <title>Аргументы</title>
         <variablelist>
             <varlistentry>
-                <term>k = 0</term>
-                <listitem>
-                    <para>
-                        Новые значения переменных отображаются, если требуется (см. справку
-                        по <link linkend="semicolon">точке с запятой</link> или
-                        <link linkend="comma">запятой</link>).
-                    </para>
-                </listitem>
+                <term>k</term>
+                <para>целое число от -1 до 6: выбранный или текущий режим исполнения / отображения на экране.
+                </para>
             </varlistentry>
-            <varlistentry>
-                <term>k = -1</term>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Описание</title>
+        <para>
+            <literal>mode(k)</literal> позволяет выбрать как информация отображается в командном окне в
+            ходе выполнения инструкций Scilab. Если эти инструкции включают в себя инструкцию
+            <literal>mode</literal>, то последующие инструкции в том же окружении будут отображаться
+            в соответствии с новым режимом. <link linkend="semicolon">Точка с запятой</link>, поставленная
+            в конце любой инструкции всегда прекращает отображение результатов работы, несмотря ни на
+            какой текущий режим исполнения.
+        </para>
+        <refsect3>
+            <title>Контекст</title>
+            <literal>mode(..)</literal> и другие инструкции могут быть использованы и исполнены в различном контексте:
+            <itemizedlist>
                 <listitem>
                     <para>
-                        Исполняемый файл или Scilab-функция работает молча (это для Scilab-функций
-                        значение по умолчанию).
+                    <emphasis role="bold">Функции (F)</emphasis>: функция, написанная на языке Scilab,
+                    может включать в себя инструкции <literal>mode</literal>. Будучи скомпилированной
+                    и вызванной, действия внутренней инструкции <literal>mode</literal> отмечены буквой
+                    <emphasis role="bold">F</emphasis> в таблице, приведённой ниже.
+                    По умолчанию инструкции в функциях запускаются в режиме молчания <literal>mode(-1)</literal>
+                    какой бы ни был текущий режим в вызывающем окружении.
                     </para>
                 </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k = 2</term>
                 <listitem>
-                    <para>Это значение по умолчанию для командной строки Scilab'а.</para>
                     <para>
-                        Обратите внимание, что <literal>mode(2)</literal> не используется в
-                        командной строке, только в исполняемом файле или Scilab-функции.
+                    <emphasis role="bold">Сценарии (S)</emphasis>: инструкции Scilab, написанные
+                    в файле (обычно с расширением .sce) вне определения любой функции может включать
+                    в себя инструкции <literal>mode</literal>. Когда такой файл запущен с помощью
+                    <literal>exec(filename)</literal> или <literal>exec(filename, mode_k)</literal>, то результаты
+                    инструкции  <literal>mode</literal> в исполняемом файле помечены буквой
+                    <emphasis role="bold">S</emphasis> в таблице, приведённой ниже.
+                    По умолчанию сценарии запускаются в режиме <literal>mode(3)</literal>
+                    <emphasis role="italic">какой бы ни был текущий режим в вызывающем
+                    окружении</emphasis>. Это переписывается с помощью опции <literal>mode_k</literal>.
                     </para>
                 </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k = 1 или k = 3</term>
                 <listitem>
                     <para>
-                        Каждая строка инструкции выводится в командной строке (если возможно).
-                        Новые значения переменных отображаются в случае запроса. Это режим по умолчанию
-                        для исполняемых файлов.
+                    <emphasis role="bold">Командное окно (C)</emphasis>: инструкции Scilab, напрямую
+                    вводимые в командном окне, всегда отображаются после ввода. Результаты текущего
+                    режима инструкции <literal>mode</literal> или любого последующего режима,
+                    введённого в командном окне, помечены буквой <emphasis role="bold">C</emphasis>
+                    в таблице, приведённой ниже. По умолчанию результаты работы инструкций отображаются
+                    в командном окне в режиме <literal>mode(2)</literal>.
                     </para>
                 </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k = 4 или k = 7</term>
                 <listitem>
                     <para>
-                        Новые значения переменных отображаются в случае запроса, в командной строке
-                        отображается каждая строка инструкций (если возможно), и выдаётся приглашение к вводу
-                        (&gt;&gt;)  после каждой строки в ожидании возврата каретки.
-                    </para>
-                    <para>
-                        Если возврат каретки следует после латинской буквы "p", то исполнение приостанавливается
-                        (см. <link linkend="pause">pause</link>).
+                    <emphasis role="bold">execstr(T)</emphasis>: эта функция принимает матрицу текста
+                    <literal>T</literal>. Каждый элемент исполняется как последовательность инструкций
+                    Scilab, который может содержать инструкцию <literal>mode</literal>.
+                    Результаты любой последующей инструкции <literal>mode</literal>, встреченной в
+                    матрице, помечены буквой <emphasis role="bold">T</emphasis> ("текст") в таблице,
+                    приведённой ниже.
+                    По умолчанию все инструкции исполняются в режиме молчания <literal>mode(-1)</literal>
+                    <emphasis role="italic">какой бы ни был текущий режим в вызывающем окружении</emphasis>
+                    запускающего <literal>execstr()</literal>.
                     </para>
                 </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>k &gt; 7</term>
                 <listitem>
                     <para>
-                        Пользовательский режим отображения. Если вы определите ваш собственный режим отображения, то рекомендуется использовать
-                        значение &gt; 100.
+                    <emphasis role="bold">Обратные вызовы (K)</emphasis>: обратный вызов является уникальной
+                    строкой в которой написаны инструкции Scilab. Эта строка назначается для интерактивного
+                    компонента, такого как пункт в меню, флажок и т.д. Инструкции исполняются при активации
+                    компонента через воздействие: выбор меню, установку или снятие флажка и т.д. Обратный
+                    вызов может содержать инструкции <literal>mode</literal>. Инструкции обратного вызова
+                    всегда исполняются непосредственно на уровне командного окна. Результаты их работы
+                    остаются в командном окне после того, как обратный вызов будет завершён. Результаты работы
+                    инструкции <literal>mode</literal>, используемые в обратном вызове, отмечены буквой
+                    <emphasis role="bold">K</emphasis> в таблице, приведённой ниже.
                     </para>
                 </listitem>
-            </varlistentry>
-        </variablelist>
-        <para>
-            По умолчанию Scilab-функции исполняются в режиме молчания ("-1").
-        </para>
-        <para>Функции из библиотеки функций исполняются в режиме "-1".</para>
+            </itemizedlist>
+        </refsect3>
+        <refsect3>
+            <title>Характеристики</title>
+        <table border="1" cellpadding="3pt" style="text-align:center" align="center">
+            <tr style="text-align:center">
+                <th align="left">режим #</th>
+                <th>-1</th><th>0</th>  <th>1</th>    <th>2</th> <th>3</th> <th>4</th> <th>6</th>
+            </tr>
+            <tr style="text-align:center">
+                <td align="left">Инструкции отображения [a]</td>
+                <td>C</td>  <td>C</td> <td>C S</td>  <td>C</td> <td>C S</td> <td>C S</td> <td>C S K</td>
+            </tr>
+            <tr style="text-align:center">
+                <td align="left">Результаты отображения [b]</td>
+                <td></td><td>всегда</td><td>всегда</td><td>всегда</td><td>всегда</td><td>всегда</td><td>всегда</td>
+            </tr>
+            <tr style="text-align:center">
+                <td align="left">Шаг за шагом [s]</td>
+                <td></td>  <td></td>  <td> </td>  <td></td>  <td></td> <td>S F K</td> <td>S F T K</td>
+            </tr>
+            <tr style="text-align:center">
+                <td align="left">Кратко [c]</td>
+                <td>C++</td><td>+</td><td>++</td><td></td><td>SFT +</td><td>CK++ SFT+</td><td>S+</td>
+            </tr>
+            <tr style="text-align:center">
+                <td align="left">Комментарии</td>
+                <td>[d]</td>  <td></td>   <td>[e]</td>     <td>[f]</td> <td>[g]</td><td>[h]</td><td>[h,i]</td>
+            </tr>
+        </table>
+        </refsect3>
+        <refsect3>
+            <title>Комментарии</title>
+            <!-- <emphasis role="bold">Comments:</emphasis> -->
+            <table>
+                <tr>
+                    <td valign="top">[a]: </td>
+                    <td>
+                        В нормальном режиме инструкции отображаются в предложением о вводе
+                        <literal>--></literal>, идущим впереди. В пошаговом режиме вместо
+                        этого используется <literal>>></literal>.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[b]: </td>
+                    <td>указывает, что <link linkend="semicolon">точка с запятой</link> в конце не поставлена.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[c]: </td>
+                    <td>
+                       "+" означает: нет дополнительной пустой строки после результатов.
+                       "++" означает: нет дополнительной пустой строки ни после выполненных инструкций, ни после результатов.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[d]: </td>
+                    <td>
+                        По умолчанию режим молчания в функциях и с <literal>execstr()</literal>.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[e]: </td>
+                    <td>
+                        <literal>mode(5)</literal> эквивалентно <literal>mode(1)</literal>, но не должен быть использован.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[f]: </td>
+                    <td>
+                        Режим работы по умолчанию в командном окне.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[g]: </td>
+                    <td>
+                        По умолчанию режим работы <literal>exec()</literal>.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[h]: </td>
+                    <td valign="top">
+                        <simplelist>
+                            <member>
+                                Любой комментарий <literal>//</literal> отображается без предложения о вводе и без
+                                остановки на нём.
+                            </member>
+                            <member>
+                                Некоторые паразитные предложения о вводе <literal>--></literal> и
+                                дополнительные пустые строки могут иногда отображаться (программная ошибка).
+                            </member>
+                            <member>
+                                Обратный  вызов всегда делается уникальной строкой инструкций, как если бы
+                                они были определены и запущены одной строкой. Следовательно, оба доступных
+                                пошаговых режима исполнения могут быть активированы, но бесполезны в любом
+                                обратном вызове.
+                            </member>
+                        </simplelist>
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[i]: </td>
+                    <td>
+                        <literal>mode(7)</literal> делает то же самое, но не должен быть использован.
+                    </td>
+                </tr>
+                <tr>
+                    <td valign="top">[s]: </td>
+                    <td>
+                        Пошаговый режим останавливается после каждой строки инструкций и ждёт нажатия
+                        пользователем клавиш <literal>&lt;ввод></literal> или <literal>p&lt;ввод></literal>,
+                        чтобы  продолжить работу. Нажатие клавиши <literal>p</literal> вводит режим
+                        <link linkend="pause">паузы</link>. Эти режимы могут быть использованы например
+                        в демонстрационных примерах или режиме необработанной отладки.
+                    </td>
+                </tr>
+            </table>
+        </refsect3>
+        <para> </para>
+        <important>
+            Режим в вызывающем окружении никогда не меняется после использования
+            <literal>mode(..)</literal> в вызывающей функции, в исполняемом сценарии
+            .sce или в качестве ввода <literal>execstr()</literal> после того, как
+            выполнение завершится и вернёт результат. Когда инструкция <literal>mode(k)</literal>
+            используется в <emphasis role="italic">обратном вызове</emphasis>, то она исполняется,
+            она становится и остаётся актуальным режимом отображения в командном окне после завершения
+            обратного вызова.
+        </important>
+        <important>
+            Вывод специально отображаемый функциями наподобие <literal>disp()</literal> или
+            <literal>mprinf()</literal> никогда не отменяется, даже в режиме <literal>mode(-1)</literal>.
+        </important>
+        <warning>
+            <literal>mode(5)</literal>, <literal>mode(7)</literal> и другие незарегистрированные значения
+            могут приниматься, но не должны использоваться: они могут быть удалены или переопределены в будущем.
+        </warning>
     </refsection>
     <refsection>
         <title>Примеры</title>
+        <para>
+        В функции:
+        </para>
         <programlisting role="example"><![CDATA[
-// скопируйте и вставьте в Scilab
-
 function example_mode( level_mode )
- mode(level_mode)
- a = 3
- disp(mode());
+   disp(mode());
+   mode(level_mode)
+   a = 3
 endfunction
-
 mode(2)
-
 example_mode(0)
-example_mode(-1)
-example_mode(2)
+mode()
 example_mode(1)
-example_mode(3)
-example_mode(7)
-
+example_mode(2)
+ ]]></programlisting>
+    <para>
+      В инструкции <literal>exec(script, mode)</literal>:
+    </para>
+    <programlisting role="example"><![CDATA[
+ins = [
+    "mprintf(""Режим исполнения по умолчанию: %d\n"", mode())"
+    "mode(i)"
+    "mprintf(""Новый активный режим: %d\n"", mode())"
+    "// Новый комментарий"
+    "a = rand(2,4)"
+    "b = %pi;"
+    "c = %s;"
+    ];
+fn = TMPDIR + "\test_mode.sce";
+mputl(ins, fn);
+//
+mode(2)
+i = 1;
+exec(fn)
+mode()
+exec(fn, 0)
+i = 3; // инструкции отображаются
+exec(fn, 3)
+i = 4; // инструкции отображаются + пошаговый режим. "p<ввод>" вводит режим паузы
+exec(fn, 4)
+ ]]></programlisting>
+    <para>
+      With <literal>execstr()</literal>:
+    </para>
+    <programlisting role="example"><![CDATA[
+ins = [
+    "mprintf(""Режим исполнения по умолчанию: %d\n"", mode())"
+    "mode(1)        // Введение компактного режима"
+    "mprintf(""Новый активный режим: %d\n"", mode())"
+    "a = rand(2,4)"
+    "b = 1"
+    "c = %pi"
+    ];
+mode(2)
+execstr(ins)
+mode()       // Восстановлен исходный режим
+ ]]></programlisting>
+    <para>
+    В обратном вызове (в данном случае меню):
+    </para>
+        <programlisting role="no-scilab-exec"><![CDATA[
 mode(2)
+uimenu("parent",0,"Label","mode_test",..
+       "callback", "disp(mode()); mode(1); a = rand(2,4), pwd(),");
+// Щёлкните по меню "mode_test" и посмотрите что отобразится в командном окне
+mode()
+delmenu mode_test
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
@@ -136,8 +333,48 @@ mode(2)
                 <link linkend="semicolon">точка с запятой</link>
             </member>
             <member>
-                <link linkend="comma">запятая</link>
+                <link linkend="debug">debug</link>
+            </member>
+            <member>
+                <link linkend="pause">pause</link>
+            </member>
+            <member>
+                <link linkend="getscilabmode">getscilabmode</link>
+            </member>
+            <member>
+                <link linkend="warning">режим выдачи предупреждений</link>
+            </member>
+            <member>
+                <link linkend="funcprot">funcprot</link>
+            </member>
+            <member>
+                <link linkend="ieee">ieee</link>
             </member>
         </simplelist>
     </refsection>
+    <refsection role="history">
+        <title>История</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0</revnumber>
+                <revdescription>
+                <itemizedlist>
+                    <listitem>
+                        <literal>mode(4)</literal> теперь выполняется пошагово и может быть
+                        приостановлен в сценариях и в функциях.
+                    </listitem>
+                    <listitem>
+                      Для/внутри сценариев <literal>mode(4)</literal> теперь отображает каждую
+                      строчку инструкций и отображает результаты компактно. Он может использоваться
+                      для демонстрационных примеров.
+                    </listitem>
+                    <listitem>
+                      Обратные вызовы всегда исполнялись в режиме молчания <literal>mode(-1)</literal>.
+                      Теперь они исполняются по умолчанию в текущем режиме <literal>mode()</literal>.
+                    </listitem>
+                </itemizedlist>
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>