#include "Buffer.h"
#include "BufferParams.h"
#include "buffer_funcs.h"
-#include "debug.h"
#include "DocIterator.h"
#include "Paragraph.h"
#include "ParagraphList.h"
#include "insets/Inset.h"
+#include "support/debug.h"
+#include "support/limited_stack.h"
+
#include <algorithm>
+#include <ostream>
-using std::advance;
-using std::endl;
+using namespace std;
+using namespace lyx::support;
namespace lyx {
namespace {
-std::ostream & operator<<(std::ostream & os, UndoElement const & undo)
+ostream & operator<<(ostream & os, UndoElement const & undo)
{
return os << " from: " << undo.from << " end: " << undo.end
<< " cell:\n" << undo.cell
bool isUndoOperation)
{
if (first_pit > last_pit)
- std::swap(first_pit, last_pit);
+ swap(first_pit, last_pit);
// create the position information of the Undo entry
UndoElement undo;
undo.array = 0;
// push the undo entry to undo stack
stack.push(undo);
- //lyxerr << "undo record: " << stack.top() << std::endl;
+ //lyxerr << "undo record: " << stack.top() << endl;
// next time we'll try again to combine entries if possible
undo_finished = false;
redostack.clear();
//lyxerr << "undostack:\n";
//for (size_t i = 0, n = buf.undostack().size(); i != n && i < 6; ++i)
- // lyxerr << " " << i << ": " << buf.undostack()[i] << std::endl;
+ // lyxerr << " " << i << ": " << buf.undostack()[i] << endl;
}
undo.isFullBuffer, !isUndoOperation);
// This does the actual undo/redo.
- //lyxerr << "undo, performing: " << undo << std::endl;
+ //LYXERR0("undo, performing: " << undo);
bool labelsUpdateNeeded = false;
DocIterator dit = undo.cell.asDocIterator(&buffer_.inset());
if (undo.isFullBuffer) {
// This is a full document
otherstack.top().bparams = buffer_.params();
buffer_.params() = undo.bparams;
- std::swap(buffer_.paragraphs(), *undo.pars);
+ swap(buffer_.paragraphs(), *undo.pars);
delete undo.pars;
undo.pars = 0;
} else if (dit.inMathed()) {
// We stored the full cell here as there is not much to be
// gained by storing just 'a few' paragraphs (most if not
// all math inset cells have just one paragraph!)
- //lyxerr << "undo.array: " << *undo.array <<endl;
+ //LYXERR0("undo.array: " << *undo.array);
BOOST_ASSERT(undo.array);
dit.cell().swap(*undo.array);
delete undo.array;