]> git.lyx.org Git - lyx.git/blobdiff - src/LyXAction.cpp
prepare Qt 5.6 builds
[lyx.git] / src / LyXAction.cpp
index 92c3ba30a8aba209da45e938956771b997ceef9d..1e8390575a714cc8ca19d45060d13286ed1c59eb 100644 (file)
@@ -63,12 +63,12 @@ namespace lyx {
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_
- * \li Action: 
- * \li Notion: 
- * \li Syntax: 
- * \li Params: 
+ * \li Action:
+ * \li Notion:
+ * \li Syntax:
+ * \li Params:
  * \li Sample:
- * \li Origin: 
+ * \li Origin:
  * \endvar
  */
 
@@ -99,7 +99,7 @@ void LyXAction::init()
        // magnitudes faster.
 
        static bool init;
-       if (init) 
+       if (init)
                return;
 
        struct ev_item {
@@ -199,6 +199,14 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_ACCENT_OGONEK, "accent-ogonek", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_ACCENT_PERISPOMENI
+ * \li Action: Adds a perispomeni (Greek circumflex)
+               over the next character typed.
+ * \li Syntax: accent-perispomeni
+ * \endvar
+ */
+               { LFUN_ACCENT_PERISPOMENI, "accent-perispomeni", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_ACCENT_TIE
  * \li Action: Adds a tie \htmlonly (a͡)\endhtmlonly
@@ -319,7 +327,8 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_ARGUMENT_INSERT
  * \li Action: Inserts an argument (short title) inset.
- * \li Syntax: argument-insert
+ * \li Syntax: argument-insert <argument nr>
+ * \li Params: <argument nr>: see layout declarations
  * \li Origin: vermeer, 12 Aug 2002
  * \endvar
  */
@@ -417,7 +426,7 @@ void LyXAction::init()
                      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 \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"
  * \li Sample: command-sequence info-insert buffer path; info-insert buffer name
@@ -455,7 +464,7 @@ void LyXAction::init()
                For dissolving the element see #LFUN_INSET_DISSOLVE.
  * \li Syntax: flex-insert Name
  * \li Params: Name: This name must be defined either in your layout file
-                     or imported by some module. The definition is 
+                     or imported by some module. The definition is
                      InsetLayout Name or InsetLayout <Flex:Name>. The Flex:
                      prefix is optional.
  * \li Sample: flex-insert Code
@@ -478,26 +487,27 @@ void LyXAction::init()
  * \li Params: <NAME>: normal, protected, visible, thin, quad, qquad, enspace,
                        enskip, negthinspace, negmedspace, negthickspace, hfill,
                        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
  * \endvar
  */
                { LFUN_SPACE_INSERT, "space-insert", Noop, Edit },
 /*!
- * \var lyx::FuncCode lyx::LFUN_HYPERLINK_INSERT
+ * \var lyx::FuncCode lyx::LFUN_HREF_INSERT
  * \li Action: Inserts hyperlinks into the document (clickable in pdf output).
  * \li Notion: Hyperlink target can be set via selection + hyperlink-insert function.
  * \li Syntax: href-insert [<TARGET>]
  * \li Origin: CFO-G, 21 Nov 1997
  * \endvar
  */
-               { LFUN_HYPERLINK_INSERT, "href-insert", Noop, Edit },
+               { LFUN_HREF_INSERT, "href-insert", Noop, Edit },
 /*!
  * \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.
+                       end-of-sentence, menu-separator, lyx, tex, latex, latex2e.
  * \li Origin: JSpitzm, 6 Dec 2007
  * \endvar
  */
@@ -526,7 +536,7 @@ void LyXAction::init()
  * \li Notion: It automatically takes the word on the cursor position.
  * \li Syntax: index-insert [<TYPE:Name>]
  * \li Params: <TYPE:Name>: name of the index, if multiple indices are defined.
-               with an empty argument, the default index is selected.
+               With an empty argument, the default index is selected.
  * \li Origin: leeming, 3 Aug 2000
  * \endvar
  */
@@ -536,12 +546,40 @@ void LyXAction::init()
  * \li Action: Inserts list of Index entries on a new page.
  * \li Syntax: index-print [<TYPE:Name>]
  * \li Params: <TYPE:Name>: name of the index, if multiple indices are defined.
-               with an empty argument, the default index is selected.
+               With an empty argument, the default index is selected.
  * \li Origin: Lgb, 27 Feb 1997
  * \endvar
  */
                { LFUN_INDEX_PRINT, "index-print", Noop, Edit },
-
+/*!
+ * \var lyx::FuncCode lyx::LFUN_IPA_INSERT
+ * \li Action: Inserts an IPA inset.
+ * \li Syntax: ipa-insert
+ * \li Origin: spitz, 05 Mar 2012
+ * \endvar
+ */
+               { LFUN_IPA_INSERT, "ipa-insert", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_IN_IPA
+ * \li Action: Only active in IPA inset.
+ * \li Notion: Dummy function which is only active in a IPA inset.
+               It's used to toggle the IPA toolbar if the cursor moves
+               into an IPA inset.
+ * \li Syntax: in-ipa
+ * \li Origin: spitz, 20 May 2012
+ * \endvar
+ */
+               { LFUN_IN_IPA, "in-ipa", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_IPAMACRO_INSERT
+ * \li Action: Inserts special IPA macros into the document.
+ * \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
+ * \endvar
+ */
+               { LFUN_IPAMACRO_INSERT, "ipamacro-insert", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_NOMENCL_INSERT
  * \li Action: Inserts Nomenclature entry.
@@ -562,7 +600,7 @@ void LyXAction::init()
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_NOTE_INSERT
- * \li Action: Inserts Note on the current cursor postion,
+ * \li Action: Inserts Note on the current cursor position,
                move selection inside the inset.
  * \li Syntax: note-insert [<TYPE>]
  * \li Params: <TYPE>: <Note|Greyedout|Comment> default: Note
@@ -571,14 +609,14 @@ void LyXAction::init()
                { LFUN_NOTE_INSERT, "note-insert", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_NOTE_NEXT
- * \li Action: Moves the cursor to the begining of next Note inset.
+ * \li Action: Moves the cursor to the beginning of next Note inset.
  * \li Syntax: note-next
  * \endvar
  */
                { LFUN_NOTE_NEXT, "note-next", ReadOnly, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_PHANTOM_INSERT
- * \li Action: Inserts phantom on the current cursor postion,
+ * \li Action: Inserts phantom on the current cursor position,
                move selection inside the inset.
  * \li Syntax: phantom-insert [<TYPE>]
  * \li Params: <TYPE>: <Phantom|HPhantom|VPhantom> default: Phantom
@@ -595,6 +633,15 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_NEWLINE_INSERT, "newline-insert", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SEPARATOR_INSERT
+ * \li Action: Inserts an environment separator or paragraph break.
+ * \li Syntax: separator-insert [<ARG>]
+ * \li Params: <ARG>: <plain|parbreak> default: plain
+ * \li Origin: ef, 2 May 2014
+ * \endvar
+ */
+               { LFUN_SEPARATOR_INSERT, "separator-insert", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_ESCAPE
  * \li Action: Clears the selection. If no text is selected call #LFUN_FINISHED_FORWARD.
@@ -762,7 +809,7 @@ void LyXAction::init()
                { LFUN_CHAR_LEFT, "char-left", ReadOnly | NoUpdate, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_CHAR_LEFT_SELECT
- * \li Action: Moves the cursor one position "to the left", adding 
+ * \li Action: Moves the cursor one position "to the left", adding
                traversed position to the selection.
  * \li Notion: See also #LFUN_CHAR_LEFT for exact details of the movement.
  * \li Syntax: char-left-select
@@ -815,7 +862,7 @@ void LyXAction::init()
                { LFUN_WORD_BACKWARD_SELECT, "word-backward-select", ReadOnly | SingleParUpdate, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_WORD_DELETE_BACKWARD
- * \li Action: Deletes characters to the begining of the word (usually the "C+BackSpace" key).
+ * \li Action: Deletes characters to the beginning of the word (usually the "C+BackSpace" key).
  * \li Syntax: word-delete-backward
  * \endvar
  */
@@ -847,7 +894,7 @@ void LyXAction::init()
                { LFUN_WORD_FIND_BACKWARD, "word-find-backward", ReadOnly, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_WORD_FIND
- * \li Action: Search for next occurence of a string.
+ * \li Action: Search for next occurrence of a string.
  * \li Syntax: word-find [<DATA>]
  * \li Params: <DATA>: data encoded from Find dialog (see #lyx::find2string()).
                        If no parameter is given, search with last find-dialog
@@ -870,7 +917,7 @@ void LyXAction::init()
                { LFUN_WORD_REPLACE, "word-replace", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_WORD_FINDADV
- * \li Action: Search for next occurence of a pattern.
+ * \li Action: Search for next occurrence of a pattern.
  * \li Syntax: word-findadv [<DATA>]
  * \li Params: <DATA>: data encoded from FindAdv dialog (see #lyx::findadv2string()).
                        If no parameter is given, search with last find-dialog
@@ -892,7 +939,7 @@ void LyXAction::init()
                { LFUN_WORD_FORWARD, "word-forward", ReadOnly | NoUpdate, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_WORD_FORWARD_SELECT
- * \li Action: Moves the cursor to the logically next beginning of a word, 
+ * \li Action: Moves the cursor to the logically next beginning of a word,
                adding the logically traversed text to the selection.
  * \li Notion: See also #LFUN_WORD_FORWARD.
  * \li Syntax: word-forward-select
@@ -903,8 +950,8 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_WORD_LEFT
  * \li Action: Moves the cursor to the next beginning of a word "on the left".
  * \li Notion: This is the action which should be taken when the (e.g., ctrl-)
-               "left" key is pressed. Generally, it moves the cursor to the 
-               next beginning of a word on the left. However, in Bidi text this 
+               "left" key is pressed. Generally, it moves the cursor to the
+               next beginning of a word on the left. However, in Bidi text this
                become slightly more complicated, and there are different modes
                of cursor movement. In "visual mode", this moves left, plain and
                simple. In "logical mode", movement is logically forward in RTL
@@ -928,12 +975,12 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_WORD_RIGHT
  * \li Action: Moves the cursor to the next beginning of a word "on the right".
  * \li Notion: This is the action which should be taken when the (e.g., ctrl-)
-               "right" key is pressed. Generally, it moves the cursor to the 
-               next beginning of a word on the right. However, in Bidi text 
+               "right" key is pressed. Generally, it moves the cursor to the
+               next beginning of a word on the right. However, in Bidi text
                this become slightly more complicated, and there are different
                modes of cursor movement. In "visual mode", this moves right,
-               plain and simple. In "logical mode", movement is logically 
-               forward in LTR paragraphs, and logically backwards in RTL 
+               plain and simple. In "logical mode", movement is logically
+               forward in LTR paragraphs, and logically backwards in RTL
                paragraphs.
  * \li Syntax: word-right
  * \li Origin: dov, 28 Oct 2007
@@ -961,24 +1008,33 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_WORD_CAPITALIZE
  * \li Action: Capitalizes the words in the selection (i.e. the first letters)
-               or the letter on the cursor position.
- * \li Syntax: word-capitalize
+               or the first letter of word at cursor position.
+ * \li Syntax: word-capitalize [<SEL_TYPE>]
+ * \li Params: <SEL_TYPE>: if this is equal to "partial", then the
+ *             default word starts at cursor position (emacs-style).
+ *             Otherwise, the whole word is considered.
  * \endvar
  */
                { LFUN_WORD_CAPITALIZE, "word-capitalize", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_WORD_UPCASE
- * \li Action: Change the words in the selection or from the cursor position
-               to the end of word to the upper case.
- * \li Syntax: word-upcase
+ * \li Action: Change the words in the selection or word at cursor position
+               to upper case.
+ * \li Syntax: word-upcase [<SEL_TYPE>]
+ * \li Params: <SEL_TYPE>: if this is equal to "partial", then the
+ *             default word starts at cursor position (emacs-style).
+ *             Otherwise, the whole word is considered.
  * \endvar
  */
                { LFUN_WORD_UPCASE, "word-upcase", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_WORD_LOWCASE
- * \li Action: Change the words in the selection or from the cursor position
-               to the end of word to the lower case.
- * \li Syntax: word-lowcase
+ * \li Action: Change the words in the selection or word at cursor position
+               to lower case.
+ * \li Syntax: word-lowcase [<SEL_TYPE>]
+ * \li Params: <SEL_TYPE>: if this is equal to "partial", then the
+ *             default word starts at cursor position (emacs-style).
+ *             Otherwise, the whole word is considered.
  * \endvar
  */
                { LFUN_WORD_LOWCASE, "word-lowcase", Noop, Edit },
@@ -986,6 +1042,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_SPELLING_ADD
  * \li Action: Add the word under the cursor to the respective
  *             spell checker dictionary.
+ *             The default for the language is retrieved from the cursor position.
  * \li Syntax: spelling-add [<STRING>] [<LANG>]
  * \li Params: <WORD>: word to add
                <LANG>: language name (see file languages)
@@ -997,6 +1054,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_SPELLING_IGNORE
  * \li Action: Let the spell checker ignore the word under the cursor
  *             in the current session for the given language.
+ *             The default for the language is retrieved from the cursor position.
  * \li Syntax: spelling-ignore [<WORD>] [<LANG>]
  * \li Params: <WORD>: word to ignore
                <LANG>: language name (see file languages)
@@ -1008,13 +1066,24 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_SPELLING_REMOVE
  * \li Action: Remove the word under the cursor from the respective
  *             spell checker dictionary.
+ *             The default for the language is retrieved from the cursor position.
  * \li Syntax: spelling-remove [<STRING>] [<LANG>]
  * \li Params: <WORD>: word to remove
              <LANG>: language name (see file languages)
*             <LANG>: language name (see file languages)
  * \li Origin: SWitt, 28 July 2010
  * \endvar
  */
                { LFUN_SPELLING_REMOVE, "spelling-remove", ReadOnly, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SPELLING_CONTINUOUSLY
+ * \li Action: Toggle continuous spell checking.
+ * \li Syntax: spelling-continuously
+ * \li Origin: vfr, 24 March 2013
+ * \endvar
+ */
+               { LFUN_SPELLING_CONTINUOUSLY, "spelling-continuously", ReadOnly, Edit },
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_THESAURUS_ENTRY
  * \li Action: Look up thesaurus entries with respect to the word under the cursor.
@@ -1058,8 +1127,8 @@ 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 
+ * \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
  * \li Syntax: inset-begin
  * \li Origin: lasgouttes, 16 Mar 2009
@@ -1068,8 +1137,8 @@ void LyXAction::init()
                { LFUN_INSET_BEGIN, "inset-begin", ReadOnly, Edit },
 /*!
  * \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 
+ * \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
                traversed text to the selection).
  * \li Syntax: inset-begin-select
@@ -1079,8 +1148,8 @@ void LyXAction::init()
                { LFUN_INSET_BEGIN_SELECT, "inset-begin-select", ReadOnly, 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 
+ * \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 Syntax: inset-end
  * \li Origin: lasgouttes, 16 Mar 2009
@@ -1089,8 +1158,8 @@ void LyXAction::init()
                { LFUN_INSET_END, "inset-end", ReadOnly, Edit },
 /*!
  * \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 
+ * \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
                traversed text to the selection).
  * \li Syntax: inset-end-select
@@ -1101,16 +1170,19 @@ void LyXAction::init()
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_INSET_SELECT_ALL
- * \li Action: Selects all contents of an inset.
+ * \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).
  * \li Syntax: inset-select-all
- * \li Origin: vfr, 22 Aug 2009
+ * \li Origin: vfr, 22 Aug 2009; lasgouttes 1 Nov 2014
  * \endvar
  */
                { LFUN_INSET_SELECT_ALL, "inset-select-all", ReadOnly, Edit },
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_SECTION_SELECT
- * \li Action: Selects the whole section.
+ * \li Action: Select the whole section.
  * \li Notion: The cursor should be in a section heading
                before calling this lfun.
  * \li Syntax: section-select
@@ -1121,7 +1193,7 @@ void LyXAction::init()
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_LINE_BEGIN
- * \li Action: Move the cursor to the begining of the (screen) line.
+ * \li Action: Move the cursor to the beginning of the (screen) line.
  * \li Syntax: line-begin
  * \endvar
  */
@@ -1150,16 +1222,16 @@ void LyXAction::init()
  */
                { LFUN_LINE_END_SELECT, "line-end-select", ReadOnly | SingleParUpdate, Edit },
 /*!
- * \var lyx::FuncCode lyx::LFUN_LINE_DELETE
+ * \var lyx::FuncCode lyx::LFUN_LINE_DELETE_FORWARD
  * \li Action: Deletes the letters to the end of the (screen) line or
                deletes the selection.
  * \li Syntax: line-delete-forward
  * \endvar
  */
-               { LFUN_LINE_DELETE, "line-delete-forward", Noop, Edit }, // there is no line-delete-backward
+               { LFUN_LINE_DELETE_FORWARD, "line-delete-forward", Noop, Edit }, // there is no line-delete-backward
 /*!
  * \var lyx::FuncCode lyx::LFUN_COPY
- * \li Action: Copies to the clipboard the last edit.
+ * \li Action: Copies the current selection to the clipboard.
  * \li Syntax: copy
  * \endvar
  */
@@ -1175,14 +1247,21 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_PASTE
  * \li Action: Pastes material (text or picture) from the active clipboard.
  * \li Syntax: paste [<TYPE>|<NUM>]
- * \li Params: <TYPE>: emf|pdf|png|jpeg|linkback|wmf \n
+ * \li Params: <TYPE>: emf|pdf|png|jpeg|linkback|wmf|latex|html \n
                <NUM>: number of the selection in the internal clipboard stack to be pasted.
  * \endvar
  */
                { LFUN_PASTE, "paste", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_CLIPBOARD_PASTE
- * \li Action: Pastes text from the active clipboard.
+ * \li Action: Pastes text from the active clipboard (retains formatting if the
+               clipboard contains formatted text). Pastes plain text if plain text is
+               on the clipboard, but tries to interpret it in special ways for certain
+               insets, e.g. converting csv data to rows and columns if the paste happens
+               in a tabular inset.
+ * \li Notion: Historically, LFUN_CLIPBOARD_PASTE was introduced as a counterpart of
+               LFUN_PRIMARY_SELECTION_PASTE: It behaved exactly the same, but the source
+               is the clipboard, not the selection.
  * \li Syntax: clipboard-paste [<ARG>]
  * \li Params: <ARG>: "paragraph" will cause pasting as one paragraph, i.e. "Join lines".
  * \li Origin: Georg, 10 Jul 2006
@@ -1200,7 +1279,7 @@ void LyXAction::init()
                { LFUN_PRIMARY_SELECTION_PASTE, "primary-selection-paste", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_SELECTION_PASTE
- * \li Action: Pastes the the internal selection text in permanent selection.
+ * \li Action: Pastes the internal selection text in permanent selection.
  * \li Notion: Created in order to have middle mouse button pasting correct (bound to
                command-alternatives selection-paste ; primary-selection-paste paragraph).
  * \li Syntax: selection-paste
@@ -1208,6 +1287,18 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_SELECTION_PASTE, "selection-paste", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CLIPBOARD_PASTE_SIMPLE
+ * \li Action: Pastes plain text from the active clipboard even if formatted
+               LyX content is in the clipboard. Pastes plain text if plain text
+               is on the clipboard, without trying to interpret it in special
+               ways for certain insets, e.g. converting csv data to rows and
+               columns if the paste happens in a tabular inset.
+ * \li Syntax: clipboard-paste-simple [<ARG>]
+ * \li Params: <ARG>: "paragraph" will cause pasting as one paragraph, i.e. "Join lines".
+ * \endvar
+ */
+               { LFUN_CLIPBOARD_PASTE_SIMPLE, "clipboard-paste-simple", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_UNDO
  * \li Action: Undoes the last edit.
@@ -1286,21 +1377,21 @@ void LyXAction::init()
  */
                { LFUN_FONT_UNDERLINE, "font-underline", Noop, Layout },
 /*!
- * \var lyx::FuncCode lyx::LFUN_FONT_UULINE
+ * \var lyx::FuncCode lyx::LFUN_FONT_UNDERUNDERLINE
  * \li Action: Toggles double underline in the font (selection-wise).
  * \li Syntax: font-underunderline
  * \li Origin: sanda, 5 May 2009
  * \endvar
  */
-               { LFUN_FONT_UULINE, "font-underunderline", Noop, Layout },
+               { LFUN_FONT_UNDERUNDERLINE, "font-underunderline", Noop, Layout },
 /*!
- * \var lyx::FuncCode lyx::LFUN_FONT_UWAVE
+ * \var lyx::FuncCode lyx::LFUN_FONT_UNDERWAVE
  * \li Action: Toggles wavy underline in the font (selection-wise).
  * \li Syntax: font-underwave
  * \li Origin: sanda, 5 May 2009
  * \endvar
  */
-               { LFUN_FONT_UWAVE, "font-underwave", Noop, Layout },
+               { LFUN_FONT_UNDERWAVE, "font-underwave", Noop, Layout },
 /*!
  * \var lyx::FuncCode lyx::LFUN_FONT_STRIKEOUT
  * \li Action: Toggles strikeout (strike-through) in the font (selection-wise).
@@ -1373,7 +1464,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_TEXTSTYLE_APPLY
  * \li Action: Toggle user-defined (=last-time used) text style.
  * \li Notion: This style is set via #LFUN_TEXTSTYLE_UPDATE, which is
-               automatically trigerred when using Text Style dialog.
+               automatically triggered when using Text Style dialog.
  * \li Syntax: textstyle-apply
  * \li Origin: leeming, 12 Mar 2003
  * \endvar
@@ -1423,7 +1514,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_BIBTEX_DATABASE_ADD
  * \li Action: Adds database, which will be used for bibtex citations.
  * \li Notion: Databases are added to the first BibTeX inset
-               (Inset->List/TOC->BibTeX bibliography) found from the cursor postion.
+               (Inset->List/TOC->BibTeX bibliography) found from the cursor position.
  * \li Syntax: bibtex-database-add <DATABASE-NAME>
  * \li Origin: Ale, 30 May 1997
  * \endvar
@@ -1433,7 +1524,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_BIBTEX_DATABASE_DEL
  * \li Action: Adds database, which will be used for bibtex citations.
  * \li Notion: Databases are deleted from the first BibTeX inset
-               (Inset->List/TOC->BibTeX bibliography) found from the cursor postion.
+               (Inset->List/TOC->BibTeX bibliography) found from the cursor position.
  * \li Syntax: bibtex-database-del <DATABASE-NAME>
  * \li Origin: Ale, 30 May 1997
  * \endvar
@@ -1503,6 +1594,17 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_LAYOUT_RELOAD, "layout-reload", NoInternal, Layout },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_VIEW_CACHE
+ * \li Action: Opens the file that was created from last preview of this buffer.
+ * \li Notion: This LFUN is called by the "Show Output Anyway" button in the LaTeX
+ *             Errors dialog. It can also be called by the user, which is useful
+ *             if the document takes a long time to compile, and you just
+ *             want to see the last previewed version.
+ * \li Syntax: buffer-view-cache
+ * \endvar
+ */
+               { LFUN_BUFFER_VIEW_CACHE, "buffer-view-cache", ReadOnly, Buffer },
 /*!
  * \var lyx::FuncCode lyx::LFUN_TEXTCLASS_APPLY
  * \li Action: Sets the text class for the current buffer.
@@ -1665,7 +1767,7 @@ void LyXAction::init()
  * \li Action: Inserts a matrix.
  * \li Syntax: math-matrix <COLS> <ROWS> [<ALIGN>]
  * \li Params: <ALIGN>: Alignment is a word composed of the vertical alignment
-                        (b, c or t) (i.e. 1 char) and the horizontal alignments 
+                        (b, c or t) (i.e. 1 char) and the horizontal alignments
                         (l, c or r) (i.e. <COL> chars).
  * \li Sample: math-matrix 3 3 bccc
  * \endvar
@@ -1673,10 +1775,12 @@ void LyXAction::init()
                { LFUN_MATH_MATRIX, "math-matrix", Noop, Math },
 /*!
  * \var lyx::FuncCode lyx::LFUN_MATH_AMS_MATRIX
- * \li Action: Inserts a matrix.
+ * \li Action: Inserts an extended matrix as provided by the amsmath package.
  * \li Syntax: math-matrix <COLS> <ROWS> [<DECORATION>]
  * \li Params: <DECORATION>: Decoration determines the LaTeX name of the matrix
-                             that should be created.
+                             that should be created. Possible values include
+                             pmatrix, bmatrix, Bmatrix, vmatrix, Vmatrix and
+                             matrix. The default is 'matrix'.
  * \li Sample: math-ams-matrix 3 3 bmatrix
  * \endvar
  */
@@ -1731,7 +1835,7 @@ void LyXAction::init()
  * \li Notion: Selection can be used to determine the input for the external program.
  * \li Syntax: math-extern <LANG> [<COMMAND>]
  * \li Params: <LANG>: octave|maxima|maple|mathematica|script \n
-                       where "script" stands fot the external script (normalized
+                       where "script" stands for the external script (normalized
                        expression will be passed)
  * \li Origin: Andre, 24 Apr 2001
  * \li Sample: math-extern maple simplify
@@ -1901,6 +2005,8 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_PARAGRAPH_MOVE_UP
  * \li Action: Moves the current paragraph upwards in the document.
+ * \li Notion: Movement through the document will possibly break the paragraph-depth
+               (e.g. itemize structure).
  * \li Syntax: paragraph-move-up
  * \li Origin: Edwin, 8 Apr 2006
  * \endvar
@@ -1909,7 +2015,7 @@ void LyXAction::init()
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_PARAGRAPH_UP
- * \li Action: Move the cursor to the next paragraph (or begining of the current one)
+ * \li Action: Move the cursor to the next paragraph (or beginning of the current one)
                in upward direction.
  * \li Syntax: paragraph-up
  * \li Origin: Asger, 1 Oct 1996
@@ -1919,7 +2025,7 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_PARAGRAPH_UP_SELECT
  * \li Action: Move the cursor and select the text to the next paragraph (or
-               begining of the current one) in upward direction.
+               beginning of the current one) in upward direction.
  * \li Syntax: paragraph-up-select
  * \li Origin: Asger, 1 Oct 1996
  * \endvar
@@ -1927,7 +2033,7 @@ void LyXAction::init()
                { LFUN_PARAGRAPH_UP_SELECT, "paragraph-up-select", ReadOnly, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_PARAGRAPH_DOWN
- * \li Action: Move the cursor to the next paragraph (or begining of the current one)
+ * \li Action: Move the cursor to the next paragraph (or beginning of the current one)
                in downward direction.
  * \li Syntax: paragraph-down
  * \li Origin: Asger, 1 Oct 1996
@@ -1937,7 +2043,7 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_PARAGRAPH_DOWN_SELECT
  * \li Action: Move the cursor and select the text to the next paragraph (or
-               begining of the current one) in downward direction.
+               beginning of the current one) in downward direction.
  * \li Syntax: paragraph-down-select
  * \li Origin: Asger, 1 Oct 1996
  * \endvar
@@ -1957,16 +2063,16 @@ void LyXAction::init()
  */
                { LFUN_PARAGRAPH_GOTO, "paragraph-goto", ReadOnly | NoInternal, Edit },
 /*!
- * \var lyx::FuncCode lyx::LFUN_BREAK_PARAGRAPH
+ * \var lyx::FuncCode lyx::LFUN_PARAGRAPH_BREAK
  * \li Action: Breaks the current paragraph at the current location.
  * \li Notion: Removes the selection.
- * \li Syntax: break-paragraph [<LAYOUT>]
+ * \li Syntax: paragraph-break [<LAYOUT>]
  * \li Params: <LAYOUT>: "inverse" - decreases depth by one (or change layout
                          to default layout) when the cursor is at the end of
                          the line.
  * \endvar
  */
-               { LFUN_BREAK_PARAGRAPH, "break-paragraph", Noop, Edit },
+               { LFUN_PARAGRAPH_BREAK, "paragraph-break", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_PARAGRAPH_PARAMS
  * \li Action: Change paragraph settings.
@@ -1996,7 +2102,7 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_PARAGRAPH_UPDATE
  * \li Action: Updates the values inside the paragraph dialog from the paragraph.
- * \li Notion: This is internal LFUN, not to be used by users. Called internally
+ * \li Notion: This is an internal LFUN, not to be used by users. Called internally
                by #LFUN_DIALOG_UPDATE.
  * \li Origin: leeming, 13 Mar 2003
  * \endvar
@@ -2061,7 +2167,7 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_TABULAR_INSERT
  * \li Action: Inserts table into the document.
- * \li Notion: See #LFUN_INSET_MODIFY for some more details
+ * \li Notion: See #LFUN_TABULAR_FEATURE for some more details
                about tabular modifications.
  * \li Syntax: tabular-insert [<ROWS> <COLUMNS>]
  * \li Params: In case no arguments are given show insert dialog.
@@ -2106,6 +2212,34 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_VC_REGISTER, "vc-register", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_VC_RENAME
+ * \li Action: Renames the document to another name.
+ * \li Notion: Renaming with revision history is only supported by SVN.
+               For CVS it is simulated by adding the document under a new
+               name and deleting the old one. For RCS it is not supported.
+               Disabled if uncommitted changes exist.
+ * \li Syntax: vc-rename <FILENAME>
+ * \li Params: <FILENAME>: New name of the document.\n
+ *             A file dialog is opened if no filename is given.
+ * \li Origin: gb, 05 Feb 2013
+ * \endvar
+ */
+               { LFUN_VC_RENAME, "vc-rename", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_VC_COPY
+ * \li Action: Copies the document to another name.
+ * \li Notion: Copying with revision history is only supported by SVN.
+               For RCS and CVS it is simulated by adding the document
+               under a new name.
+               Disabled if uncommitted changes exist.
+ * \li Syntax: vc-copy <FILENAME>
+ * \li Params: <FILENAME>: New name of the document.\n
+ *             A file dialog is opened if no filename is given.
+ * \li Origin: gb, 05 Feb 2013
+ * \endvar
+ */
+               { LFUN_VC_COPY, "vc-copy", ReadOnly, System },
 /*!
  * \var lyx::FuncCode lyx::LFUN_VC_CHECK_IN
  * \li Action: Checks-in/commits the changes of the registered file to the repository.
@@ -2209,7 +2343,7 @@ void LyXAction::init()
                { LFUN_CHANGES_TRACK, "changes-track", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_CHANGES_OUTPUT
- * \li Action: Toggles showing of change tracking in typesetted output.
+ * \li Action: Toggles showing of change tracking in typeset output.
  * \li Syntax: changes-output
  * \li Origin: jspitzm, 21 Jan 2005
  * \endvar
@@ -2304,7 +2438,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_INSET_INSERT
  * \li Action: Insert new inset (type given by the parameters).
  * \li Syntax: inset-insert <INSET> <ARGS>
- * \li Params: <INSET>: <bibitem|bibtex|cite|ert|listings|external|graphics|tabular|\n
+ * \li Params: <INSET>: <bibitem|bibtex|citation|ert|listings|external|graphics|tabular|\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
@@ -2323,40 +2457,48 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_INSET_MODIFY
  * \li Action: Modify some properties of an inset.
  * \li Notion: Used for bibitem, bibtex, box, branch, command, ert, external,
-                        floats, graphics, include, index, info, label, 
-                        listings, newline, newpage, nomencl, note, phantom, 
+                        floats, graphics, include, index, info, label,
+                        listings, newline, newpage, nomencl, note, phantom,
                         ref, space, tabular, vspace, wrap insets.
  * \li Syntax: inset-modify <INSET> <ARGS>
  * \li Syntax: inset-modify changetype <TYPE>
- * \li Syntax: inset-modify tabular <FEATURE> [<ARG>]
- * \li Params: Generally see #LFUN_INSET_INSERT for further details.\n
-               In case that <INSET> is "tabular" various math-environment features
-               are handled as well, e.g. add-vline-left/right for the Grid/Array environment.\n
-               <FEATURE>: append-row|append-column|delete-row|delete-column|copy-row|copy-column|
-                       toggle-line-top|toggle-line-bottom|toggle-line-left|toggle-line-right|
-                       align-left|align-right|align-center|align-block|align-decimal|set-decimal-point|
-                       valign-top|valign-bottom|valign-middle|longtabular-align-left|
-                       longtabular-align-center|longtabular-align-right|m-align-left|m-align-right|
-                       m-align-center|m-valign-top|m-valign-bottom|m-valign-middle|multicolumn|
-                       set-all-lines|unset-all-lines|set-longtabular|unset-longtabular|set-pwidth|
-                       set-mpwidth|set-rotate-tabular|unset-rotate-tabular|toggle-rotate-tabular|
-                       set-rotate-cell|unset-rotate-cell|toggle-rotate-cell|set-usebox|set-lthead|
-                       unset-lthead|set-ltfirsthead|unset-ltfirsthead|set-ltfoot|unset-ltfoot|
-                       set-ltlastfoot|unset-ltlastfoot|set-ltnewpage|toggle-ltcaption|
-                       set-special-column|set-special-multicolumn|set-special-multirow|
-                       set-booktabs|unset-booktabs|set-top-space|set-bottom-space|
-                       set-interline-space|set-border-lines|tabular-valign-top|
-                       tabular-valign-middle|tabular-valign-bottom|set-tabular-width \n
-               <ARG>: additional argument for some commands, use debug mode to explore its values.
  * \li Sample: inset-modify note Note Comment \n
               inset-modify changetype Ovalbox
  * \endvar
  */
                { LFUN_INSET_MODIFY, "inset-modify", AtPoint, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_TABULAR_FEATURE
+ * \li Action: Modify properties of tabulars and table-like math environments.
+ * \li Syntax: tabular-feature <FEATURE> [<ARG>]
+ * \li Params: Generally see #LFUN_INSET_INSERT for further details.\n
+ *             <FEATURE>: append-row|append-column|delete-row|delete-column|copy-row|\n
+                       copy-column|move-column-right|move-column-left|move-row-down|move-row-up|\n
+                       toggle-line-top|toggle-line-bottom|toggle-line-left|toggle-line-right|\n
+                       align-left|align-right|align-center|align-block|align-decimal|set-decimal-point|\n
+                       valign-top|valign-bottom|valign-middle|longtabular-align-left|\n
+                       longtabular-align-center|longtabular-align-right|m-align-left|m-align-right|\n
+                       m-align-center|m-valign-top|m-valign-bottom|m-valign-middle|multicolumn|\n
+                       set-all-lines|unset-all-lines|toggle-longtabular|set-longtabular|unset-longtabular|set-pwidth|\n
+                       set-mpwidth|set-rotate-tabular|unset-rotate-tabular|toggle-rotate-tabular|\n
+                       set-rotate-cell|unset-rotate-cell|toggle-rotate-cell|set-usebox|set-lthead|\n
+                       unset-lthead|set-ltfirsthead|unset-ltfirsthead|set-ltfoot|unset-ltfoot|\n
+                       set-ltlastfoot|unset-ltlastfoot|set-ltnewpage|toggle-ltcaption|\n
+                       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
+               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.
+ * \li Origin: gm, 10 Dec 2015
+ * \endvar
+ */
+               { LFUN_TABULAR_FEATURE, "tabular-feature", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_INSET_DIALOG_UPDATE
  * \li Action: Updates the values inside the dialog from the inset.
- * \li Notion: This is internal LFUN, not to be used by users. Called internally
+ * \li Notion: This is an internal LFUN, not to be used by users. Called internally
                by #LFUN_DIALOG_UPDATE
  * \li Params: <DIALOG-NAME>
  * \li Origin: leeming, 25 Feb 2003
@@ -2371,18 +2513,18 @@ void LyXAction::init()
                listings, note, phantom, ref, space, tabular, vspace, wrap insets.
  * \li Syntax: inset-settings <INSET>
  * \li Params: <INSET>: <bibitem|bibtex|box|branch|citation|ert|external|float|\n
-                         graphics|href|include|index|index_print|label|line|
+                         graphics|href|include|index|index_print|label|line|\n
                          listings|note|phantom|ref|space|tabular|vspace|wrap>.
  * \endvar
  */
                { LFUN_INSET_SETTINGS, "inset-settings", ReadOnly | AtPoint, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_INSET_TOGGLE
- * \li Action: Toggles the collapsable inset at cursor position,
+ * \li Action: Toggles the collapsible inset at cursor position,
                or the inset we are currently in.
  * \li Syntax: inset-toggle [<ARG>]
  * \li Params: <ARG>: <open|close|toggle|assign>. \n
-               open/close/toggle are for collapsable insets. toggle is used when no argument is given.\n
+               open/close/toggle are for collapsible insets. toggle is used when no argument is given.\n
                assign synchronize the branch-inset with activation status of the branch.
                Used for global toggling when changed activation.
  * \li Origin: lasgouttes, 19 Jul 2001
@@ -2397,8 +2539,8 @@ void LyXAction::init()
                A typical example is
                    inset-forall Note note-insert
                which starts an infinite loop. This is mitigated by the fact
-               that the number of actions is arbitrarily limited to 10000.
-               Note also that inset-forall does not update metrics between 
+               that the number of actions is arbitrarily limited to 100000.
+               Note also that inset-forall does not update metrics between
                iterations, which can lead to bugs. This has to be eventually
                fixed.
  * \li Syntax: inset-forall <NAME> <LFUN-COMMAND> \n
@@ -2407,7 +2549,7 @@ 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 delete-char-forward \n
+                  inset-forall Index char-delete-forward \n
                Close all Notes (also works for a particular branch, for example): \n
                   inset-forall Note inset-toggle close \n
                Transform all yellow notes to comments \n
@@ -2475,9 +2617,14 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_LANGUAGE
  * \li Action: Set language from the current cursor position.
- * \li Syntax: language <LANG>
+ * \li Syntax: language <LANG> [set]
  * \li Params: <LANG>: Requested language. Look in lib/languages for
-                       the list.
+                       the list. "language reset" or "language" (without param)
+                       reset to the document language.
+                  set: If used, the language will be set to the specified
+                       language. Otherwise, the language will be toggled (i.e., if
+                       the current language is LANG, switch to the document language
+                       or the default language, if LANG is the document language).
  * \li Origin: Dekel, 2 Mar 2000
  * \endvar
  */
@@ -2515,7 +2662,7 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_BOOKMARK_GOTO
  * \li Action: Moves the cursor to the numbered bookmark, opening the file
-               if necessary. Note that bookmarsk are saved per-session, not
+               if necessary. Note that bookmarks are saved per-session, not
                per file.
  * \li Notion: Bookmark 0 has a special purpose. It is automatically set \n
                1. to the paragraph you are currently editing \n
@@ -2609,7 +2756,7 @@ void LyXAction::init()
  * \li Action: Creates new empty LyX window.
  * \li Notion: Already opened documents from the previous window can be found under View menu.
  * \li Syntax: window-new [<GEOMETRY>]
- * \li Params: <GEOMETRY>: pass the geometry of the window. This parameter is currently 
+ * \li Params: <GEOMETRY>: pass the geometry of the window. This parameter is currently
                            accepted only on Windows platform.
  * \li Origin: Abdel, 21 Oct 2006
  * \endvar
@@ -2625,30 +2772,42 @@ void LyXAction::init()
                { LFUN_WINDOW_CLOSE, "window-close", NoBuffer, Buffer },
 
 /*!
- * \var lyx::FuncCode lyx::LFUN_SPLIT_VIEW
+ * \var lyx::FuncCode lyx::LFUN_VIEW_SPLIT
  * \li Action: Creates another split view of current buffer.
- * \li Notion: All split views act in the same way indpendently.
- * \li Syntax: split-view <vertical|horizontal>
+ * \li Notion: All split views act in the same way independently.
+ * \li Syntax: view-split <vertical|horizontal>
  * \li Params: horizontal : The work areas are laid out side by side.\n
                vertical   : The work areas laid out vertically.
  * \li Origin: Abdel, 20 Feb 2008
  * \endvar
  */
-               { LFUN_SPLIT_VIEW, "split-view", ReadOnly, Buffer },
+               { LFUN_VIEW_SPLIT, "view-split", ReadOnly, Buffer },
 
 /*!
- * \var lyx::FuncCode lyx::LFUN_CLOSE_TAB_GROUP
+ * \var lyx::FuncCode lyx::LFUN_VIEW_CLOSE
+ * \li Action: Close the current document work area.
+ * \li Notion: Close the current work area. If no other work areas are showing the buffer,
+               then close the associated buffer as well.
+ * \li Syntax: view-close
+ * \li Origin: Tommaso, 15 Sep 2012
+ * \endvar
+ */
+               { LFUN_VIEW_CLOSE, "view-close", ReadOnly, Buffer },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_TAB_GROUP_CLOSE
  * \li Action: Close the current tab group.
- * \li Notion: This only closes the work areas, not the buffer themselves.
+ * \li Notion: This only closes the work areas, not the buffers themselves.
                The still opened buffers can be visualized in another tab group.
- * \li Syntax: close-tab-group
+ * \li Syntax: tab-group-close
  * \li Origin: Abdel, 21 Feb 2008
  * \endvar
  */
-               { LFUN_CLOSE_TAB_GROUP, "close-tab-group", ReadOnly, Buffer },
+               { LFUN_TAB_GROUP_CLOSE, "tab-group-close", ReadOnly, Buffer },
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_DIALOG_SHOW
- * \li Action: Shows hidden dialog or create new one for a given function/inset settings etc.
+ * \li Action: Shows hidden dialog or creates new one for a given function/inset settings etc.
  * \li Syntax: dialog-show <NAME> [<DATA>]
  * \li Params: <NAME>: aboutlyx|bibitem|bibtex|box|branch|changes|character|citation|\n
                compare|document|errorlist|ert|external|file|findreplace|findreplaceadv|float|\n
@@ -2716,7 +2875,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_MOUSE_PRESS
  * \li Action: This function is called when mouse button is pressed (inside workarea).
                Action depends on the context.
- * \li Notion: This is internal LFUN, not to be used by users.
+ * \li Notion: This is an internal LFUN, not to be used by users.
  * \li Origin: Andre, 9 Aug 2002
  * \endvar
  */
@@ -2725,7 +2884,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_MOUSE_DOUBLE
  * \li Action: This function is called when double click on mouse button is
                pressed (inside workarea). Action depends on the context.
- * \li Notion: This is internal LFUN, not to be used by users.
+ * \li Notion: This is an internal LFUN, not to be used by users.
  * \li Origin: Andre, 9 Aug 2002
  * \endvar
  */
@@ -2734,7 +2893,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_MOUSE_TRIPLE
  * \li Action: This function is called when triple click on mouse button is
                pressed (inside workarea). Action depends on the context.
- * \li Notion: This is internal LFUN, not to be used by users.
+ * \li Notion: This is an internal LFUN, not to be used by users.
  * \li Origin: Andre, 9 Aug 2002
  * \endvar
  */
@@ -2743,7 +2902,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_MOUSE_MOTION
  * \li Action: This function is called when mouse cursor is moving over the text.
                Action depends on the context.
- * \li Notion: This is internal LFUN, not to be used by users.
+ * \li Notion: This is an internal LFUN, not to be used by users.
  * \li Origin: Andre, 9 Aug 2002
  * \endvar
  */
@@ -2752,7 +2911,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_MOUSE_RELEASE
  * \li Action: This function is called when mouse button is released (inside workarea).
                Action depends on the context.
- * \li Notion: This is internal LFUN, not to be used by users.
+ * \li Notion: This is an internal LFUN, not to be used by users.
  * \li Origin: Andre, 9 Aug 2002
  * \endvar
  */
@@ -2770,7 +2929,7 @@ void LyXAction::init()
  * \li Action: Turn on the primary keyboard map.
  * \li Notion: Maps were widely used in past, when X-windows didn't have nowadays
                keyboard support. They can be still used to maintain uniform keyboard
-               layout across the various plaforms.\n
+               layout across the various platforms.\n
                The language is to be set in the Preferences dialog.
  * \li Syntax: keymap-primary
  * \endvar
@@ -2852,7 +3011,7 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_SERVER_SET_XY
  * \li Action: Sets the cursor position based on the editing area coordinates
-               (similar as clicking on that point with left mouse button).
+               (similar to clicking on that point with left mouse button).
  * \li Syntax: server-set-xy <X> <Y>
  * \endvar
  */
@@ -2869,7 +3028,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_BUILD_PROGRAM
  * \li Action: Generates the code (literate programming).
  * \li Notion: Latex file with extension \literate_extension is generated.
-               Then LyX invokes \build_command (with a default of``make'') to generate the code and
+               Then LyX invokes \build_command (with a default of ``make'') to generate the code and
                \build_error_filter to process the compilation error messages. \n
                In case you want to process your literate file with a script, or some other program,
                just insert in your lyxrc file an entry with:\n
@@ -2947,7 +3106,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>
+ * \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),
@@ -2956,6 +3115,9 @@ void LyXAction::init()
                         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.
  * \li Origin: Lgb, 29 Jul 1997
  * \endvar
  */
@@ -2975,23 +3137,25 @@ void LyXAction::init()
  */
                { LFUN_BUFFER_EXPORT_CUSTOM, "buffer-export-custom", ReadOnly, Buffer },
 /*!
- * \var lyx::FuncCode lyx::LFUN_BUFFER_PRINT
- * \li Action: Prints the current document.
- * \li Notion: Many settings can be given via the preferences dialog.
- * \li Syntax: buffer-print <TARGET> <TARGET-NAME> <COMMAND>
- * \li Params: <TARGET> is either "printer" or "file".\n
-               <TARGER-NAME> is either "default" or file name or printer name.\n
-               <COMMAND> command ensuring the printing job.
- * \li Sample: buffer-print file "/trash/newfile1.ps" "dvips"
- * \li Origin: leeming, 28 Mar 2004
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_EXPORT_AS
+ * \li Action: Opens a dialog for exporting the current buffer.
+ * \li Syntax: buffer-export-as [<FORMAT>]
+ * \li Params: <FORMAT> is the export format initially selected in the dialog.
+ *                      You can pass any of the formats which you can find in
+ *                      Tools->Preferences->File formats->Format, provided it
+ *                      has the "document" flag set. If no format is specified
+ *                      the dialog will start with the default output format of
+ *                      the current document.
+ * \li Sample: buffer-export-as pdf2
+ * \li Origin: tommaso, 6 Oct 2011
  * \endvar
  */
-               { LFUN_BUFFER_PRINT, "buffer-print", ReadOnly, Buffer },
+               { LFUN_BUFFER_EXPORT_AS, "buffer-export-as", ReadOnly, Buffer },
 /*!
  * \var lyx::FuncCode lyx::LFUN_BUFFER_IMPORT
  * \li Action: Import a given file as a lyx document.
  * \li Notion: File can be imported iff lyx file format is (transitively) reachable via
-               defined convertors in preferences. Look into File->Import menu to get
+               defined converters in preferences. Look in the File->Import menu to get
                an idea of the currently active import formats.
  * \li Syntax: buffer-import <FORMAT> [<FILE>]
  * \li Origin: Asger, 24 Jul 1998
@@ -3000,7 +3164,7 @@ void LyXAction::init()
                { LFUN_BUFFER_IMPORT, "buffer-import", NoBuffer, Buffer },
 /*!
  * \var lyx::FuncCode lyx::LFUN_BUFFER_NEW
- * \li Action: Creates a new buffer (that is, document).
+ * \li Action: Creates a new buffer (that is, document) and switches to it.
  * \li Notion: Implicit path can be set in Preferences dialog.
  * \li Syntax: buffer-new [<FILE>]
  * \li Params: <FILE>: filename of created file with absolute path.
@@ -3027,7 +3191,7 @@ void LyXAction::init()
                { LFUN_BUFFER_RELOAD, "buffer-reload", ReadOnly, Buffer },
 /*!
  * \var lyx::FuncCode lyx::LFUN_BUFFER_SWITCH
- * \li Action: Display/switch to the given buffer.
+ * \li Action: Display and switch to the given buffer.
  * \li Syntax: buffer-switch <BUFFER>
  * \li Params: <BUFFER>: path and filename of already opened (but possibly hidden)
                          document which is to be shown.
@@ -3064,7 +3228,7 @@ void LyXAction::init()
  * \li Action: Exports the current document and put the result into the
                temporary directory.
  * \li Notion: In case you are already viewing the exported document (see #LFUN_BUFFER_VIEW)
-               the output will be rewriten - updated. This is useful in case your viewer
+               the output will be rewritten - updated. This is useful in case your viewer
                is able to detect such changes (e.g. ghostview for postscript).
  * \li Syntax: buffer-update [<FORMAT>]
  * \li Params: <FORMAT>: The format to display, where this is one of the
@@ -3096,6 +3260,29 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_BUFFER_WRITE_AS, "buffer-write-as", ReadOnly, Buffer },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_FORALL
+ * \li Action: Applies a command to all non-hidden buffers.
+ * \li Notion: a buffer is `hidden' if it is internally open in LyX, but not
+               visible in any window.
+ * \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
+               Toggle change tracking on buffers: \n
+                  buffer-forall changes-track \n
+               Toggle read-only for buffers: \n
+                  buffer-forall buffer-toggle-read-only \n
+               Show statistics for individual buffers: \n
+                  buffer-forall statistics \n
+               Activate the branch named "Solutions" in buffers: \n
+                  buffer-forall branch-activate Solutions \n
+               Export buffers to PDF (pdflatex): \n
+                  buffer-forall buffer-export pdf2 \n
+ * \li Origin: skostysh, 20 Jul 2012
+ * \endvar
+ */
+               { LFUN_BUFFER_FORALL, "buffer-forall", ReadOnly | Argument, Buffer },
 /*!
  * \var lyx::FuncCode lyx::LFUN_BUFFER_WRITE_ALL
  * \li Action: Save all changed documents.
@@ -3113,6 +3300,14 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_BUFFER_NEXT, "buffer-next", ReadOnly, Buffer },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_MOVE_NEXT
+ * \li Action: Moves the current tab one spot to the right.
+ * \li Syntax: buffer-move-next
+ * \li Origin: skostysh, 7 Apr 2015
+ * \endvar
+ */
+               { LFUN_BUFFER_MOVE_NEXT, "buffer-move-next", ReadOnly, Buffer },
 /*!
  * \var lyx::FuncCode lyx::LFUN_BUFFER_PREVIOUS
  * \li Action: Switch to the previous opened document.
@@ -3120,10 +3315,18 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_BUFFER_PREVIOUS, "buffer-previous", ReadOnly, Buffer },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_MOVE_PREVIOUS
+ * \li Action: Moves the current tab one spot to the left.
+ * \li Syntax: buffer-move-previous
+ * \li Origin: skostysh, 7 Apr 2015
+ * \endvar
+ */
+               { LFUN_BUFFER_MOVE_PREVIOUS, "buffer-move-previous", ReadOnly, Buffer },
 /*!
  * \var lyx::FuncCode lyx::LFUN_MASTER_BUFFER_UPDATE
- * \li Action: When run from a child document, this updates (exports) document built
-               from the master buffer, if available.
+ * \li Action: Update (export) the document built from the master buffer,
+               if the current buffer is part of a master/child document.
  * \li Syntax: master-buffer-update [<FORMAT>]
  * \li Params: <FORMAT>: The format to display, where this is one of the
                          formats defined (in the current GUI) in the
@@ -3136,8 +3339,8 @@ void LyXAction::init()
                { LFUN_MASTER_BUFFER_UPDATE, "master-buffer-update", ReadOnly, Buffer },
 /*!
  * \var lyx::FuncCode lyx::LFUN_MASTER_BUFFER_VIEW
- * \li Action: When run from a child document, this command shows a preview built
-               from the master buffer, if available.
+ * \li Action: Show a preview built from the master buffer, if available.
+               if the current buffer is part of a master/child document.
  * \li Syntax: master-buffer-view [<FORMAT>]
  * \li Params: <FORMAT>: The format to display, where this is one of the
                          formats defined (in the current GUI) in the
@@ -3223,7 +3426,7 @@ void LyXAction::init()
                to be executed (see e.g. #LFUN_COMMAND_SEQUENCE).
                \def_file "FileName" allows to include another .def file. \n
                This is particularly useful in connection with toolbar buttons:
-               Since the name of the button image for this lfun is 
+               Since the name of the button image for this lfun is
                lib/images/commands/<NAME>.png this is the way to assign an image
                to a complex command-sequence.
  * \li Syntax: call <NAME>
@@ -3235,7 +3438,7 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_META_PREFIX
  * \li Action: Simulate halting Meta key (Alt key on PCs).
- * \li Notion: Used for buffer editation not for GUI control.
+ * \li Notion: Used for buffer edition not for GUI control.
  * \li Syntax: meta-prefix
  * \endvar
  */
@@ -3338,8 +3541,8 @@ void LyXAction::init()
                { LFUN_LYXRC_APPLY, "lyxrc-apply", NoBuffer, System },
 /*!
  * \var lyx::FuncCode lyx::LFUN_CURSOR_FOLLOWS_SCROLLBAR_TOGGLE
- * \li Action: Determine whether keep cursor inside the editing window regardless
-               the scrollbar movement.
+ * \li Action: Determine whether to keep cursor inside the editing window regardless
+               of the scrollbar movement.
  * \li Syntax: toggle-cursor-follows-scrollbar
  * \li Origin: ARRae, 2 Dec 1997
  * \endvar
@@ -3358,7 +3561,8 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_STATISTICS
  * \li Action: Count the statistics (number of words and characters)
-               in the document or in the given selection.
+               in the document or in the given selection and display it
+               in a dialog box.
  * \li Notion: Note that this function gives the number of words/chars written,
                not the number of characters which will be typeset.
  * \li Syntax: statistics
@@ -3366,6 +3570,23 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_STATISTICS, "statistics", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SERVER_GET_STATISTICS
+ * \li Action: Returns the statistics (number of words and characters)
+               in the document or in the given selection.
+ * \li Notion: Note that this function gives the number of words/chars written,
+               not the number of characters which will be typeset.
+ * \li Syntax: server-get-statistics [<TYPE>]
+ * \li Params: <TYPE>: <words|chars|chars-space> The requested count; if not
+                       specified, the three values are returned, separated
+                       by a space.\n
+                words: count words.\n
+                chars: count characters.\n
+                chars-space: count characters and spaces.
+ * \li Origin: brokenclock, Oct 10 2014
+ * \endvar
+ */
+               { LFUN_SERVER_GET_STATISTICS, "server-get-statistics", ReadOnly, System },
 /*!
  * \var lyx::FuncCode lyx::LFUN_COMPLETION_INLINE
  * \li Action: Show the inline completion at the cursor position.
@@ -3383,13 +3604,13 @@ void LyXAction::init()
  */
                { LFUN_COMPLETION_POPUP, "completion-popup", ReadOnly | NoUpdate, Edit },
 /*!
- * \var lyx::FuncCode lyx::LFUN_COMPLETION_COMPLETE
+ * \var lyx::FuncCode lyx::LFUN_COMPLETE
  * \li Action: Try to complete the word or command at the cursor position.
  * \li Syntax: complete
  * \li Origin: sts, Feb 19 2008
  * \endvar
  */
-               { LFUN_COMPLETION_COMPLETE, "complete", SingleParUpdate, Edit },
+               { LFUN_COMPLETE, "complete", SingleParUpdate, Edit },
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_COMPLETION_CANCEL
@@ -3417,7 +3638,7 @@ void LyXAction::init()
  * \li Origin: spitz, 7 Jul 2009
  * \endvar
  */
-               { LFUN_BRANCH_ADD, "branch-add", Noop, Buffer },
+               { LFUN_BRANCH_ADD, "branch-add", AtPoint, Buffer },
 
 
 /*!
@@ -3441,6 +3662,27 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_BRANCH_DEACTIVATE, "branch-deactivate", AtPoint, Buffer },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BRANCH_MASTER_ACTIVATE
+ * \li Action: Activate the branch in the master buffer.
+ * \li Syntax: branch-master-activate <BRANCH>
+ * \li Params: <BRANCH>: The branch to activate
+ * \li Sample: lyx -x "branch-activate answers" -e pdf2 finalexam.lyx \n
+               could be used to export a pdf with the answers branch included
+               without one's having to open LyX and activate the branch manually.
+ * \li Origin: spitz, 30 Sep 2012
+ * \endvar
+ */
+               { LFUN_BRANCH_MASTER_ACTIVATE, "branch-master-activate", AtPoint, Buffer },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BRANCH_MASTER_DEACTIVATE
+ * \li Action: De-activate the branch in the master buffer.
+ * \li Syntax: branch-master-deactivate <BRANCH>
+ * \li Params: <BRANCH>: The branch to deactivate
+ * \li Origin: spitz, 30 Sep 2012
+ * \endvar
+ */
+               { LFUN_BRANCH_MASTER_DEACTIVATE, "branch-master-deactivate", AtPoint, Buffer },
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_BRANCHES_RENAME
@@ -3472,17 +3714,17 @@ void LyXAction::init()
  * \li Origin: sts, 16 Nov 2008
  * \endvar
  */
-               { LFUN_LABEL_COPY_AS_REF, "copy-label-as-reference",
+               { LFUN_LABEL_COPY_AS_REFERENCE, "label-copy-as-reference",
                        ReadOnly | NoUpdate | AtPoint, Edit },
 
 /*!
- * \var lyx::FuncCode lyx::LFUN_LABEL_INSERT_AS_REF
- * \li Action: Inserts the label as a cross-reference at the position of the cursor.
+ * \var lyx::FuncCode lyx::LFUN_LABEL_INSERT_AS_REFERENCE
+ * \li Action: Inserts the label (in ToC pane) as a cross-reference at the position of the cursor.
  * \li Syntax: label-insert-as-reference
  * \li Origin: vfr, 7 Apr 2009
  * \endvar
  */
-               { LFUN_LABEL_INSERT_AS_REF, "label-insert-as-reference", Noop, Edit},
+               { LFUN_LABEL_INSERT_AS_REFERENCE, "label-insert-as-reference", Noop, Edit},
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_BUFFER_ZOOM_IN
@@ -3514,6 +3756,17 @@ void LyXAction::init()
  */
                { LFUN_INSET_COPY_AS, "inset-copy-as", ReadOnly | NoUpdate | AtPoint, Edit },
 
+/*!
+ * \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 Origin: spitz, 23 Dec 2012
+ * \endvar
+ */
+               { LFUN_ENVIRONMENT_SPLIT, "environment-split", Noop, Layout },
+
                { LFUN_NOACTION, "", Noop, Hidden }
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
        };
@@ -3543,8 +3796,8 @@ FuncRequest LyXAction::lookupFunc(string const & func) const
 
        FuncMap::const_iterator const fit = lyx_func_map.find(cmd);
 
-       return fit != lyx_func_map.end() 
-                       ? FuncRequest(fit->second, arg) 
+       return fit != lyx_func_map.end()
+                       ? FuncRequest(fit->second, arg)
                        : FuncRequest(LFUN_UNKNOWN_ACTION);
 }
 
@@ -3570,7 +3823,7 @@ bool LyXAction::funcHasFlag(FuncCode action,
 
        if (ici == lyx_info_map.end()) {
                LYXERR0("action: " << action << " is not known.");
-               LASSERT(false, /**/);
+               LASSERT(false, return false);
        }
 
        return ici->second.attrib & flag;