I know that an LFUN is a lyx-function and a little more: http://wiki.lyx.org/pmwiki.php/Devel/LFUNs
>From lfuns.h I get: * These are all the lyx functions, the main mechanism * through which the frontends communicate with the core. * * They are managed in LyXAction.C and handled in various * ::dispatch() functions, starting with LyXFunc.C:dispatch() So far it seems clear as crystal, but looking at the enum names and the strings for the user commands I get confused. Which one is supposed to "define"(*) the intended behaviour of the LFUN? A function such as LFUN_QUIT / "lyx-quit" is straight forward, it's a command to the core to do quit, and both names indicate this. However, LFUN_HOME / "line-begin" is less clear to me. The enum name makes me think of the Home-key, and the intended behaviour of that key can be ambiguous - in Emacs it goes to the beginning of the buffer, and in XEmacs it goes to the beginning of the line. Consider the user command instead: It's obvious that "line-begin" means go to the beginning of a line in 'textEd'. However, it is less obvious that "line-begin" in mathEd actually means the behaviour it currently has: Go to the beginning of the current math-inset, unless already at the beginning and not at the root inset, in which case go up one level. Note that this is not a complaint about what happens when you press the Home-key in mathEd or textEd, but that I'm confused about which name is supposed to "define/indicate" the intended behaviour of the function. confused /Christian (*) I mean "define" in the sense that I think the name, either of the enum, or of the command string should be clearly connected to the intended action of the LFUN. -- Christian Ridderström http://www.md.kth.se/~chr