diff --git a/Common/OS.cpp b/Common/OS.cpp
index 76e6fc4c9d3096fcb5ecaeaf17bb935d33a9d22c..e360bcf4e96fc00fe0865ac44fac12df7f002ef0 100644
--- a/Common/OS.cpp
+++ b/Common/OS.cpp
@@ -318,28 +318,52 @@ void RedirectIOToConsole()
 {
 #if defined(WIN32) && !defined(__CYGWIN__)
   // Win32 GUI apps do not write to the DOS console; make it work again by
-  // attaching to parent console, which allows to use the DOS shell to work
-  // with Gmsh on the command line (without this hack, you need to either use
-  // a better shell (e.g. bash), or compile a /subsystem:console version
+  // attaching to parent console, which allows to use the DOS shell to work with
+  // Gmsh on the command line (without this hack, you need to either use a
+  // better shell (e.g. bash), or compile a /subsystem:console version
   if(!AttachConsole(ATTACH_PARENT_PROCESS)) return;
   // redirect unbuffered stdout, stdin and stderr to the console
-  intptr_t lStdHandle = (intptr_t)GetStdHandle(STD_OUTPUT_HANDLE);
-  int hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
-  FILE *fp = _fdopen(hConHandle, "w");
-  *stdout = *fp;
-  setvbuf(stdout, NULL, _IONBF, 0);
-  lStdHandle = (intptr_t)GetStdHandle(STD_INPUT_HANDLE);
-  hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
-  fp = _fdopen(hConHandle, "r");
-  *stdin = *fp;
-  setvbuf(stdin, NULL, _IONBF, 0);
-  lStdHandle = (intptr_t)GetStdHandle(STD_ERROR_HANDLE);
-  hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
-  fp = _fdopen(hConHandle, "w");
-  *stderr = *fp;
-  setvbuf(stderr, NULL, _IONBF, 0);
-  // make cout, wcout, cin, wcin, wcerr, cerr, wclog and clog point to
-  // console as well
+  {
+    intptr_t lStdHandle = (intptr_t)GetStdHandle(STD_OUTPUT_HANDLE);
+    if(lStdHandle != INVALID_HANDLE_VALUE){
+      int hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
+      if(hConHandle >= 0){
+        FILE *fp = _fdopen(hConHandle, "w");
+        if(fp){
+          *stdout = *fp;
+          setvbuf(stdout, NULL, _IONBF, 0);
+        }
+      }
+    }
+  }
+  {
+    intptr_t lStdHandle = (intptr_t)GetStdHandle(STD_INPUT_HANDLE);
+    if(lStdHandle != INVALID_HANDLE_VALUE){
+      int hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
+      if(hConHandle >= 0){
+        FILE *fp = _fdopen(hConHandle, "r");
+        if(fp){
+          *stdin = *fp;
+          setvbuf(stdin, NULL, _IONBF, 0);
+        }
+      }
+    }
+  }
+  {
+    intptr_t lStdHandle = (intptr_t)GetStdHandle(STD_ERROR_HANDLE);
+    if(lStdHandle != INVALID_HANDLE_VALUE){
+      int hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
+      if(hConHandle >= 0){
+        FILE *fp = _fdopen(hConHandle, "w");
+        if(fp){
+          *stderr = *fp;
+          setvbuf(stderr, NULL, _IONBF, 0);
+        }
+      }
+    }
+  }
+  // make cout, wcout, cin, wcin, wcerr, cerr, wclog and clog point to console
+  // as well
   std::ios::sync_with_stdio();
 #endif
 }
diff --git a/Mesh/Field.cpp b/Mesh/Field.cpp
index 240664c35b3c2ac4c159e9ece0219739708e14c9..696a6d247f4077bd0c9211c015156ea66186a611 100644
--- a/Mesh/Field.cpp
+++ b/Mesh/Field.cpp
@@ -25,7 +25,7 @@
 #include "BackgroundMesh.h"
 #include "CenterlineField.h"
 #include "STensor3.h"
-
+#include "meshMetric.h"
 #if defined(HAVE_POST)
 #include "PView.h"
 #include "OctreePost.h"
@@ -1868,7 +1868,7 @@ void BoundaryLayerField::computeFor1dMesh (double x, double y, double z,
   double distk = 1.e22;
   for(std::list<int>::iterator it = nodes_id.begin();
       it != nodes_id.end(); ++it) {
-    GVertex *v = GModel::current()->getVertexByTag(*it);    
+    GVertex *v = GModel::current()->getVertexByTag(*it);
     double xp = v->x();
     double yp = v->y();
     double zp = v->z();
@@ -1892,7 +1892,7 @@ void BoundaryLayerField::computeFor1dMesh (double x, double y, double z,
   lc_n = std::min(lc_n, CTX::instance()->mesh.lcMax);
   SVector3 t1= SVector3(x-xpk,y-ypk,z-zpk);
   t1.normalize();
-  metr = buildMetricTangentToCurve(t1,lc_n,lc_n);  
+  metr = buildMetricTangentToCurve(t1,lc_n,lc_n);
 }
 
 void BoundaryLayerField::operator() (AttractorField *cc, double dist,
diff --git a/doc/VERSIONS.txt b/doc/VERSIONS.txt
index 7bc48c81c7dfa82f95aabc613042e6971863ded8..6c131c563880bb0ce9bff44599e0c9b635cc9891 100644
--- a/doc/VERSIONS.txt
+++ b/doc/VERSIONS.txt
@@ -1,4 +1,7 @@
-2.7.2: small improvements, compilation and bug fixes.
+2.7.2: improved display of vector at COG; new experimental text string display
+engines; improved fullscreen mode; access time/step in transformations; new
+experimental features: AdaptMesh and Surface In Volume; compilation and bug
+fixes.
 
 2.7.1 (May 11, 2013): improved Delaunay point insertion; updated onelab; better
 Abaqus and UNV export; small bug and compilation fixes.