Index: trunk/src/lib/graphics/render2D/element_2d.cc
===================================================================
--- trunk/src/lib/graphics/render2D/element_2d.cc	(revision 5781)
+++ trunk/src/lib/graphics/render2D/element_2d.cc	(revision 5783)
@@ -577,5 +577,5 @@
     NullElement2D::getInstance()->addChild2D(*child);
 
-  this->children.erase(this->children.begin(), this->children.end());
+  this->children.clear();
 
   if (this->parent != NULL)
Index: trunk/src/lib/lang/class_list.cc
===================================================================
--- trunk/src/lib/lang/class_list.cc	(revision 5781)
+++ trunk/src/lib/lang/class_list.cc	(revision 5783)
@@ -49,5 +49,5 @@
 ClassList::~ClassList ()
 {
-//   ClassList::classList.erase(ClassList::classList.begin(), ClassList::classList.end());
+//   ClassList::classList.clear());
    --ClassList::classCount;
 }
@@ -124,5 +124,5 @@
 {
   if (ClassList::classList.size() != ClassList::classCount)
-    ClassList::classList.erase(ClassList::classList.begin(), ClassList::classList.end());
+    ClassList::classList.clear();
 
   if(likely(ClassList::first != NULL))
Index: trunk/src/lib/shell/shell.cc
===================================================================
--- trunk/src/lib/shell/shell.cc	(revision 5781)
+++ trunk/src/lib/shell/shell.cc	(revision 5783)
@@ -373,52 +373,47 @@
 
 /**
- * moves the Display buffer (up or down)
+ * moves the Display buffer (up + or down - )
  * @param lineCount the count by which to shift the InputBuffer.
+ *
+ * @todo make this work
  */
 void Shell::moveDisplayBuffer(int lineCount)
 {
-  /// FIXME
-//   if (!this->bufferIterator->compareListPointer(ShellBuffer::getInstance()->getBuffer()))
-//   {
-//     delete this->bufferIterator;
-//     this->bufferIterator = ShellBuffer::getInstance()->getBuffer()->getIterator();
-//   }
-//
-//   if (this->bufferOffset == 0)
-//    {
-//      this->bufferIterator->lastElement();
-// //     for (unsigned int i = 0; i < this->bufferDisplaySize; i++)
-// //       this->bufferIterator->prevStep();
-//    }
-//
-//   // boundraries
-//   if (this->bufferOffset + lineCount > (int)ShellBuffer::getInstance()->getBuffer()->getSize())
-//     lineCount = (int)ShellBuffer::getInstance()->getBuffer()->getSize()- this->bufferOffset;
-//   else if (this->bufferOffset + lineCount < 0)
-//     lineCount = -bufferOffset;
-//   this->bufferOffset += lineCount;
-//
-//   // moving the iterator to the right position
-//   int move = 0;
-//   while (move != lineCount)
-//   {
-//     if (move < lineCount)
-//     {
-//       ++move;
+  if (this->bufferOffset == 0)
+   {
+     this->bufferIterator = ShellBuffer::getInstance()->getBuffer()->end();
+//     for (unsigned int i = 0; i < this->bufferDisplaySize; i++)
 //       this->bufferIterator->prevStep();
-//     }
-//     else
-//     {
-//       --move;
-//       this->bufferIterator->nextStep();
-//     }
-//   }
-//   // redisplay the buffers
-//   tIterator<char> it = *this->bufferIterator;
-//   for (unsigned int i = 0; i < this->bufferDisplaySize; i++)
-//   {
-//     this->bufferText[i]->setText(it.getCurrent(), false);
-//     it.prevStep();
-//   }
+   }
+
+  // boundraries
+  if (this->bufferOffset + lineCount > (int)ShellBuffer::getInstance()->getBuffer()->size())
+    lineCount = (int)ShellBuffer::getInstance()->getBuffer()->size()- this->bufferOffset;
+  else if (this->bufferOffset + lineCount < 0)
+    lineCount = -bufferOffset;
+  this->bufferOffset += lineCount;
+
+  // moving the iterator to the right position
+  int move = 0;
+  while (move != lineCount)
+  {
+    if (move < lineCount)
+    {
+      ++move;
+      this->bufferIterator--;
+    }
+    else
+    {
+      --move;
+      this->bufferIterator++;
+    }
+  }
+  // redisplay the buffers
+  list<char*>::const_iterator it = this->bufferIterator;
+  for (unsigned int i = 0; i < this->bufferDisplaySize; i++)
+  {
+    this->bufferText[i]->setText((*it), false);
+    it--;
+  }
 }
 
Index: trunk/src/lib/shell/shell_buffer.cc
===================================================================
--- trunk/src/lib/shell/shell_buffer.cc	(revision 5781)
+++ trunk/src/lib/shell/shell_buffer.cc	(revision 5783)
@@ -92,5 +92,5 @@
     delete[] (*bufferLine);
   }
-  this->buffer.erase(this->buffer.begin(), this->buffer.end());
+  this->buffer.clear();
 }
 
Index: trunk/src/lib/shell/shell_completion.cc
===================================================================
--- trunk/src/lib/shell/shell_completion.cc	(revision 5781)
+++ trunk/src/lib/shell/shell_completion.cc	(revision 5783)
@@ -352,6 +352,5 @@
 void ShellCompletion::emptyCompletionList()
 {
-  this->completionList.erase(this->completionList.begin(),
-                             this->completionList.end());
+  this->completionList.clear();
 }
 
