diff --git a/Fltk/pluginWindow.cpp b/Fltk/pluginWindow.cpp
index 8acc3aeb815d86ba3551ae6313660c0272243705..0c0a9c059618bf600dd5d0b0e80e65ea780a12b6 100644
--- a/Fltk/pluginWindow.cpp
+++ b/Fltk/pluginWindow.cpp
@@ -266,6 +266,7 @@ pluginWindow::pluginWindow(int deltaFontSize)
 
   Fl_Button *b = new Fl_Button(WB + L1, height - WB - BH, L2, BH, "New view");
   b->callback(plugin_create_new_view_cb);
+  b->tooltip("Create new post-processing dataset based on current mesh");
 
   for(std::map<std::string, GMSH_Plugin*>::iterator it = PluginManager::
         instance()->begin(); it != PluginManager::instance()->end(); ++it) {
diff --git a/Numeric/GmshMatrix.h b/Numeric/GmshMatrix.h
index cc2dcfd53bd2111a616dc4ffa92d5021b18215cf..f8604f1312e413349aaf451ec78466c3b9a31ea3 100644
--- a/Numeric/GmshMatrix.h
+++ b/Numeric/GmshMatrix.h
@@ -7,6 +7,7 @@
 #define _GMSH_MATRIX_H_
 
 #include <math.h>
+#include <stdio.h>
 #include "GmshConfig.h"
 #include "GmshMessage.h"
 
@@ -60,15 +61,15 @@ class gmshVector
     for(int i = 0; i < _r; ++i) s += _data[i]*other._data[i];
     return s;
   }
-  void print(const char * name="") const {
-    printf("Printing vector %s:\n",name);
+  void print(const char * name="") const 
+  {
+    printf("Printing vector %s:\n", name);
     printf("  ");
     for(int I = 0; I < size(); I++){
-      printf("%12.5E ",(*this)(I));
+      printf("%12.5E ", (*this)(I));
     }
     printf("\n");
   }
-
 };
 
 template <class scalar>
@@ -261,14 +262,15 @@ class gmshMatrix
   }
 #endif
   ;
-  void print(const char * name="") const {
+  void print(const char * name="") const 
+  {
     printf("Printing matrix %s:\n",name);
     int ni = size1();
     int nj = size2();
     for(int I = 0; I < ni; I++){
       printf("  ");
       for(int J = 0; J < nj; J++){
-        printf("%12.5E ",(*this)(I, J));
+        printf("%12.5E ", (*this)(I, J));
       }
       printf("\n");
     }
diff --git a/doc/TODO.txt b/doc/TODO.txt
index c5f1191ddc673173a126f70cad6c950f30f2767a..58ce6aa2f8ef007f5b659a7d270cc2942674a284 100644
--- a/doc/TODO.txt
+++ b/doc/TODO.txt
@@ -1,8 +1,8 @@
-$Id: TODO.txt,v 1.31 2009-08-17 14:27:17 geuzaine Exp $
+$Id: TODO.txt,v 1.32 2009-08-22 09:16:47 geuzaine Exp $
 
 ********************************************************************
 
-add <, >, <=, >= in MathEx
+add <, >, <=, >= in MathEvaluator
 
 ********************************************************************
 
@@ -77,13 +77,6 @@ single associated scalar/vector or tensor value.
 
 ********************************************************************
 
-clarify physical names/ids : physical names are directly mapped to
-integers, without the notion of dimension -> hence, some physical are
-impossible to name (e.g. if Physical Line(1)={..} and Physical
-Surface(1)={...});
-
-********************************************************************
-
 Read all the components from postpro datasets, even if > 9. Provide a
 "interpretation" option allowing to select which components to draw
 and to force their interpretation as scalar, vector or tensor
@@ -100,6 +93,10 @@ fix tetgen for non manifold geometries: with a single surface
 connected to a volume and tetgen modifies the volume boundary mesh, we
 get hanging nodes
 
+Precompute non-connected volumes and apply algo to each non-connected
+aggregate. This will improve mesh quality and speed for close
+non-connected objects.
+
 Also: we need to fix the 1D mesh in all cases!
 
 ********************************************************************
@@ -108,18 +105,8 @@ Add list of recently loaded files in the GUI
 
 ********************************************************************
 
-add cleanup fct to remove duplicate elements in
-GModel->checkMeshCoherence
-
-********************************************************************
-
-3D Delaunay: precompute non-connected volumes and apply algo to each
-non-connected aggregate. This will improve mesh quality and speed for
-close non-connected objects.
-
-********************************************************************
-
-interface duplicate entity removal from opencascade
+add cleanup fct to remove duplicate elements (same spirit as GModel
+::removeDuplicateVertices)
 
 ********************************************************************
 
@@ -127,10 +114,6 @@ add support for Patran mesh files
 
 ********************************************************************
 
-interface GModel in surface creation in the parser
-
-********************************************************************
-
 add linear lc progression in 1D transfinite generator
 
 Also: implement easier to understand "bump" function (double
@@ -147,10 +130,6 @@ introduce Right/Left/Alternate for extruded meshes
 
 ********************************************************************
 
-re-implement STL remeshing
-
-********************************************************************
-
 create pyramids on quad surfaces inside unstructured volume before
 tetrahedralizing (to enable hex/tet hybrid grids)
 
@@ -231,10 +210,6 @@ add/restore Parametric curve type using MathEval
 
 ********************************************************************
 
-add ternary operator and <,>,<=,>=,== tests in MathEval
-
-********************************************************************
-
 on Macs, datasets with a bounding box < 1.e-06 don't display properly
 (probably because all the OpenGL stuff is done internally in single
 precision...). Rescale?