]> git.lyx.org Git - lyx.git/blobdiff - src/LyXAction.cpp
Finish the cleanup in graphics.
[lyx.git] / src / LyXAction.cpp
index da9bf85090e4b8d445627cbbc3d10611137ea5c9..ceee3bca7030c775aff0be696a5e53d30661f109 100644 (file)
@@ -7,6 +7,7 @@
  * \author Jean-Marc Lasgouttes
  * \author John Levon
  * \author André Pönitz
+ * \author Pavel Sanda
  *
  * Full author contact details are available in file CREDITS.
  */
@@ -44,15 +45,16 @@ namespace lyx {
      (May 19 1996, 12:04, RvdK)
 */
 
-/* LFUN documentation (a start at least, Chr 2007-08-12)
+/* LFUN documentation
  *
- * The documentation below is primarily notes about restrictions and
- * oddities relating to the different LFUNs.
+ * The documentation below is primarily description of purpose and syntax
+ * relating to the different LFUNs.
  *
- * Try to find an appropriate (thematical) place when adding the new LFUN.
+ * Try to find an appropriate (thematical) place when adding the new LFUN
+ * and don't forget to add doxygen commentary.
  *
  * Doxygen template below. Some notes: Parameters should be set in uppercase
- * and put in <BRACKETS>, as so.
+ * and put in <BRACKETS>, [<PARAM>] means optional one.
  */
 
 /*!
@@ -196,7 +198,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_ACCENT_TIE
  * \li Action: Adds a tie \htmlonly (a&#865;)\endhtmlonly
                over the next two character typed.
- * \li Notion: the following char will finish the tie.
+ * \li Notion: The following char will finish the tie.
  * \li Syntax: accent-tie
  * \endvar
  */
@@ -313,7 +315,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_OPTIONAL_INSERT
  * \li Action: Inserts an optional-argument (short title) inset.
  * \li Syntax: optional-insert
- * \li Origin: Martin, 12 Aug 2002
+ * \li Origin: vermeer, 12 Aug 2002
  * \endvar
  */
                { LFUN_OPTIONAL_INSERT, "optional-insert", Noop, Edit },
@@ -321,14 +323,14 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_LINE_INSERT
  * \li Action: Inserts a horizontal line.
  * \li Syntax: line-insert
- * \li Origin: poenitz,  Oct 27 2003
+ * \li Origin: Andre, Oct 27 2003
  * \endvar
  */
                { LFUN_LINE_INSERT, "line-insert", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_NEWPAGE_INSERT
  * \li Action: Inserts a new page.
- * \li Syntax: newpage-insert<ARG>
+ * \li Syntax: newpage-insert <ARG>
  * \li Params: <ARG>: <newpage|pagebreak|clearpage|cleardoublepage> default: newpage
  * \li Origin: uwestoehr, 24 Nov 2007
  * \endvar
@@ -347,7 +349,8 @@ void LyXAction::init()
  * \li Action: Inserts a single unicode character.
  * \li Syntax: unicode-insert <CHAR>
  * \li Params: <CHAR>: The character to insert, given as its code
-                       point, in hexadecimal, e.g.: unicode-insert 0x0100.
+                       point, in hexadecimal.
+ * \li Sample: unicode-insert 0x0100
  * \li Origin: Lgb, 22 Oct 2006
  * \endvar
  */
@@ -366,7 +369,7 @@ void LyXAction::init()
  * \li Action: Currently  English, Swedish, German, Polish, French, Danish quotes
                are distinguished.
  * \li Syntax: quote-insert [<TYPE>]
- * \li Params: TYPE: 'single' for single quotes, otherwise double quotes will be used.
+ * \li Params: <TYPE>: 'single' for single quotes, otherwise double quotes will be used.
  * \endvar
  */
                { LFUN_QUOTE_INSERT, "quote-insert", Noop, Edit },
@@ -377,7 +380,7 @@ void LyXAction::init()
  * \li Notion: Apart from lfun arguments you can use the following method: \n
                1. input the type and argument of this inset, e.g. "menu paste", in
                the work area.\n
-              2. select the text and run info-insert lfun.\n
+              2. select the text and run info-insert lfun.
  * \li Syntax: info-insert <TYPE> <ARG>
  * \li Params: <TYPE>: shortcut|lyxrc|package|textclass|menu|buffer \n
                <ARG>: argument for a given type. Look into InsetInfo.h for detailed
@@ -409,15 +412,19 @@ void LyXAction::init()
  * \li Action: Inserts CharStyle, Custom inset or XML short element.
  * \li Notion: Look into the Customization manual for more information about
                these elements.\n
+               To make this command enabled the layout file for the document
+               class you're using has to load the character styles. There are
+               a few contained in the Logical Markup module. You can also of
+               course create some yourself. \n
               For dissolving the element see #LFUN_INSET_DISSOLVE.
  * \li Syntax: flex-insert <TYPE:Name>
- * \li Params: TYPE: CharStyle|Custom|Element|Standard
+ * \li Params: TYPE: CharStyle|Custom|Element|Standard \n
                     Identifies whether this is a Character Style, a
                     Custom Inset or an XML Element, and which dynamical 
                     sub-menu this flex inset is in on the LyX menu tree. 
                     If Standard (currently unused): none of these.
               Name: This name must be defined either in your layout file
-                    or imported by some module. The definition is\n
+                    or imported by some module. The definition is \n
                     InsetLayout <TYPE:Name>
  * \li Sample: flex-insert CharStyle:Code
  * \endvar
@@ -485,7 +492,7 @@ void LyXAction::init()
  * \li Action: Inserts Index entry.
  * \li Notion: It automatically takes the word on the cursor position.
  * \li Syntax: index-insert
- * \li Origin: Angus, 3 Aug 2000
+ * \li Origin: leeming, 3 Aug 2000
  * \endvar
  */
                { LFUN_INDEX_INSERT, "index-insert", Noop, Edit },
@@ -532,6 +539,16 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_NOTE_NEXT, "note-next", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_NOTES_MUTATE
+ * \li Action: Changes all Note insets of a particular type (source)
+               to a different type (target) fot the current document.
+ * \li Syntax: notes-mutate <SOURCE> <TARGET>
+ * \li Params: <SOURCE/TARGET>: Note|Comment|Greyedout
+ * \li Origin: sanda, 18 Jun 2008
+ * \endvar
+ */
+               { LFUN_NOTES_MUTATE, "notes-mutate", Argument, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_NEWLINE_INSERT
  * \li Action: Inserts a line break or new line.
@@ -617,7 +634,7 @@ void LyXAction::init()
  * \li Syntax: scroll <TYPE> <QUANTITY>
  * \li Params: <TYPE>:  line|page\n
                <QUANTITY>: up|down|<number>
- * \li Origin: Abdelrazak Younes, Dec 27 2007
+ * \li Origin: Abdel, Dec 27 2007
  * \endvar
  */
                { LFUN_SCROLL, "scroll", ReadOnly, Edit },
@@ -789,19 +806,19 @@ void LyXAction::init()
  * \li Params: <DATA>: data encoded from Find dialog (see #lyx::find2string()).
                        If no parameter is given, search with last find-dialog
                       data is used for search (i.e. find-next).
- * \li Origin: poenitz, Jan 7 2004
+ * \li Origin: Andre, Jan 7 2004
  * \endvar
  */
                { LFUN_WORD_FIND, "word-find", ReadOnly, Edit },
 /*!
- * \var lyx::FuncCode lyx::LFUN_WORD_FIND
+ * \var lyx::FuncCode lyx::LFUN_WORD_REPLACE
  * \li Action: Replace a string in the document.
  * \li Syntax: word-replace [<DATA>]
  * \li Params: <DATA>: data is of the form
                        "<search> \n
                         <replace> \n
                         <casesensitive> <matchword> <all> <forward>"
- * \li Origin: poenitz, Jan 7 2004
+ * \li Origin: Andre, Jan 7 2004
  * \endvar
  */
                { LFUN_WORD_REPLACE, "word-replace", Noop, Edit },
@@ -880,7 +897,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_WORD_SELECT
  * \li Action: Puts the word where the cursor stands into the selection.
  * \li Syntax: word-select
- * \li Author: Andre, 11 Sep 2002
+ * \li Origin: Andre, 11 Sep 2002
  * \endvar
  */
                { LFUN_WORD_SELECT, "word-select", ReadOnly, Edit },
@@ -1001,16 +1018,27 @@ void LyXAction::init()
                { LFUN_CUT, "cut", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_PASTE
- * \li Action: Pastes from the active clipboard.
- * \li Syntax: paste
+ * \li Action: Pastes material from the active clipboard.
+ * \li Syntax: paste [<TYPE>]
+ * \li Params: <TYPE>: pdf|png|jpeg|linkback
  * \endvar
  */
                { LFUN_PASTE, "paste", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CLIPBOARD_PASTE
+ * \li Action: Pastes text from the active clipboard.
+ * \li Syntax: clipboard-paste [<ARG>]
+ * \li Params: <ARG>: "paragraph" will cause pasting as one paragraph, i.e. "Join lines".
+ * \li Origin: baum, 10 Jul 2006
+ * \endvar
+ */
                { LFUN_CLIPBOARD_PASTE, "clipboard-paste", Noop, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_PRIMARY_SELECTION_PASTE
- * \li Action: Pastes the material currently selected.
- * \li Syntax: primary-selection-paste
+ * \li Action: Pastes the currently text selected text.
+ * \li Notion: Primary selection mechanism is linux-only thing.
+ * \li Syntax: primary-selection-paste [<ARG>]
+ * \li Params: <ARG>: "paragraph" will cause pasting as one paragraph, i.e. "Join lines".
  * \endvar
  */
                { LFUN_PRIMARY_SELECTION_PASTE, "primary-selection-paste", Noop, Edit },
@@ -1032,7 +1060,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_REPEAT
  * \li Action: Repeat the given command.
  * \li Syntax: repeat <COUNT> <LFUN-COMMAND>
- * \li Author: poenitz, 27 Oct 2003
+ * \li Origin: Andre, , 27 Oct 2003
  * \endvar
  */
                { LFUN_REPEAT, "repeat", NoBuffer, Edit },
@@ -1040,7 +1068,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_CHARS_TRANSPOSE
  * \li Action: Transposes the character at the cursor with the one before it.
  * \li Syntax: chars-transpose
- * \li Author: Lgb, 25 Apr 2001
+ * \li Origin: Lgb, 25 Apr 2001
  * \endvar
  */
                { LFUN_CHARS_TRANSPOSE, "chars-transpose", Noop, Edit },
@@ -1061,15 +1089,22 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_DEPTH_INCREMENT, "depth-increment", Noop, Edit },
-               { LFUN_ENVIRONMENT_INSERT, "environment-insert", Noop, Edit },
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_FONT_BOLD
- * \li Action: Toggles the bold font (selection-wise).
+ * \li Action: Toggles the bold font (selection-wise) using mathbf in math.
  * \li Syntax: font-bold
  * \endvar
  */
                { LFUN_FONT_BOLD, "font-bold", Noop, Layout },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FONT_BOLDSYMBOL
+ * \li Action: Toggles the bold font (selection-wise) using boldsymbol in math.
+ * \li Syntax: font-boldsymbol
+ * \endvar
+ */
+               { LFUN_FONT_BOLDSYMBOL, "font-boldsymbol", Noop, Layout },
 /*!
  * \var lyx::FuncCode lyx::LFUN_FONT_TYPEWRITER
  * \li Action: Toggles the typewriter family font (selection-wise).
@@ -1139,7 +1174,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_FONT_SIZE
  * \li Action: Sets font size according to lyx format string.
  * \li Syntax: font-size <SIZE>
- * \li Params: <SIZE>: tiny|scriptsize|footnotesize|small|normal|large|larger|
+ * \li Params: <SIZE>: tiny|scriptsize|footnotesize|small|normal|large|larger|\n
                        largest|huge|giant|increase|decrease|default
  * \endvar
  */
@@ -1184,9 +1219,35 @@ void LyXAction::init()
  */
                { LFUN_FONT_STATE, "font-state", ReadOnly, Layout },
 
-               { LFUN_BIBITEM_INSERT, "bibitem-insert", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CITATION_INSERT
+ * \li Action: Inserts citation from loaded citation database.
+ * \li Syntax: citation-insert [<KEY>[|<TEXT_BEFORE>]]
+ * \li Params: <KEY>: Citation (shortcut listed in available citations). \n
+               <TEXT_BEFORE>: text which should appear before citation.
+ * \li Origin: AAS, 97-02-23
+ * \endvar
+ */
                { LFUN_CITATION_INSERT, "citation-insert", Noop, Edit },
+/*!
+ * \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.
+ * \li Syntax: bibtex-database-add <DATABASE-NAME>
+ * \li Origin: Ale, 30 May 1997
+ * \endvar
+ */
                { LFUN_BIBTEX_DATABASE_ADD, "bibtex-database-add", Noop, Edit },
+/*!
+ * \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.
+ * \li Syntax: bibtex-database-del <DATABASE-NAME>
+ * \li Origin: Ale, 30 May 1997
+ * \endvar
+ */
                { LFUN_BIBTEX_DATABASE_DEL, "bibtex-database-del", Noop, Edit },
 
 /*!
@@ -1290,7 +1351,7 @@ void LyXAction::init()
  * \var lyx::FuncCode lyx::LFUN_MARK_TOGGLE
  * \li Action: Toggle between #LFUN_MARK_ON and #LFUN_MARK_OFF .
  * \li Syntax: mark-toggle
- * \li Origin: poenitz, May 5 2006
+ * \li Origin: Andre, May 5 2006
  * \endvar
  */
                { LFUN_MARK_TOGGLE, "mark-toggle", ReadOnly, Edit },
@@ -1381,7 +1442,7 @@ void LyXAction::init()
  * \li Syntax: math-mutate <TYPE>
  * \li Params: <TYPE>: none|simple|equation|eqnarray|align|alignat|xalignat|xxalignat|
                        multline|gather|flalign
- * \li Origin: Andre', 23 May 2001
+ * \li Origin: Andre, 23 May 2001
  * \endvar
  */
                { LFUN_MATH_MUTATE, "math-mutate", Noop, Math },
@@ -1393,11 +1454,10 @@ void LyXAction::init()
  * \li Params: <TYPE>: negative spaces: !|negmedspace|negthickspace \n
                        positive spaces: ,|:|;|quad|qquad \n
                        "," used by default.
- * \li Origin: Andre', 25 Jul 2001; ps, 16 Jun 2008
+ * \li Origin: Andre, 25 Jul 2001; sanda, 16 Jun 2008
  * \endvar
  */
                { LFUN_MATH_SPACE, "math-space", Noop, Math },
-               { LFUN_MATH_IMPORT_SELECTION, "math-import-selection", Noop, Math },
 /*!
  * \var lyx::FuncCode lyx::LFUN_MATH_MATRIX
  * \li Action: Inserts a matrix.
@@ -1409,6 +1469,16 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_MATH_MATRIX, "math-matrix", Noop, Math },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_MATH_MODE
+ * \li Action: In text mode enters math mode (i.e. puts math insets on the current
+               cursor position), in math mode enters text mode inside math expression.
+ * \li Notion: If there is some selected text, it puts the text inside created math box.
+ * \li Syntax: math-mode [<ARG>]
+ * \li Params: <ARG>: eventual argument (LaTeX code) is passed to #LFUN_MATH_INSERT .
+ * \li Origin: Alejandro, 4 Jun 1996
+ * \endvar
+ */
                { LFUN_MATH_MODE, "math-mode", Noop, Math },
 /*!
  * \var lyx::FuncCode lyx::LFUN_MATH_NUMBER_LINE_TOGGLE
@@ -1428,13 +1498,27 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_MATH_NUMBER_TOGGLE, "math-number-toggle", Noop, Math },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_MATH_EXTERN
+ * \li Action: Calls external program and passes the current expression/equation
+               as an argument for the calculation in the format appropriate to the
+               given language.
+ * \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
+                       expression will be passed)
+ * \li Origin: Andre, 24 Apr 2001
+ * \li Sample: math-extern maple simplify
+ * \endvar
+ */
                { LFUN_MATH_EXTERN, "math-extern", Noop, Math },
 /*!
  * \var lyx::FuncCode lyx::LFUN_MATH_SIZE
  * \li Action: Changes arbitrarily the size used by math fonts inside a context.
  * \li Notion: Provides an interface to the LaTeX math mode font size commands.
  * \li Syntax: math-size <STYLE>
- *li Params: <STYLE>: \displaystyle|\textstyle|\scriptstyle|\scriptscriptstyle
+ * \li Params: <STYLE>: \displaystyle|\textstyle|\scriptstyle|\scriptscriptstyle
  * \li Origin: Alejandro, 15 Aug 1996; ps, 14 Jun 2008
  * \endvar
  */
@@ -1631,7 +1715,7 @@ void LyXAction::init()
  * \li Notion: Note that id number of paragraph is not the sequential number of paragraph
                seen on the screen. Moreover the id is unique for all opened buffers (documents).
  * \li Syntax: paragraph-goto <PAR_ID_NUMBER> <POSITION_IN_PAR>
- * \li Params: <PAR_ID_NUMBER>:  paragraph id
+ * \li Params: <PAR_ID_NUMBER>:  paragraph id \n
                <POSITION_IN_PAR>: desired position within the paragraph
  * \li Origin: Dekel, 26 Aug 2000
  * \endvar
@@ -1681,6 +1765,14 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_PARAGRAPH_PARAMS_APPLY, "paragraph-params-apply", Noop, Edit },
+/*!
+ * \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
+               by #LFUN_DIALOG_UPDATE.
+ * \li Origin: leeming, 13 Mar 2003
+ * \endvar
+ */
                { LFUN_PARAGRAPH_UPDATE, "", Noop, Hidden },
 
 /*!
@@ -1730,32 +1822,182 @@ void LyXAction::init()
  * \li Action: Edit the inset at cursor with an external application,
  *             if one is attributed.
  * \li Syntax: inset-edit [<INSET_PARAMS>]
- * \li Params: <INSET_PARAMS>: Parameters for the inset.
+ * \li Params: <INSET_PARAMS>: Parameters for the inset. \n
                                Currently only the filename will be considered.
  * \li Origin: JSpitzm, 27 Apr 2006
  * \endvar
  */
                { LFUN_INSET_EDIT, "inset-edit", Noop, Edit },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_TABULAR_INSERT
+ * \li Action: Inserts table into the document.
+ * \li Syntax: tabular-insert [<ROWS> <COLUMNS>]
+ * \li Params: In case no arguments are given show insert dialog.
+ * \li Origin: Jug, 12 Apr 2000
+ * \endvar
+ */
+               { LFUN_TABULAR_INSERT, "tabular-insert", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_TABULAR_FEATURE
+ * \li Action: Sets various features to the table/cell on the current cursor position.
+ * \li Notion: Various math-environment features are handled here as well, e.g.
+               add-vline-left/right for Grid/Cases environment
+ * \li Syntax: tabular-feature <FEATURE> [<ARG>]
+ * \li Params: <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|valign-top|valign-bottom|
+                       valign-middle|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-multi|set-booktabs|unset-booktabs|
+                       set-top-space|set-bottom-space|set-interline-space|set-border-lines \n
+               <ARG>: additional argument for some commands, use debug mode to explore its values.
+ * \li Origin: Jug, 28 Jul 2000
+ * \endvar
+ */
+               { LFUN_TABULAR_FEATURE, "tabular-feature", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CELL_BACKWARD
+ * \li Action: Moves the cursor to the previous cell inside the table.
+ * \li Syntax: cell-backward
+ * \li Origin: Jug, 22 May 2000
+ * \endvar
+ */
                { LFUN_CELL_BACKWARD, "cell-backward", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CELL_FORWARD
+ * \li Action: Moves the cursor to the next cell inside the table.
+ * \li Syntax: cell-forward
+ * \endvar
+ */
                { LFUN_CELL_FORWARD, "cell-forward", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CELL_SPLIT
+ * \li Action: Splits cell and shifts right part to the next cell (inside the math grid).
+ * \li Syntax: cell-split
+ * \li Origin: Ale, 15 May 1997
+ * \endvar
+ */
                { LFUN_CELL_SPLIT, "cell-split", Noop, Edit },
-               { LFUN_TABULAR_INSERT, "tabular-insert", Noop, Edit },
-               { LFUN_TABULAR_FEATURE, "tabular-feature", Noop, Edit },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_VC_REGISTER
+ * \li Action: Register the document as an file inside version control system (RCS, CVS).
+ * \li Notion: File is registered inside cvs, svn or rcs repository acording to the existence
+               of cvs/svn/rcs entries in the document's directory. \n
+              See LyX Extended Manual (Version Control Chapter) for additional information.
+ * \li Syntax: vc-register
+ * \li Origin: Lgb, 1 Jul 1997
+ * \endvar
+ */
+               { LFUN_VC_REGISTER, "vc-register", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_VC_CHECK_IN
+ * \li Action: Checks-in/commits the changes of the registered file to the repository.
+ * \li Notion: In RCS case this also unlocks the file.
+ * \li Syntax: vc-check-in
+ * \li Origin: Lgb, 1 Jul 1997
+ * \endvar
+ */
                { LFUN_VC_CHECK_IN, "vc-check-in", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_VC_CHECK_OUT
+ * \li Action: Checks-out the document for edit (and locks it for RCS).
+ * \li Notion: This is implemented only for RCS and SVN, not CVS.
+ * \li Syntax: vc-check-out
+ * \li Origin: Lgb, 1 Jul 1997
+ * \endvar
+ */
                { LFUN_VC_CHECK_OUT, "vc-check-out", ReadOnly, System },
-               { LFUN_VC_REGISTER, "vc-register", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_VC_REVERT
+ * \li Action: Reverts the document to the last check-in/commit in VCS.
+ * \li Syntax: vc-revert
+ * \li Origin: Lgb, 1 Jul 1997
+ * \endvar
+ */
                { LFUN_VC_REVERT, "vc-revert", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_VC_UNDO_LAST
+ * \li Action: Undo last check-in.
+ * \li Notion: This is currently implemented only for RCS.
+ * \li Syntax: vc-check-out
+ * \li Origin: Lgb, 1 Jul 1997
+ * \endvar
+ */
                { LFUN_VC_UNDO_LAST, "vc-undo-last", ReadOnly, System },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGES_TRACK
+ * \li Action: Toggles change tracking to on/off.
+ * \li Syntax: changes-track
+ * \li Origin: levon, 1 Oct 2002
+ * \endvar
+ */
                { 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 Syntax: changes-output
+ * \li Origin: jspitzm, 21 Jan 2005
+ * \endvar
+ */
                { LFUN_CHANGES_OUTPUT, "changes-output", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGE_NEXT
+ * \li Action: Moves the cursor to the position of the next change
+               of the change tracking records.
+ * \li Syntax: change-next
+ * \li Origin: schmitt, 4 Oct 2006
+ * \endvar
+ */
                { LFUN_CHANGE_NEXT, "change-next", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGES_MERGE
+ * \li Action: Open change tracking dialog for merging and moves the cursor
+               to the position of the next change.
+ * \li Syntax: changes-merge
+ * \li Origin: Levon, 16 Oct 2002
+ * \endvar
+ */
                { LFUN_CHANGES_MERGE, "changes-merge", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGE_ACCEPT
+ * \li Action: Accepts tracked change inside the selection.
+ * \li Syntax: change-accept
+ * \li Origin: Levon, 16 Oct 2002
+ * \endvar
+ */
                { LFUN_CHANGE_ACCEPT, "change-accept", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGE_REJECT
+ * \li Action: Rejects tracked change inside the selection.
+ * \li Syntax: change-accept
+ * \li Origin: Levon, 16 Oct 2002
+ * \endvar
+ */
                { LFUN_CHANGE_REJECT, "change-reject", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_ALL_CHANGES_ACCEPT
+ * \li Action: Accepts all tracked changes in the document.
+ * \li Syntax: all-changes-accept
+ * \li Origin: Levon, 16 Oct 2002
+ * \endvar
+ */
                { LFUN_ALL_CHANGES_ACCEPT, "all-changes-accept", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_ALL_CHANGES_REJECT
+ * \li Action: Rejects all tracked changes in the document.
+ * \li Notion: Reject does not work recursively; the user may have to repeat the operation.
+ * \li Syntax: all-changes-reject
+ * \li Origin: Levon, 16 Oct 2002
+ * \endvar
+ */
                { LFUN_ALL_CHANGES_REJECT, "all-changes-reject", Noop, Edit },
 
 /*!
@@ -1778,7 +2020,7 @@ void LyXAction::init()
                         sub-menu should only dissolve the charstyle inset, even if the
                         cursor is inside several nested insets of different type.\n
                        For values see #lyx::InsetLayout::lyxtype_ .
- * \li Author: JSpitz, 7 Aug 2006
+ * \li Origin: JSpitz, 7 Aug 2006
  * \endvar
  */
                { LFUN_INSET_DISSOLVE, "inset-dissolve", Noop, Edit },
@@ -1819,12 +2061,22 @@ void LyXAction::init()
  * \li Notion: Used for label, floats, listings, box, branch, external, wrap
                bibtex, ert, command, graphics, note, space, vspace, tabular,
                bibitem, inlude, ref insets.
- * \li Syntax: next-inset-modify <INSET> <ARGS> or next-inset-modify changetype <TYPE>
+ * \li Syntax: next-inset-modify <INSET> <ARGS>
+ * \li Syntax: next-inset-modify changetype <TYPE>
  * \li Params: See #LFUN_INSET_INSERT for further details.
  * \li Origin: JSpitzm, 23 Mar 2008
  * \endvar
  */
                { LFUN_NEXT_INSET_MODIFY, "next-inset-modify", ReadOnly, 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
+               by #LFUN_DIALOG_UPDATE
+ * \li Params: <DIALOG-NAME>
+ * \li Origin: leeming, 25 Feb 2003
+ * \endvar
+ */
                { LFUN_INSET_DIALOG_UPDATE, "", Noop, Hidden },
 /*!
  * \var lyx::FuncCode lyx::LFUN_INSET_SETTINGS
@@ -1867,32 +2119,21 @@ void LyXAction::init()
  * \li Notion: Used for box, branch, ert, float, listings, note, tabular, wrap insets.
  * \li Syntax: all-insets-toggle <STATE> <INSET>
  * \li Params: <STATE>: <toggle|open|close> default: toggle \n
-               <INSET>: <box|branch|ert|float|listings|note|tabular|wrap> default: all insets \n
+               <INSET>: <box|branch|ert|float|listings|note|tabular|wrap> default: all insets
  * \li Origin: leeming, 30 Mar 2004
  * \endvar
  */
                { LFUN_ALL_INSETS_TOGGLE, "all-insets-toggle", ReadOnly, Edit },
-/*!
- * \var lyx::FuncCode lyx::LFUN_GRAPHICS_GROUPS_UNIFY
- * \li Action: Unify all graphics insets with the one given as an parameter.
- * \li Notion: This is internally used for synchronize certain group of graphics insets.
- * \li Syntax: graphics-groups-unigfy <GRAPHICS_PARAMS>
- * \li Params: <GRAPHICS_PARAMS>: Parameters for graphics inset
-                                  (syntax can be seen in .lyx files).
- * \li Origin: sanda, 6 May 2008
- * \endvar
- */
-               { LFUN_GRAPHICS_GROUPS_UNIFY, "graphics-groups-unify", ReadOnly, Edit },
 /*!
  * \var lyx::FuncCode lyx::LFUN_SET_GRAPHICS_GROUP
  * \li Action: Set the group for the graphics inset on the cursor position.
  * \li Syntax: set-graphics-group [<GROUP>]
- * \li Params: <GROUP>: Id for an existing group. In case tthe Id is an empty string,
+ * \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", ReadOnly, Edit },
+               { LFUN_SET_GRAPHICS_GROUP, "set-graphics-group", Noop, Edit },
 
 /*!
  * \var lyx::FuncCode lyx::LFUN_FINISHED_FORWARD
@@ -1928,6 +2169,15 @@ void LyXAction::init()
  */
                { LFUN_FINISHED_LEFT, "", ReadOnly, Hidden },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_LANGUAGE
+ * \li Action: Set language from the current cursor position.
+ * \li Syntax: language <LANG>
+ * \li Params: <LANG>: Requested language. Look in lib/languages for
+                       the list.
+ * \li Origin: Dekel, 2 Mar 2000
+ * \endvar
+ */
                { LFUN_LANGUAGE, "language", Noop, Edit },
 
 /*!
@@ -1997,7 +2247,7 @@ void LyXAction::init()
  * \li Action: Open the given help file according to the language setting.
  * \li Syntax: help-open <FILE>[.lyx]
  * \li Params: <FILE>: any document from (/usr/share/)doc directory.
- * \li Author: Jug, 27 Jun 1999
+ * \li Origin: Jug, 27 Jun 1999
  * \endvar
  */
                { LFUN_HELP_OPEN, "help-open", NoBuffer | Argument, Buffer },
@@ -2016,7 +2266,7 @@ void LyXAction::init()
  * \li Notion: Skiping "auto" when allowauto is false.
  * \li Syntax: toolbar-toggle <NAME> [allowauto]
  * \li Params: <NAME>: standard|extra|table|math|mathmacrotemplate|
-                       minibuffer|review|view/update|math_panels
+                       minibuffer|review|view/update|math_panels|vcs
  * \li Origin: Edwin, 21 May 2007
  * \endvar
  */
@@ -2040,7 +2290,7 @@ void LyXAction::init()
               fullscreen : Toggle fullscreen mode. This also covers calling the
                            previous functions. However #LFUN_TOOLBAR_TOGGLE for the
                            custom tweaks of the toolbars should be used.
- * \li Origin: ps, 9 Feb 2007
+ * \li Origin: sanda, 9 Feb 2007
  * \endvar
  */
                { LFUN_UI_TOGGLE, "ui-toggle", NoBuffer, Buffer },
@@ -2071,8 +2321,8 @@ void LyXAction::init()
  * \li Notion: All split views act in the same way indpendently.
  * \li Syntax: split-view <vertical|horizontal>
  * \li Params: horizontal : The work areas are laid out side by side.\n
-               vertical   : The work areas laid out vertically.\n
- * \li Origin: abdel, 20 Feb 2008
+               vertical   : The work areas laid out vertically.
+ * \li Origin: Abdel, 20 Feb 2008
  * \endvar
  */
                { LFUN_SPLIT_VIEW, "split-view", ReadOnly, Buffer },
@@ -2083,31 +2333,171 @@ void LyXAction::init()
  * \li Notion: This only closes the work areas, not the buffer themselves.
                The still opened buffers can be visualized in another tab group.
  * \li Syntax: close-tab-group
- * \li Origin: abdel, 21 Feb 2008
+ * \li Origin: Abdel, 21 Feb 2008
  * \endvar
  */
                { LFUN_CLOSE_TAB_GROUP, "close-tab-group", 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 Syntax: dialog-show <NAME> [<DATA>]
+ * \li Params: <NAME>: aboutlyx|bibitem|bibtex|box|branch|changes|character|citation|\n
+               document|errorlist|ert|external|file|findreplace|float|graphics|\n
+               include|index|info|nomenclature|label|log|mathdelimiter|mathmatrix|\n
+               note|paragraph|prefs|print|ref|sendto|space|spellchecker|symbols|\n
+               tabular|tabularcreate|thesaurus|texinfo|toc|href|view-source|vspace\n
+               wrap|listings|<SPECIAL> \n
+               <SPECIAL>: latexlog|vclog \n
+               <DATA>: data, usually settings for the given dialog. Use debug mode for the
+                       details.
+ * \li Origin: leeming, 17 Jun 2003
+ * \endvar
+ */
                { LFUN_DIALOG_SHOW, "dialog-show", NoBuffer, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_DIALOG_SHOW_NEW_INSET
+ * \li Action: Shows hidden dialog or create new one for a given inset settings etc.
+ * \li Notion: Internally uses #LFUN_DIALOG_SHOW with processed data for a given inset.
+ * \li Syntax: dialog-show-new-inset <NAME> [<DATA>]
+ * \li Params: See #LFUN_DIALOG_SHOW .
+ * \li Origin: leeming, 25 Feb 2003
+ * \endvar
+ */
                { LFUN_DIALOG_SHOW_NEW_INSET, "dialog-show-new-inset", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_DIALOG_UPDATE
+ * \li Action: Updates the dialog values from the inset/paragraph/document.
+ * \li Syntax: dialog-update <NAME>
+ * \li Params: <NAME>: paragraph|prefs|<INSET> \n
+               <INSET>: inset name
+ * \li Origin: leeming, 25 Feb 2003
+ * \endvar
+ */
                { LFUN_DIALOG_UPDATE, "dialog-update", NoBuffer, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_DIALOG_HIDE
+ * \li Action: Hides showed dialog. Counterpart to #LFUN_DIALOG_SHOW .
+ * \li Syntax: dialog-hide <NAME>
+ * \li Params: See #LFUN_DIALOG_SHOW .
+ * \li Origin: leeming, 25 Feb 2003
+ * \endvar
+ */
                { LFUN_DIALOG_HIDE, "dialog-hide", NoBuffer, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_DIALOG_TOGGLE
+ * \li Action: Toggles dialog between showed/hidden state.
+ * \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
+ * \endvar
+ */
                { LFUN_DIALOG_TOGGLE, "dialog-toggle", NoBuffer, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_DIALOG_DISCONNECT_INSET
+ * \li Action: Closes opened connection to opened inset.
+ * \li Notion: Connection is used for apply functions.
+ * \li Syntax: dialog-disconnect-inset <INSET-NAME>
+ * \li Origin: leeming, 25 Feb 2003
+ * \endvar
+ */
                { LFUN_DIALOG_DISCONNECT_INSET, "dialog-disconnect-inset", Noop, Edit },
 
+/*!
+ * \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 Origin: Andre, 9 Aug 2002
+ * \endvar
+ */
                { LFUN_MOUSE_PRESS, "", ReadOnly, Hidden },
-               { LFUN_MOUSE_MOTION, "", ReadOnly | SingleParUpdate, Hidden },
-               { LFUN_MOUSE_RELEASE, "", ReadOnly, Hidden },
+/*!
+ * \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 Origin: Andre, 9 Aug 2002
+ * \endvar
+ */
                { LFUN_MOUSE_DOUBLE, "", ReadOnly, Hidden },
+/*!
+ * \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 Origin: Andre, 9 Aug 2002
+ * \endvar
+ */
                { LFUN_MOUSE_TRIPLE, "", ReadOnly, Hidden },
+/*!
+ * \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 Origin: Andre, 9 Aug 2002
+ * \endvar
+ */
+               { LFUN_MOUSE_MOTION, "", ReadOnly | SingleParUpdate, Hidden },
+/*!
+ * \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 Origin: Andre, 9 Aug 2002
+ * \endvar
+ */
+               { LFUN_MOUSE_RELEASE, "", ReadOnly, Hidden },
 
+/*!
+ * \var lyx::FuncCode lyx::LFUN_KEYMAP_OFF
+ * \li Action: Turn off the loaded keyboard map.
+ * \li Syntax: keymap-off
+ * \endvar
+ */
                { LFUN_KEYMAP_OFF, "keymap-off", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_KEYMAP_PRIMARY
+ * \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
+               The language is to be set in the Preferences dialog.
+ * \li Syntax: keymap-primary
+ * \endvar
+ */
                { LFUN_KEYMAP_PRIMARY, "keymap-primary", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_KEYMAP_SECONDARY
+ * \li Action: Turn on the secondary keyboard map.
+ * \li Syntax: keymap-secondary
+ * \endvar
+ */
                { LFUN_KEYMAP_SECONDARY, "keymap-secondary", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_KEYMAP_TOGGLE
+ * \li Action: Toggles keyboard maps (first/second/off).
+ * \li Syntax: keymap-toggle
+ * \li Origin: leeming, 30 Mar 2004
+ * \endvar
+ */
                { LFUN_KEYMAP_TOGGLE, "keymap-toggle", ReadOnly, Edit },
 
-               { LFUN_SERVER_CHAR_AFTER, "server-char-after", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SERVER_GET_LAYOUT
+ * \li Action: Returns the current layout (that is environment) name
+               on the cursor position.
+ * \li Syntax: server-get-layout
+ * \endvar
+ */
                { LFUN_SERVER_GET_LAYOUT, "server-get-layout", ReadOnly, System },
-               { LFUN_SERVER_GET_NAME, "server-get-name", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SERVER_GET_FILENAME
+ * \li Action: Returns path and file name of the currently edited document.
+ * \li Syntax: server-get-filename
+ * \endvar
+ */
+               { LFUN_SERVER_GET_FILENAME, "server-get-filename", ReadOnly, System },
 /*!
  * \var lyx::FuncCode lyx::LFUN_SERVER_GOTO_FILE_ROW
  * \li Action: Sets the cursor position based on the row number of generated TeX file.
@@ -2116,6 +2506,13 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_SERVER_GOTO_FILE_ROW, "server-goto-file-row", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SERVER_NOTIFY
+ * \li Action: Sends notify message about the last key-sequence to client.
+ * \li Notion: This can be used to grab last key-sequence used inside the LyX window.
+ * \li Syntax: server-notify
+ * \endvar
+ */
                { LFUN_SERVER_NOTIFY, "server-notify", ReadOnly, System },
 /*!
  * \var lyx::FuncCode lyx::LFUN_SERVER_SET_XY
@@ -2287,6 +2684,9 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_BUFFER_TOGGLE_READ_ONLY
  * \li Action: Toggle editing mode of the current document between read/write and read-only.
+ * \li Notion: In the ->Readonly mode checks-in/commits the data if the file is under version control.
+               In the Readonly-> mode checkouts the data from repository. \n
+              If these operations fail, buffer won't be toggled.
  * \li Syntax: buffer-toggle-read-only
  * \li Origin: Lgb, 27 May 1997
  * \endvar
@@ -2370,7 +2770,7 @@ void LyXAction::init()
                 from the master buffer. If a master is not found, it updates the
                 current buffer.
  * \li Syntax: master-buffer-update
- * \li Author: Tommaso, 20 Sep 2007
+ * \li Origin: Tommaso, 20 Sep 2007
  * \endvar
  */
                { LFUN_MASTER_BUFFER_UPDATE, "master-buffer-update", ReadOnly, Buffer },
@@ -2380,7 +2780,7 @@ void LyXAction::init()
                from the master buffer. If a master is not found, it previews the
               current buffer.
  * \li Syntax: master-buffer-view
- * \li Author: Tommaso, 20 Sep 2007
+ * \li Origin: Tommaso, 20 Sep 2007
  * \endvar
  */
                { LFUN_MASTER_BUFFER_VIEW, "master-buffer-view", ReadOnly, Buffer },
@@ -2389,7 +2789,7 @@ void LyXAction::init()
  * \li Action: Set language of the current document.
  * \li Syntax: buffer-language <LANG>
  * \li Params: <LANG>: language name. See lib/languages for list.
- * \li Author: leeming, 30 Mar 2004
+ * \li Origin: leeming, 30 Mar 2004
  * \endvar
  */
                { LFUN_BUFFER_LANGUAGE, "buffer-language", Noop, Buffer },
@@ -2400,7 +2800,7 @@ void LyXAction::init()
  * \li Syntax: buffer-save-as-default [<ARGS>]
  * \li Params: <ARGS>: contains the particular settings to be saved. They obey the syntax
                        you can find in document header of usual .lyx file.
- * \li Author: leeming, 30 Mar 2004
+ * \li Origin: leeming, 30 Mar 2004
  * \endvar
  */
                { LFUN_BUFFER_SAVE_AS_DEFAULT, "buffer-save-as-default", Noop, Buffer },
@@ -2410,7 +2810,7 @@ void LyXAction::init()
  * \li Syntax: buffer-params-apply [<ARGS>]
  * \li Params: <ARGS>: contains the particular settings to be saved. They obey the syntax
                        you can find in document header of usual .lyx file.
- * \li Author: leeming, 30 Mar 2004
+ * \li Origin: leeming, 30 Mar 2004
  * \endvar
  */
                { LFUN_BUFFER_PARAMS_APPLY, "buffer-params-apply", Noop, Buffer },
@@ -2492,6 +2892,14 @@ void LyXAction::init()
  * \endvar
  */
                { LFUN_COMMAND_EXECUTE, "command-execute", NoBuffer, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_COMMAND_PREFIX
+ * \li Action: Return the current key sequence and available options as a string.
+ * \li Notion: No options are added if no current map exists. \n
+               This is probably usable only with connection to lyxserver.
+ * \li Syntax: command-prefix
+ * \endvar
+ */
                { LFUN_COMMAND_PREFIX, "command-prefix", NoBuffer, Hidden },
 /*!
  * \var lyx::FuncCode lyx::LFUN_COMMAND_SEQUENCE
@@ -2499,10 +2907,22 @@ void LyXAction::init()
  * \li Syntax: command-sequence <CMDS>
  * \li Params: <CMDS>: Sequence of commands separated by semicolons.
  * \li Sample: command-sequence cut; ert-insert; self-insert \; paste; self-insert {}; inset-toggle;
- * \li Origin: Andre', 11 Nov 1999
+ * \li Origin: Andre, 11 Nov 1999
  * \endvar
  */
                { LFUN_COMMAND_SEQUENCE, "command-sequence", NoBuffer, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_COMMAND_ALTERNATIVES
+ * \li Action: Runs the first listed command that is enabled.
+ * \li Notion: This can be used to bind multiple functions to a single key,
+               and then which one is used will depend upon the context.
+ * \li Syntax: command-alternatives <CMDS>
+ * \li Params: <CMDS>: Sequence of commands separated by semicolons.
+ * \li Sample: command-alternatives completion-accept;cell-forward
+ * \li Origin: rgh, 24 September 2008
+ * \endvar
+ */
+               { LFUN_COMMAND_ALTERNATIVES, "command-alternatives", NoBuffer, System },
 /*!
  * \var lyx::FuncCode lyx::LFUN_MESSAGE
  * \li Action: Shows message in statusbar (for script purposes).
@@ -2563,7 +2983,7 @@ void LyXAction::init()
  * \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
- * \li Origin: lasgouttes, Jan 27 2004; ps, Jan 8 2008
+ * \li Origin: lasgouttes, Jan 27 2004; sanda, Jan 8 2008
  * \endvar
  */
                { LFUN_STATISTICS, "statistics", ReadOnly, System },
@@ -2586,11 +3006,30 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_COMPLETION_COMPLETE
  * \li Action: Try to complete the word or command at the cursor position.
- * \li Syntax: completion-complete
+ * \li Syntax: complete
  * \li Origin: sts, Feb 19 2008
  * \endvar
  */
                { LFUN_COMPLETION_COMPLETE, "complete", SingleParUpdate, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_COMPLETION_CANCEL
+ * \li Action: Try to cancel completion, either the popup or the inline completion
+ * \li Syntax: completion-cancel
+ * \li Origin: sts, Sep 07 2008
+ * \endvar
+ */
+               { LFUN_COMPLETION_CANCEL, "completion-cancel", SingleParUpdate, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_COMPLETION_ACCEPT
+ * \li Action: Accept suggested completion.
+ * \li Syntax: completion-accept
+ * \li Origin: sanda, Sep 08 2008
+ * \endvar
+ */
+               { LFUN_COMPLETION_ACCEPT, "completion-accept", SingleParUpdate, Edit },
+
+
 /*!
  * \var lyx::FuncCode lyx::LFUN_BRANCH_ACTIVATE
  * \li Action: Activate the branch
@@ -2688,5 +3127,11 @@ LyXAction::const_func_iterator LyXAction::func_end() const
        return lyx_func_map.end();
 }
 
+LyXErr & operator<<(LyXErr & l, FuncCode code)
+{
+       if (l.enabled()) 
+               l.stream() << lyxaction.getActionName(code); 
+       return l;
+}
 
 } // namespace lyx