> I think you could simply do ++cur.pit()/--cur.pit()
works like a charm, updated patch attached.
green light from the pundits?
edwin
Index: src/LyXAction.C =================================================================== --- src/LyXAction.C (revision 13594) +++ src/LyXAction.C (working copy) @@ -353,6 +353,8 @@ { LFUN_MOUSE_RELEASE, "", ReadOnly }, { LFUN_MOUSE_DOUBLE, "", ReadOnly }, { LFUN_MOUSE_TRIPLE, "", ReadOnly }, + { LFUN_PARAGRAPH_DOWN, "paragraph-down", Noop }, + { LFUN_PARAGRAPH_UP, "paragraph-up", Noop }, { LFUN_NOACTION, "", Noop } }; Index: src/lyxfunc.C =================================================================== --- src/lyxfunc.C (revision 13594) +++ src/lyxfunc.C (working copy) @@ -558,6 +558,18 @@ flag = getStatus(func); } + case LFUN_PARAGRAPH_UP: { + if (cur) + enable = cur.pit()>0; + break; + } + + case LFUN_PARAGRAPH_DOWN: { + if (cur) + enable = cur.pit()<cur.lastpit(); + break; + } + case LFUN_MENUNEW: case LFUN_MENUNEWTMPLT: case LFUN_WORDFINDFORWARD: Index: src/text3.C =================================================================== --- src/text3.C (revision 13594) +++ src/text3.C (working copy) @@ -320,6 +320,22 @@ switch (cmd.action) { + case LFUN_PARAGRAPH_DOWN: { + lyx::pit_type i = cur.pit(); + std::swap(pars_[i], pars_[i+1]); + ++cur.pit(); + updateCounters(cur.buffer()); + needsUpdate = true; + break; + } + case LFUN_PARAGRAPH_UP: { + lyx::pit_type i = cur.pit(); + std::swap(pars_[i], pars_[i-1]); + --cur.pit(); + updateCounters(cur.buffer()); + needsUpdate = true; + break; + } case LFUN_APPENDIX: { Paragraph & par = cur.paragraph(); bool start = !par.params().startOfAppendix(); Index: src/lfuns.h =================================================================== --- src/lfuns.h (revision 13594) +++ src/lfuns.h (working copy) @@ -358,6 +358,9 @@ LFUN_BIBDB_DEL, LFUN_INSERT_CITATION, LFUN_OUTLINE, // Vermeer 20060323 + // ? + LFUN_PARAGRAPH_DOWN, // Edwin 20060408 + LFUN_PARAGRAPH_UP, // Edwin 20060408 LFUN_LASTACTION // end of the table }; Index: lib/bind/cua.bind =================================================================== --- lib/bind/cua.bind (revision 13594) +++ lib/bind/cua.bind (working copy) @@ -102,6 +102,8 @@ # Motion group # +\bind "M-Up" "paragraph-up" +\bind "M-Down" "paragraph-down" \bind "C-Right" "word-forward" \bind "C-Left" "word-backward" \bind "C-Up" "paragraph-up"