]> git.lyx.org Git - lyx.git/blobdiff - src/LyXAction.cpp
Avoid infinite loop
[lyx.git] / src / LyXAction.cpp
index 9171e1c8b831cc08345ac320f08e8d1616a74f11..39cad0d0d4df4a83e38623a56dcacbf5cf449edb 100644 (file)
@@ -52,7 +52,7 @@ namespace lyx {
  * The documentation below primarily describes the purpose and syntax
  * of the various LFUNs.
  *
- * The list is alphabetized. Try to keep it that way, and don't forget to add 
+ * The list is alphabetized. Try to keep it that way, and don't forget to add
  * doxygen commentary. This allows the file LFUNs.lyx to be auto-generated.
  * (If you should want to do that, see the gen_lfuns.py script, which is in
  * the development/tools/ directory.)
@@ -486,6 +486,17 @@ void LyXAction::init()
                { LFUN_BRANCH_MASTER_DEACTIVATE, "branch-master-deactivate", AtPoint, Buffer },
 
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_ANONYMIZE
+ * \li Action: For debug purposes only. Convert all [a-zA-Z0-1] characters to
+               single character. Useful when submitting docs to list or bugzilla.
+ * \li Syntax: buffer-anonymize
+ * \li Origin: sanda, Feb 1 2018
+ * \endvar
+ */
+               { LFUN_BUFFER_ANONYMIZE, "buffer-anonymize", Noop, Edit },
+
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_BUFFER_AUTO_SAVE
  * \li Action: Saves the current buffer to a temporary file.
@@ -574,7 +585,7 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_BUFFER_EXPORT
  * \li Action: Exports the current buffer (document) to the given format.
- * \li Syntax: buffer-export <FORMAT> [<DEST>]
+ * \li Syntax: buffer-export [<FORMAT>] [<DEST>]
  * \li Params: <FORMAT> is either "custom" or one of the formats which you
                         can find in Tools->Preferences->File formats->Format.
                         Usual format you will enter is "pdf2" (pdflatex),
@@ -582,10 +593,12 @@ void LyXAction::init()
                         In case of "custom" you will be asked for a format you
                         want to start from and for the command that you want to
                         apply to this format. Internally the control is then passed
-                        to #LFUN_BUFFER_EXPORT_CUSTOM.
-               <DEST>  If present, this argument provides the export destination
-                       filename. Its containing folder will also be the destination
-                       folder, where all the needed external files will be copied.
+                        to #LFUN_BUFFER_EXPORT_CUSTOM.\n
+                        If absent or "default", then the default output format of the
+                        document is used.\n
+               <DEST>   If present, this argument provides the export destination
+                        filename. Its containing folder will also be the destination
+                        folder, where all the needed external files will be copied.
  * \li Origin: Lgb, 29 Jul 1997
  * \endvar
  */
@@ -630,17 +643,17 @@ void LyXAction::init()
  * \li Syntax: buffer-forall <LFUN-COMMAND>
  * \li Params: <LFUN-COMMAND>: The command to be applied to the buffers.
  * \li Sample: Close all Notes in buffers: \n
-                  buffer-forall inset-forall Note inset-toggle close \n
+               buffer-forall inset-forall Note inset-toggle close \n
                Toggle change tracking on buffers: \n
-                  buffer-forall changes-track \n
+               buffer-forall changes-track \n
                Toggle read-only for buffers: \n
-                  buffer-forall buffer-toggle-read-only \n
+               buffer-forall buffer-toggle-read-only \n
                Show statistics for individual buffers: \n
-                  buffer-forall statistics \n
+               buffer-forall statistics \n
                Activate the branch named "Solutions" in buffers: \n
-                  buffer-forall branch-activate Solutions \n
+               buffer-forall branch-activate Solutions \n
                Export buffers to PDF (pdflatex): \n
-                  buffer-forall buffer-export pdf2 \n
+               buffer-forall buffer-export pdf2 \n
  * \li Origin: skostysh, 20 Jul 2012
  * \endvar
  */
@@ -740,7 +753,8 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_BUFFER_RELOAD
  * \li Action: Reverts opened document.
- * \li Syntax: buffer-reload
+ * \li Syntax: buffer-reload [dump]
+ * \li Params: dump: do not ask for any confirmation, just reload. All changes will be lost.
  * \li Origin: Asger, 2 Feb 1997
  * \endvar
  */
@@ -876,11 +890,33 @@ void LyXAction::init()
  */
                { LFUN_BUFFER_WRITE_AS, "buffer-write-as", ReadOnly, Buffer },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_EXTERNAL_MODIFICATION_CLEAR
+ * \li Action: Clear the external modification flag on the current buffer.
+ * \li Syntax: buffer-external-modification-clear
+ * \li Origin: gm, 2 March 2017
+ * \endvar
+ */
+               { LFUN_BUFFER_EXTERNAL_MODIFICATION_CLEAR,
+                 "buffer-external-modification-clear", ReadOnly, Buffer },
+
+/*!
+* \var lyx::FuncCode lyx::LFUN_BUFFER_ZOOM
+* \li Action: Sets the zoom of the screen fonts.
+* \li Syntax: buffer-zoom [<ZOOM>]
+* \li Params: <ZOOM>: The target zoom value in %;
+*                     the default is the default zoom as saved in preferences.
+* \li Origin: daniel, 28 Oct 2016
+* \endvar
+*/
+               { LFUN_BUFFER_ZOOM, "buffer-zoom", ReadOnly, Buffer },
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_BUFFER_ZOOM_IN
  * \li Action: Increases the zoom of the screen fonts.
  * \li Syntax: buffer-zoom-in [<ZOOM>]
- * \li Params: <ZOOM>: The zoom in % points (neg. or pos.), the default is 20.
+ * \li Params: <ZOOM>: The zoom value addition in % (neg. or pos.);
+ *                     the default is 10% of the default zoom as saved in preferences.
  * \li Origin: vfr, 30 Mar 2009
  * \endvar
  */
@@ -891,7 +927,8 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_BUFFER_ZOOM_OUT
  * \li Action: Decreases the zoom of the screen fonts.
  * \li Syntax: buffer-zoom-out [<ZOOM>]
- * \li Params: <ZOOM>: The zoom in % points (neg. or pos.), the default is -20.
+ * \li Params: <ZOOM>: The zoom value abstraction in % (neg. or pos.);
+ *                     the default is 10% of the default zoom as saved in preferences.
  * \li Origin: vfr, 30 Mar 2009
  * \endvar
  */
@@ -993,7 +1030,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_CHANGES_OUTPUT
  * \li Action: Toggles showing of change tracking in typeset output.
  * \li Syntax: changes-output
- * \li Origin: jspitzm, 21 Jan 2005
+ * \li Origin: spitz, 21 Jan 2005
  * \endvar
  */
                { LFUN_CHANGES_OUTPUT, "changes-output", Noop, Edit },
@@ -1080,7 +1117,8 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_CHAR_DELETE_BACKWARD
  * \li Action: Deletes one character in the backward direction (usually the "BackSpace" key).
- * \li Syntax: char-delete-backward
+ * \li Syntax: char-delete-backward [force]
+ * \li Params: force: Delete big insets, do not only select them.
  * \endvar
  */
                { LFUN_CHAR_DELETE_BACKWARD, "char-delete-backward", SingleParUpdate, Edit },
@@ -1088,7 +1126,8 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_CHAR_DELETE_FORWARD
  * \li Action: Deletes one character in the backward direction (usually the "Delete" key).
- * \li Syntax: char-delete-forward
+ * \li Syntax: char-delete-forward [force]
+ * \li Params: force: Delete big insets, do not only select them.
  * \endvar
  */
                { LFUN_CHAR_DELETE_FORWARD, "char-delete-forward", SingleParUpdate, Edit },
@@ -1326,18 +1365,6 @@ void LyXAction::init()
  */
                { LFUN_CUT, "cut", Noop, Edit },
 
-/*!
- * \var lyx::FuncCode lyx::LFUN_DATE_INSERT
- * \li Action: Inserts the current date.
- * \li Syntax: date-insert [<ARG>]
- * \li Params: <ARG>: Format of date. The default value (%x) can be set
-                     in Preferences->Date format. For possible formats
-                     see manual page of strftime function.
- * \li Origin: jdblair, 31 Jan 2000
- * \endvar
- */
-               { LFUN_DATE_INSERT, "date-insert", Noop, Edit },
-
 /*!
  * \var lyx::FuncCode lyx::LFUN_DEBUG_LEVEL_SET
  * \li Action: Set debug output level.
@@ -1371,6 +1398,19 @@ void LyXAction::init()
                { LFUN_DEPTH_INCREMENT, "depth-increment", Noop, Edit },
 
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_DEVEL_MODE_TOGGLE
+ * \li Action: toggle a mode where more information is given in UI
+ * \li Syntax: devel-mode-toggle
+ * \li Notion: in so called "devel" mode, the information given in the
+ *             status bar is more precise, and the help documents are
+ *             open in editing mode.
+ * \li Origin: lasgouttes, 23 Jul 2017
+ * \endvar
+ */
+               { LFUN_DEVEL_MODE_TOGGLE, "devel-mode-toggle", NoBuffer, System },
+
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_DIALOG_DISCONNECT_INSET
  * \li Action: Closes opened connection to opened inset.
@@ -1427,7 +1467,7 @@ void LyXAction::init()
  * \li Notion: Internally uses #LFUN_DIALOG_SHOW , #LFUN_DIALOG_HIDE .
  * \li Syntax: dialog-toggle <NAME> [<DATA>]
  * \li Params: See #LFUN_DIALOG_SHOW .
- * \li Origin: JSpitzm, 30 Apr 2007
+ * \li Origin: spitz, 30 Apr 2007
  * \endvar
  */
                { LFUN_DIALOG_TOGGLE, "dialog-toggle", NoBuffer, Edit },
@@ -1473,9 +1513,13 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_ENVIRONMENT_SPLIT
  * \li Action: Splits the current environment with a Separator.
- * \li Syntax: environment-split [outer]
- * \li Params: outer: If this is given, LyX will split the outermost environment in
- *                    the current nesting hierarchy.
+ * \li Syntax: environment-split [before|outer|previous]
+ * \li Params: outer:    If this is given, LyX will split the outermost environment in
+                         the current nesting hierarchy.\n
+               previous: If this is given, LyX will split the environment in the previous
+                         paragraph (if there is one).\n
+               before:   If this is given, the new environment will be appended rather than
+                         prepended.
  * \li Origin: spitz, 23 Dec 2012
  * \endvar
  */
@@ -1501,6 +1545,15 @@ void LyXAction::init()
  */
                { LFUN_ESCAPE, "escape", ReadOnly, Edit },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_EXPORT_CANCEL
+ * \li Action: Cancel background export process.
+ * \li Syntax: export-cancel
+ * \li Origin: rgh, 10 December 2017
+ * \endvar
+ */
+               { LFUN_EXPORT_CANCEL, "export-cancel", ReadOnly | NoUpdate | NoInternal, Edit },
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_FILE_INSERT
  * \li Action: Inserts another LyX file.
@@ -1735,6 +1788,15 @@ void LyXAction::init()
  */
                { LFUN_FONT_STRIKEOUT, "font-strikeout", Noop, Layout },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_CROSSOUT
+ * \li Action: Toggles xout (cross-through) in the font (selection-wise).
+ * \li Syntax: font-crossout
+ * \li Origin: uwestoehr, 4 April 2017
+ * \endvar
+ */
+               { LFUN_FONT_CROSSOUT, "font-crossout", Noop, Layout },
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_FONT_TYPEWRITER
  * \li Action: Toggles the typewriter family font (selection-wise).
@@ -1784,22 +1846,13 @@ void LyXAction::init()
                number in LyX window.
  * \li Notion: The external program used for forward search call can be specified in
                LyX Output preferences. See Additional manual for details of these
-              settings.
+               settings.
  * \li Syntax: forward-search
  * \li Origin: sanda, 14 Apr 2010
  * \endvar
  */
                { LFUN_FORWARD_SEARCH, "forward-search", ReadOnly, System },
 
-/*!
- * \var lyx::FuncCode lyx::LFUN_GRAPHICS_RELOAD
- * \li Action: Reloads the image if necessary.
- * \li Syntax: graphics-reload
- * \li Origin: vfr, 10 Aug 2009
- * \endvar
- */
-               { LFUN_GRAPHICS_RELOAD, "graphics-reload", ReadOnly | AtPoint, Edit },
-
 /*!
  * \var lyx::FuncCode lyx::LFUN_HELP_OPEN
  * \li Action: Open the given help file according to the language setting.
@@ -1864,18 +1917,26 @@ void LyXAction::init()
                the work area.\n
                2. select the text and run info-insert lfun.
  * \li Syntax: info-insert <TYPE> <ARG>
- * \li Params: <TYPE>: shortcut[s]|lyxrc|lyxinfo|package|textclass|menu|buffer \n
+ * \li Params: <TYPE>: date|moddate|fixdate|time|modtime|fixtime|shortcut|shortcuts|lyxrc|
+ *                     lyxinfo|package|textclass|menu|l7n|icon|buffer|vcs \n
                <ARG>: argument for a given type. Look into InsetInfo.h for detailed
                       description. \n
-                     shortcut[s]: name of lfun (e.g math-insert \alpha) \n
-                     lyxrc: name of rc_entry (e.g. bind_file) \n
-                     lyxinfo: "version" - used version of LyX \n
-                     package: name of latex package (e.g. listings) \n
-                     textclass: name of textclass (e.g. article) \n
-                     menu: name of lfun used in menu  \n
-                     icon: icon of lfun used in toolbar or direct icon name\n
-                     buffer: "name"|"path"|"class"|"vcs-tree-revision"|
-                              "vcs-revision"|"vcs-author"|"vcs-date"|"vcs-time"
+                      date: current date (formatted and localized)\n
+                      moddate: date of last modification (saving) (formatted and localized)\n
+                      fixdate: a static date (formatted and localized)\n
+                      time: current time (formatted and localized)\n
+                      modtime: time of last modification (saving) (formatted and localized)\n
+                      fixtime: a static time (formatted and localized)\n
+                      shortcut[s]: name of lfun (e.g math-insert \alpha) \n
+                      lyxrc: name of rc_entry (e.g. bind_file) \n
+                      lyxinfo: "version" - used version of LyX \n
+                      package: name of latex package (e.g. listings) \n
+                      textclass: name of textclass (e.g. article) \n
+                      menu: name of lfun used in menu  \n
+                      l7n: localizable string.\n
+                      icon: icon of lfun used in toolbar or direct icon name\n
+                      buffer: "name"|"name-noext"|"path"|"class"
+                      vcs: "tree-revision"|"revision"|"author"|"date"|"time"
  * \li Sample: command-sequence info-insert buffer path; info-insert buffer name
  * \li Origin: bpeng, 7 Oct 2007
  * \endvar
@@ -1897,8 +1958,10 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_INSET_BEGIN
  * \li Action: Move the cursor to the beginning of the current inset
-               if it is not already there, or at the beginning of the
-               enclosing inset otherwise
+               if it is not already there. If the cursor is already at
+               the beginning of the current inset, move it to the
+               beginning of the enclosing inset or the main work area,
+               respectively, if there is no enclosing inset.
  * \li Syntax: inset-begin
  * \li Origin: lasgouttes, 16 Mar 2009
  * \endvar
@@ -1908,8 +1971,10 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_INSET_BEGIN_SELECT
  * \li Action: Move the cursor to the beginning of the current inset
-               if it is not already there, or at the beginning of the
-               enclosing inset otherwise (adding the
+               if it is not already there. If the cursor is already at
+               the beginning of the current inset, move it to the
+               beginning of the enclosing inset or the main work area,
+               respectively, if there is no enclosing inset (adding the
                traversed text to the selection).
  * \li Syntax: inset-begin-select
  * \li Origin: lasgouttes, 16 Mar 2009
@@ -1957,20 +2022,38 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_INSET_EDIT
  * \li Action: Edit the inset at cursor with an external application,
                if one is attributed.
+               If the inset is file based, the referenced file is edited.
+               Otherwise, the inset contents is written to a temporary file,
+               the inset is locked, and the temporary file is edited.
+               In this case, #LFUN_INSET_END_EDIT must be called to overtake
+               the changes and unlock the inset after editing is finished.
  * \li Syntax: inset-edit [<INSET_PARAMS>]
  * \li Params: <INSET_PARAMS>: Parameters for the inset. \n
                                Currently only the filename will be considered.
- * \li Origin: JSpitzm, 27 Apr 2006
+ * \li Origin: spitz, 27 Apr 2006
  * \endvar
  */
                { LFUN_INSET_EDIT, "inset-edit", ReadOnly | AtPoint, Edit },
 
 
+ /*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_END_EDIT
+ * \li Action: End editing the inset at cursor with an external application.
+ *             This replaces the inset contents with the contents of the
+ *             temporary file, deletes the file and unlocks the inset.
+ * \li Syntax: inset-end-edit 
+ * \li Origin: gb, 11 Oct 2015
+ * \endvar
+ */
+               { LFUN_INSET_END_EDIT, "inset-end-edit", ReadOnly | AtPoint, Edit },
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_INSET_END
- * \li Action: Move the cursor to the end of the current inset
-               if it is not already there, or at the end of the
-               enclosing inset otherwise
+ * \li Action: Move the cursor to the end of the current inset if it
+               is not already there. If the cursor is already at the
+               end of the current inset, move it to the end of the
+               enclosing inset or the main work area, respectively, if
+               there is no enclosing inset.
  * \li Syntax: inset-end
  * \li Origin: lasgouttes, 16 Mar 2009
  * \endvar
@@ -1979,9 +2062,11 @@ void LyXAction::init()
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_INSET_END_SELECT
- * \li Action: Move the cursor to the end of the current inset
-               if it is not already there, or at the end of the
-               enclosing inset otherwise (adding the
+ * \li Action: Move the cursor to the end of the current inset if it
+               is not already there. If the cursor is already at the
+               end of the current inset, move it to the end of the
+               enclosing inset or the main work area, respectively, if
+               there is no enclosing inset (adding the
                traversed text to the selection).
  * \li Syntax: inset-end-select
  * \li Origin: lasgouttes, 16 Mar 2009
@@ -2008,13 +2093,13 @@ void LyXAction::init()
                matches all note insets, while "Note:Note" only matches LyX
                yellow note insets.
  * \li Sample: Remove all index insets: \n
-                  inset-forall Index char-delete-forward \n
+                   inset-forall Index char-delete-forward force \n
                Close all Notes (also works for a particular branch, for example): \n
-                  inset-forall Note inset-toggle close \n
+                   inset-forall Note inset-toggle close \n
                Transform all yellow notes to comments \n
-                  inset-forall Note:Note inset-modify note Note Comment \n
+                   inset-forall Note:Note inset-modify note Note Comment \n
                Try to put LyX in an infinite loop if there is at least a Note: \n
-                  inset-forall Note char-backward
+                   inset-forall Note char-backward
  * \li Origin: lasgouttes, 27 Nov 2009
  * \endvar
  */
@@ -2026,7 +2111,7 @@ void LyXAction::init()
  * \li Action: Insert new inset (type given by the parameters).
  * \li Syntax: inset-insert <INSET> <ARGS>
  * \li Params: <INSET>: <bibitem|bibtex|citation|ert|listings|external|graphics|tabular|\n
-                        hyperlink|include|index|label|line|nomencl|vspace|ref|toc|script>\n
+                         hyperlink|include|index|label|line|nomencl|vspace|ref|toc|script>\n
                <ARGS>: depends on the given inset. Use "lyx -dbg action" to explore.
  * \li Sample: inset-insert ref LatexCommand <Format> reference "<label name>"\end_inset \n
                where <label name> is the name of the referenced label and
@@ -2067,8 +2152,8 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_INSET_SELECT_ALL
  * \li Action: Select all contents of an inset.
  * \li Notion: There are 3 successive levels: select current cell,
- *   select all cells of inset, select the inset from outside
- *   (in the enclosing inset).
+ *             select all cells of inset, select the inset from outside
+ *             (in the enclosing inset).
  * \li Syntax: inset-select-all
  * \li Origin: vfr, 22 Aug 2009; lasgouttes 1 Nov 2014
  * \endvar
@@ -2135,7 +2220,7 @@ void LyXAction::init()
  * \li Syntax: ipamacro-insert <CHAR>
  * \li Params: <CHAR>: tone-falling, tone-rising, tone-high-rising, tone-low-rising,
  *                     tone-high-rising-falling, deco bottomtiebar, deco toptiebar.
- * \li Origin: JSpitzm, 22 Aug 2012
+ * \li Origin: spitz, 22 Aug 2012
  * \endvar
  */
                { LFUN_IPAMACRO_INSERT, "ipamacro-insert", Noop, Edit },
@@ -2251,12 +2336,27 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_LAYOUT
  * \li Action: Sets the layout (that is, environment) for the current paragraph.
- * \li Syntax: layout <LAYOUT>
- * \li Params: <LAYOUT>: the layout to use
+ * \li Syntax: layout <LAYOUT> [ignorenests]
+ * \li Params: <LAYOUT>: the layout to use\n
+               ignorenests: If specified, nesting advices will be ignored.
  * \endvar
  */
                { LFUN_LAYOUT, "layout", Noop, Layout },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_LAYOUT_TOGGLE
+ * \li Action: Toggles the layout (that is, environment) for the current paragraph.
+ * \li Notion: Contrary to `layout', this function resets the current
+ *             (or selection) layout to the standard layout it already has the
+ *             correct layout. Useful for toolbar icons.
+ * \li Syntax: layout-toggle <LAYOUT> [ignorenests]
+ * \li Params: <LAYOUT>: the layout to toggle\n
+               ignorenests: If specified, nesting advices will be ignored.
+ * \li Origin: lasgouttes, 14 May 2018
+ * \endvar
+ */
+               { LFUN_LAYOUT_TOGGLE, "layout-toggle", Noop, Layout },
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_LAYOUT_MODULES_CLEAR
  * \li Action: Clears the module list.
@@ -2431,6 +2531,25 @@ void LyXAction::init()
                { LFUN_MARK_TOGGLE, "mark-toggle", ReadOnly, Edit },
 
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_MASTER_BUFFER_EXPORT
+ * \li Action: Exports the master buffer (document) to the given format.
+ * \li Syntax: master-buffer-export [<FORMAT>] [<DEST>]
+ * \li Params: <FORMAT> is one of the formats which you can find in 
+                        Tools->Preferences->File formats->Format.
+                        Usual format you will enter is "pdf2" (pdflatex),
+                        "pdflatex" (plain tex for pdflatex) or "ps" for postscript.\n
+                        Note that "custom" is not allowed in this case.\n
+                        If absent or "default", then the default output format of the
+                        document is used.\n
+               <DEST>   If present, this argument provides the export destination
+                        filename. Its containing folder will also be the destination
+                        folder, where all the needed external files will be copied.
+ * \li Origin: rkh, 18 April 2018
+ * \endvar
+ */
+               { LFUN_MASTER_BUFFER_EXPORT, "master-buffer-export", ReadOnly, Buffer },
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_MASTER_BUFFER_UPDATE
  * \li Action: Update (export) the document built from the master buffer,
@@ -2895,7 +3014,7 @@ void LyXAction::init()
  * \li Action: Inserts a line break or new line.
  * \li Syntax: newline-insert [<ARG>]
  * \li Params: <ARG>: <newline|linebreak> default: newline
- * \li Origin: JSpitzm, 25 Mar 2008
+ * \li Origin: spitz, 25 Mar 2008
  * \endvar
  */
                { LFUN_NEWLINE_INSERT, "newline-insert", Noop, Edit },
@@ -2999,10 +3118,11 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_PARAGRAPH_BREAK
  * \li Action: Breaks the current paragraph at the current location.
  * \li Notion: Removes the selection.
- * \li Syntax: paragraph-break [<LAYOUT>]
+ * \li Syntax: paragraph-break [<LAYOUT>] [ignoresep]
  * \li Params: <LAYOUT>: "inverse" - decreases depth by one (or change layout
                          to default layout) when the cursor is at the end of
-                         the line.
+                         the line.\n
+               ignoresep: Do not account for paragraph separators while breaking.
  * \endvar
  */
                { LFUN_PARAGRAPH_BREAK, "paragraph-break", Noop, Edit },
@@ -3248,6 +3368,7 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_REPEAT
  * \li Action: Repeat the given command.
+ * \li Notion: fails when the repeat count is greater than 10000.
  * \li Syntax: repeat <COUNT> <LFUN-COMMAND>
  * \li Origin: Andre, 27 Oct 2003
  * \endvar
@@ -3479,16 +3600,35 @@ void LyXAction::init()
                { LFUN_SET_COLOR, "set-color", ReadOnly | NoBuffer, System },
 
 /*!
- * \var lyx::FuncCode lyx::LFUN_SET_GRAPHICS_GROUP
+ * \var lyx::FuncCode lyx::LFUN_GRAPHICS_SET_GROUP
  * \li Action: Set the group for the graphics inset on the cursor position.
- * \li Syntax: set-graphics-group [<GROUP>]
+ * \li Syntax: graphics-set-group [<GROUP>]
  * \li Params: <GROUP>: Id for an existing group. In case the Id is an empty string,
                         the graphics inset is removed from the current group.
  * \li Origin: sanda, 6 May 2008
  * \endvar
  */
-               { LFUN_SET_GRAPHICS_GROUP, "set-graphics-group", Noop, Edit },
+               { LFUN_GRAPHICS_SET_GROUP, "graphics-set-group", Noop, Edit },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_GRAPHICS_UNIFY
+ * \li Action: Set the same group for all graphics insets in the marked block.
+ * \li Syntax: graphics-unify [<GROUP>]
+ * \li Params: <GROUP>: Id for an existing group. In case the Id is an empty string,
+                        the group Id from the first graphics inset will be used.
+ * \li Origin: sanda, 7 Feb 2018
+ * \endvar
+ */
+               { LFUN_GRAPHICS_UNIFY, "graphics-unify", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_GRAPHICS_RELOAD
+ * \li Action: Reloads the image if necessary.
+ * \li Syntax: graphics-reload
+ * \li Origin: vfr, 10 Aug 2009
+ * \endvar
+ */
+               { LFUN_GRAPHICS_RELOAD, "graphics-reload", ReadOnly | AtPoint, Edit },
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_SPACE_INSERT
@@ -3499,7 +3639,7 @@ void LyXAction::init()
                        hfill*, dotfill, hrulefill, hspace, hspace* \n
                        Only in math mode: med and thick.\n
                <LEN>: length for custom spaces (hspace, hspace* for protected)
- * \li Origin: JSpitzm, 20 May 2003, Mar 17 2008
+ * \li Origin: spitz, 20 May 2003, Mar 17 2008
  * \endvar
  */
                { LFUN_SPACE_INSERT, "space-insert", Noop, Edit },
@@ -3508,9 +3648,10 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_SPECIALCHAR_INSERT
  * \li Action: Inserts various characters into the document.
  * \li Syntax: specialchar-insert <CHAR>
- * \li Params: <CHAR>: hyphenation, ligature-break, slash, nobreakdash, dots,
-                       end-of-sentence, menu-separator, lyx, tex, latex, latex2e.
- * \li Origin: JSpitzm, 6 Dec 2007
+ * \li Params: <CHAR>: hyphenation, allowbreak, ligature-break, slash,
+                       nobreakdash, dots, end-of-sentence, menu-separator,
+                       lyx, tex, latex, latex2e.
+ * \li Origin: spitz, 6 Dec 2007
  * \endvar
  */
                { LFUN_SPECIALCHAR_INSERT, "specialchar-insert", Noop, Edit },
@@ -3523,7 +3664,7 @@ void LyXAction::init()
  * \li Syntax: spelling-add [<STRING>] [<LANG>]
  * \li Params: <WORD>: word to add
                <LANG>: language name (see file languages)
- * \li Origin: JSpitzm, 18 Jan 2010
+ * \li Origin: spitz, 18 Jan 2010
  * \endvar
  */
                { LFUN_SPELLING_ADD, "spelling-add", ReadOnly, Edit },
@@ -3546,7 +3687,7 @@ void LyXAction::init()
  * \li Syntax: spelling-ignore [<WORD>] [<LANG>]
  * \li Params: <WORD>: word to ignore
                <LANG>: language name (see file languages)
- * \li Origin: JSpitzm, 18 Jan 2010
+ * \li Origin: spitz, 18 Jan 2010
  * \endvar
  */
                { LFUN_SPELLING_IGNORE, "spelling-ignore", ReadOnly, Edit },
@@ -3598,7 +3739,8 @@ void LyXAction::init()
                        set-special-column|set-special-multicolumn|set-special-multirow|\n
                        toggle-booktabs|set-booktabs|unset-booktabs|set-top-space|set-bottom-space|\n
                        set-interline-space|set-border-lines|tabular-valign-top|\n
-                       tabular-valign-middle|tabular-valign-bottom|set-tabular-width\n
+                       tabular-valign-middle|tabular-valign-bottom|set-tabular-width|\n
+                       toggle-varwidth-column
                Various math-environment features are handled as well, e.g. add-vline-left/right for\n
                the Grid/Array environment.\n
                <ARG>: additional argument for some commands, use debug mode to explore its values.
@@ -3691,7 +3833,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_TEXTSTYLE_UPDATE
  * \li Action: Apply text style and update the settings to be used by #LFUN_TEXTSTYLE_APPLY.
  * \li Syntax: textstyle-update <FONT_INFO>
- * \li Params: <FONT_INFO>: specifies font atributes, e.g. family, series, shape,
+ * \li Params: <FONT_INFO>: specifies font attributes, e.g. family, series, shape,
                             size, emph, noun, underbar, number, color, language,
                             toggleall.\n
                             Use lyx -dbg action for exact syntax of text-style
@@ -3712,6 +3854,18 @@ void LyXAction::init()
  */
                { LFUN_THESAURUS_ENTRY, "thesaurus-entry", ReadOnly, Edit },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_TOOLBAR_MOVABLE
+ * \li Action: Toggles movability of a given toolbar between true/false.
+ * \li Syntax: toolbar-movable <NAME>
+ * \li Params: <NAME>: *|standard|extra|table|math|mathmacrotemplate|
+                        minibuffer|review|view/update|math_panels|vcs|
+                        view-others|update-others
+* \li Origin: daniel, 12 July 2016
+* \endvar
+*/
+               { LFUN_TOOLBAR_MOVABLE, "toolbar-movable", NoBuffer, Buffer },
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_TOOLBAR_TOGGLE
  * \li Action: Toggles visibility of a given toolbar between on/off/auto.
@@ -3753,10 +3907,10 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_UNICODE_INSERT
  * \li Action: Inserts a single unicode character.
- * \li Syntax: unicode-insert <CHAR>
- * \li Params: <CHAR>: The character to insert, given as its code
+ * \li Syntax: unicode-insert <CHAR1> <CHAR2> ...
+ * \li Params: <CHARn>: The character to insert, given as its code
                        point, in hexadecimal.
- * \li Sample: unicode-insert 0x0100
+ * \li Sample: unicode-insert 0x0100 0x0259
  * \li Origin: Lgb, 22 Oct 2006
  * \endvar
  */
@@ -3824,17 +3978,17 @@ void LyXAction::init()
  * \li Syntax: vc-compare [<REV1>] [<REV2>]
  * \li Params: Revision number either points directly to commit in history
                or if negative number -x it points to (last commit - x).\n
-              In RCS we subtract only in the last number of revision specification.
+               In RCS we subtract only in the last number of revision specification.
                Special case "0" is reserved for the last committed revision.\n
                <REV1>: Older file.\n
-              <REV2>: Newer file. Used only if REV1 > 0.\n
+               <REV2>: Newer file. Used only if REV1 > 0.\n
                If no parameter is given, interactive dialog will be shown.
  * \li Sample: Compare current document against last commit\n
-              vc-compare 0\n
+               vc-compare 0\n
                Compare current document against current revision - 5 commits\n
-              vc-compare -5\n
+               vc-compare -5\n
                Compare revisions 120 and 155\n
-              vc-compare 120 155
+               vc-compare 120 155
  * \li Origin: sanda, 12 Feb 2010
  * \endvar
  */
@@ -4007,7 +4161,8 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_WORD_DELETE_BACKWARD
  * \li Action: Deletes characters to the beginning of the word (usually the "C+BackSpace" key).
- * \li Syntax: word-delete-backward
+ * \li Syntax: word-delete-backward [force]
+ * \li Params: force: Delete big insets, do not only select them.
  * \endvar
  */
                { LFUN_WORD_DELETE_BACKWARD, "word-delete-backward", Noop, Edit },
@@ -4015,7 +4170,8 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_WORD_DELETE_FORWARD
  * \li Action: Deletes characters to the end of the word (usually the "C+Delete" key).
- * \li Syntax: word-delete-forward
+ * \li Syntax: word-delete-forward [force]
+ * \li Params: force: Delete big insets, do not only select them.
  * \endvar
  */
                { LFUN_WORD_DELETE_FORWARD, "word-delete-forward", Noop, Edit },
@@ -4130,8 +4286,8 @@ void LyXAction::init()
  * \li Action: Replace a string in the document.
  * \li Syntax: word-replace [<DATA>]
  * \li Params: <DATA>: data is of the form
-                       "<replace> \n
-                        <search> \n
+                       "<replacestring> \n
+                        <searchstring> \n
                         <casesensitive> <matchword> <all> <forward> <findnext>"
  * \li Origin: Andre, Jan 7 2004
  * \endvar