]> git.lyx.org Git - lyx.git/blobdiff - src/Text3.cpp
Cmake build: Creating a define for a header file found
[lyx.git] / src / Text3.cpp
index bfb392c63e2227ba34f276b3f44c9885c51b9aac..fad451c7288007d612f4c4bca479e7e5b328a7b8 100644 (file)
@@ -940,15 +940,12 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
        case LFUN_NEWLINE_INSERT: {
                InsetNewlineParams inp;
                docstring arg = cmd.argument();
-               // this avoids a double undo
-               // FIXME: should not be needed, ideally
-               if (!cur.selection())
-                       cur.recordUndo();
-               cap::replaceSelection(cur);
                if (arg == "linebreak")
                        inp.kind = InsetNewlineParams::LINEBREAK;
                else
                        inp.kind = InsetNewlineParams::NEWLINE;
+               cap::replaceSelection(cur);
+               cur.recordUndo();
                cur.insert(new InsetNewline(inp));
                cur.posForward();
                moveCursor(cur, false);
@@ -1100,7 +1097,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                        /*
                        Paragraph & par = pars_[cur.pit()];
                        if (inset->lyxCode() == LABEL_CODE
-                               && par.layout().labeltype == LABEL_COUNTER) {
+                               && !par.layout().counter.empty() {
                                // Go to the end of the paragraph
                                // Warning: Because of Change-Tracking, the last
                                // position is 'size()' and not 'size()-1':
@@ -1447,14 +1444,14 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
        }
 
        case LFUN_QUOTE_INSERT: {
-               // this avoids a double undo
-               // FIXME: should not be needed, ideally
-               if (!cur.selection())
-                       cur.recordUndo();
                cap::replaceSelection(cur);
+               cur.recordUndo();
 
                Paragraph const & par = cur.paragraph();
                pos_type pos = cur.pos();
+               // Ignore deleted text before cursor
+               while (pos > 0 && par.isDeleted(pos - 1))
+                       --pos;
 
                BufferParams const & bufparams = bv->buffer().params();
                bool const hebrew =