diff --git a/Common/Colors.h b/Common/Colors.h
index bac78ee401ecfb8c42cfdc6f3c6a8b3a011e55cf..a98eac6b5d42e55cae25b7545dad4c6c968aadec 100644
--- a/Common/Colors.h
+++ b/Common/Colors.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/CommandLine.cpp b/Common/CommandLine.cpp
index a2595f481b2efd48ae2fc696b8906b3960af4546..4027cb49e594daf18dbb6650b494f2d3677dd5d7 100644
--- a/Common/CommandLine.cpp
+++ b/Common/CommandLine.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -564,7 +564,7 @@ void Get_Options(int argc, char *argv[])
       }
       else if(!strcmp(argv[i] + 1, "help") || !strcmp(argv[i] + 1, "-help")) {
         fprintf(stderr, "Gmsh, a 3D mesh generator with pre- and post-processing facilities\n");
-        fprintf(stderr, "Copyright (C) 1997-2008 Christophe Geuzaine and Jean-Francois Remacle\n");
+        fprintf(stderr, "Copyright (C) 1997-2009 Christophe Geuzaine and Jean-Francois Remacle\n");
         Print_Usage(argv[0]);
 	Msg::Exit(0);
       }
diff --git a/Common/CommandLine.h b/Common/CommandLine.h
index 9afed6db418517d91cd84ce9801a502a54acd34b..a7d82b315299b258d57fc68eeef09131ffa29128 100644
--- a/Common/CommandLine.h
+++ b/Common/CommandLine.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/Context.h b/Common/Context.h
index a4d8363db632ec11084d866405955cc03c5d22a1..6487202e550f915cd3d66e682ed78c8132d6fc12 100644
--- a/Common/Context.h
+++ b/Common/Context.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -75,9 +75,8 @@ class Context_T {
   int useTrackball; // do or do not use the trackball for rotations 
   double rotation_center[3]; // point around which to rotate the scene
   int rotation_center_cg; // rotate around the center of mass instead of rotation_center[]
-  double min[3]; // x, y and z min for the current geometry 
-  double max[3]; // x, y and z max for the current geometry 
-  double cg[3]; // "center of mass" of the current geometry
+  double min[3], max[3]; // "overall" x, y and z min used for drawing and lc computation
+  double cg[3]; // "center of mass" of the current geometry, used for graphics only
   double lc; // characteristic length for the whole problem (never
              // used in mesh generation ->only for geo/post)
   int db, antialiasing; // double buffer? antialiasing?
diff --git a/Common/CreateFile.cpp b/Common/CreateFile.cpp
index f94519e4ad92833f2bd3898aba02741442f12927..13d477ffc79d3596b90a61f2dba1361606875d9d 100644
--- a/Common/CreateFile.cpp
+++ b/Common/CreateFile.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/CreateFile.h b/Common/CreateFile.h
index 66e838f33079afb4839e9a4901e63148b437bff9..6aa52b772898b217abac4de8ce5759539d817041 100644
--- a/Common/CreateFile.h
+++ b/Common/CreateFile.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h
index 4cddb013c84a24f176cb7087c0abd36dae2e0ba8..de16f7afcacb62b67cff432ef825843ab11696b1 100644
--- a/Common/DefaultOptions.h
+++ b/Common/DefaultOptions.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -105,7 +105,7 @@ StringXString SolverOptions_String[] = {
     "Name of solver 0" },
   { F|O, "Help0" , opt_solver_help0 , 
     "A General environment for the treatment of\nDiscrete Problems\n\n"
-    "Copyright (C) 1997-2008\nPatrick Dular and Christophe Geuzaine\n\n"
+    "Copyright (C) 1997-2009\nPatrick Dular and Christophe Geuzaine\n\n"
     "Visit http://www.geuz.org/getdp/ for more info",
     "Help string for solver 0" },
   { F|O, "Executable0" , opt_solver_executable0 , 
diff --git a/Common/Gmsh.cpp b/Common/Gmsh.cpp
index e9d281fc03504d83d3f6c0d76232a1047d967a91..4f6491dc3076359b3f47b562eb5ffda66c5eba0a 100644
--- a/Common/Gmsh.cpp
+++ b/Common/Gmsh.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/Gmsh.h b/Common/Gmsh.h
index 663243e9a4a87a7d28b83d25fbd6c6f9bd5d6b32..3d943950acdc0b4bc0c5c9312ed39de39ce061df 100644
--- a/Common/Gmsh.h
+++ b/Common/Gmsh.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/GmshDaemon.cpp b/Common/GmshDaemon.cpp
index 0836193ed21abb7e420dcf3f0955e0439640d2ff..9acecb88b5281e4b2d0628b7bf3d1d10b4b7ba7c 100644
--- a/Common/GmshDaemon.cpp
+++ b/Common/GmshDaemon.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/GmshDaemon.h b/Common/GmshDaemon.h
index 8d0f045df8b2ad8710fd8dab383ab01ce0f94b55..f51e11b3c8e3cc79023cdb2ca1e2c198872a43dc 100644
--- a/Common/GmshDaemon.h
+++ b/Common/GmshDaemon.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/GmshDefines.h b/Common/GmshDefines.h
index f8def9cb1662362781d6e2e519b72bda76a9a500..497bfb063c2fdc983188a9aa099387d6d948c355 100644
--- a/Common/GmshDefines.h
+++ b/Common/GmshDefines.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp
index 5239188a2ed54ddcb99891849715190a04f0605e..10e021fc08aedb270af64c8aa8e8b7914abaf1db 100644
--- a/Common/GmshMessage.cpp
+++ b/Common/GmshMessage.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/GmshMessage.h b/Common/GmshMessage.h
index f9a11a97f61c7fe3c44f42447b17911311975202..59580da5ceb3ba244fadc2e9acd2b186beace6ac 100644
--- a/Common/GmshMessage.h
+++ b/Common/GmshMessage.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/GmshSocket.h b/Common/GmshSocket.h
index 56d676406a8d45bb6ca1c8fbf996a2531e1f53e7..63dfe5341707ca33510e4ddb2bf3c96611c03f2f 100644
--- a/Common/GmshSocket.h
+++ b/Common/GmshSocket.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/Hash.h b/Common/Hash.h
index 8f64b774574a80d3f91dc324f61d6a084a14e26d..9f495b9029afd3aeb265e5997ee6800405efac95 100644
--- a/Common/Hash.h
+++ b/Common/Hash.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/HashMap.h b/Common/HashMap.h
index 619a4aef63d0073eaf6af3af2ac588048bd7412e..d7989787a499dd1bf4a629c862592ea2c8fda4e4 100644
--- a/Common/HashMap.h
+++ b/Common/HashMap.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/ListUtils.cpp b/Common/ListUtils.cpp
index c273fa3940b78027f0bc2edd32b1a95a499c98e2..6a4ac5c9b0e5a1a216834ad31058253fbe21ba06 100644
--- a/Common/ListUtils.cpp
+++ b/Common/ListUtils.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/ListUtils.h b/Common/ListUtils.h
index 48518b5e71359647c3ef34d66c8b84a3d57a9bac..e08b0a2908287b3cbc0a302b853db1f10008f9db 100644
--- a/Common/ListUtils.h
+++ b/Common/ListUtils.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/Main.cpp b/Common/Main.cpp
index 8df8a5591cf7898bb3ef899ec0965e0c042e2892..8a5feb7e11be553cce1d1c5f6efca22b7a293824 100644
--- a/Common/Main.cpp
+++ b/Common/Main.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/Makefile b/Common/Makefile
index 05670f5734d69d4adb18ba48fc5b77fafc69820d..d90ce861a2e8cb828f8260335cc34c53e9c67906 100644
--- a/Common/Makefile
+++ b/Common/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/MallocUtils.cpp b/Common/MallocUtils.cpp
index 742c0587994afdb764553f86b8e51e00d8947a51..7338708eeb31f88126347fea8b2a6a34370888ea 100644
--- a/Common/MallocUtils.cpp
+++ b/Common/MallocUtils.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/MallocUtils.h b/Common/MallocUtils.h
index ef010612d84dc5095f2df033c0a1bf555cab6efc..c4e98bf610efc3b8a2b647b6eac06b0e7d4d11d8 100644
--- a/Common/MallocUtils.h
+++ b/Common/MallocUtils.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/OS.cpp b/Common/OS.cpp
index 928b42a3558429b339306dfa9a270d293ca382a5..c9a101483569018a27ce0bf0fee4e891b57fc11d 100644
--- a/Common/OS.cpp
+++ b/Common/OS.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/OS.h b/Common/OS.h
index d9840b3eb4905a4e9562b061885577d8cd072d2b..727087c9a34c0d84d0f3da4e14af45c917159c25 100644
--- a/Common/OS.h
+++ b/Common/OS.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/Octree.cpp b/Common/Octree.cpp
index 0062764aa8853afa45b6d575c20673d0a09c4c9f..261650c0b2cec4803751ab0ad88b13202185f844 100644
--- a/Common/Octree.cpp
+++ b/Common/Octree.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/Octree.h b/Common/Octree.h
index ed8e185d889ef56945a40550ab77858da55bef7a..4cb836d94a16d1b0f85390256997e9d73ac798c4 100644
--- a/Common/Octree.h
+++ b/Common/Octree.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/OctreeInternals.cpp b/Common/OctreeInternals.cpp
index 8f9b28002a27b3a4b7c88b2cae80bcfc6418d1ab..a984a0ec20ff092d7aaa48c50f41ce30712c86d2 100644
--- a/Common/OctreeInternals.cpp
+++ b/Common/OctreeInternals.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/OctreeInternals.h b/Common/OctreeInternals.h
index 8d9f4b156c801529a149763b29ffecc0abf429fd..0a373c7c2b8dfe1f6d0ca931144648fd4394512b 100644
--- a/Common/OctreeInternals.h
+++ b/Common/OctreeInternals.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/OpenFile.cpp b/Common/OpenFile.cpp
index 2cdd6e254790ebdf605add5ecf63082c490d9c98..2e254ded80b2c2c278a15276cc8f070e4e3b49e1 100644
--- a/Common/OpenFile.cpp
+++ b/Common/OpenFile.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -37,48 +37,34 @@ extern Context_T CTX;
 static void FinishUpBoundingBox()
 {
   double range[3];
-
-  for(int i = 0; i < 3; i++){
-    CTX.cg[i] = 0.5 * (CTX.min[i] + CTX.max[i]);
-    range[i] = CTX.max[i] - CTX.min[i];
-  }
+  for(int i = 0; i < 3; i++) range[i] = CTX.max[i] - CTX.min[i];
 
   if(range[0] < CTX.geom.tolerance && 
      range[1] < CTX.geom.tolerance && 
      range[2] < CTX.geom.tolerance) {
     CTX.min[0] -= 1.; CTX.min[1] -= 1.;
     CTX.max[0] += 1.; CTX.max[1] += 1.;
-    CTX.lc = 1.;
   }
   else if(range[0] < CTX.geom.tolerance && 
           range[1] < CTX.geom.tolerance) {
-    CTX.lc = range[2];
-    CTX.min[0] -= CTX.lc; CTX.min[1] -= CTX.lc;
-    CTX.max[0] += CTX.lc; CTX.max[1] += CTX.lc;
+    CTX.min[0] -= range[2]; CTX.min[1] -= range[2];
+    CTX.max[0] += range[2]; CTX.max[1] += range[2];
   }
   else if(range[0] < CTX.geom.tolerance && 
           range[2] < CTX.geom.tolerance) {
-    CTX.lc = range[1];
-    CTX.min[0] -= CTX.lc; CTX.max[0] += CTX.lc;
+    CTX.min[0] -= range[1]; CTX.max[0] += range[1];
   }
   else if(range[1] < CTX.geom.tolerance && 
           range[2] < CTX.geom.tolerance) {
-    CTX.lc = range[0];
-    CTX.min[1] -= CTX.lc; CTX.max[1] += CTX.lc;
+    CTX.min[1] -= range[0]; CTX.max[1] += range[0];
   }
   else if(range[0] < CTX.geom.tolerance) {
-    CTX.lc = sqrt(SQU(range[1]) + SQU(range[2]));
-    CTX.min[0] -= CTX.lc; CTX.max[0] += CTX.lc;
+    double l = sqrt(SQU(range[1]) + SQU(range[2]));
+    CTX.min[0] -= l; CTX.max[0] += l;
   }
   else if(range[1] < CTX.geom.tolerance) {
-    CTX.lc = sqrt(SQU(range[0]) + SQU(range[2]));
-    CTX.min[1] -= CTX.lc; CTX.max[1] += CTX.lc;
-  }
-  else if(range[2] < CTX.geom.tolerance) {
-    CTX.lc = sqrt(SQU(range[0]) + SQU(range[1]));
-  }
-  else {
-    CTX.lc = sqrt(SQU(range[0]) + SQU(range[1]) + SQU(range[2]));
+    double l = sqrt(SQU(range[0]) + SQU(range[2]));
+    CTX.min[1] -= l; CTX.max[1] += l;
   }
 }
 
@@ -90,6 +76,10 @@ void SetBoundingBox(double xmin, double xmax,
   CTX.min[1] = ymin; CTX.max[1] = ymax;
   CTX.min[2] = zmin; CTX.max[2] = zmax;
   FinishUpBoundingBox();
+  CTX.lc = sqrt(SQU(CTX.max[0] - CTX.min[0]) +
+                SQU(CTX.max[1] - CTX.min[1]) + 
+                SQU(CTX.max[2] - CTX.min[2]));
+  for(int i = 0; i < 3; i++) CTX.cg[i] = 0.5 * (CTX.min[i] + CTX.max[i]);
 }
 
 void SetBoundingBox()
@@ -115,6 +105,10 @@ void SetBoundingBox()
   CTX.min[1] = bb.min().y(); CTX.max[1] = bb.max().y();
   CTX.min[2] = bb.min().z(); CTX.max[2] = bb.max().z();
   FinishUpBoundingBox();
+  CTX.lc = sqrt(SQU(CTX.max[0] - CTX.min[0]) +
+                SQU(CTX.max[1] - CTX.min[1]) + 
+                SQU(CTX.max[2] - CTX.min[2]));
+  for(int i = 0; i < 3; i++) CTX.cg[i] = 0.5 * (CTX.min[i] + CTX.max[i]);
 }
 
 // FIXME: this is necessary for now to have an approximate CTX.lc
@@ -132,10 +126,13 @@ void ResetTemporaryBoundingBox()
 void AddToTemporaryBoundingBox(double x, double y, double z)
 {
   temp_bb += SPoint3(x, y, z);
-  CTX.min[0] = temp_bb.min().x(); CTX.max[0] = temp_bb.max().x();
-  CTX.min[1] = temp_bb.min().y(); CTX.max[1] = temp_bb.max().y();
-  CTX.min[2] = temp_bb.min().z(); CTX.max[2] = temp_bb.max().z();
-  FinishUpBoundingBox();
+  if(temp_bb.empty()) return;
+  CTX.lc = sqrt(SQU(temp_bb.max().x() - temp_bb.min().x()) +
+                SQU(temp_bb.max().y() - temp_bb.min().y()) + 
+                SQU(temp_bb.max().z() - temp_bb.min().z()));
+  if(CTX.lc == 0) CTX.lc = 1.;
+  // to get correct cg during interctive point creation
+  for(int i = 0; i < 3; i++) CTX.cg[i] = temp_bb.center()[i];
 }
 
 int ParseFile(const char *f, int close, int warn_if_missing)
diff --git a/Common/OpenFile.h b/Common/OpenFile.h
index 03d7346cabf71edb95f8a61696263db98d5bd150..5f765987bc938517281fc18c0cb5f845983fcb3c 100644
--- a/Common/OpenFile.h
+++ b/Common/OpenFile.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/Options.cpp b/Common/Options.cpp
index f9b65e849eec3883d70ce48eee81fa8fd1377d99..9b4c7e3b4531e84e05ff561bf4e6a9ea26f362f8 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -3178,32 +3178,44 @@ double opt_general_draw_bounding_box(OPT_ARGS_NUM)
 
 double opt_general_xmin(OPT_ARGS_NUM)
 {
-  return CTX.min[0];
+  if(!GModel::current()) return 0.;
+  SBoundingBox3d bb = GModel::current()->bounds();
+  return bb.empty() ? 0. : bb.min().x();
 }
 
 double opt_general_xmax(OPT_ARGS_NUM)
 {
-  return CTX.max[0];
+  if(!GModel::current()) return 0.;
+  SBoundingBox3d bb = GModel::current()->bounds();
+  return bb.empty() ? 0. : bb.max().x();
 }
 
 double opt_general_ymin(OPT_ARGS_NUM)
 {
-  return CTX.min[1];
+  if(!GModel::current()) return 0.;
+  SBoundingBox3d bb = GModel::current()->bounds();
+  return bb.empty() ? 0. : bb.min().y();
 }
 
 double opt_general_ymax(OPT_ARGS_NUM)
 {
-  return CTX.max[1];
+  if(!GModel::current()) return 0.;
+  SBoundingBox3d bb = GModel::current()->bounds();
+  return bb.empty() ? 0. : bb.max().y();
 }
 
 double opt_general_zmin(OPT_ARGS_NUM)
 {
-  return CTX.min[2];
+  if(!GModel::current()) return 0.;
+  SBoundingBox3d bb = GModel::current()->bounds();
+  return bb.empty() ? 0. : bb.min().z();
 }
 
 double opt_general_zmax(OPT_ARGS_NUM)
 {
-  return CTX.max[2];
+  if(!GModel::current()) return 0.;
+  SBoundingBox3d bb = GModel::current()->bounds();
+  return bb.empty() ? 0. : bb.max().z();
 }
 
 double opt_general_axes(OPT_ARGS_NUM)
diff --git a/Common/Options.h b/Common/Options.h
index 28afc13377f113596f43c4271d362c4f501b8272..69f2b1b2a14bc38ca50d4b3ac492060af6560bd4 100644
--- a/Common/Options.h
+++ b/Common/Options.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/SmoothData.cpp b/Common/SmoothData.cpp
index 7a3a03b25775b729204cb59d77408216bd91ba72..3f36427f85315eedfd2a42cad389affb432138c6 100644
--- a/Common/SmoothData.cpp
+++ b/Common/SmoothData.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/SmoothData.h b/Common/SmoothData.h
index de908b53287aeabd3d6ccc5c8f5759c19d360908..fed5c63d28b578a5bdd955031c2f814e8603e5aa 100644
--- a/Common/SmoothData.h
+++ b/Common/SmoothData.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/StringUtils.cpp b/Common/StringUtils.cpp
index eaa3769be7bd7932d4a1fc1d76229b429e5136c7..2a975fa649fa40020c5e582ebcdf68864b7b7d1c 100644
--- a/Common/StringUtils.cpp
+++ b/Common/StringUtils.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/StringUtils.h b/Common/StringUtils.h
index e09f15553a387df98989ad04be1fa12500bb14c0..0d029fd085fc1056f4e500047afa0c2971f98abb 100644
--- a/Common/StringUtils.h
+++ b/Common/StringUtils.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/TreeUtils.cpp b/Common/TreeUtils.cpp
index 4fb12a4a356cbda9cfbe693a7365840c733b52de..312d32feef6d098ec795aa69938b066268af01d0 100644
--- a/Common/TreeUtils.cpp
+++ b/Common/TreeUtils.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/TreeUtils.h b/Common/TreeUtils.h
index b02cf6bdce35321080aeffb75509c7d0e7860539..b10ae5304ddfc0487a56a3743cfb4e523b460ce1 100644
--- a/Common/TreeUtils.h
+++ b/Common/TreeUtils.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/VertexArray.cpp b/Common/VertexArray.cpp
index 1a254f5f9fef3b7d33cf7780b0e3ded7b5ef40bf..863950d6384bbc1ae6e82aa1070385d732d16372 100644
--- a/Common/VertexArray.cpp
+++ b/Common/VertexArray.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Common/VertexArray.h b/Common/VertexArray.h
index 094c201b79663baca6c49f41e2c7a42be53f847d..4ebdb9c616db695a38c97d2cc35f426e477249cc 100644
--- a/Common/VertexArray.h
+++ b/Common/VertexArray.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/Draw.cpp b/Fltk/Draw.cpp
index d5c5fdf5a06fab2144d7549a4d334ec502abebf2..e73fa6660a1e6571b082b4c0b068cbfb160f40a5 100644
--- a/Fltk/Draw.cpp
+++ b/Fltk/Draw.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/Draw.h b/Fltk/Draw.h
index 05019fc4b3802aca6c0f279f3e5071c75f192109..551554cb7f7ede815df4743480d6a5fa259b024d 100644
--- a/Fltk/Draw.h
+++ b/Fltk/Draw.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp
index 9712186c62b03df4c822735547b76d7c5641f40f..6ed5a1d8a27e342438ce8ad803abd99355a0febd 100644
--- a/Fltk/GUI.cpp
+++ b/Fltk/GUI.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/GUI.h b/Fltk/GUI.h
index bbe383e9ccb8c99665eb89019065c54dc24c1fae..abc9c737b38193fc57266897a8d3b43ada8f1724 100644
--- a/Fltk/GUI.h
+++ b/Fltk/GUI.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/Main.cpp b/Fltk/Main.cpp
index 7a047186a0a098e0b5b97221e5346215cba21cfd..9e14b6488159f4a6cb849e593d8f0440a05a54a1 100644
--- a/Fltk/Main.cpp
+++ b/Fltk/Main.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/Makefile b/Fltk/Makefile
index ecac5b57204d49cd6bd3346942cba66fbc3994be..c3c380adb387592ff61761930a4a99e0a00d66e1 100644
--- a/Fltk/Makefile
+++ b/Fltk/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/Solvers.cpp b/Fltk/Solvers.cpp
index a9e36174b6ac68218be2a6c4f6d141b5cc56633b..41fc4db848dbcb61e2288b581b65232a98b07957 100644
--- a/Fltk/Solvers.cpp
+++ b/Fltk/Solvers.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/Solvers.h b/Fltk/Solvers.h
index 60ec601ed56ea5ef4b8dfa16516dbd7269f7c048..00c9f3b359694a01701bb41136e8659163676c10 100644
--- a/Fltk/Solvers.h
+++ b/Fltk/Solvers.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/aboutWindow.cpp b/Fltk/aboutWindow.cpp
index dbbe20dc2030e328637205af6829626857ef4fb6..306354dbe72e5306811d4ca266434e2f9f067cd0 100644
--- a/Fltk/aboutWindow.cpp
+++ b/Fltk/aboutWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -51,7 +51,7 @@ aboutWindow::aboutWindow(int fontsize)
     o->add("@c@.A three-dimensional finite element mesh generator");
     o->add("@c@.with built-in pre- and post-processing facilities");
     o->add(" ");
-    o->add("@c@.Copyright (C) 1997-2008");
+    o->add("@c@.Copyright (C) 1997-2009");
 #if defined(__APPLE__)
     o->add("@c@.Christophe Geuzaine and Jean-Francois Remacle");
 #else
diff --git a/Fltk/aboutWindow.h b/Fltk/aboutWindow.h
index 9766e83ad8d4d752deba32571e06d05a9e0e4a9a..394c09cff90d152ab160eb1da7f3cc2b678436b5 100644
--- a/Fltk/aboutWindow.h
+++ b/Fltk/aboutWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/classificationEditor.cpp b/Fltk/classificationEditor.cpp
index 42f7352717e83e96d6648730a07b0828c2a513fa..d77904329ed00969139f8b67c908d22eae55ac3d 100644
--- a/Fltk/classificationEditor.cpp
+++ b/Fltk/classificationEditor.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/classificationEditor.h b/Fltk/classificationEditor.h
index 439359b7a4c4b7b0895f131aea94c49662ede1fe..31dbfff5acfc0ee4ca85ae06078f0b6b9b85df4d 100644
--- a/Fltk/classificationEditor.h
+++ b/Fltk/classificationEditor.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/clippingWindow.cpp b/Fltk/clippingWindow.cpp
index fc08adbe89c57a89322fb063b8b1085e1ecd03de..1715d70ba2b86cc3fbe3409fedd6c9ce3d77b259 100644
--- a/Fltk/clippingWindow.cpp
+++ b/Fltk/clippingWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/clippingWindow.h b/Fltk/clippingWindow.h
index 1b1c6bba51142fba4432a7e04500fef50f9145e6..c3ced1dba1032475db64850af80f487716c97bec 100644
--- a/Fltk/clippingWindow.h
+++ b/Fltk/clippingWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/colorbarWindow.cpp b/Fltk/colorbarWindow.cpp
index b7e2d1c0cb98b6e7e87dfd53498f5504cb9079af..be5522c3065d5b7edb62db5872c3ae57661de434 100644
--- a/Fltk/colorbarWindow.cpp
+++ b/Fltk/colorbarWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/colorbarWindow.h b/Fltk/colorbarWindow.h
index c2b047a9e888c4b49e1fb440c2880719d26b3eb1..ec20b58e7de8492de52c0c64b6182b27421204b0 100644
--- a/Fltk/colorbarWindow.h
+++ b/Fltk/colorbarWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/contextWindow.cpp b/Fltk/contextWindow.cpp
index 0c12a9bdf48332b89058c02c604f6208012f635e..928cda38c1c40ab35961bb09b260963f2fb4eaaa 100644
--- a/Fltk/contextWindow.cpp
+++ b/Fltk/contextWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/contextWindow.h b/Fltk/contextWindow.h
index e03e4014532a62c52192b23b4c1f3ce1edc02ce8..ff7ac307cdc276eb2ba11f8cc61646c0538e359e 100644
--- a/Fltk/contextWindow.h
+++ b/Fltk/contextWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/extraDialogs.cpp b/Fltk/extraDialogs.cpp
index bff48b6d05816abbb1ec1d1e42e4f0ea58ad918f..59c468c764247b4bf32987c37039faedec4ab966 100644
--- a/Fltk/extraDialogs.cpp
+++ b/Fltk/extraDialogs.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/extraDialogs.h b/Fltk/extraDialogs.h
index d22116094d1e3555e6aa4fca3c616f62ba8a47d9..7ccb224662b33005891590c08f092c74d861ddd1 100644
--- a/Fltk/extraDialogs.h
+++ b/Fltk/extraDialogs.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/fieldWindow.cpp b/Fltk/fieldWindow.cpp
index dbec54e5e986fcfab1c24acc63b2882c4b9a5dff..8c0a3a68c966b46301fdb6a740574b028f7090da 100644
--- a/Fltk/fieldWindow.cpp
+++ b/Fltk/fieldWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/fieldWindow.h b/Fltk/fieldWindow.h
index 97e69bc2b4bc62d4f53c7e74396435a6484dc1b6..c356592397b108a778d050b295ff4bf2b5c62101 100644
--- a/Fltk/fieldWindow.h
+++ b/Fltk/fieldWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/fileChooser.h b/Fltk/fileChooser.h
index f372c4bd68c51d01c9a6d0bea5eb9567e264f235..0209c18cf9ee95524986a4e12e90dd4f6bcf7ba3 100644
--- a/Fltk/fileChooser.h
+++ b/Fltk/fileChooser.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/fileDialogs.cpp b/Fltk/fileDialogs.cpp
index ebe2ecafab524990737208c296b4272a11e7b6f4..92b7da69f2ddd032cc85f18efa6db5e0f4a5c1bc 100644
--- a/Fltk/fileDialogs.cpp
+++ b/Fltk/fileDialogs.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/fileDialogs.h b/Fltk/fileDialogs.h
index a463c6ef44b7bd7633ad1433c6386905862faa02..65fb61c74a2765426eac42115d32da2d1f36aeaf 100644
--- a/Fltk/fileDialogs.h
+++ b/Fltk/fileDialogs.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/graphicWindow.cpp b/Fltk/graphicWindow.cpp
index 97c1d3c5c3f95ae2ad720a7fac3b4c67fe289eb2..587c5193f218dfb326dac71d38cf1e88031ad003 100644
--- a/Fltk/graphicWindow.cpp
+++ b/Fltk/graphicWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/graphicWindow.h b/Fltk/graphicWindow.h
index 266412126e883b556a1fd5b3ce3e1a0bef6fdc94..fd58d5de9cce13e965b9a4afb27e0907a98587f6 100644
--- a/Fltk/graphicWindow.h
+++ b/Fltk/graphicWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/manipWindow.cpp b/Fltk/manipWindow.cpp
index 2155d54da4ee3eeff76d46896a96c706bdf5a60f..30c0bc959024914e77b2049c9192468b89b6a098 100644
--- a/Fltk/manipWindow.cpp
+++ b/Fltk/manipWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/manipWindow.h b/Fltk/manipWindow.h
index 0ddfb7d59c18febf0c11b5746879ea8cb2bb30f2..d04f9c73506af80e4285dfabb7ed732598ef1ea1 100644
--- a/Fltk/manipWindow.h
+++ b/Fltk/manipWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/menuWindow.cpp b/Fltk/menuWindow.cpp
index 6b4566ba4cc35e0427b3cc6c13d1c6fc18740ad4..844690da7fd10ce780aaf2ac5757e467e0c01fa2 100644
--- a/Fltk/menuWindow.cpp
+++ b/Fltk/menuWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -545,6 +545,8 @@ static void add_new_point()
     }
   }
 
+  // at the end, not during creation to avoid having things jumping around
+  SetBoundingBox();
   Msg::StatusBar(3, false, "");
 }
 
diff --git a/Fltk/menuWindow.h b/Fltk/menuWindow.h
index 304e2277a07393bcd3fbf9a3a2baca0826afcf49..1f0ee37f32688fa41d158923455a78c081f5be9c 100644
--- a/Fltk/menuWindow.h
+++ b/Fltk/menuWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/messageWindow.cpp b/Fltk/messageWindow.cpp
index 6e0983eadd9b31a32fd148883a412882e30b3d47..09d5c93df1853130ce338cb2e94d21e9fdd089c3 100644
--- a/Fltk/messageWindow.cpp
+++ b/Fltk/messageWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/messageWindow.h b/Fltk/messageWindow.h
index 1cf53836fa363b35151ee4850acc15264976dff8..46dd78ec4c90d6b59631291896f517e53096800b 100644
--- a/Fltk/messageWindow.h
+++ b/Fltk/messageWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/openglWindow.cpp b/Fltk/openglWindow.cpp
index 674d6f872e14d48b09727c9ae24d69b9703fa00e..0302e66e6de20365c1c2acaa44c173de368bed8a 100644
--- a/Fltk/openglWindow.cpp
+++ b/Fltk/openglWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -396,7 +396,7 @@ int openglWindow::handle(int event)
     else if(addPointMode && !Fl::event_state(FL_SHIFT)){
       cursor(FL_CURSOR_CROSS, FL_BLACK, FL_WHITE);
       // find line in real space corresponding to current cursor position
-      double p[3],d[3];
+      double p[3], d[3];
       _ctx->unproject(_curr.win[0], _curr.win[1], p, d);
       // fin closest point to the center of gravity
       double r[3] = {CTX.cg[0] - p[0], CTX.cg[1] - p[1], CTX.cg[2] - p[2]}, t;
diff --git a/Fltk/openglWindow.h b/Fltk/openglWindow.h
index e8d88c559e303254e06aa1e5639e422f3b85239e..79ac3ebb2a5bdd4b6a73b6de5f3a09d58200fc9e 100644
--- a/Fltk/openglWindow.h
+++ b/Fltk/openglWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/optionWindow.cpp b/Fltk/optionWindow.cpp
index d7d886091eb6b2d86e99ee8d1aeb4852cc0a50f4..a39c3f021dc88b30f6661552703595ee9d3a338e 100644
--- a/Fltk/optionWindow.cpp
+++ b/Fltk/optionWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/optionWindow.h b/Fltk/optionWindow.h
index 91c6212f13b68cd75e9368e2e34008b16ed49bf4..d66706dee08d8ac30ff4166de72de26ddcac3344 100644
--- a/Fltk/optionWindow.h
+++ b/Fltk/optionWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/partitionDialog.cpp b/Fltk/partitionDialog.cpp
index c268cd6bd5f1a130a90a39acde6f5cb74c653143..a45593756bdb7fc0f6ea4abcdd43ea5d61a05ea7 100644
--- a/Fltk/partitionDialog.cpp
+++ b/Fltk/partitionDialog.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/partitionDialog.h b/Fltk/partitionDialog.h
index f0484381f73c191912f0cd7632921bb1f26e7317..c7cc8bbfb95b04673b05d13fa9204039c2f0450e 100644
--- a/Fltk/partitionDialog.h
+++ b/Fltk/partitionDialog.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/pluginWindow.cpp b/Fltk/pluginWindow.cpp
index 24662b10ec11648445cf5458084a828ebbf05a9f..1b0ae51f2cab0db72f05840c7a382158a105f6ae 100644
--- a/Fltk/pluginWindow.cpp
+++ b/Fltk/pluginWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/pluginWindow.h b/Fltk/pluginWindow.h
index 3f06646628a4d96750c28fe19cba9247f66db80e..a4069a099521b5fefeef93bf8722b4bd52d8089c 100644
--- a/Fltk/pluginWindow.h
+++ b/Fltk/pluginWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/popupButton.h b/Fltk/popupButton.h
index b54185968c7b4548ac58f998e2baf352be22fa29..c30e7a096c9e2e8b7e3e6bd7a570eeff857c104f 100644
--- a/Fltk/popupButton.h
+++ b/Fltk/popupButton.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/projectionEditor.cpp b/Fltk/projectionEditor.cpp
index 32d2c6d09d6a1c9f72f81b9c42f6aff5b2d5856d..bc9745b09b7dadb7d64f7a23e4e317484048808e 100644
--- a/Fltk/projectionEditor.cpp
+++ b/Fltk/projectionEditor.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/projectionEditor.h b/Fltk/projectionEditor.h
index 8dffb1cc9f611ced1f71b5b9a7740390e3401d04..88eafc4e6509dacbac535c64430e99a2092d8572 100644
--- a/Fltk/projectionEditor.h
+++ b/Fltk/projectionEditor.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/shortcutWindow.h b/Fltk/shortcutWindow.h
index 8f1a5f409545e40c3192d449a45c61d12f1b0368..d84dcf8ed8b82c4543d91cd8b84c3f7e56b3db22 100644
--- a/Fltk/shortcutWindow.h
+++ b/Fltk/shortcutWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/solverWindow.cpp b/Fltk/solverWindow.cpp
index 72b16444bb849bbcb8e7952abfb654ec08dbb011..ead36f279199642a158dca74e8065485482ae6e0 100644
--- a/Fltk/solverWindow.cpp
+++ b/Fltk/solverWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/solverWindow.h b/Fltk/solverWindow.h
index 940a0fbacca816ba6b3d735211fd7e3c2ae3e4ca..f5a3b66f136b028a1e9bc9cb97e3b4c722e4a318 100644
--- a/Fltk/solverWindow.h
+++ b/Fltk/solverWindow.h
@@ -1,4 +1,4 @@
- // Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+ // Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/spherePositionWidget.h b/Fltk/spherePositionWidget.h
index 6f0f1004e0213af317581f502820ccc8719ded9a..6a99f5a6ed9f51b0746b3fdb8024bd32c7b22bf3 100644
--- a/Fltk/spherePositionWidget.h
+++ b/Fltk/spherePositionWidget.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/statisticsWindow.cpp b/Fltk/statisticsWindow.cpp
index c3385d91f9438bf39fce31e68ca0fecb0b31e958..d419fb115115755619f63ce100bcf6f2b18ca0c5 100644
--- a/Fltk/statisticsWindow.cpp
+++ b/Fltk/statisticsWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/statisticsWindow.h b/Fltk/statisticsWindow.h
index 680623bd7b3075bb23e118ebdbfb5f5858c727a1..ff1a57150647b6a151ff2b79273e31e1b828f32c 100644
--- a/Fltk/statisticsWindow.h
+++ b/Fltk/statisticsWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/visibilityWindow.cpp b/Fltk/visibilityWindow.cpp
index 2998c925fd56ee657866199fe1c1fc088a5a97b4..cdd930400280c83d88972096fc1fa1b8837574de 100644
--- a/Fltk/visibilityWindow.cpp
+++ b/Fltk/visibilityWindow.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Fltk/visibilityWindow.h b/Fltk/visibilityWindow.h
index 98c316c00db460f56f556762b2fcc6582b6dfb7c..366cf23df6fa4cfb66247cf07bcbd188a2b3402b 100644
--- a/Fltk/visibilityWindow.h
+++ b/Fltk/visibilityWindow.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/CGNSOptions.h b/Geo/CGNSOptions.h
index bede76d071f163e512d3f6379e2a1d18080bb85c..bbf3de832b552137727d151ad4d2493b20d742f1 100644
--- a/Geo/CGNSOptions.h
+++ b/Geo/CGNSOptions.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/CustomContainer.h b/Geo/CustomContainer.h
index 3e711a8bc8e596bcb9c70f20f53bbbb26830462d..6ea769d20d8dd2ca364b568af8be3a2cd1c89abf 100644
--- a/Geo/CustomContainer.h
+++ b/Geo/CustomContainer.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/ExtrudeParams.cpp b/Geo/ExtrudeParams.cpp
index ae35785ec77a780785285466d009cb0881145ac2..9a2cf6b3f5a71faa2a89ebd57dd42e27c7c06dc4 100644
--- a/Geo/ExtrudeParams.cpp
+++ b/Geo/ExtrudeParams.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/ExtrudeParams.h b/Geo/ExtrudeParams.h
index 868cb375008b2b573fe5dc903a9b533c5acde242..808293eb22b0416eda9c358fbe620e482df29306 100644
--- a/Geo/ExtrudeParams.h
+++ b/Geo/ExtrudeParams.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GEdge.cpp b/Geo/GEdge.cpp
index 5e93359a035198ad31b7b1e2d4d5512425fc8fd1..902f242c0fe9f35a3b9b376288f90601d003d8ba 100644
--- a/Geo/GEdge.cpp
+++ b/Geo/GEdge.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GEdge.h b/Geo/GEdge.h
index 75fe34602a944bf76fa5836915711907e7e16bba..1f1074ee01407cb42d05f38c0ed1fb1a69bd60a3 100644
--- a/Geo/GEdge.h
+++ b/Geo/GEdge.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GEdgeLoop.cpp b/Geo/GEdgeLoop.cpp
index c747f1ff021458c6ec9c72bd89cd50160f27e029..3481457b3adb4ae9a9db3569b9086811c42c4460 100644
--- a/Geo/GEdgeLoop.cpp
+++ b/Geo/GEdgeLoop.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GEdgeLoop.h b/Geo/GEdgeLoop.h
index 7e7ce636e1aba4bcde18498f7aa04cbf61332c56..ee3be96a5a3b90d04f9f7533d3a31d11421f3e0d 100644
--- a/Geo/GEdgeLoop.h
+++ b/Geo/GEdgeLoop.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GEntity.cpp b/Geo/GEntity.cpp
index 8e8c4e6b780b7a88de929649b20d0a10df90989a..d52f9eaaffb995302fe37c8ee1b7e8685fbf85a7 100644
--- a/Geo/GEntity.cpp
+++ b/Geo/GEntity.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GEntity.h b/Geo/GEntity.h
index 7d202ec255f6f4c2d4bd0f5758ac76f4795a0f30..78958893910eeee3bdeb161169e6d8bfbdec7f87 100644
--- a/Geo/GEntity.h
+++ b/Geo/GEntity.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GFace.cpp b/Geo/GFace.cpp
index 85b787e0d5df07c5bb6310529c857c53f33f022f..85fdd92ecaeb7637f7bcde29e5afe18f55af920b 100644
--- a/Geo/GFace.cpp
+++ b/Geo/GFace.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GFace.h b/Geo/GFace.h
index a3f845d2d358b6e3232b7275e8a910bda76ad346..e0975d6454bc3d8056d3368335b6abc6c332196d 100644
--- a/Geo/GFace.h
+++ b/Geo/GFace.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GFaceCompound.cpp b/Geo/GFaceCompound.cpp
index 749d61b3764b90553209b1db9250b1f70c257dec..a5e77b017ab33ae90776d0c8ba9f3a9b3e7a28b0 100644
--- a/Geo/GFaceCompound.cpp
+++ b/Geo/GFaceCompound.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GFaceCompound.h b/Geo/GFaceCompound.h
index 6b88f6c21312a191d24c4bed8b7c43067ebcf6db..5ceae9b7d3208b1557c513ee3796be58cc219b40 100644
--- a/Geo/GFaceCompound.h
+++ b/Geo/GFaceCompound.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index d096db578413a6a5f1b2515c5db5d6760ba68936..9cc1918c102e5c90decc90e36bc1cf5b4005380d 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GModel.h b/Geo/GModel.h
index 8af394c60c1d2de458bc49f0fd65be2bb80df08d..bb5f0de89068689eec98ac18682b9c4b5aca3f18 100644
--- a/Geo/GModel.h
+++ b/Geo/GModel.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GModelIO_CGNS.cpp b/Geo/GModelIO_CGNS.cpp
index 5bc36de235a21c492d1a9fd337a043219a6bbe13..2d5ee293c4c1a0dd6a39a39478b86140e8be178b 100644
--- a/Geo/GModelIO_CGNS.cpp
+++ b/Geo/GModelIO_CGNS.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GModelIO_Fourier.cpp b/Geo/GModelIO_Fourier.cpp
index 2b2826b43f23257a06e4d2416e83d3aaef35c218..bc2e15dd7c18bd3f65a78bd600d51ca4230aeffa 100644
--- a/Geo/GModelIO_Fourier.cpp
+++ b/Geo/GModelIO_Fourier.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GModelIO_Fourier.h b/Geo/GModelIO_Fourier.h
index 03945096ede1bb9fabf24e9dbab66411378b3ea7..3369962b69644425b52ceaca83313035026b5ee0 100644
--- a/Geo/GModelIO_Fourier.h
+++ b/Geo/GModelIO_Fourier.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GModelIO_Geo.cpp b/Geo/GModelIO_Geo.cpp
index 91111b159dc484f1c5a3feb3b7db743048722130..4a93498ec0945a9788b34425c21bb34e713fbd87 100644
--- a/Geo/GModelIO_Geo.cpp
+++ b/Geo/GModelIO_Geo.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GModelIO_MED.cpp b/Geo/GModelIO_MED.cpp
index 38a82894d9a643ec6b85de8ce6ccde04dd38c30f..bef1d671fbb2e1779beb446f65671f5face51a08 100644
--- a/Geo/GModelIO_MED.cpp
+++ b/Geo/GModelIO_MED.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GModelIO_Mesh.cpp b/Geo/GModelIO_Mesh.cpp
index a6922509503442baa88378397f38f6189964adda..f5ca9880de0dd50273f3407eaea0ed2cd66eaff5 100644
--- a/Geo/GModelIO_Mesh.cpp
+++ b/Geo/GModelIO_Mesh.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GModelIO_OCC.cpp b/Geo/GModelIO_OCC.cpp
index 80207098e3eaaa71139ec0ecb7569bea717a9269..25313cef018beb39a25df8c710a0d1afada420c7 100644
--- a/Geo/GModelIO_OCC.cpp
+++ b/Geo/GModelIO_OCC.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GModelIO_OCC.h b/Geo/GModelIO_OCC.h
index 8fe4dcbad0d2cf1548d049a418692f79739a7ed6..ff9e87294a5aa93c007e80da07253786a98bff51 100644
--- a/Geo/GModelIO_OCC.h
+++ b/Geo/GModelIO_OCC.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GPoint.h b/Geo/GPoint.h
index 4024727b680787c6aa40fc456ba5e9034a22ac11..4248b457360b9fab5c3c643ad2cc3d0c891bdb47 100644
--- a/Geo/GPoint.h
+++ b/Geo/GPoint.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GRegion.cpp b/Geo/GRegion.cpp
index eb12adc52d983c77beb82d33e9a91f2087ae5d1f..7a9f406e546c3ce4cfb790234efd7c41d9d87911 100644
--- a/Geo/GRegion.cpp
+++ b/Geo/GRegion.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GRegion.h b/Geo/GRegion.h
index 556f3682baecd2e6a0e6bd98a80836a80ebfb93e..f3e5d352428b0e9fb63908a2cfc41e5994984e56 100644
--- a/Geo/GRegion.h
+++ b/Geo/GRegion.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GVertex.cpp b/Geo/GVertex.cpp
index 9a2ace892a233824acd6cb9aee63c297fcd1b712..df10ac83bc551386a3e81d900f1053bf085a6528 100644
--- a/Geo/GVertex.cpp
+++ b/Geo/GVertex.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GVertex.h b/Geo/GVertex.h
index 370d3a609f8f0f890498584dc81654041942a3b8..01b0fd8c85f834eaad06d095f3a783be19057d56 100644
--- a/Geo/GVertex.h
+++ b/Geo/GVertex.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp
index f58b70e054005d58acfd6bab4b55f0faa02bf8d8..1d5ce7cec32b0078bfad9f79c5375ea090451798 100644
--- a/Geo/Geo.cpp
+++ b/Geo/Geo.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/Geo.h b/Geo/Geo.h
index c9456c96be64df98c3ae4318ecbff735013c6cb2..5572a6d795f343155955f15e1dcf72136d2c0a0e 100644
--- a/Geo/Geo.h
+++ b/Geo/Geo.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GeoInterpolation.cpp b/Geo/GeoInterpolation.cpp
index e6fa69f6e8c5c49b6eabe161ce3e9c188f350c7d..6d2eb6025c591be0133ac52bfa87a56bd64e92e9 100644
--- a/Geo/GeoInterpolation.cpp
+++ b/Geo/GeoInterpolation.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GeoInterpolation.h b/Geo/GeoInterpolation.h
index 2f93b485959bb6f8903b1c07d27202a3a7659f23..33f6888878793fedbc0423899547b0666068a84f 100644
--- a/Geo/GeoInterpolation.h
+++ b/Geo/GeoInterpolation.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GeoStringInterface.cpp b/Geo/GeoStringInterface.cpp
index ab25c56b3c26ff2f2786b3a5be8bf6a292410f3a..e736d0edd8cdf7f5667072816ee88fd214a8320a 100644
--- a/Geo/GeoStringInterface.cpp
+++ b/Geo/GeoStringInterface.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/GeoStringInterface.h b/Geo/GeoStringInterface.h
index 7a0b4a96f5188f49003d858bd4f8a12ba1508f08..7e795c8bc9d20e861112e8c01f7402d1daa883b7 100644
--- a/Geo/GeoStringInterface.h
+++ b/Geo/GeoStringInterface.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MEdge.h b/Geo/MEdge.h
index 2e75b164e234c10368d4bab88d68a55103efa3fe..e76343c46ba9370daa82fe6e8e51afa67892e19a 100644
--- a/Geo/MEdge.h
+++ b/Geo/MEdge.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MEdgeHash.h b/Geo/MEdgeHash.h
index f2f944ca5565aea4829f986e3e8bf9507c27c458..4615d943dc888f9f3a8c7372113cb016b77ad993 100644
--- a/Geo/MEdgeHash.h
+++ b/Geo/MEdgeHash.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MElement.cpp b/Geo/MElement.cpp
index ecad47c36390385b2ba6e25f73c92df61963678c..1f535071d81e6654c10c26ac0b0ba8d70360b166 100644
--- a/Geo/MElement.cpp
+++ b/Geo/MElement.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MElement.h b/Geo/MElement.h
index b1232bdba4c4de58b9ad44231d1d4b7bc15950b9..ab3475377bcc3edc528ddde04611b475969b22d3 100644
--- a/Geo/MElement.h
+++ b/Geo/MElement.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MFace.cpp b/Geo/MFace.cpp
index a151dc2523625666b2cc3005fcc64a907ba7df67..a2ced7e7bb05fa2e7f2868aa0cbe97157e7c7428 100644
--- a/Geo/MFace.cpp
+++ b/Geo/MFace.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MFace.h b/Geo/MFace.h
index 591351d6b43266c30e86442f7a98488b1790deb4..ce8a8b088fa97a76788c0db668cb104b1230d80c 100644
--- a/Geo/MFace.h
+++ b/Geo/MFace.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MFaceHash.h b/Geo/MFaceHash.h
index 1f5dcddff8cd7379b6f5aa2c422a5b5ac296efef..24355b5a81e14c50db7c24667559e980edc2bca0 100644
--- a/Geo/MFaceHash.h
+++ b/Geo/MFaceHash.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MVertex.cpp b/Geo/MVertex.cpp
index 23881b11f4017810175563a3c8ab1896a8294cec..658dd4f8ced93cfe84a69a02f3a1e8ee9fcc573f 100644
--- a/Geo/MVertex.cpp
+++ b/Geo/MVertex.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MVertex.h b/Geo/MVertex.h
index 29bd41142ed4cd62491da82f3a13a3ed0348173f..a75755c579200d4b2a74f803978dcd1c5a56352e 100644
--- a/Geo/MVertex.h
+++ b/Geo/MVertex.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MZone.cpp b/Geo/MZone.cpp
index b9813314595699bcb738e60a9ba84b6db7b14ef7..c7d0a36a1849b2b91667274824036df57eb6d8b2 100644
--- a/Geo/MZone.cpp
+++ b/Geo/MZone.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MZone.h b/Geo/MZone.h
index cb2453c7753b0f7b41c6a4d695a1623231b569b1..2419b902027552092afb1ea6a0529867d5d22629 100644
--- a/Geo/MZone.h
+++ b/Geo/MZone.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MZoneBoundary.cpp b/Geo/MZoneBoundary.cpp
index b553a5f34a6ea9467490ae264f8d3c7ac52cfafe..786bfad5124d96705351a26c34d9436bb0ebd479 100644
--- a/Geo/MZoneBoundary.cpp
+++ b/Geo/MZoneBoundary.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/MZoneBoundary.h b/Geo/MZoneBoundary.h
index 8689e3cc1382355cd377201ae2c9195ef570eaf5..48c837c47f634532be64c1e7c8c25a15d2a22843 100644
--- a/Geo/MZoneBoundary.h
+++ b/Geo/MZoneBoundary.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/Makefile b/Geo/Makefile
index 37474ed2f82e36f8f7f2a63978cfc2fa4b885176..bf390b3b365a26e37ab590d7912e5f76cf8e8cb5 100644
--- a/Geo/Makefile
+++ b/Geo/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/OCCEdge.cpp b/Geo/OCCEdge.cpp
index 14b83453ac163d64dd0c22bec1e5ade459ae6fc1..f5ac05e957cfe42dd778e32d16000cfcdf69b541 100644
--- a/Geo/OCCEdge.cpp
+++ b/Geo/OCCEdge.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/OCCEdge.h b/Geo/OCCEdge.h
index 0b71d20aab2b82cadc1a445405bedd4ea6309329..725d49242c3d3867a4d925b4218f3bc5c38b3bf7 100644
--- a/Geo/OCCEdge.h
+++ b/Geo/OCCEdge.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/OCCFace.cpp b/Geo/OCCFace.cpp
index 96d6d7497a4bba052a26209ac7d2d55c98bc9819..785a29dda925ec6cd06d68a8dda520558b1397e6 100644
--- a/Geo/OCCFace.cpp
+++ b/Geo/OCCFace.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/OCCFace.h b/Geo/OCCFace.h
index 183e3b6fb5050c642263e5a4d866660aae29e5c5..2bb5de307f264b873f5d38f621917798ef3044aa 100644
--- a/Geo/OCCFace.h
+++ b/Geo/OCCFace.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/OCCIncludes.h b/Geo/OCCIncludes.h
index 43626856dcacf7c36aa22914e6eda2d015e0cf34..795a8534aebb71b41b7c1c88c70684a3f7f7b1fc 100644
--- a/Geo/OCCIncludes.h
+++ b/Geo/OCCIncludes.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/OCCRegion.cpp b/Geo/OCCRegion.cpp
index 0b05d257f3e4778052ba2bce3c1bbb5db5f34ce4..5a1b746cf6494287800e863768502af65f13aa04 100644
--- a/Geo/OCCRegion.cpp
+++ b/Geo/OCCRegion.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/OCCRegion.h b/Geo/OCCRegion.h
index ef6f7fa3d74ed460ec95ccc46bd7be231ef67dce..e04e7dd328fb730b3a25a88aa57424c31dee867f 100644
--- a/Geo/OCCRegion.h
+++ b/Geo/OCCRegion.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/OCCVertex.cpp b/Geo/OCCVertex.cpp
index 0c880f82f903c5fa058cb3b022fd2498346ca028..0a1e4bf60be23fb57aec75835fea22766e0d898f 100644
--- a/Geo/OCCVertex.cpp
+++ b/Geo/OCCVertex.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/OCCVertex.h b/Geo/OCCVertex.h
index 8df227f0dcada2f765a166837dadb8e35a30820b..bd2e9b89fce991f6eb94fbad7d8a6d6bfab4730f 100644
--- a/Geo/OCCVertex.h
+++ b/Geo/OCCVertex.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/Pair.h b/Geo/Pair.h
index 8aaf86cfac80e6f556c3a2f40edfd6a63d23e2db..0b4b32f67f15bf3713e93e4cf905df0431b0790a 100644
--- a/Geo/Pair.h
+++ b/Geo/Pair.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/Range.h b/Geo/Range.h
index 26604e528d06f2660e9881fe2362185c2e299644..c186c789d5e0faa1ec6f00037b557d18a411141c 100644
--- a/Geo/Range.h
+++ b/Geo/Range.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/SBoundingBox3d.h b/Geo/SBoundingBox3d.h
index c3f9a0c3fc26d319f6181bfae2edee2c341427f8..6992af9e986d754a3655ccc7fbb3ce3f6808f34c 100644
--- a/Geo/SBoundingBox3d.h
+++ b/Geo/SBoundingBox3d.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/SPoint2.h b/Geo/SPoint2.h
index 08428cef7f7e64c1af04ef491d9ef93add1c8df9..fae78d7c7a43a892c921a337a5c7bb1449a17506 100644
--- a/Geo/SPoint2.h
+++ b/Geo/SPoint2.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/SPoint3.h b/Geo/SPoint3.h
index 4af00e1747114c5df6962e0a9a4d0fae7bfcf781..b7ad5ce2dcfa61c3484992ff43261d4d0b5f6b61 100644
--- a/Geo/SPoint3.h
+++ b/Geo/SPoint3.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/SVector3.h b/Geo/SVector3.h
index f3f0d90637821a7f8f6a55b91f6cb6adc74fd644..9102ba2844503565dc1306d7d16e8ac48202c831 100644
--- a/Geo/SVector3.h
+++ b/Geo/SVector3.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/discreteEdge.cpp b/Geo/discreteEdge.cpp
index 9d6dade36dbf298a62ecd251c25bd1663fd8c275..d56f116f0d59cb2cb579168db7f860d617f76537 100644
--- a/Geo/discreteEdge.cpp
+++ b/Geo/discreteEdge.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/discreteEdge.h b/Geo/discreteEdge.h
index 77495657fc0add41bec0492f50d09d5e0c5be948..44ce0bf4cc54d60e8919c85a573b4a0309d91e43 100644
--- a/Geo/discreteEdge.h
+++ b/Geo/discreteEdge.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/discreteFace.cpp b/Geo/discreteFace.cpp
index 0a9879ba2dc39354c6936f83843bd037eb5b9bc7..f45f75de76a34e4c71b560f233394fd672c69cea 100644
--- a/Geo/discreteFace.cpp
+++ b/Geo/discreteFace.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/discreteFace.h b/Geo/discreteFace.h
index 6956840d3327656edf962422ce7e55d53bfc0eec..554bd344b769d90a0bdd8884dd062add28267d68 100644
--- a/Geo/discreteFace.h
+++ b/Geo/discreteFace.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/discreteRegion.cpp b/Geo/discreteRegion.cpp
index 0ef3d2e4f657295ef7516b443a80548debeb6e07..dcf1cf22ca92a23caf4f3ab0a46b817a03d16df5 100644
--- a/Geo/discreteRegion.cpp
+++ b/Geo/discreteRegion.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/discreteRegion.h b/Geo/discreteRegion.h
index f4ad037fccc3c1046d02d45a86675f6642159463..814776902ec7579cb1a9e1af1a943652f476cfba 100644
--- a/Geo/discreteRegion.h
+++ b/Geo/discreteRegion.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/discreteVertex.h b/Geo/discreteVertex.h
index 885f2db7694bbf7d2ae484ecd7de9711f33d9864..9a9d5d4be8ae186160c340249e388d1fafbb1c61 100644
--- a/Geo/discreteVertex.h
+++ b/Geo/discreteVertex.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/findLinks.cpp b/Geo/findLinks.cpp
index 14427756d48d7d1d130182950006677df375787e..2f52aef7da3a73cd60c18c3cc20b9dbcdef3eff2 100644
--- a/Geo/findLinks.cpp
+++ b/Geo/findLinks.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/findLinks.h b/Geo/findLinks.h
index 09dec5012beb5e6b4cf9d77c93c59868dc9e9049..55c4db6f771b060167d102b462975838b7664aed 100644
--- a/Geo/findLinks.h
+++ b/Geo/findLinks.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/fourierEdge.cpp b/Geo/fourierEdge.cpp
index 39d13e302fdb30f29eec8f833a87c1cd69691aa7..ac2b2f0137b86223796fb6b06e6dee539192792e 100644
--- a/Geo/fourierEdge.cpp
+++ b/Geo/fourierEdge.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/fourierEdge.h b/Geo/fourierEdge.h
index 6d61b1c037dc6903e5dfdc5178fc9f2357288b2c..e206d672989770621296a25abc8f49f44f0dae91 100644
--- a/Geo/fourierEdge.h
+++ b/Geo/fourierEdge.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/fourierFace.cpp b/Geo/fourierFace.cpp
index 2ec18e866d6a1eef36ab93fb05163ea961f0d5dd..c0ee5d6b52d5dedce035a4d1db9fe22cfaace27a 100644
--- a/Geo/fourierFace.cpp
+++ b/Geo/fourierFace.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/fourierFace.h b/Geo/fourierFace.h
index 7b861f8c21aee543a696dcc2fa0765e70dbdcc4e..0e49ef2273cdd87a14d1f44d2b29d2294b2a59c0 100644
--- a/Geo/fourierFace.h
+++ b/Geo/fourierFace.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/fourierProjectionFace.cpp b/Geo/fourierProjectionFace.cpp
index 7bb9320d31589e93ec920c577833ee08e49c17d7..3b4a47ec0d452607c8bdf097be5bde6acf3d66d9 100644
--- a/Geo/fourierProjectionFace.cpp
+++ b/Geo/fourierProjectionFace.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/fourierProjectionFace.h b/Geo/fourierProjectionFace.h
index 29a8d2e7565b9069286ae1e0d4716c680998e4eb..fc2b02c7b5ad03eb09812f456ef85eb1576d5210 100644
--- a/Geo/fourierProjectionFace.h
+++ b/Geo/fourierProjectionFace.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/fourierVertex.h b/Geo/fourierVertex.h
index a7232152c44f449a7e23f20c1d5f5f159e0e8a4f..b7fc7bc5e408dec5e3b42ed5cf34c761986204c1 100644
--- a/Geo/fourierVertex.h
+++ b/Geo/fourierVertex.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/gmshEdge.cpp b/Geo/gmshEdge.cpp
index 92a985975755bb0b0d7ec16efff953c28e2a5d92..4f4152544be6bb9c0ea3ce86d8f9f8db49972926 100644
--- a/Geo/gmshEdge.cpp
+++ b/Geo/gmshEdge.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/gmshEdge.h b/Geo/gmshEdge.h
index 684d64eace9458297481253b831178455864dde8..bf197c7d59e6bbaa68d9962b8ab8c3275b8c0092 100644
--- a/Geo/gmshEdge.h
+++ b/Geo/gmshEdge.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/gmshFace.cpp b/Geo/gmshFace.cpp
index 0ee716cf44ee7cf5e75dcc7a5ec64ed0b942b231..f73ba6a67f21d3286f154979057d7d4e2536fdef 100644
--- a/Geo/gmshFace.cpp
+++ b/Geo/gmshFace.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/gmshFace.h b/Geo/gmshFace.h
index 35534159daf64feaf3c219d6e16266e58f4bdf66..cd2fb927180c25160956219737993377ba2a682a 100644
--- a/Geo/gmshFace.h
+++ b/Geo/gmshFace.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/gmshRegion.cpp b/Geo/gmshRegion.cpp
index a1718fdb5c61eb2c62aacc250b6a3c8762989769..a67897b8ec72dd99e0a5fb01594866369d99112c 100644
--- a/Geo/gmshRegion.cpp
+++ b/Geo/gmshRegion.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/gmshRegion.h b/Geo/gmshRegion.h
index 005c095ff541e77d261b590616da7c96cd33e420..5274d418951ba961c860e6e1413dff77036b4ebb 100644
--- a/Geo/gmshRegion.h
+++ b/Geo/gmshRegion.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/gmshSurface.cpp b/Geo/gmshSurface.cpp
index ba92756764a8c2f653a50e04faf3ccf64318f831..2cfca94d2a2e479bfdc4e7c357e036afe14338ce 100644
--- a/Geo/gmshSurface.cpp
+++ b/Geo/gmshSurface.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/gmshSurface.h b/Geo/gmshSurface.h
index 4480df9d67828619fc242c9c1e9c162ef71bf98b..b0a8a9eb08871836d869834b5633071d0bb5bede 100644
--- a/Geo/gmshSurface.h
+++ b/Geo/gmshSurface.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/gmshVertex.cpp b/Geo/gmshVertex.cpp
index 5c13f2bed49235c15c08ddc200a2c419defb9b00..70b21421782b94ee46308c4cde02e20d39a8a901 100644
--- a/Geo/gmshVertex.cpp
+++ b/Geo/gmshVertex.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Geo/gmshVertex.h b/Geo/gmshVertex.h
index f7082a1ef0010c24f46767ac70d2046c22121cbf..e01a709e450449601e36b80f72c57809bbd3ed2a 100644
--- a/Geo/gmshVertex.h
+++ b/Geo/gmshVertex.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/Iso.cpp b/Graphics/Iso.cpp
index bf8bd6d0366da93a9d814e28ebdb703076eb8af6..29d05949d0c139537a9f96735dc46b5d315a4c35 100644
--- a/Graphics/Iso.cpp
+++ b/Graphics/Iso.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/Iso.h b/Graphics/Iso.h
index 02522e79f715e061158c3b919ea00670d03cf104..82c38d3ce4c1924864df03bc6cd8feaf7c32f63d 100644
--- a/Graphics/Iso.h
+++ b/Graphics/Iso.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/Makefile b/Graphics/Makefile
index e9eaf93c9a6524cd3209639f482b4ea8f58264d2..ab2422eb2dc1900e2a8f4a3dfd07f1e275459af6 100644
--- a/Graphics/Makefile
+++ b/Graphics/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/PixelBuffer.h b/Graphics/PixelBuffer.h
index de9892a5a5a032d5237e323f8e9b523a0163282a..139079cde6bfaa748ce7d8cfc63d8fd829ac65b9 100644
--- a/Graphics/PixelBuffer.h
+++ b/Graphics/PixelBuffer.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/ReadImg.cpp b/Graphics/ReadImg.cpp
index 558bad61ed6a2cf1ed224d159e33fccefd5a96e2..daa7eca955b3c1bb46d69b8b5f049487afd544f1 100644
--- a/Graphics/ReadImg.cpp
+++ b/Graphics/ReadImg.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/ReadImg.h b/Graphics/ReadImg.h
index 6d4a7330d2098556daa31888b562a71f12958271..6bd46b02be1c60413dd9edd3f53d017edd2420a3 100644
--- a/Graphics/ReadImg.h
+++ b/Graphics/ReadImg.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/drawAxes.cpp b/Graphics/drawAxes.cpp
index a5c4bbcfa76d5af5757b561850b66370e390dd22..e1d29b205f237879f0092bcfac9cac3c239ed7ac 100644
--- a/Graphics/drawAxes.cpp
+++ b/Graphics/drawAxes.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/drawContext.cpp b/Graphics/drawContext.cpp
index 9f6b64740442d08ae28000eb0e01f4cf10da3651..7b3e79a8b545d859bf5441839128b7a194e608f2 100644
--- a/Graphics/drawContext.cpp
+++ b/Graphics/drawContext.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/drawContext.h b/Graphics/drawContext.h
index d00de75966d74f9a5f4c5e98d013f037db3ea766..ac361956bb0d562e306cb42e95401374112a1bc0 100644
--- a/Graphics/drawContext.h
+++ b/Graphics/drawContext.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/drawGeom.cpp b/Graphics/drawGeom.cpp
index 8e718816f800d8799ac009fa5b049023aa135a63..ed528bc3493c6bf21839f05fcb6b46a66c7fdfa2 100644
--- a/Graphics/drawGeom.cpp
+++ b/Graphics/drawGeom.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/drawGlyph.cpp b/Graphics/drawGlyph.cpp
index 2deb02743f6e0c08e36d91c364d06b063ba78255..d4e8fdee43da70b3b1e3d1383725565259419117 100644
--- a/Graphics/drawGlyph.cpp
+++ b/Graphics/drawGlyph.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/drawGraph2d.cpp b/Graphics/drawGraph2d.cpp
index 84166f708f8e37b584c339e6d128e344ea8e54c6..c9a627fb0b6490c1a62e0ef5fd22289dca9e963e 100644
--- a/Graphics/drawGraph2d.cpp
+++ b/Graphics/drawGraph2d.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/drawMesh.cpp b/Graphics/drawMesh.cpp
index 62139382de89c0549cd2901fe587c37c6febf9eb..442ba70896682cc0c93301b97f7436a2121bf24c 100644
--- a/Graphics/drawMesh.cpp
+++ b/Graphics/drawMesh.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/drawPost.cpp b/Graphics/drawPost.cpp
index 5051a34ba8cfa9a2d593c7a69395f82f19e96854..fc0c6a3634b2ba4fecf6e704e24af6a18b3e9827 100644
--- a/Graphics/drawPost.cpp
+++ b/Graphics/drawPost.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/drawScales.cpp b/Graphics/drawScales.cpp
index 25d33566353d49f657f3a6df300fee183392af5a..b580e9ca88b9ed1423e1b7b61599e8a9dc056bb2 100644
--- a/Graphics/drawScales.cpp
+++ b/Graphics/drawScales.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/gl2gif.cpp b/Graphics/gl2gif.cpp
index 632c58ed00bc3b2969a121b03058e7250041e8e4..2d7f15323bbb08392cfcf6c84fb827382e2fc7bf 100644
--- a/Graphics/gl2gif.cpp
+++ b/Graphics/gl2gif.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/gl2gif.h b/Graphics/gl2gif.h
index d5e488ac97ab358a5eeb74df1b063c47ce37f5c2..aeb60ba7fa4819d770eeb2d3040e1f64934b44b6 100644
--- a/Graphics/gl2gif.h
+++ b/Graphics/gl2gif.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/gl2jpeg.cpp b/Graphics/gl2jpeg.cpp
index 3eee4982ec1d72a970e0404307d5f701cd4708ae..2c9f60e4d4e773dc43710de787b9e7f197904dc0 100644
--- a/Graphics/gl2jpeg.cpp
+++ b/Graphics/gl2jpeg.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/gl2jpeg.h b/Graphics/gl2jpeg.h
index b35d7eb8e927bd6ec3675d16c1524dd2ebc804ca..6ae61ae6c022283e28031bf461f24d3b352308ab 100644
--- a/Graphics/gl2jpeg.h
+++ b/Graphics/gl2jpeg.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/gl2png.cpp b/Graphics/gl2png.cpp
index ef60a45c0e9dc60ca054dbcc334c04c126c12b8f..032b3273ea9cb17576929abb76d095d6c2621fb5 100644
--- a/Graphics/gl2png.cpp
+++ b/Graphics/gl2png.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/gl2png.h b/Graphics/gl2png.h
index 2d0d66f51fc4da9870207172544d3052cf8c00bd..3fcfba60b12e21fbe537b13cda5c1f03a021a2b8 100644
--- a/Graphics/gl2png.h
+++ b/Graphics/gl2png.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/gl2ppm.cpp b/Graphics/gl2ppm.cpp
index 70d1b9ae6a1c7c1adc996a2ed538b66ed4eed748..df67b697744b5b12b18b7cf7b9bfae214d5a53d3 100644
--- a/Graphics/gl2ppm.cpp
+++ b/Graphics/gl2ppm.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/gl2ppm.h b/Graphics/gl2ppm.h
index 46d1f80c1e0ff38ae22dc8bf272ba1d7df405281..7337293ad456194928102276713133ecd4a0d280 100644
--- a/Graphics/gl2ppm.h
+++ b/Graphics/gl2ppm.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/gl2yuv.cpp b/Graphics/gl2yuv.cpp
index 4f8916a7dda363fbea077fdcc71ac0de55b854d3..f62caf9fdcea116b29e3d590d45d49a9b0fb7075 100644
--- a/Graphics/gl2yuv.cpp
+++ b/Graphics/gl2yuv.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Graphics/gl2yuv.h b/Graphics/gl2yuv.h
index 6fc096f520d48ec13b7e3d97e9801a6a1bfb57d6..9235d20f8ae8279575611c9d9801e189caf6c7cc 100644
--- a/Graphics/gl2yuv.h
+++ b/Graphics/gl2yuv.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Makefile b/Makefile
index 0c7631e5ca0e00d7edee4553864109a6cf979f88..2a82970c2e4822b47bf0681b4bc44652b61b1e87 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/BDS.cpp b/Mesh/BDS.cpp
index 445a327db835e7f2c872359664efd1d1066dfa55..7721b6bfea1bc16a3ebe0a30203104a2a9738b0d 100644
--- a/Mesh/BDS.cpp
+++ b/Mesh/BDS.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/BDS.h b/Mesh/BDS.h
index e8ba1572ac7ee5448b7888cabe5c14e58167ece2..bdab5edf66ad9172a5bb1a96fece07f86b878f20 100644
--- a/Mesh/BDS.h
+++ b/Mesh/BDS.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/BackgroundMesh.cpp b/Mesh/BackgroundMesh.cpp
index 0ef33b11566259f4f1f95ba8971f2154879e74d9..d7e8669da010607d5abd04b48d4199a3691c5114 100644
--- a/Mesh/BackgroundMesh.cpp
+++ b/Mesh/BackgroundMesh.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/BackgroundMesh.h b/Mesh/BackgroundMesh.h
index 6eedf0f47bc6b8fb11f3bbbb583079c4999e8ebb..da24500e9eef08261d03122db56a37ec64ad39ae 100644
--- a/Mesh/BackgroundMesh.h
+++ b/Mesh/BackgroundMesh.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/BoundaryLayers.cpp b/Mesh/BoundaryLayers.cpp
index f874c3124e1687455866fb94df0b7202ae61c3d9..4095d75a37c5c1da0b84af885d2216692e4c2e66 100644
--- a/Mesh/BoundaryLayers.cpp
+++ b/Mesh/BoundaryLayers.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/BoundaryLayers.h b/Mesh/BoundaryLayers.h
index e8c7441b789a703f2224161a745856ec552b24a0..fcea36948be831a60b0f8584e925ecd4dc198489 100644
--- a/Mesh/BoundaryLayers.h
+++ b/Mesh/BoundaryLayers.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/DivideAndConquer.cpp b/Mesh/DivideAndConquer.cpp
index dc38297cef974aaceb1e53bcd3ac1ae4c14c25e6..98046d129a0b5dfc950b7cc8a5afb5a531edd4dc 100644
--- a/Mesh/DivideAndConquer.cpp
+++ b/Mesh/DivideAndConquer.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/DivideAndConquer.h b/Mesh/DivideAndConquer.h
index e75d61e3aa052325c3a25d00f8fab02ca8bfbff0..52d5aee7bbe181545bfb134f8b99ce9b9693a64d 100644
--- a/Mesh/DivideAndConquer.h
+++ b/Mesh/DivideAndConquer.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/Field.cpp b/Mesh/Field.cpp
index 786cbba88b29baba269b9207b064825fafb7f3c3..ab48208212662414997d5e1030448784d723f9a5 100644
--- a/Mesh/Field.cpp
+++ b/Mesh/Field.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/Field.h b/Mesh/Field.h
index d68b87d385475135d6e11a60281d2db9701d1a84..87f62af45902df31c927d7ead151e9c5735f0875 100644
--- a/Mesh/Field.h
+++ b/Mesh/Field.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp
index ebbd29becd08c0eed05cb926829aa0e58a387457..e988408df648771f6b3c953f485c22dfcb51bc19 100644
--- a/Mesh/Generator.cpp
+++ b/Mesh/Generator.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/Generator.h b/Mesh/Generator.h
index b9eb74a9beb958c003d23772ea3233b71116114a..35dabb758258b25356632ff42a61271d67680e2a 100644
--- a/Mesh/Generator.h
+++ b/Mesh/Generator.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/HighOrder.cpp b/Mesh/HighOrder.cpp
index 89d4061535a0d325ff52df59df7a88e53bddbcc3..9ae0020eab26c8bc63e60cc45d73836b6316a757 100644
--- a/Mesh/HighOrder.cpp
+++ b/Mesh/HighOrder.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/HighOrder.h b/Mesh/HighOrder.h
index 9bd6778804abd520a607135ff61fdf8ba783f301..f0fd3cf456e34c1ae9a8595d33dfd845929c6861 100644
--- a/Mesh/HighOrder.h
+++ b/Mesh/HighOrder.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/Makefile b/Mesh/Makefile
index 9673d7d6744c216147d8e5dae73f7f3ad79d1515..648214f25100dde9a2e4c1434c0d55b0e41a5205 100644
--- a/Mesh/Makefile
+++ b/Mesh/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/Partition.cpp b/Mesh/Partition.cpp
index 3eb51ac6784e80065ae492c8fbcb8d61563389d8..15830d52badd4553195b585a04cb09477e85a7ae 100644
--- a/Mesh/Partition.cpp
+++ b/Mesh/Partition.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/Partition.h b/Mesh/Partition.h
index 9581ce85b8d47252b831580c81cbec13304c5b1f..974704a120c1e8513b731aed5510beb7b97d94c5 100644
--- a/Mesh/Partition.h
+++ b/Mesh/Partition.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/PartitionObjects.h b/Mesh/PartitionObjects.h
index 1f7f378aebad68b4a855cfc6be0b26f76a729fdb..6f74e7393dfa01cd5d69f42a129db45f3690ef52 100644
--- a/Mesh/PartitionObjects.h
+++ b/Mesh/PartitionObjects.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/PartitionOptions.h b/Mesh/PartitionOptions.h
index a0042cdc4ad62f197548f69a293b7ae5c834819d..d02d0d6da0f10acaf2b06cfd9c767146c60b943b 100644
--- a/Mesh/PartitionOptions.h
+++ b/Mesh/PartitionOptions.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/Refine.cpp b/Mesh/Refine.cpp
index 040b80d931551cc5b9a8e35cca3c850e27029913..3240ba1da291b0ab2da659b15c2c029262950b93 100644
--- a/Mesh/Refine.cpp
+++ b/Mesh/Refine.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/gmshSmoothHighOrder.cpp b/Mesh/gmshSmoothHighOrder.cpp
index e5ea84bcb15879546b83da5e2edc36422a615bad..fa5de819ed9b4744d9ea241268cfb786fcb4aca7 100644
--- a/Mesh/gmshSmoothHighOrder.cpp
+++ b/Mesh/gmshSmoothHighOrder.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/gmshSmoothHighOrder.h b/Mesh/gmshSmoothHighOrder.h
index 502852c2642582b312f69e0abdc2d6062d47ee7f..f927f8d701dcb001b8a2cf8ec2080dc7c7c0d792 100644
--- a/Mesh/gmshSmoothHighOrder.h
+++ b/Mesh/gmshSmoothHighOrder.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGEdge.cpp b/Mesh/meshGEdge.cpp
index ddfec538be279f97bbef6f15183dabc884228b73..d8262a4425f35d6c31bdcee9451fe3d166e26c18 100644
--- a/Mesh/meshGEdge.cpp
+++ b/Mesh/meshGEdge.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGEdge.h b/Mesh/meshGEdge.h
index 2876a76111e85aba639edcf1032585ebbd0493c7..2d8214bcfd4f85d79ea98ac71a7a025aa20ff710 100644
--- a/Mesh/meshGEdge.h
+++ b/Mesh/meshGEdge.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGEdgeExtruded.cpp b/Mesh/meshGEdgeExtruded.cpp
index 0b1e55f5e1ba499ec92b2900e0d19ce3b34e7d2a..9c3b8181048cbe8fb4639e6e8b0e8cb03d01ae62 100644
--- a/Mesh/meshGEdgeExtruded.cpp
+++ b/Mesh/meshGEdgeExtruded.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp
index e6a853f009a33e0e02b14cf2d53f68e33276decb..428f65fcfd4c82342701f57a97af172e8be00b95 100644
--- a/Mesh/meshGFace.cpp
+++ b/Mesh/meshGFace.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFace.h b/Mesh/meshGFace.h
index bf4f9ae091b13d3f5c3b0b448011f35686a488d6..cc6e56a127f1d6f3f6d11726dffda2c0761b56d5 100644
--- a/Mesh/meshGFace.h
+++ b/Mesh/meshGFace.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFaceBDS.cpp b/Mesh/meshGFaceBDS.cpp
index c85b68460693c6dd05752c0ba10ea20741f234d3..cd7a94d88d7a0bd4d158fc583a0e1876ef795b6a 100644
--- a/Mesh/meshGFaceBDS.cpp
+++ b/Mesh/meshGFaceBDS.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFaceBDS.h b/Mesh/meshGFaceBDS.h
index 4c39223ebc3da9a66d103a7fa61ec35769439459..6b22dd452aaac9338873c36b169e58f44a07f133 100644
--- a/Mesh/meshGFaceBDS.h
+++ b/Mesh/meshGFaceBDS.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFaceDelaunayInsertion.cpp b/Mesh/meshGFaceDelaunayInsertion.cpp
index 019b8cdb23bae618fd4988f886f78852ffb17a34..ae57c85d7a9ee2eacda33198053bc3d0a6bf33c1 100644
--- a/Mesh/meshGFaceDelaunayInsertion.cpp
+++ b/Mesh/meshGFaceDelaunayInsertion.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFaceDelaunayInsertion.h b/Mesh/meshGFaceDelaunayInsertion.h
index 8eea12661bc4c922db6414d4f1b0eceac6befe21..10b0672cc9ffd84d4ebf23e78b0818b2f0940b0e 100644
--- a/Mesh/meshGFaceDelaunayInsertion.h
+++ b/Mesh/meshGFaceDelaunayInsertion.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFaceExtruded.cpp b/Mesh/meshGFaceExtruded.cpp
index ae322e8002d3b2f6325a48659f32102825decd4e..9ad55ebe81c6de2d38d093d641cde7d9c359f204 100644
--- a/Mesh/meshGFaceExtruded.cpp
+++ b/Mesh/meshGFaceExtruded.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFaceOptimize.cpp b/Mesh/meshGFaceOptimize.cpp
index 2902e03a2d3997a4f4e2811a3ff5b8671c5b3794..d0df634c99295e7da5345ccbe0b6da9b3c79aeb2 100644
--- a/Mesh/meshGFaceOptimize.cpp
+++ b/Mesh/meshGFaceOptimize.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFaceOptimize.h b/Mesh/meshGFaceOptimize.h
index 24bbb5947d7040ac92058c7132cef21967214356..a4b44c955e2a2d081e6a935a6876030902ade33c 100644
--- a/Mesh/meshGFaceOptimize.h
+++ b/Mesh/meshGFaceOptimize.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFaceQuadrilateralize.cpp b/Mesh/meshGFaceQuadrilateralize.cpp
index 7adff0cb6d4e5d9bb4eec8c5f1d33e7feabd0d0d..4e5dfdb040667e53b07076365f589ce9c7768388 100644
--- a/Mesh/meshGFaceQuadrilateralize.cpp
+++ b/Mesh/meshGFaceQuadrilateralize.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFaceQuadrilateralize.h b/Mesh/meshGFaceQuadrilateralize.h
index 12f9e076ae0129e69db8a0f3434ca4ffaf2aaae5..9975d7f663c48e522646ac6b3791595f81707cbd 100644
--- a/Mesh/meshGFaceQuadrilateralize.h
+++ b/Mesh/meshGFaceQuadrilateralize.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGFaceTransfinite.cpp b/Mesh/meshGFaceTransfinite.cpp
index 7f7dc11c49427a7f7da10b5bf5e7e7764aca316f..aa71123754be8530d167d3e1b94cc20fc54d5d1f 100644
--- a/Mesh/meshGFaceTransfinite.cpp
+++ b/Mesh/meshGFaceTransfinite.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGRegion.cpp b/Mesh/meshGRegion.cpp
index 47ba75040814e62e82f2ec152b36371102f8da36..e08b1780f9f77b6304059af63fccea4ec1fd7932 100644
--- a/Mesh/meshGRegion.cpp
+++ b/Mesh/meshGRegion.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGRegion.h b/Mesh/meshGRegion.h
index fd206231b0410267a916b664055d2e79dd03e530..134ae0374710ce18607072bff6b6a79d99136237 100644
--- a/Mesh/meshGRegion.h
+++ b/Mesh/meshGRegion.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGRegionCarveHole.cpp b/Mesh/meshGRegionCarveHole.cpp
index 473284576d7ba7e92bcd949be14f6648e34a037e..bb13e6495abbbf93a2f1b8e87f0a036d9d408cdb 100644
--- a/Mesh/meshGRegionCarveHole.cpp
+++ b/Mesh/meshGRegionCarveHole.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGRegionDelaunayInsertion.cpp b/Mesh/meshGRegionDelaunayInsertion.cpp
index 9d3b928262ef6bc5a690aab439e3b01c7aa73ac7..1bdfa916a37dac1e0443a18c9f167adae5ca305b 100644
--- a/Mesh/meshGRegionDelaunayInsertion.cpp
+++ b/Mesh/meshGRegionDelaunayInsertion.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGRegionDelaunayInsertion.h b/Mesh/meshGRegionDelaunayInsertion.h
index 355b24c7b1d75dee7f89e79cc7a4e2094480cecc..0f38b4684bec619982bb6c765931a5be16b204fa 100644
--- a/Mesh/meshGRegionDelaunayInsertion.h
+++ b/Mesh/meshGRegionDelaunayInsertion.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGRegionExtruded.cpp b/Mesh/meshGRegionExtruded.cpp
index 6b1aa6f8037297570c6a9068d18c4092dff65c61..d6fbd242126cb53cb02bf72712afefb6c4069190 100644
--- a/Mesh/meshGRegionExtruded.cpp
+++ b/Mesh/meshGRegionExtruded.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGRegionLocalMeshMod.cpp b/Mesh/meshGRegionLocalMeshMod.cpp
index 9f2623bf81decec21248eca4f12e18226aacd137..29f87ea1b345cdac4298c630dc8f390c8593af00 100644
--- a/Mesh/meshGRegionLocalMeshMod.cpp
+++ b/Mesh/meshGRegionLocalMeshMod.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGRegionLocalMeshMod.h b/Mesh/meshGRegionLocalMeshMod.h
index 60e3d748bf3f39999856fde3e47cb617d73f3701..bebec4ea2416f37a2bd5aa3e598a5485bf145d93 100644
--- a/Mesh/meshGRegionLocalMeshMod.h
+++ b/Mesh/meshGRegionLocalMeshMod.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/meshGRegionTransfinite.cpp b/Mesh/meshGRegionTransfinite.cpp
index 2bd94f9b6f45aad8b0662b1652595e5b91d75dbd..609ba91860fac1fe70f59ecc02d024168f8b31f0 100644
--- a/Mesh/meshGRegionTransfinite.cpp
+++ b/Mesh/meshGRegionTransfinite.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -265,8 +265,8 @@ void findTransfiniteCorners(GRegion *gr, std::vector<MVertex*> &corners)
   }
   else{
     // try to find the corners automatically
-    GFace *gf = 0;
     std::list<GFace*> faces = gr->faces();
+    GFace *gf = 0;
     if(faces.size() == 6){
       // any face will do as a starting face
       gf = faces.front();
@@ -286,7 +286,7 @@ void findTransfiniteCorners(GRegion *gr, std::vector<MVertex*> &corners)
       for(std::list<GEdge*>::iterator it = fedges.begin(); it != fedges.end(); it++)
         redges.erase(std::find(redges.begin(), redges.end(), *it));
       findTransfiniteCorners(gf, corners);
-      int N = corners.size();
+      unsigned int N = corners.size();
       for(unsigned int i = 0; i < N; i++){
         for(std::list<GEdge*>::iterator it = redges.begin(); it != redges.end(); it++){
           if((*it)->getBeginVertex()->mesh_vertices[0] == corners[i]){
diff --git a/Mesh/qualityMeasures.cpp b/Mesh/qualityMeasures.cpp
index fa99f5cdcdcdf4e4a1c3063e96c46fb33e4ee8fa..055f8e0798f1e0553412b9d998869476513858f5 100644
--- a/Mesh/qualityMeasures.cpp
+++ b/Mesh/qualityMeasures.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Mesh/qualityMeasures.h b/Mesh/qualityMeasures.h
index 177109f34d67e83fe54e38cf7bba0f7feb266d69..5b8232879cbd56461c407953e458e86309fcf231 100644
--- a/Mesh/qualityMeasures.h
+++ b/Mesh/qualityMeasures.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/EigSolve.cpp b/Numeric/EigSolve.cpp
index 72a2fe1a67170453bcb58e0e9a9c0aa9ca5fe112..0b51712afb5e300de68f335aeed6a363fbcd47d3 100644
--- a/Numeric/EigSolve.cpp
+++ b/Numeric/EigSolve.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/EigSolve.h b/Numeric/EigSolve.h
index ca604bfd91b7f4526c1e78cd8c11bd37f03457ae..d4eb1aa6fa887fd498a90414837af0d51bb7485a 100644
--- a/Numeric/EigSolve.h
+++ b/Numeric/EigSolve.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/FunctionSpace.cpp b/Numeric/FunctionSpace.cpp
index 825855f811f6b310f410315c64c30e1fd3c57aae..6cab3d5030333820b27fecbbd6d54422aca42bb4 100644
--- a/Numeric/FunctionSpace.cpp
+++ b/Numeric/FunctionSpace.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/FunctionSpace.h b/Numeric/FunctionSpace.h
index 4f0fad6b835ca42f00c257df45be20bdf3db8350..242f023cc930aa8dd9d9b4e9a5d8bf0d11e5cc31 100644
--- a/Numeric/FunctionSpace.h
+++ b/Numeric/FunctionSpace.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/Gauss.h b/Numeric/Gauss.h
index 6e30077da154601bc4895ccff4e36a46a61fa7cf..1ac32d9073d3f9deef30347b8f717d8d233f0187 100644
--- a/Numeric/Gauss.h
+++ b/Numeric/Gauss.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/GaussLegendre1D.h b/Numeric/GaussLegendre1D.h
index 69bdcbbf423d22457838ecc857ca404d1c69c7cf..165d2a895d40b10fec211efd1a6ccc84b3e73507 100644
--- a/Numeric/GaussLegendre1D.h
+++ b/Numeric/GaussLegendre1D.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/GaussLegendreSimplex.cpp b/Numeric/GaussLegendreSimplex.cpp
index b2770791815ff4d3a63cf16e09db2b2abddcc4af..38f48169cb61fe8f213460d400b6ac64eba9470e 100644
--- a/Numeric/GaussLegendreSimplex.cpp
+++ b/Numeric/GaussLegendreSimplex.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/GaussQuadratureHex.cpp b/Numeric/GaussQuadratureHex.cpp
index daabd208734104a94c4758a9c67af54fce92cc59..972938f971e8c173abff8c40a5792a3fdbcfdd27 100644
--- a/Numeric/GaussQuadratureHex.cpp
+++ b/Numeric/GaussQuadratureHex.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/GaussQuadratureQuad.cpp b/Numeric/GaussQuadratureQuad.cpp
index bb2c6ff83e42194bf269a4e4ef7a0f8abbd7cbcf..941f00441b43d444425142e3342a5ddda8723740 100644
--- a/Numeric/GaussQuadratureQuad.cpp
+++ b/Numeric/GaussQuadratureQuad.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/GaussQuadratureTet.cpp b/Numeric/GaussQuadratureTet.cpp
index 854426ebba894943c8c119f0edc86b937cb9c577..9448f73bc1c3a092af974f5377944586279336b2 100644
--- a/Numeric/GaussQuadratureTet.cpp
+++ b/Numeric/GaussQuadratureTet.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/GaussQuadratureTri.cpp b/Numeric/GaussQuadratureTri.cpp
index 21a4503f2897e776e57e180400eea94a9b0978d4..5a11530b33d3d15ef3f57fc72d2bfafde927f811 100644
--- a/Numeric/GaussQuadratureTri.cpp
+++ b/Numeric/GaussQuadratureTri.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/GmshMatrix.h b/Numeric/GmshMatrix.h
index 6afc0af6ea7fe9c8c4f4e79014699a683b4229bc..66b1906092542b3f75e0abd0edd824bbefa1eda4 100644
--- a/Numeric/GmshMatrix.h
+++ b/Numeric/GmshMatrix.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/Makefile b/Numeric/Makefile
index 1040b376b39c6df69eb366cc20e3c85b5bb3e034..e9023fb71e38bc10d7d4ab186456ffe38eff5f69 100644
--- a/Numeric/Makefile
+++ b/Numeric/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/Numeric.cpp b/Numeric/Numeric.cpp
index b1dd0d27f2f8c365789938c2e94a2b781aafc9e6..821568231dfc0734c2dd41c3dced7f8f448f8895 100644
--- a/Numeric/Numeric.cpp
+++ b/Numeric/Numeric.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/Numeric.h b/Numeric/Numeric.h
index 0348210f6e65af796ba7ee74852fa48970346bb4..59573e793d605ea5cf53883eb9e065a2a3235d48 100644
--- a/Numeric/Numeric.h
+++ b/Numeric/Numeric.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/NumericEmbedded.cpp b/Numeric/NumericEmbedded.cpp
index 7726040a9334b4427447a631e1e5cb2337d886c7..5ffe3cdd112af8319bdcf1f57321d83bf546ceca 100644
--- a/Numeric/NumericEmbedded.cpp
+++ b/Numeric/NumericEmbedded.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/NumericEmbedded.h b/Numeric/NumericEmbedded.h
index 4ba6bf858b29e032e696cfb47d92da3921d78588..f6b0368ae12bba405f3bdeefe036415262ab29f7 100644
--- a/Numeric/NumericEmbedded.h
+++ b/Numeric/NumericEmbedded.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshAssembler.cpp b/Numeric/gmshAssembler.cpp
index 19d2abab7f00e55db3e71703c2096938abcf3a7e..f28f2ec96b450c1a6bbffe4bdf8bd3d3fc7ff305 100644
--- a/Numeric/gmshAssembler.cpp
+++ b/Numeric/gmshAssembler.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshAssembler.h b/Numeric/gmshAssembler.h
index 86ccfe8ec3c93112bec86f19d3da9ba6a92073c2..8fac7b745c13a1c3926a7d8b03efd90b3acbb3f1 100644
--- a/Numeric/gmshAssembler.h
+++ b/Numeric/gmshAssembler.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshElasticity.cpp b/Numeric/gmshElasticity.cpp
index 43f439ceb32448b9a26e653960c7778793d7ebae..15da29b6d7c93430654336fba879852a15acdcb0 100644
--- a/Numeric/gmshElasticity.cpp
+++ b/Numeric/gmshElasticity.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshElasticity.h b/Numeric/gmshElasticity.h
index ef91b36935bc55f8b9f59426508e384b3b52f165..a3953991a91fc19ec7c78e5f79968a9fb80fc6be 100644
--- a/Numeric/gmshElasticity.h
+++ b/Numeric/gmshElasticity.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshFunction.h b/Numeric/gmshFunction.h
index cb98bf1dfa6d42d05e559d7bbc40f70fb003e3e7..ed11c8876aa5849ec6826272a80cc896dbc48f82 100644
--- a/Numeric/gmshFunction.h
+++ b/Numeric/gmshFunction.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshLaplace.cpp b/Numeric/gmshLaplace.cpp
index 176cab13aad6b77dcd05599ef11c726c414fb61e..d47a79ed27b3e0541fdda74e48b78458c5e3557c 100644
--- a/Numeric/gmshLaplace.cpp
+++ b/Numeric/gmshLaplace.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshLaplace.h b/Numeric/gmshLaplace.h
index f184c6725b8904ab602daed12fabf2b65eaa51d3..7b56095159fc44e1ada705612fd82fe910a22077 100644
--- a/Numeric/gmshLaplace.h
+++ b/Numeric/gmshLaplace.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshLinearSystem.h b/Numeric/gmshLinearSystem.h
index 0ae30e13c6379475cec646c2b3c30a4d14821df2..4c2eec641c3bfee9fd35bb7589efd4c89e0dfb51 100644
--- a/Numeric/gmshLinearSystem.h
+++ b/Numeric/gmshLinearSystem.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshLinearSystemFull.h b/Numeric/gmshLinearSystemFull.h
index 15205916e177ad45579d57229e3b1240c846f216..9302e4e8e047a18fa69ec841194dd793cc00becc 100644
--- a/Numeric/gmshLinearSystemFull.h
+++ b/Numeric/gmshLinearSystemFull.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshLinearSystemGmm.h b/Numeric/gmshLinearSystemGmm.h
index 6f27a41781e435c693d29754fa24cea763469a66..e65894ad12767d3f0175a81a2e11ffb89c3441f4 100644
--- a/Numeric/gmshLinearSystemGmm.h
+++ b/Numeric/gmshLinearSystemGmm.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshTermOfFormulation.cpp b/Numeric/gmshTermOfFormulation.cpp
index d39d236b0978376aa521b2dcc24d1cb93d0d281e..088433923f1e1c4af6a6aa6dd0ea8efecd0be15e 100644
--- a/Numeric/gmshTermOfFormulation.cpp
+++ b/Numeric/gmshTermOfFormulation.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Numeric/gmshTermOfFormulation.h b/Numeric/gmshTermOfFormulation.h
index 00d63bee781eb46e4f3b0e45b8b51f8a3f033847..be89cd1ec3f9ce4ac25d436e03c0139ebc81cf09 100644
--- a/Numeric/gmshTermOfFormulation.h
+++ b/Numeric/gmshTermOfFormulation.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Parser/FunctionManager.cpp b/Parser/FunctionManager.cpp
index aaba123653ff29d648da08929c79f54afe232d0e..939feca0dc1d3fe7e9e0b314d5623dc6203cea85 100644
--- a/Parser/FunctionManager.cpp
+++ b/Parser/FunctionManager.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Parser/FunctionManager.h b/Parser/FunctionManager.h
index c13672088c10b6ad5a963854033813e5b8664f13..fd87a2d3d7da2bf9b897a1f6fd7cdf16dac17e52 100644
--- a/Parser/FunctionManager.h
+++ b/Parser/FunctionManager.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l
index 3dfea8d3d29d8a0d16f30c4d893722f6e1870b13..bce780dc8311fcda0ccb3f5e6fea185f438a1e30 100644
--- a/Parser/Gmsh.l
+++ b/Parser/Gmsh.l
@@ -1,5 +1,5 @@
 %{
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp
index a1911a28d35594a698930f9ecacc68e2aea5310b..6b0287f411dd9b4bf46a81eeee5103e03c8c5776 100644
--- a/Parser/Gmsh.tab.cpp
+++ b/Parser/Gmsh.tab.cpp
@@ -320,7 +320,7 @@
 /* Copy the first part of user declarations.  */
 #line 1 "Gmsh.y"
 
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -387,7 +387,7 @@ void yyerror(char *s);
 void yymsg(int level, const char *fmt, ...);
 void skip_until(const char *skip, const char *until);
 int PrintListOfDouble(char *format, List_T *list, char *buffer);
-Double_Matrix *ListOfListOfDouble2Matrix(List_T *list);
+Double_Matrix ListOfListOfDouble2Matrix(List_T *list);
 void FixRelativePath(const char *in, char *out);
 
 
@@ -972,37 +972,37 @@ static const yytype_uint16 yyrline[] =
      170,   174,   181,   186,   201,   214,   243,   257,   268,   283,
      288,   289,   290,   291,   292,   296,   298,   303,   305,   311,
      457,   310,   475,   482,   493,   492,   511,   518,   529,   528,
-     546,   567,   599,   598,   612,   613,   614,   615,   616,   620,
-     621,   628,   650,   677,   717,   727,   735,   743,   755,   764,
-     769,   777,   795,   813,   822,   834,   839,   847,   867,   890,
-     897,   903,   923,   944,   970,   982,   999,  1003,  1013,  1016,
-    1029,  1032,  1042,  1065,  1081,  1103,  1121,  1139,  1169,  1199,
-    1219,  1237,  1255,  1281,  1298,  1317,  1335,  1374,  1380,  1386,
-    1393,  1418,  1443,  1459,  1475,  1506,  1524,  1541,  1562,  1567,
-    1572,  1577,  1582,  1602,  1608,  1619,  1620,  1625,  1628,  1632,
-    1655,  1678,  1701,  1729,  1738,  1742,  1757,  1778,  1795,  1809,
-    1815,  1821,  1830,  1844,  1892,  1910,  1925,  1944,  1956,  1980,
-    1984,  1989,  1994,  2006,  2023,  2040,  2059,  2078,  2106,  2114,
-    2120,  2127,  2131,  2140,  2148,  2156,  2165,  2164,  2177,  2176,
-    2189,  2188,  2201,  2200,  2213,  2220,  2227,  2234,  2241,  2248,
-    2255,  2262,  2269,  2277,  2276,  2288,  2287,  2299,  2298,  2310,
-    2309,  2321,  2320,  2332,  2331,  2343,  2342,  2354,  2353,  2365,
-    2364,  2379,  2382,  2388,  2397,  2417,  2440,  2444,  2468,  2471,
-    2487,  2490,  2503,  2506,  2512,  2515,  2522,  2576,  2646,  2651,
-    2718,  2761,  2787,  2810,  2833,  2836,  2845,  2849,  2865,  2866,
-    2867,  2868,  2869,  2870,  2871,  2872,  2873,  2880,  2881,  2882,
-    2883,  2884,  2885,  2886,  2887,  2888,  2889,  2890,  2891,  2892,
-    2893,  2894,  2895,  2896,  2897,  2898,  2899,  2900,  2901,  2902,
-    2903,  2904,  2905,  2906,  2907,  2908,  2909,  2910,  2911,  2913,
-    2914,  2915,  2916,  2917,  2918,  2919,  2920,  2921,  2922,  2923,
-    2924,  2925,  2926,  2927,  2928,  2929,  2930,  2931,  2932,  2933,
-    2942,  2943,  2944,  2945,  2946,  2947,  2948,  2952,  2965,  2977,
-    2992,  3002,  3012,  3030,  3035,  3040,  3050,  3060,  3068,  3072,
-    3076,  3080,  3084,  3091,  3095,  3099,  3103,  3110,  3115,  3122,
-    3127,  3131,  3136,  3140,  3148,  3159,  3163,  3175,  3183,  3191,
-    3198,  3209,  3229,  3239,  3249,  3259,  3279,  3284,  3288,  3292,
-    3304,  3308,  3320,  3327,  3337,  3341,  3356,  3361,  3368,  3372,
-    3385,  3393,  3404,  3408,  3416,  3424,  3438,  3452,  3456
+     546,   562,   585,   584,   598,   599,   600,   601,   602,   606,
+     607,   614,   636,   663,   703,   713,   721,   729,   741,   750,
+     755,   763,   781,   799,   808,   820,   825,   833,   853,   876,
+     883,   889,   909,   930,   956,   968,   985,   989,   999,  1002,
+    1015,  1018,  1028,  1051,  1067,  1089,  1107,  1125,  1155,  1185,
+    1205,  1223,  1241,  1267,  1284,  1303,  1321,  1360,  1366,  1372,
+    1379,  1404,  1429,  1445,  1461,  1492,  1510,  1527,  1548,  1553,
+    1558,  1563,  1568,  1588,  1594,  1605,  1606,  1611,  1614,  1618,
+    1641,  1664,  1687,  1715,  1724,  1728,  1743,  1764,  1781,  1795,
+    1801,  1807,  1816,  1830,  1878,  1896,  1911,  1930,  1942,  1966,
+    1970,  1975,  1980,  1992,  2009,  2026,  2045,  2064,  2092,  2100,
+    2106,  2113,  2117,  2126,  2134,  2142,  2151,  2150,  2163,  2162,
+    2175,  2174,  2187,  2186,  2199,  2206,  2213,  2220,  2227,  2234,
+    2241,  2248,  2255,  2263,  2262,  2274,  2273,  2285,  2284,  2296,
+    2295,  2307,  2306,  2318,  2317,  2329,  2328,  2340,  2339,  2351,
+    2350,  2365,  2368,  2374,  2383,  2403,  2426,  2430,  2454,  2457,
+    2473,  2476,  2489,  2492,  2498,  2501,  2508,  2562,  2632,  2637,
+    2704,  2747,  2773,  2796,  2819,  2822,  2831,  2835,  2851,  2852,
+    2853,  2854,  2855,  2856,  2857,  2858,  2859,  2866,  2867,  2868,
+    2869,  2870,  2871,  2872,  2873,  2874,  2875,  2876,  2877,  2878,
+    2879,  2880,  2881,  2882,  2883,  2884,  2885,  2886,  2887,  2888,
+    2889,  2890,  2891,  2892,  2893,  2894,  2895,  2896,  2897,  2899,
+    2900,  2901,  2902,  2903,  2904,  2905,  2906,  2907,  2908,  2909,
+    2910,  2911,  2912,  2913,  2914,  2915,  2916,  2917,  2918,  2919,
+    2928,  2929,  2930,  2931,  2932,  2933,  2934,  2938,  2951,  2963,
+    2978,  2988,  2998,  3016,  3021,  3026,  3036,  3046,  3054,  3058,
+    3062,  3066,  3070,  3077,  3081,  3085,  3089,  3096,  3101,  3108,
+    3113,  3117,  3122,  3126,  3134,  3145,  3149,  3161,  3169,  3177,
+    3184,  3195,  3215,  3225,  3235,  3245,  3265,  3270,  3274,  3278,
+    3290,  3294,  3306,  3313,  3323,  3327,  3342,  3347,  3354,  3358,
+    3371,  3379,  3390,  3394,  3402,  3410,  3424,  3438,  3442
 };
 #endif
 
@@ -4141,17 +4141,12 @@ yyreduce:
 	0;
       ViewData->setInterpolationMatrices(type, ListOfListOfDouble2Matrix((yyvsp[(3) - (8)].l)), 
                                          ListOfListOfDouble2Matrix((yyvsp[(6) - (8)].l)));
-      for(int i = 0; i < List_Nbr((yyvsp[(3) - (8)].l)); i++)
-        List_Delete(*(List_T**)List_Pointer((yyvsp[(3) - (8)].l), i));
-      for(int i = 0; i < List_Nbr((yyvsp[(6) - (8)].l)); i++)
-        List_Delete(*(List_T**)List_Pointer((yyvsp[(6) - (8)].l), i));
-      List_Delete((yyvsp[(3) - (8)].l)); List_Delete((yyvsp[(6) - (8)].l));
 #endif
     ;}
     break;
 
   case 51:
-#line 571 "Gmsh.y"
+#line 566 "Gmsh.y"
     {
 #if !defined(HAVE_NO_POST)
       int type = 
@@ -4165,21 +4160,12 @@ yyreduce:
                                          ListOfListOfDouble2Matrix((yyvsp[(6) - (14)].l)),
                                          ListOfListOfDouble2Matrix((yyvsp[(9) - (14)].l)), 
                                          ListOfListOfDouble2Matrix((yyvsp[(12) - (14)].l)));
-      for(int i = 0; i < List_Nbr((yyvsp[(3) - (14)].l)); i++) 
-        List_Delete(*(List_T**)List_Pointer((yyvsp[(3) - (14)].l), i));
-      for(int i = 0; i < List_Nbr((yyvsp[(6) - (14)].l)); i++) 
-        List_Delete(*(List_T**)List_Pointer((yyvsp[(6) - (14)].l), i));
-      for(int i = 0; i < List_Nbr((yyvsp[(9) - (14)].l)); i++) 
-        List_Delete(*(List_T**)List_Pointer((yyvsp[(9) - (14)].l), i));
-      for(int i = 0; i < List_Nbr((yyvsp[(12) - (14)].l)); i++) 
-        List_Delete(*(List_T**)List_Pointer((yyvsp[(12) - (14)].l), i));
-      List_Delete((yyvsp[(3) - (14)].l)); List_Delete((yyvsp[(6) - (14)].l)); List_Delete((yyvsp[(9) - (14)].l)); List_Delete((yyvsp[(12) - (14)].l));
 #endif
     ;}
     break;
 
   case 52:
-#line 599 "Gmsh.y"
+#line 585 "Gmsh.y"
     {
 #if !defined(HAVE_NO_POST)
       ViewValueList = ViewData->Time;
@@ -4188,48 +4174,48 @@ yyreduce:
     break;
 
   case 53:
-#line 605 "Gmsh.y"
+#line 591 "Gmsh.y"
     {
     ;}
     break;
 
   case 54:
-#line 612 "Gmsh.y"
+#line 598 "Gmsh.y"
     { (yyval.i) = 0; ;}
     break;
 
   case 55:
-#line 613 "Gmsh.y"
+#line 599 "Gmsh.y"
     { (yyval.i) = 1; ;}
     break;
 
   case 56:
-#line 614 "Gmsh.y"
+#line 600 "Gmsh.y"
     { (yyval.i) = 2; ;}
     break;
 
   case 57:
-#line 615 "Gmsh.y"
+#line 601 "Gmsh.y"
     { (yyval.i) = 3; ;}
     break;
 
   case 58:
-#line 616 "Gmsh.y"
+#line 602 "Gmsh.y"
     { (yyval.i) = 4; ;}
     break;
 
   case 59:
-#line 620 "Gmsh.y"
+#line 606 "Gmsh.y"
     { (yyval.i) = 1; ;}
     break;
 
   case 60:
-#line 621 "Gmsh.y"
+#line 607 "Gmsh.y"
     { (yyval.i) = -1; ;}
     break;
 
   case 61:
-#line 629 "Gmsh.y"
+#line 615 "Gmsh.y"
     {
       if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){
 	if(!(yyvsp[(2) - (4)].i))
@@ -4254,7 +4240,7 @@ yyreduce:
     break;
 
   case 62:
-#line 651 "Gmsh.y"
+#line 637 "Gmsh.y"
     {
       int index = (int)(yyvsp[(3) - (7)].d);
       if(!gmsh_yysymbols.count((yyvsp[(1) - (7)].c))){
@@ -4284,7 +4270,7 @@ yyreduce:
     break;
 
   case 63:
-#line 678 "Gmsh.y"
+#line 664 "Gmsh.y"
     {
       if(List_Nbr((yyvsp[(4) - (9)].l)) != List_Nbr((yyvsp[(8) - (9)].l))){
 	yymsg(0, "Incompatible array dimensions in affectation");
@@ -4327,7 +4313,7 @@ yyreduce:
     break;
 
   case 64:
-#line 718 "Gmsh.y"
+#line 704 "Gmsh.y"
     {
       if(gmsh_yysymbols.count((yyvsp[(1) - (6)].c)))
 	gmsh_yysymbols[(yyvsp[(1) - (6)].c)].clear();
@@ -4340,7 +4326,7 @@ yyreduce:
     break;
 
   case 65:
-#line 728 "Gmsh.y"
+#line 714 "Gmsh.y"
     {
       // appends to the list
       for(int i = 0; i < List_Nbr((yyvsp[(5) - (6)].l)); i++)
@@ -4351,7 +4337,7 @@ yyreduce:
     break;
 
   case 66:
-#line 736 "Gmsh.y"
+#line 722 "Gmsh.y"
     {
       if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c)))
 	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (3)].c)); 
@@ -4362,7 +4348,7 @@ yyreduce:
     break;
 
   case 67:
-#line 744 "Gmsh.y"
+#line 730 "Gmsh.y"
     {
       if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c)))
 	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (6)].c)); 
@@ -4377,7 +4363,7 @@ yyreduce:
     break;
 
   case 68:
-#line 756 "Gmsh.y"
+#line 742 "Gmsh.y"
     { 
       gmsh_yystringsymbols[(yyvsp[(1) - (4)].c)] = std::string((yyvsp[(3) - (4)].c));
       Free((yyvsp[(1) - (4)].c));
@@ -4386,7 +4372,7 @@ yyreduce:
     break;
 
   case 69:
-#line 765 "Gmsh.y"
+#line 751 "Gmsh.y"
     { 
       StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
       Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(3) - (6)].c));
@@ -4394,7 +4380,7 @@ yyreduce:
     break;
 
   case 70:
-#line 770 "Gmsh.y"
+#line 756 "Gmsh.y"
     { 
       StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), (yyvsp[(8) - (9)].c));
       Free((yyvsp[(1) - (9)].c)); Free((yyvsp[(6) - (9)].c));
@@ -4402,7 +4388,7 @@ yyreduce:
     break;
 
   case 71:
-#line 778 "Gmsh.y"
+#line 764 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), d)){
@@ -4423,7 +4409,7 @@ yyreduce:
     break;
 
   case 72:
-#line 796 "Gmsh.y"
+#line 782 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), d)){
@@ -4444,7 +4430,7 @@ yyreduce:
     break;
 
   case 73:
-#line 814 "Gmsh.y"
+#line 800 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(3) - (5)].c), d)){
@@ -4456,7 +4442,7 @@ yyreduce:
     break;
 
   case 74:
-#line 823 "Gmsh.y"
+#line 809 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (8)].c), (int)(yyvsp[(3) - (8)].d), (yyvsp[(6) - (8)].c), d)){
@@ -4468,7 +4454,7 @@ yyreduce:
     break;
 
   case 75:
-#line 835 "Gmsh.y"
+#line 821 "Gmsh.y"
     {
       ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (8)].c), 0, (yyvsp[(5) - (8)].c), (yyvsp[(7) - (8)].u));
       Free((yyvsp[(1) - (8)].c)); Free((yyvsp[(5) - (8)].c));
@@ -4476,7 +4462,7 @@ yyreduce:
     break;
 
   case 76:
-#line 840 "Gmsh.y"
+#line 826 "Gmsh.y"
     {
       ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (11)].c), (int)(yyvsp[(3) - (11)].d), (yyvsp[(8) - (11)].c), (yyvsp[(10) - (11)].u));
       Free((yyvsp[(1) - (11)].c)); Free((yyvsp[(8) - (11)].c));
@@ -4484,7 +4470,7 @@ yyreduce:
     break;
 
   case 77:
-#line 848 "Gmsh.y"
+#line 834 "Gmsh.y"
     {
       GmshColorTable *ct = Get_ColorTable(0);
       if(!ct)
@@ -4507,7 +4493,7 @@ yyreduce:
     break;
 
   case 78:
-#line 868 "Gmsh.y"
+#line 854 "Gmsh.y"
     {
       GmshColorTable *ct = Get_ColorTable((int)(yyvsp[(3) - (9)].d));
       if(!ct)
@@ -4530,7 +4516,7 @@ yyreduce:
     break;
 
   case 79:
-#line 891 "Gmsh.y"
+#line 877 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(1) - (5)].c),"Background"))
 	GModel::current()->getFields()->background_field = (int)(yyvsp[(4) - (5)].d);
@@ -4540,7 +4526,7 @@ yyreduce:
     break;
 
   case 80:
-#line 898 "Gmsh.y"
+#line 884 "Gmsh.y"
     {
       if(!GModel::current()->getFields()->new_field((int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c)))
 	yymsg(0, "Cannot create field %i of type '%s'", (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c));
@@ -4549,7 +4535,7 @@ yyreduce:
     break;
 
   case 81:
-#line 904 "Gmsh.y"
+#line 890 "Gmsh.y"
     {
       Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d));
       if(field){
@@ -4572,7 +4558,7 @@ yyreduce:
     break;
 
   case 82:
-#line 924 "Gmsh.y"
+#line 910 "Gmsh.y"
     {
       Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d));
       if(field){
@@ -4596,7 +4582,7 @@ yyreduce:
     break;
 
   case 83:
-#line 945 "Gmsh.y"
+#line 931 "Gmsh.y"
     {
       Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (11)].d));
       if(field){
@@ -4622,7 +4608,7 @@ yyreduce:
     break;
 
   case 84:
-#line 971 "Gmsh.y"
+#line 957 "Gmsh.y"
     {
 #if !defined(HAVE_NO_POST)
       try {
@@ -4637,7 +4623,7 @@ yyreduce:
     break;
 
   case 85:
-#line 983 "Gmsh.y"
+#line 969 "Gmsh.y"
     {
 #if !defined(HAVE_NO_POST)
       try {
@@ -4652,14 +4638,14 @@ yyreduce:
     break;
 
   case 86:
-#line 1000 "Gmsh.y"
+#line 986 "Gmsh.y"
     { 
       (yyval.i) = (int)(yyvsp[(1) - (1)].d); 
     ;}
     break;
 
   case 87:
-#line 1004 "Gmsh.y"
+#line 990 "Gmsh.y"
     { 
       (yyval.i) = GModel::current()->setPhysicalName
 	(std::string((yyvsp[(1) - (1)].c)), ++GModel::current()->getGEOInternals()->MaxPhysicalNum);
@@ -4668,14 +4654,14 @@ yyreduce:
     break;
 
   case 88:
-#line 1013 "Gmsh.y"
+#line 999 "Gmsh.y"
     {
       (yyval.l) = 0;
     ;}
     break;
 
   case 89:
-#line 1017 "Gmsh.y"
+#line 1003 "Gmsh.y"
     {
       (yyval.l) = List_Create(1, 1, sizeof(Vertex*));
       Vertex *v = FindPoint((int)(yyvsp[(4) - (5)].d));
@@ -4688,21 +4674,21 @@ yyreduce:
     break;
 
   case 90:
-#line 1029 "Gmsh.y"
+#line 1015 "Gmsh.y"
     {
       for(int i = 0; i < 4; i++) (yyval.v)[i] = 0.;
     ;}
     break;
 
   case 91:
-#line 1033 "Gmsh.y"
+#line 1019 "Gmsh.y"
     {
       for(int i = 0; i < 4; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i];
     ;}
     break;
 
   case 92:
-#line 1043 "Gmsh.y"
+#line 1029 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       if(FindPoint(num)){
@@ -4728,7 +4714,7 @@ yyreduce:
     break;
 
   case 93:
-#line 1066 "Gmsh.y"
+#line 1052 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].i);
       if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){
@@ -4747,7 +4733,7 @@ yyreduce:
     break;
 
   case 94:
-#line 1082 "Gmsh.y"
+#line 1068 "Gmsh.y"
     {      
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
 	double d;
@@ -4769,7 +4755,7 @@ yyreduce:
     break;
 
   case 95:
-#line 1104 "Gmsh.y"
+#line 1090 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       if(FindCurve(num)){
@@ -4790,7 +4776,7 @@ yyreduce:
     break;
 
   case 96:
-#line 1122 "Gmsh.y"
+#line 1108 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       if(FindCurve(num)){
@@ -4811,7 +4797,7 @@ yyreduce:
     break;
 
   case 97:
-#line 1140 "Gmsh.y"
+#line 1126 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (8)].d);
       if(FindCurve(num)){
@@ -4844,7 +4830,7 @@ yyreduce:
     break;
 
   case 98:
-#line 1170 "Gmsh.y"
+#line 1156 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (8)].d);
       if(FindCurve(num)){
@@ -4877,7 +4863,7 @@ yyreduce:
     break;
 
   case 99:
-#line 1201 "Gmsh.y"
+#line 1187 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (17)].d);
       if(FindCurve(num)){
@@ -4899,7 +4885,7 @@ yyreduce:
     break;
 
   case 100:
-#line 1220 "Gmsh.y"
+#line 1206 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       if(FindCurve(num)){
@@ -4920,7 +4906,7 @@ yyreduce:
     break;
 
   case 101:
-#line 1238 "Gmsh.y"
+#line 1224 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       if(FindCurve(num)){
@@ -4941,7 +4927,7 @@ yyreduce:
     break;
 
   case 102:
-#line 1256 "Gmsh.y"
+#line 1242 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (11)].d);
       if(List_Nbr((yyvsp[(6) - (11)].l)) + (int)(yyvsp[(10) - (11)].d) + 1 != List_Nbr((yyvsp[(8) - (11)].l))){
@@ -4970,7 +4956,7 @@ yyreduce:
     break;
 
   case 103:
-#line 1282 "Gmsh.y"
+#line 1268 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].d);
       if(FindEdgeLoop(num)){
@@ -4990,7 +4976,7 @@ yyreduce:
     break;
 
   case 104:
-#line 1299 "Gmsh.y"
+#line 1285 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].i);
       if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){
@@ -5009,7 +4995,7 @@ yyreduce:
     break;
 
   case 105:
-#line 1318 "Gmsh.y"
+#line 1304 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].d);
       if(FindSurface(num)){
@@ -5030,7 +5016,7 @@ yyreduce:
     break;
 
   case 106:
-#line 1336 "Gmsh.y"
+#line 1322 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (9)].d), type = 0;
       if(FindSurface(num)){
@@ -5072,7 +5058,7 @@ yyreduce:
     break;
 
   case 107:
-#line 1375 "Gmsh.y"
+#line 1361 "Gmsh.y"
     {
       myGmshSurface = 0;
       (yyval.s).Type = 0;
@@ -5081,7 +5067,7 @@ yyreduce:
     break;
 
   case 108:
-#line 1381 "Gmsh.y"
+#line 1367 "Gmsh.y"
     {
       myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d));
       (yyval.s).Type = 0;
@@ -5090,7 +5076,7 @@ yyreduce:
     break;
 
   case 109:
-#line 1387 "Gmsh.y"
+#line 1373 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (10)].d);
       myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c));
@@ -5100,7 +5086,7 @@ yyreduce:
     break;
 
   case 110:
-#line 1394 "Gmsh.y"
+#line 1380 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){
@@ -5128,7 +5114,7 @@ yyreduce:
     break;
 
   case 111:
-#line 1419 "Gmsh.y"
+#line 1405 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){
@@ -5156,7 +5142,7 @@ yyreduce:
     break;
 
   case 112:
-#line 1444 "Gmsh.y"
+#line 1430 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].d);
       if(FindSurfaceLoop(num)){
@@ -5175,7 +5161,7 @@ yyreduce:
     break;
 
   case 113:
-#line 1460 "Gmsh.y"
+#line 1446 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].i);
       if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){
@@ -5194,7 +5180,7 @@ yyreduce:
     break;
 
   case 114:
-#line 1476 "Gmsh.y"
+#line 1462 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (12)].d);
       if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){
@@ -5224,7 +5210,7 @@ yyreduce:
     break;
 
   case 115:
-#line 1507 "Gmsh.y"
+#line 1493 "Gmsh.y"
     {
       yymsg(0, "'Complex Volume' command is deprecated: use 'Volume' instead");
       int num = (int)(yyvsp[(4) - (8)].d);
@@ -5245,7 +5231,7 @@ yyreduce:
     break;
 
   case 116:
-#line 1525 "Gmsh.y"
+#line 1511 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (7)].d);
       if(FindVolume(num)){
@@ -5265,7 +5251,7 @@ yyreduce:
     break;
 
   case 117:
-#line 1542 "Gmsh.y"
+#line 1528 "Gmsh.y"
     {
       int num = (int)(yyvsp[(4) - (8)].i);
       if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){
@@ -5284,7 +5270,7 @@ yyreduce:
     break;
 
   case 118:
-#line 1563 "Gmsh.y"
+#line 1549 "Gmsh.y"
     {
       TranslateShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(4) - (5)].l));
       (yyval.l) = (yyvsp[(4) - (5)].l);
@@ -5292,7 +5278,7 @@ yyreduce:
     break;
 
   case 119:
-#line 1568 "Gmsh.y"
+#line 1554 "Gmsh.y"
     {
       RotateShapes((yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(7) - (11)].d), (yyvsp[(10) - (11)].l));
       (yyval.l) = (yyvsp[(10) - (11)].l);
@@ -5300,7 +5286,7 @@ yyreduce:
     break;
 
   case 120:
-#line 1573 "Gmsh.y"
+#line 1559 "Gmsh.y"
     {
       SymmetryShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(2) - (5)].v)[3], (yyvsp[(4) - (5)].l));
       (yyval.l) = (yyvsp[(4) - (5)].l);
@@ -5308,7 +5294,7 @@ yyreduce:
     break;
 
   case 121:
-#line 1578 "Gmsh.y"
+#line 1564 "Gmsh.y"
     {
       DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].l));
       (yyval.l) = (yyvsp[(8) - (9)].l);
@@ -5316,7 +5302,7 @@ yyreduce:
     break;
 
   case 122:
-#line 1583 "Gmsh.y"
+#line 1569 "Gmsh.y"
     {
       (yyval.l) = List_Create(3, 3, sizeof(Shape));
       if(!strcmp((yyvsp[(1) - (4)].c), "Duplicata")){
@@ -5339,7 +5325,7 @@ yyreduce:
     break;
 
   case 123:
-#line 1603 "Gmsh.y"
+#line 1589 "Gmsh.y"
     { 
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       IntersectCurvesWithSurface((yyvsp[(4) - (9)].l), (int)(yyvsp[(8) - (9)].d), (yyval.l));
@@ -5348,7 +5334,7 @@ yyreduce:
     break;
 
   case 124:
-#line 1609 "Gmsh.y"
+#line 1595 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape*));
       List_T *tmp = ListOfDouble2ListOfInt((yyvsp[(7) - (9)].l));
@@ -5359,31 +5345,31 @@ yyreduce:
     break;
 
   case 125:
-#line 1619 "Gmsh.y"
+#line 1605 "Gmsh.y"
     { (yyval.l) = (yyvsp[(1) - (1)].l); ;}
     break;
 
   case 126:
-#line 1620 "Gmsh.y"
+#line 1606 "Gmsh.y"
     { (yyval.l) = (yyvsp[(1) - (1)].l); ;}
     break;
 
   case 127:
-#line 1625 "Gmsh.y"
+#line 1611 "Gmsh.y"
     {
       (yyval.l) = List_Create(3, 3, sizeof(Shape));
     ;}
     break;
 
   case 128:
-#line 1629 "Gmsh.y"
+#line 1615 "Gmsh.y"
     {
       List_Add((yyval.l), &(yyvsp[(2) - (2)].s));
     ;}
     break;
 
   case 129:
-#line 1633 "Gmsh.y"
+#line 1619 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
 	double d;
@@ -5409,7 +5395,7 @@ yyreduce:
     break;
 
   case 130:
-#line 1656 "Gmsh.y"
+#line 1642 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
 	double d;
@@ -5435,7 +5421,7 @@ yyreduce:
     break;
 
   case 131:
-#line 1679 "Gmsh.y"
+#line 1665 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
 	double d;
@@ -5461,7 +5447,7 @@ yyreduce:
     break;
 
   case 132:
-#line 1702 "Gmsh.y"
+#line 1688 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
 	double d;
@@ -5487,7 +5473,7 @@ yyreduce:
     break;
 
   case 133:
-#line 1730 "Gmsh.y"
+#line 1716 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
 	Shape TheShape;
@@ -5499,14 +5485,14 @@ yyreduce:
     break;
 
   case 134:
-#line 1739 "Gmsh.y"
+#line 1725 "Gmsh.y"
     {
       GModel::current()->getFields()->delete_field((int)(yyvsp[(4) - (6)].d));
     ;}
     break;
 
   case 135:
-#line 1743 "Gmsh.y"
+#line 1729 "Gmsh.y"
     {
 #if !defined(HAVE_NO_POST)
       if(!strcmp((yyvsp[(2) - (6)].c), "View")){
@@ -5524,7 +5510,7 @@ yyreduce:
     break;
 
   case 136:
-#line 1758 "Gmsh.y"
+#line 1744 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(2) - (3)].c), "Model") || !strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){
 	GModel::current()->destroy();
@@ -5548,7 +5534,7 @@ yyreduce:
     break;
 
   case 137:
-#line 1779 "Gmsh.y"
+#line 1765 "Gmsh.y"
     {
 #if !defined(HAVE_NO_POST)
       if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){
@@ -5563,7 +5549,7 @@ yyreduce:
     break;
 
   case 138:
-#line 1796 "Gmsh.y"
+#line 1782 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
 	Shape TheShape;
@@ -5575,7 +5561,7 @@ yyreduce:
     break;
 
   case 139:
-#line 1810 "Gmsh.y"
+#line 1796 "Gmsh.y"
     {
       for(int i = 0; i < 4; i++)
 	VisibilityShape((yyvsp[(2) - (3)].c), i, 1);
@@ -5584,7 +5570,7 @@ yyreduce:
     break;
 
   case 140:
-#line 1816 "Gmsh.y"
+#line 1802 "Gmsh.y"
     {
       for(int i = 0; i < 4; i++)
 	VisibilityShape((yyvsp[(2) - (3)].c), i, 0);
@@ -5593,7 +5579,7 @@ yyreduce:
     break;
 
   case 141:
-#line 1822 "Gmsh.y"
+#line 1808 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
 	Shape TheShape;
@@ -5605,7 +5591,7 @@ yyreduce:
     break;
 
   case 142:
-#line 1831 "Gmsh.y"
+#line 1817 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
 	Shape TheShape;
@@ -5617,7 +5603,7 @@ yyreduce:
     break;
 
   case 143:
-#line 1845 "Gmsh.y"
+#line 1831 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(1) - (3)].c), "Include")){
 	char tmpstring[1024];
@@ -5668,7 +5654,7 @@ yyreduce:
     break;
 
   case 144:
-#line 1893 "Gmsh.y"
+#line 1879 "Gmsh.y"
     {
 #if !defined(HAVE_NO_POST)
       if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){
@@ -5689,7 +5675,7 @@ yyreduce:
     break;
 
   case 145:
-#line 1911 "Gmsh.y"
+#line 1897 "Gmsh.y"
     {
 #if !defined(HAVE_NO_POST)
       if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh")  && !strcmp((yyvsp[(3) - (7)].c), "View")){
@@ -5707,7 +5693,7 @@ yyreduce:
     break;
 
   case 146:
-#line 1926 "Gmsh.y"
+#line 1912 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){
 	SleepInSeconds((yyvsp[(2) - (3)].d));
@@ -5729,7 +5715,7 @@ yyreduce:
     break;
 
   case 147:
-#line 1945 "Gmsh.y"
+#line 1931 "Gmsh.y"
     {
 #if !defined(HAVE_NO_POST)
        try {
@@ -5744,7 +5730,7 @@ yyreduce:
     break;
 
   case 148:
-#line 1957 "Gmsh.y"
+#line 1943 "Gmsh.y"
     {
 #if !defined(HAVE_NO_POST)
       if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews"))
@@ -5771,14 +5757,14 @@ yyreduce:
     break;
 
   case 149:
-#line 1981 "Gmsh.y"
+#line 1967 "Gmsh.y"
     {
       exit(0);
     ;}
     break;
 
   case 150:
-#line 1985 "Gmsh.y"
+#line 1971 "Gmsh.y"
     {
       CTX.forced_bbox = 0;
       SetBoundingBox();
@@ -5786,7 +5772,7 @@ yyreduce:
     break;
 
   case 151:
-#line 1990 "Gmsh.y"
+#line 1976 "Gmsh.y"
     {
       CTX.forced_bbox = 1;
       SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d));
@@ -5794,7 +5780,7 @@ yyreduce:
     break;
 
   case 152:
-#line 1995 "Gmsh.y"
+#line 1981 "Gmsh.y"
     {
 #if defined(HAVE_FLTK)
       Draw();
@@ -5803,7 +5789,7 @@ yyreduce:
     break;
 
   case 153:
-#line 2007 "Gmsh.y"
+#line 1993 "Gmsh.y"
     {
       LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d);
       LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d);
@@ -5823,7 +5809,7 @@ yyreduce:
     break;
 
   case 154:
-#line 2024 "Gmsh.y"
+#line 2010 "Gmsh.y"
     {
       LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d);
       LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d);
@@ -5843,7 +5829,7 @@ yyreduce:
     break;
 
   case 155:
-#line 2041 "Gmsh.y"
+#line 2027 "Gmsh.y"
     {
       LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d);
       LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d);
@@ -5865,7 +5851,7 @@ yyreduce:
     break;
 
   case 156:
-#line 2060 "Gmsh.y"
+#line 2046 "Gmsh.y"
     {
       LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d);
       LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d);
@@ -5887,7 +5873,7 @@ yyreduce:
     break;
 
   case 157:
-#line 2079 "Gmsh.y"
+#line 2065 "Gmsh.y"
     {
       if(ImbricatedLoop <= 0){
 	yymsg(0, "Invalid For/EndFor loop");
@@ -5918,7 +5904,7 @@ yyreduce:
     break;
 
   case 158:
-#line 2107 "Gmsh.y"
+#line 2093 "Gmsh.y"
     {
       if(!FunctionManager::Instance()->createFunction((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname,
 						      gmsh_yylineno))
@@ -5929,7 +5915,7 @@ yyreduce:
     break;
 
   case 159:
-#line 2115 "Gmsh.y"
+#line 2101 "Gmsh.y"
     {
       if(!FunctionManager::Instance()->leaveFunction(&gmsh_yyin, gmsh_yyname,
 						     gmsh_yylineno))
@@ -5938,7 +5924,7 @@ yyreduce:
     break;
 
   case 160:
-#line 2121 "Gmsh.y"
+#line 2107 "Gmsh.y"
     {
       if(!FunctionManager::Instance()->enterFunction((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname,
 						     gmsh_yylineno))
@@ -5948,20 +5934,20 @@ yyreduce:
     break;
 
   case 161:
-#line 2128 "Gmsh.y"
+#line 2114 "Gmsh.y"
     {
       if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf");
     ;}
     break;
 
   case 162:
-#line 2132 "Gmsh.y"
+#line 2118 "Gmsh.y"
     {
     ;}
     break;
 
   case 163:
-#line 2141 "Gmsh.y"
+#line 2127 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), 
@@ -5972,7 +5958,7 @@ yyreduce:
     break;
 
   case 164:
-#line 2149 "Gmsh.y"
+#line 2135 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), 
@@ -5983,7 +5969,7 @@ yyreduce:
     break;
 
   case 165:
-#line 2157 "Gmsh.y"
+#line 2143 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), 
@@ -5994,14 +5980,14 @@ yyreduce:
     break;
 
   case 166:
-#line 2165 "Gmsh.y"
+#line 2151 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 167:
-#line 2169 "Gmsh.y"
+#line 2155 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), 
@@ -6012,14 +5998,14 @@ yyreduce:
     break;
 
   case 168:
-#line 2177 "Gmsh.y"
+#line 2163 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 169:
-#line 2181 "Gmsh.y"
+#line 2167 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), 
@@ -6030,14 +6016,14 @@ yyreduce:
     break;
 
   case 170:
-#line 2189 "Gmsh.y"
+#line 2175 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 171:
-#line 2193 "Gmsh.y"
+#line 2179 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), 
@@ -6048,14 +6034,14 @@ yyreduce:
     break;
 
   case 172:
-#line 2201 "Gmsh.y"
+#line 2187 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 173:
-#line 2205 "Gmsh.y"
+#line 2191 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShapes(BOUNDARY_LAYER, (yyvsp[(3) - (6)].l), 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
@@ -6065,7 +6051,7 @@ yyreduce:
     break;
 
   case 174:
-#line 2214 "Gmsh.y"
+#line 2200 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), 
@@ -6075,7 +6061,7 @@ yyreduce:
     break;
 
   case 175:
-#line 2221 "Gmsh.y"
+#line 2207 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), 
@@ -6085,7 +6071,7 @@ yyreduce:
     break;
 
   case 176:
-#line 2228 "Gmsh.y"
+#line 2214 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), 
@@ -6095,7 +6081,7 @@ yyreduce:
     break;
 
   case 177:
-#line 2235 "Gmsh.y"
+#line 2221 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), 
@@ -6105,7 +6091,7 @@ yyreduce:
     break;
 
   case 178:
-#line 2242 "Gmsh.y"
+#line 2228 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), 
@@ -6115,7 +6101,7 @@ yyreduce:
     break;
 
   case 179:
-#line 2249 "Gmsh.y"
+#line 2235 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), 
@@ -6125,7 +6111,7 @@ yyreduce:
     break;
 
   case 180:
-#line 2256 "Gmsh.y"
+#line 2242 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), 
@@ -6135,7 +6121,7 @@ yyreduce:
     break;
 
   case 181:
-#line 2263 "Gmsh.y"
+#line 2249 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), 
@@ -6145,7 +6131,7 @@ yyreduce:
     break;
 
   case 182:
-#line 2270 "Gmsh.y"
+#line 2256 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), 
@@ -6155,14 +6141,14 @@ yyreduce:
     break;
 
   case 183:
-#line 2277 "Gmsh.y"
+#line 2263 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 184:
-#line 2281 "Gmsh.y"
+#line 2267 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), 
@@ -6172,14 +6158,14 @@ yyreduce:
     break;
 
   case 185:
-#line 2288 "Gmsh.y"
+#line 2274 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 186:
-#line 2292 "Gmsh.y"
+#line 2278 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), 
@@ -6189,14 +6175,14 @@ yyreduce:
     break;
 
   case 187:
-#line 2299 "Gmsh.y"
+#line 2285 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 188:
-#line 2303 "Gmsh.y"
+#line 2289 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), 
@@ -6206,14 +6192,14 @@ yyreduce:
     break;
 
   case 189:
-#line 2310 "Gmsh.y"
+#line 2296 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 190:
-#line 2314 "Gmsh.y"
+#line 2300 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), 
@@ -6223,14 +6209,14 @@ yyreduce:
     break;
 
   case 191:
-#line 2321 "Gmsh.y"
+#line 2307 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 192:
-#line 2325 "Gmsh.y"
+#line 2311 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), 
@@ -6240,14 +6226,14 @@ yyreduce:
     break;
 
   case 193:
-#line 2332 "Gmsh.y"
+#line 2318 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 194:
-#line 2336 "Gmsh.y"
+#line 2322 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), 
@@ -6257,14 +6243,14 @@ yyreduce:
     break;
 
   case 195:
-#line 2343 "Gmsh.y"
+#line 2329 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 196:
-#line 2347 "Gmsh.y"
+#line 2333 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), 
@@ -6274,14 +6260,14 @@ yyreduce:
     break;
 
   case 197:
-#line 2354 "Gmsh.y"
+#line 2340 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 198:
-#line 2358 "Gmsh.y"
+#line 2344 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), 
@@ -6291,14 +6277,14 @@ yyreduce:
     break;
 
   case 199:
-#line 2365 "Gmsh.y"
+#line 2351 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
     ;}
     break;
 
   case 200:
-#line 2369 "Gmsh.y"
+#line 2355 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(Shape));
       ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), 
@@ -6308,19 +6294,19 @@ yyreduce:
     break;
 
   case 201:
-#line 2380 "Gmsh.y"
+#line 2366 "Gmsh.y"
     {
     ;}
     break;
 
   case 202:
-#line 2383 "Gmsh.y"
+#line 2369 "Gmsh.y"
     {
     ;}
     break;
 
   case 203:
-#line 2389 "Gmsh.y"
+#line 2375 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = true;
       extr.mesh.NbLayer = 1;
@@ -6332,7 +6318,7 @@ yyreduce:
     break;
 
   case 204:
-#line 2398 "Gmsh.y"
+#line 2384 "Gmsh.y"
     {
       extr.mesh.ExtrudeMesh = true;
       extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l));
@@ -6355,7 +6341,7 @@ yyreduce:
     break;
 
   case 205:
-#line 2418 "Gmsh.y"
+#line 2404 "Gmsh.y"
     {
       yymsg(0, "Explicit region numbers in layers are deprecated");
       extr.mesh.ExtrudeMesh = true;
@@ -6381,14 +6367,14 @@ yyreduce:
     break;
 
   case 206:
-#line 2441 "Gmsh.y"
+#line 2427 "Gmsh.y"
     {
       extr.mesh.Recombine = true;
     ;}
     break;
 
   case 207:
-#line 2445 "Gmsh.y"
+#line 2431 "Gmsh.y"
     {
       int num = (int)(yyvsp[(3) - (9)].d);
       if(FindSurface(num)){
@@ -6410,14 +6396,14 @@ yyreduce:
     break;
 
   case 208:
-#line 2468 "Gmsh.y"
+#line 2454 "Gmsh.y"
     {
       (yyval.v)[0] = (yyval.v)[1] = 1.;
     ;}
     break;
 
   case 209:
-#line 2472 "Gmsh.y"
+#line 2458 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power"))
         (yyval.v)[0] = 1.;
@@ -6433,14 +6419,14 @@ yyreduce:
     break;
 
   case 210:
-#line 2487 "Gmsh.y"
+#line 2473 "Gmsh.y"
     {
       (yyval.i) = -1; // left
     ;}
     break;
 
   case 211:
-#line 2491 "Gmsh.y"
+#line 2477 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(1) - (1)].c), "Right"))
         (yyval.i) = 1;
@@ -6453,35 +6439,35 @@ yyreduce:
     break;
 
   case 212:
-#line 2503 "Gmsh.y"
+#line 2489 "Gmsh.y"
     {
      (yyval.l) = List_Create(1, 1, sizeof(double));
    ;}
     break;
 
   case 213:
-#line 2507 "Gmsh.y"
+#line 2493 "Gmsh.y"
     {
      (yyval.l) = (yyvsp[(2) - (2)].l);
    ;}
     break;
 
   case 214:
-#line 2512 "Gmsh.y"
+#line 2498 "Gmsh.y"
     {
       (yyval.i) = 45;
     ;}
     break;
 
   case 215:
-#line 2516 "Gmsh.y"
+#line 2502 "Gmsh.y"
     {
       (yyval.i) = (int)(yyvsp[(2) - (2)].d);
     ;}
     break;
 
   case 216:
-#line 2523 "Gmsh.y"
+#line 2509 "Gmsh.y"
     {
       int type = (int)(yyvsp[(6) - (7)].v)[0];
       double coef = fabs((yyvsp[(6) - (7)].v)[1]);
@@ -6538,7 +6524,7 @@ yyreduce:
     break;
 
   case 217:
-#line 2577 "Gmsh.y"
+#line 2563 "Gmsh.y"
     {
       int k = List_Nbr((yyvsp[(4) - (6)].l));
       if(k != 0 && k != 3 && k != 4){
@@ -6611,7 +6597,7 @@ yyreduce:
     break;
 
   case 218:
-#line 2647 "Gmsh.y"
+#line 2633 "Gmsh.y"
     {
       yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)");
       List_Delete((yyvsp[(7) - (8)].l));
@@ -6619,7 +6605,7 @@ yyreduce:
     break;
 
   case 219:
-#line 2652 "Gmsh.y"
+#line 2638 "Gmsh.y"
     {
       int k = List_Nbr((yyvsp[(4) - (5)].l));
       if(k != 0 && k != 6 && k != 8){
@@ -6689,7 +6675,7 @@ yyreduce:
     break;
 
   case 220:
-#line 2719 "Gmsh.y"
+#line 2705 "Gmsh.y"
     {
       if(!(yyvsp[(3) - (5)].l)){
 	List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces);
@@ -6735,7 +6721,7 @@ yyreduce:
     break;
 
   case 221:
-#line 2762 "Gmsh.y"
+#line 2748 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
 	double d;
@@ -6758,7 +6744,7 @@ yyreduce:
     break;
 
   case 222:
-#line 2788 "Gmsh.y"
+#line 2774 "Gmsh.y"
     { 
       Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d));
       if(s){
@@ -6784,7 +6770,7 @@ yyreduce:
     break;
 
   case 223:
-#line 2811 "Gmsh.y"
+#line 2797 "Gmsh.y"
     {
       Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d));
       if(s){
@@ -6810,26 +6796,26 @@ yyreduce:
     break;
 
   case 224:
-#line 2834 "Gmsh.y"
+#line 2820 "Gmsh.y"
     {
     ;}
     break;
 
   case 225:
-#line 2837 "Gmsh.y"
+#line 2823 "Gmsh.y"
     {
     ;}
     break;
 
   case 226:
-#line 2846 "Gmsh.y"
+#line 2832 "Gmsh.y"
     { 
       ReplaceAllDuplicates();
     ;}
     break;
 
   case 227:
-#line 2850 "Gmsh.y"
+#line 2836 "Gmsh.y"
     { 
       if(!strcmp((yyvsp[(2) - (3)].c), "Geometry"))
         ReplaceAllDuplicates();
@@ -6842,47 +6828,47 @@ yyreduce:
     break;
 
   case 228:
-#line 2865 "Gmsh.y"
+#line 2851 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (1)].d);           ;}
     break;
 
   case 229:
-#line 2866 "Gmsh.y"
+#line 2852 "Gmsh.y"
     { (yyval.d) = (yyvsp[(2) - (3)].d);           ;}
     break;
 
   case 230:
-#line 2867 "Gmsh.y"
+#line 2853 "Gmsh.y"
     { (yyval.d) = -(yyvsp[(2) - (2)].d);          ;}
     break;
 
   case 231:
-#line 2868 "Gmsh.y"
+#line 2854 "Gmsh.y"
     { (yyval.d) = (yyvsp[(2) - (2)].d);           ;}
     break;
 
   case 232:
-#line 2869 "Gmsh.y"
+#line 2855 "Gmsh.y"
     { (yyval.d) = !(yyvsp[(2) - (2)].d);          ;}
     break;
 
   case 233:
-#line 2870 "Gmsh.y"
+#line 2856 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d);      ;}
     break;
 
   case 234:
-#line 2871 "Gmsh.y"
+#line 2857 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d);      ;}
     break;
 
   case 235:
-#line 2872 "Gmsh.y"
+#line 2858 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d);      ;}
     break;
 
   case 236:
-#line 2874 "Gmsh.y"
+#line 2860 "Gmsh.y"
     { 
       if(!(yyvsp[(3) - (3)].d))
 	yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d));
@@ -6892,307 +6878,307 @@ yyreduce:
     break;
 
   case 237:
-#line 2880 "Gmsh.y"
+#line 2866 "Gmsh.y"
     { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d);  ;}
     break;
 
   case 238:
-#line 2881 "Gmsh.y"
+#line 2867 "Gmsh.y"
     { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d));  ;}
     break;
 
   case 239:
-#line 2882 "Gmsh.y"
+#line 2868 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d);      ;}
     break;
 
   case 240:
-#line 2883 "Gmsh.y"
+#line 2869 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d);      ;}
     break;
 
   case 241:
-#line 2884 "Gmsh.y"
+#line 2870 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 242:
-#line 2885 "Gmsh.y"
+#line 2871 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 243:
-#line 2886 "Gmsh.y"
+#line 2872 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 244:
-#line 2887 "Gmsh.y"
+#line 2873 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 245:
-#line 2888 "Gmsh.y"
+#line 2874 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 246:
-#line 2889 "Gmsh.y"
+#line 2875 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d);     ;}
     break;
 
   case 247:
-#line 2890 "Gmsh.y"
+#line 2876 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;}
     break;
 
   case 248:
-#line 2891 "Gmsh.y"
+#line 2877 "Gmsh.y"
     { (yyval.d) = exp((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 249:
-#line 2892 "Gmsh.y"
+#line 2878 "Gmsh.y"
     { (yyval.d) = log((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 250:
-#line 2893 "Gmsh.y"
+#line 2879 "Gmsh.y"
     { (yyval.d) = log10((yyvsp[(3) - (4)].d));    ;}
     break;
 
   case 251:
-#line 2894 "Gmsh.y"
+#line 2880 "Gmsh.y"
     { (yyval.d) = sqrt((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 252:
-#line 2895 "Gmsh.y"
+#line 2881 "Gmsh.y"
     { (yyval.d) = sin((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 253:
-#line 2896 "Gmsh.y"
+#line 2882 "Gmsh.y"
     { (yyval.d) = asin((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 254:
-#line 2897 "Gmsh.y"
+#line 2883 "Gmsh.y"
     { (yyval.d) = cos((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 255:
-#line 2898 "Gmsh.y"
+#line 2884 "Gmsh.y"
     { (yyval.d) = acos((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 256:
-#line 2899 "Gmsh.y"
+#line 2885 "Gmsh.y"
     { (yyval.d) = tan((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 257:
-#line 2900 "Gmsh.y"
+#line 2886 "Gmsh.y"
     { (yyval.d) = atan((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 258:
-#line 2901 "Gmsh.y"
+#line 2887 "Gmsh.y"
     { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}
     break;
 
   case 259:
-#line 2902 "Gmsh.y"
+#line 2888 "Gmsh.y"
     { (yyval.d) = sinh((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 260:
-#line 2903 "Gmsh.y"
+#line 2889 "Gmsh.y"
     { (yyval.d) = cosh((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 261:
-#line 2904 "Gmsh.y"
+#line 2890 "Gmsh.y"
     { (yyval.d) = tanh((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 262:
-#line 2905 "Gmsh.y"
+#line 2891 "Gmsh.y"
     { (yyval.d) = fabs((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 263:
-#line 2906 "Gmsh.y"
+#line 2892 "Gmsh.y"
     { (yyval.d) = floor((yyvsp[(3) - (4)].d));    ;}
     break;
 
   case 264:
-#line 2907 "Gmsh.y"
+#line 2893 "Gmsh.y"
     { (yyval.d) = ceil((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 265:
-#line 2908 "Gmsh.y"
+#line 2894 "Gmsh.y"
     { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
     break;
 
   case 266:
-#line 2909 "Gmsh.y"
+#line 2895 "Gmsh.y"
     { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
     break;
 
   case 267:
-#line 2910 "Gmsh.y"
+#line 2896 "Gmsh.y"
     { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;}
     break;
 
   case 268:
-#line 2911 "Gmsh.y"
+#line 2897 "Gmsh.y"
     { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;}
     break;
 
   case 269:
-#line 2913 "Gmsh.y"
+#line 2899 "Gmsh.y"
     { (yyval.d) = exp((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 270:
-#line 2914 "Gmsh.y"
+#line 2900 "Gmsh.y"
     { (yyval.d) = log((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 271:
-#line 2915 "Gmsh.y"
+#line 2901 "Gmsh.y"
     { (yyval.d) = log10((yyvsp[(3) - (4)].d));    ;}
     break;
 
   case 272:
-#line 2916 "Gmsh.y"
+#line 2902 "Gmsh.y"
     { (yyval.d) = sqrt((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 273:
-#line 2917 "Gmsh.y"
+#line 2903 "Gmsh.y"
     { (yyval.d) = sin((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 274:
-#line 2918 "Gmsh.y"
+#line 2904 "Gmsh.y"
     { (yyval.d) = asin((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 275:
-#line 2919 "Gmsh.y"
+#line 2905 "Gmsh.y"
     { (yyval.d) = cos((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 276:
-#line 2920 "Gmsh.y"
+#line 2906 "Gmsh.y"
     { (yyval.d) = acos((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 277:
-#line 2921 "Gmsh.y"
+#line 2907 "Gmsh.y"
     { (yyval.d) = tan((yyvsp[(3) - (4)].d));      ;}
     break;
 
   case 278:
-#line 2922 "Gmsh.y"
+#line 2908 "Gmsh.y"
     { (yyval.d) = atan((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 279:
-#line 2923 "Gmsh.y"
+#line 2909 "Gmsh.y"
     { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}
     break;
 
   case 280:
-#line 2924 "Gmsh.y"
+#line 2910 "Gmsh.y"
     { (yyval.d) = sinh((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 281:
-#line 2925 "Gmsh.y"
+#line 2911 "Gmsh.y"
     { (yyval.d) = cosh((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 282:
-#line 2926 "Gmsh.y"
+#line 2912 "Gmsh.y"
     { (yyval.d) = tanh((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 283:
-#line 2927 "Gmsh.y"
+#line 2913 "Gmsh.y"
     { (yyval.d) = fabs((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 284:
-#line 2928 "Gmsh.y"
+#line 2914 "Gmsh.y"
     { (yyval.d) = floor((yyvsp[(3) - (4)].d));    ;}
     break;
 
   case 285:
-#line 2929 "Gmsh.y"
+#line 2915 "Gmsh.y"
     { (yyval.d) = ceil((yyvsp[(3) - (4)].d));     ;}
     break;
 
   case 286:
-#line 2930 "Gmsh.y"
+#line 2916 "Gmsh.y"
     { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
     break;
 
   case 287:
-#line 2931 "Gmsh.y"
+#line 2917 "Gmsh.y"
     { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
     break;
 
   case 288:
-#line 2932 "Gmsh.y"
+#line 2918 "Gmsh.y"
     { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;}
     break;
 
   case 289:
-#line 2933 "Gmsh.y"
+#line 2919 "Gmsh.y"
     { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;}
     break;
 
   case 290:
-#line 2942 "Gmsh.y"
+#line 2928 "Gmsh.y"
     { (yyval.d) = (yyvsp[(1) - (1)].d); ;}
     break;
 
   case 291:
-#line 2943 "Gmsh.y"
+#line 2929 "Gmsh.y"
     { (yyval.d) = 3.141592653589793; ;}
     break;
 
   case 292:
-#line 2944 "Gmsh.y"
+#line 2930 "Gmsh.y"
     { (yyval.d) = Msg::GetCommRank(); ;}
     break;
 
   case 293:
-#line 2945 "Gmsh.y"
+#line 2931 "Gmsh.y"
     { (yyval.d) = Msg::GetCommSize(); ;}
     break;
 
   case 294:
-#line 2946 "Gmsh.y"
+#line 2932 "Gmsh.y"
     { (yyval.d) = Get_GmshMajorVersion(); ;}
     break;
 
   case 295:
-#line 2947 "Gmsh.y"
+#line 2933 "Gmsh.y"
     { (yyval.d) = Get_GmshMinorVersion(); ;}
     break;
 
   case 296:
-#line 2948 "Gmsh.y"
+#line 2934 "Gmsh.y"
     { (yyval.d) = Get_GmshPatchVersion(); ;}
     break;
 
   case 297:
-#line 2953 "Gmsh.y"
+#line 2939 "Gmsh.y"
     {
       if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){
 	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c));
@@ -7205,7 +7191,7 @@ yyreduce:
     break;
 
   case 298:
-#line 2966 "Gmsh.y"
+#line 2952 "Gmsh.y"
     {
       char tmpstring[1024];
       sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ;
@@ -7220,7 +7206,7 @@ yyreduce:
     break;
 
   case 299:
-#line 2978 "Gmsh.y"
+#line 2964 "Gmsh.y"
     {
       int index = (int)(yyvsp[(3) - (4)].d);
       if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){
@@ -7238,7 +7224,7 @@ yyreduce:
     break;
 
   case 300:
-#line 2993 "Gmsh.y"
+#line 2979 "Gmsh.y"
     {
       if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){
 	yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c));
@@ -7251,7 +7237,7 @@ yyreduce:
     break;
 
   case 301:
-#line 3003 "Gmsh.y"
+#line 2989 "Gmsh.y"
     {
       if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){
 	yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c));
@@ -7264,7 +7250,7 @@ yyreduce:
     break;
 
   case 302:
-#line 3013 "Gmsh.y"
+#line 2999 "Gmsh.y"
     {
       int index = (int)(yyvsp[(3) - (5)].d);
       if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){
@@ -7282,7 +7268,7 @@ yyreduce:
     break;
 
   case 303:
-#line 3031 "Gmsh.y"
+#line 3017 "Gmsh.y"
     {
       NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d));
       Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c));
@@ -7290,7 +7276,7 @@ yyreduce:
     break;
 
   case 304:
-#line 3036 "Gmsh.y"
+#line 3022 "Gmsh.y"
     {
       NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d));
       Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c));
@@ -7298,7 +7284,7 @@ yyreduce:
     break;
 
   case 305:
-#line 3041 "Gmsh.y"
+#line 3027 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){
@@ -7311,7 +7297,7 @@ yyreduce:
     break;
 
   case 306:
-#line 3051 "Gmsh.y"
+#line 3037 "Gmsh.y"
     {
       double d = 0.;
       if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){
@@ -7324,7 +7310,7 @@ yyreduce:
     break;
 
   case 307:
-#line 3061 "Gmsh.y"
+#line 3047 "Gmsh.y"
     { 
       (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));
       Free((yyvsp[(3) - (6)].c));
@@ -7332,70 +7318,70 @@ yyreduce:
     break;
 
   case 308:
-#line 3069 "Gmsh.y"
+#line 3055 "Gmsh.y"
     {
       memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double));
     ;}
     break;
 
   case 309:
-#line 3073 "Gmsh.y"
+#line 3059 "Gmsh.y"
     {
       for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i];
     ;}
     break;
 
   case 310:
-#line 3077 "Gmsh.y"
+#line 3063 "Gmsh.y"
     { 
       for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i];
     ;}
     break;
 
   case 311:
-#line 3081 "Gmsh.y"
+#line 3067 "Gmsh.y"
     { 
       for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i];
     ;}
     break;
 
   case 312:
-#line 3085 "Gmsh.y"
+#line 3071 "Gmsh.y"
     {
       for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i];
     ;}
     break;
 
   case 313:
-#line 3092 "Gmsh.y"
+#line 3078 "Gmsh.y"
     { 
       (yyval.v)[0] = (yyvsp[(2) - (11)].d);  (yyval.v)[1] = (yyvsp[(4) - (11)].d);  (yyval.v)[2] = (yyvsp[(6) - (11)].d);  (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d);
     ;}
     break;
 
   case 314:
-#line 3096 "Gmsh.y"
+#line 3082 "Gmsh.y"
     { 
       (yyval.v)[0] = (yyvsp[(2) - (9)].d);  (yyval.v)[1] = (yyvsp[(4) - (9)].d);  (yyval.v)[2] = (yyvsp[(6) - (9)].d);  (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0;
     ;}
     break;
 
   case 315:
-#line 3100 "Gmsh.y"
+#line 3086 "Gmsh.y"
     {
       (yyval.v)[0] = (yyvsp[(2) - (7)].d);  (yyval.v)[1] = (yyvsp[(4) - (7)].d);  (yyval.v)[2] = (yyvsp[(6) - (7)].d);  (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
     ;}
     break;
 
   case 316:
-#line 3104 "Gmsh.y"
+#line 3090 "Gmsh.y"
     {
       (yyval.v)[0] = (yyvsp[(2) - (7)].d);  (yyval.v)[1] = (yyvsp[(4) - (7)].d);  (yyval.v)[2] = (yyvsp[(6) - (7)].d);  (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
     ;}
     break;
 
   case 317:
-#line 3111 "Gmsh.y"
+#line 3097 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(List_T*));
       List_Add((yyval.l), &((yyvsp[(1) - (1)].l)));
@@ -7403,14 +7389,14 @@ yyreduce:
     break;
 
   case 318:
-#line 3116 "Gmsh.y"
+#line 3102 "Gmsh.y"
     {
       List_Add((yyval.l), &((yyvsp[(3) - (3)].l)));
     ;}
     break;
 
   case 319:
-#line 3123 "Gmsh.y"
+#line 3109 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double));
       List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
@@ -7418,14 +7404,14 @@ yyreduce:
     break;
 
   case 320:
-#line 3128 "Gmsh.y"
+#line 3114 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(1) - (1)].l);
     ;}
     break;
 
   case 321:
-#line 3132 "Gmsh.y"
+#line 3118 "Gmsh.y"
     {
       // creates an empty list
       (yyval.l) = List_Create(2, 1, sizeof(double));
@@ -7433,14 +7419,14 @@ yyreduce:
     break;
 
   case 322:
-#line 3137 "Gmsh.y"
+#line 3123 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(2) - (3)].l);
     ;}
     break;
 
   case 323:
-#line 3141 "Gmsh.y"
+#line 3127 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(3) - (4)].l);
       for(int i = 0; i < List_Nbr((yyval.l)); i++){
@@ -7451,7 +7437,7 @@ yyreduce:
     break;
 
   case 324:
-#line 3149 "Gmsh.y"
+#line 3135 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(4) - (5)].l);
       for(int i = 0; i < List_Nbr((yyval.l)); i++){
@@ -7462,14 +7448,14 @@ yyreduce:
     break;
 
   case 325:
-#line 3160 "Gmsh.y"
+#line 3146 "Gmsh.y"
     { 
       (yyval.l) = (yyvsp[(1) - (1)].l); 
     ;}
     break;
 
   case 326:
-#line 3164 "Gmsh.y"
+#line 3150 "Gmsh.y"
     {
       if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all"))
         (yyval.l) = 0;
@@ -7481,7 +7467,7 @@ yyreduce:
     break;
 
   case 327:
-#line 3176 "Gmsh.y"
+#line 3162 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(2) - (2)].l);
       for(int i = 0; i < List_Nbr((yyval.l)); i++){
@@ -7492,7 +7478,7 @@ yyreduce:
     break;
 
   case 328:
-#line 3184 "Gmsh.y"
+#line 3170 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(3) - (3)].l);
       for(int i = 0; i < List_Nbr((yyval.l)); i++){
@@ -7503,7 +7489,7 @@ yyreduce:
     break;
 
   case 329:
-#line 3192 "Gmsh.y"
+#line 3178 "Gmsh.y"
     { 
       (yyval.l) = List_Create(2, 1, sizeof(double)); 
       for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d)); 
@@ -7513,7 +7499,7 @@ yyreduce:
     break;
 
   case 330:
-#line 3199 "Gmsh.y"
+#line 3185 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double)); 
       if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){
@@ -7527,7 +7513,7 @@ yyreduce:
     break;
 
   case 331:
-#line 3210 "Gmsh.y"
+#line 3196 "Gmsh.y"
     {
       // Returns the coordinates of a point and fills a list with it.
       // This allows to ensure e.g. that relative point positions are
@@ -7550,7 +7536,7 @@ yyreduce:
     break;
 
   case 332:
-#line 3230 "Gmsh.y"
+#line 3216 "Gmsh.y"
     {
       (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
       for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
@@ -7563,7 +7549,7 @@ yyreduce:
     break;
 
   case 333:
-#line 3240 "Gmsh.y"
+#line 3226 "Gmsh.y"
     {
       (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
       for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
@@ -7576,7 +7562,7 @@ yyreduce:
     break;
 
   case 334:
-#line 3250 "Gmsh.y"
+#line 3236 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double));
       if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c)))
@@ -7589,7 +7575,7 @@ yyreduce:
     break;
 
   case 335:
-#line 3260 "Gmsh.y"
+#line 3246 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double));
       if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c)))
@@ -7609,7 +7595,7 @@ yyreduce:
     break;
 
   case 336:
-#line 3280 "Gmsh.y"
+#line 3266 "Gmsh.y"
     {
       (yyval.l) = List_Create(2, 1, sizeof(double));
       List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
@@ -7617,21 +7603,21 @@ yyreduce:
     break;
 
   case 337:
-#line 3285 "Gmsh.y"
+#line 3271 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(1) - (1)].l);
     ;}
     break;
 
   case 338:
-#line 3289 "Gmsh.y"
+#line 3275 "Gmsh.y"
     {
       List_Add((yyval.l), &((yyvsp[(3) - (3)].d)));
     ;}
     break;
 
   case 339:
-#line 3293 "Gmsh.y"
+#line 3279 "Gmsh.y"
     {
       for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){
 	double d;
@@ -7643,21 +7629,21 @@ yyreduce:
     break;
 
   case 340:
-#line 3305 "Gmsh.y"
+#line 3291 "Gmsh.y"
     {
       (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d));
     ;}
     break;
 
   case 341:
-#line 3309 "Gmsh.y"
+#line 3295 "Gmsh.y"
     {
       (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255);
     ;}
     break;
 
   case 342:
-#line 3321 "Gmsh.y"
+#line 3307 "Gmsh.y"
     {
       int flag;
       (yyval.u) = Get_ColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag);
@@ -7667,7 +7653,7 @@ yyreduce:
     break;
 
   case 343:
-#line 3328 "Gmsh.y"
+#line 3314 "Gmsh.y"
     {
       unsigned int val = 0;
       ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val);
@@ -7677,14 +7663,14 @@ yyreduce:
     break;
 
   case 344:
-#line 3338 "Gmsh.y"
+#line 3324 "Gmsh.y"
     {
       (yyval.l) = (yyvsp[(2) - (3)].l);
     ;}
     break;
 
   case 345:
-#line 3342 "Gmsh.y"
+#line 3328 "Gmsh.y"
     {
       (yyval.l) = List_Create(256, 10, sizeof(unsigned int));
       GmshColorTable *ct = Get_ColorTable((int)(yyvsp[(3) - (6)].d));
@@ -7699,7 +7685,7 @@ yyreduce:
     break;
 
   case 346:
-#line 3357 "Gmsh.y"
+#line 3343 "Gmsh.y"
     {
       (yyval.l) = List_Create(256, 10, sizeof(unsigned int));
       List_Add((yyval.l), &((yyvsp[(1) - (1)].u)));
@@ -7707,21 +7693,21 @@ yyreduce:
     break;
 
   case 347:
-#line 3362 "Gmsh.y"
+#line 3348 "Gmsh.y"
     {
       List_Add((yyval.l), &((yyvsp[(3) - (3)].u)));
     ;}
     break;
 
   case 348:
-#line 3369 "Gmsh.y"
+#line 3355 "Gmsh.y"
     {
       (yyval.c) = (yyvsp[(1) - (1)].c);
     ;}
     break;
 
   case 349:
-#line 3373 "Gmsh.y"
+#line 3359 "Gmsh.y"
     {
       if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){
 	yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c));
@@ -7737,7 +7723,7 @@ yyreduce:
     break;
 
   case 350:
-#line 3386 "Gmsh.y"
+#line 3372 "Gmsh.y"
     { 
       const char *val = "";
       StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), val);
@@ -7748,7 +7734,7 @@ yyreduce:
     break;
 
   case 351:
-#line 3394 "Gmsh.y"
+#line 3380 "Gmsh.y"
     { 
       const char *val = "";
       StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), val);
@@ -7759,14 +7745,14 @@ yyreduce:
     break;
 
   case 352:
-#line 3405 "Gmsh.y"
+#line 3391 "Gmsh.y"
     {
       (yyval.c) = (yyvsp[(1) - (1)].c);
     ;}
     break;
 
   case 353:
-#line 3409 "Gmsh.y"
+#line 3395 "Gmsh.y"
     {
       (yyval.c) = (char *)Malloc(32 * sizeof(char));
       time_t now;
@@ -7777,7 +7763,7 @@ yyreduce:
     break;
 
   case 354:
-#line 3417 "Gmsh.y"
+#line 3403 "Gmsh.y"
     {
       (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (6)].c)) + strlen((yyvsp[(5) - (6)].c)) + 1) * sizeof(char));
       strcpy((yyval.c), (yyvsp[(3) - (6)].c));
@@ -7788,7 +7774,7 @@ yyreduce:
     break;
 
   case 355:
-#line 3425 "Gmsh.y"
+#line 3411 "Gmsh.y"
     {
       (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char));
       int i;
@@ -7805,7 +7791,7 @@ yyreduce:
     break;
 
   case 356:
-#line 3439 "Gmsh.y"
+#line 3425 "Gmsh.y"
     {
       (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char));
       int i;
@@ -7822,14 +7808,14 @@ yyreduce:
     break;
 
   case 357:
-#line 3453 "Gmsh.y"
+#line 3439 "Gmsh.y"
     {
       (yyval.c) = (yyvsp[(3) - (4)].c);
     ;}
     break;
 
   case 358:
-#line 3457 "Gmsh.y"
+#line 3443 "Gmsh.y"
     {
       char tmpstring[1024];
       int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring);
@@ -7852,7 +7838,7 @@ yyreduce:
 
 
 /* Line 1267 of yacc.c.  */
-#line 7856 "Gmsh.tab.cpp"
+#line 7842 "Gmsh.tab.cpp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -8066,7 +8052,7 @@ yyreturn:
 }
 
 
-#line 3477 "Gmsh.y"
+#line 3463 "Gmsh.y"
 
 
 int PrintListOfDouble(char *format, List_T *list, char *buffer)
@@ -8104,25 +8090,26 @@ int PrintListOfDouble(char *format, List_T *list, char *buffer)
   return 0;
 }
 
-Double_Matrix *ListOfListOfDouble2Matrix(List_T *list)
+Double_Matrix ListOfListOfDouble2Matrix(List_T *list)
 {
   int M = List_Nbr(list);
-  if(!M) return 0;
   int N = 0;
   for(int i = 0; i < M; i++){
     List_T *line = *(List_T**)List_Pointer_Fast(list, i);
     N = std::max(N, List_Nbr(line));
   }
-  if(!N) return 0;
-  Double_Matrix *mat = new Double_Matrix(M, N);
+  Double_Matrix mat(M, N);
   for(int i = 0; i < M; i++){
     List_T *line = *(List_T**)List_Pointer_Fast(list, i);
     for(int j = 0; j < List_Nbr(line); j++){
       double val;
       List_Read(line, j, &val);
-      (*mat)(i, j) = val;
+      mat(i, j) = val;
     }
   }
+  for(int i = 0; i < List_Nbr(list); i++)
+    List_Delete(*(List_T**)List_Pointer(list, i));
+  List_Delete(list);
   return mat;
 }
 
diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y
index e7e7255da85a7562062718cb575ddafc04148663..b04118f1cbe477a312f5519cb1d5ce9889f8f09e 100644
--- a/Parser/Gmsh.y
+++ b/Parser/Gmsh.y
@@ -1,5 +1,5 @@
 %{
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -66,7 +66,7 @@ void yyerror(char *s);
 void yymsg(int level, const char *fmt, ...);
 void skip_until(const char *skip, const char *until);
 int PrintListOfDouble(char *format, List_T *list, char *buffer);
-Double_Matrix *ListOfListOfDouble2Matrix(List_T *list);
+Double_Matrix ListOfListOfDouble2Matrix(List_T *list);
 void FixRelativePath(const char *in, char *out);
 %}
 
@@ -557,11 +557,6 @@ InterpolationMatrix :
 	0;
       ViewData->setInterpolationMatrices(type, ListOfListOfDouble2Matrix($3), 
                                          ListOfListOfDouble2Matrix($6));
-      for(int i = 0; i < List_Nbr($3); i++)
-        List_Delete(*(List_T**)List_Pointer($3, i));
-      for(int i = 0; i < List_Nbr($6); i++)
-        List_Delete(*(List_T**)List_Pointer($6, i));
-      List_Delete($3); List_Delete($6);
 #endif
     }
  |  tInterpolationScheme '{' RecursiveListOfListOfDouble '}' 
@@ -581,15 +576,6 @@ InterpolationMatrix :
                                          ListOfListOfDouble2Matrix($6),
                                          ListOfListOfDouble2Matrix($9), 
                                          ListOfListOfDouble2Matrix($12));
-      for(int i = 0; i < List_Nbr($3); i++) 
-        List_Delete(*(List_T**)List_Pointer($3, i));
-      for(int i = 0; i < List_Nbr($6); i++) 
-        List_Delete(*(List_T**)List_Pointer($6, i));
-      for(int i = 0; i < List_Nbr($9); i++) 
-        List_Delete(*(List_T**)List_Pointer($9, i));
-      for(int i = 0; i < List_Nbr($12); i++) 
-        List_Delete(*(List_T**)List_Pointer($12, i));
-      List_Delete($3); List_Delete($6); List_Delete($9); List_Delete($12);
 #endif
     }
 ;
@@ -3511,25 +3497,26 @@ int PrintListOfDouble(char *format, List_T *list, char *buffer)
   return 0;
 }
 
-Double_Matrix *ListOfListOfDouble2Matrix(List_T *list)
+Double_Matrix ListOfListOfDouble2Matrix(List_T *list)
 {
   int M = List_Nbr(list);
-  if(!M) return 0;
   int N = 0;
   for(int i = 0; i < M; i++){
     List_T *line = *(List_T**)List_Pointer_Fast(list, i);
     N = std::max(N, List_Nbr(line));
   }
-  if(!N) return 0;
-  Double_Matrix *mat = new Double_Matrix(M, N);
+  Double_Matrix mat(M, N);
   for(int i = 0; i < M; i++){
     List_T *line = *(List_T**)List_Pointer_Fast(list, i);
     for(int j = 0; j < List_Nbr(line); j++){
       double val;
       List_Read(line, j, &val);
-      (*mat)(i, j) = val;
+      mat(i, j) = val;
     }
   }
+  for(int i = 0; i < List_Nbr(list); i++)
+    List_Delete(*(List_T**)List_Pointer(list, i));
+  List_Delete(list);
   return mat;
 }
 
diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp
index 2efe86a00103e9dd0c3f73c22cbdee493807e761..0e7fac8f53ebd1f6809f80ebc1b46bd0f759fa5e 100644
--- a/Parser/Gmsh.yy.cpp
+++ b/Parser/Gmsh.yy.cpp
@@ -823,7 +823,7 @@ int gmsh_yy_flex_debug = 0;
 char *gmsh_yytext;
 #line 1 "Gmsh.l"
 #line 2 "Gmsh.l"
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Parser/Makefile b/Parser/Makefile
index 70c93f3b50894443299220d55b801e8f8c6a44c9..247dd581e9f230b5a7b84dacdbae52169772df38 100644
--- a/Parser/Makefile
+++ b/Parser/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/Parser/Parser.h b/Parser/Parser.h
index 8270c2b7b8a710969f21064bd9567ab382169e2b..21643df1589b10213394071428d8db7e632b2faf 100644
--- a/Parser/Parser.h
+++ b/Parser/Parser.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Annotate.cpp b/Plugin/Annotate.cpp
index ebd8fb1d97daab99b5a834e01dde8835b660689e..a5f52dcebc805274af402cc311ccd953fc0b195b 100644
--- a/Plugin/Annotate.cpp
+++ b/Plugin/Annotate.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Annotate.h b/Plugin/Annotate.h
index 1e23dab69d63c282d404e932fabcebb709637ee9..f5212d707dec02b4abfdb2fe2d20c5532d1c42cc 100644
--- a/Plugin/Annotate.h
+++ b/Plugin/Annotate.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Curl.cpp b/Plugin/Curl.cpp
index 98381027c4b1977fa32bba9ce763c2c997c34597..c1680c24a2756040954937266a61d62b46c11538 100644
--- a/Plugin/Curl.cpp
+++ b/Plugin/Curl.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Curl.h b/Plugin/Curl.h
index f528a5f73de9759665a7e2b2c4ba220ff082cc1c..e584e1adaba4f7577198d964a73e710e2774ac8c 100644
--- a/Plugin/Curl.h
+++ b/Plugin/Curl.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/CutGrid.cpp b/Plugin/CutGrid.cpp
index 320a2298870c627bbe09b5671c00ea6a1e2b0f11..31591d4c8d20cd9141e686e15981bc56584c727f 100644
--- a/Plugin/CutGrid.cpp
+++ b/Plugin/CutGrid.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/CutGrid.h b/Plugin/CutGrid.h
index a7383cd5385a3a6044473f0a11c0280e3d5b72a5..e4e875e758c5148579838f6d76685804e4cc41c7 100644
--- a/Plugin/CutGrid.h
+++ b/Plugin/CutGrid.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/CutMap.cpp b/Plugin/CutMap.cpp
index a745f6018726532d348b6d844d9ba6648ccdf94b..f2851e752248e4e9c73c95320d8dd5cc579e2fa6 100644
--- a/Plugin/CutMap.cpp
+++ b/Plugin/CutMap.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/CutMap.h b/Plugin/CutMap.h
index 8d5d5c27b7307657b5ae7672394c176ee4faa33f..b471a28c06f2d47016f0eee61c77d1b4301de3e7 100644
--- a/Plugin/CutMap.h
+++ b/Plugin/CutMap.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/CutParametric.cpp b/Plugin/CutParametric.cpp
index 284b285b40eac9c65761f672b8208956529c01e8..c85386cf5d440cd0b06718a8d8133a55e642b9ee 100644
--- a/Plugin/CutParametric.cpp
+++ b/Plugin/CutParametric.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/CutParametric.h b/Plugin/CutParametric.h
index a4c2b9525c0c6c63ad9a7a1a6df95d7cc912b2b9..e69b33c057553a0068919afa818415e9c54407e6 100644
--- a/Plugin/CutParametric.h
+++ b/Plugin/CutParametric.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/CutPlane.cpp b/Plugin/CutPlane.cpp
index 72a2d6b42e894fde3ad8705be975eb2f754c927a..220d08473cb0cd50d5516e06a21d6b4a9ae6cced 100644
--- a/Plugin/CutPlane.cpp
+++ b/Plugin/CutPlane.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/CutPlane.h b/Plugin/CutPlane.h
index b9d8e1133aeb0d496b47fea7d11ad5622c53c8f8..0df33a8d9690a44b07bfa949ebbcbe8c95c64125 100644
--- a/Plugin/CutPlane.h
+++ b/Plugin/CutPlane.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/CutSphere.cpp b/Plugin/CutSphere.cpp
index 5b06e4ec09a3a471696c6353ae6b3c86e2a56b24..1608248e37086c742bd9d4ce5295543553465b06 100644
--- a/Plugin/CutSphere.cpp
+++ b/Plugin/CutSphere.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/CutSphere.h b/Plugin/CutSphere.h
index 8d9867d6f760f212c86c191d0162c65333424972..45956ac320b8fae78ef533e7dda9ae09b1f9a2c7 100644
--- a/Plugin/CutSphere.h
+++ b/Plugin/CutSphere.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Divergence.cpp b/Plugin/Divergence.cpp
index 4cc4f2f486c696e92998d71d0434a4a5511ffd24..fd7e25f1aab9838e1bedf1f85acabd85e5a9787b 100644
--- a/Plugin/Divergence.cpp
+++ b/Plugin/Divergence.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Divergence.h b/Plugin/Divergence.h
index 116865a40ef59462d2c84d666dac7993639b43af..067a943d72a182b41349e1b32082f25889261b53 100644
--- a/Plugin/Divergence.h
+++ b/Plugin/Divergence.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Eigenvalues.cpp b/Plugin/Eigenvalues.cpp
index 06e7804b09be5749d04b755f0eaa36141e045343..a69d99ede3fd71fcc9aa9fe5eb5e5dc86ba77d74 100644
--- a/Plugin/Eigenvalues.cpp
+++ b/Plugin/Eigenvalues.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Eigenvalues.h b/Plugin/Eigenvalues.h
index c423650a7e894111c4d44e3f69ee6f19ea0fea4a..e536761fe62ae23e1196a4ad39e4504c4b9047c5 100644
--- a/Plugin/Eigenvalues.h
+++ b/Plugin/Eigenvalues.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Eigenvectors.cpp b/Plugin/Eigenvectors.cpp
index 259ec5b4829add21d7ce07f92eeccb92031b71fb..d7245375f17741fccb14fe64eddfed97be0252c1 100644
--- a/Plugin/Eigenvectors.cpp
+++ b/Plugin/Eigenvectors.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Eigenvectors.h b/Plugin/Eigenvectors.h
index 3ccf7dc88ccfc462b3aad1c99a7e3238f5b97b98..1e67306752b98eac45b72ffb5fae886cbdcee38e 100644
--- a/Plugin/Eigenvectors.h
+++ b/Plugin/Eigenvectors.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Evaluate.cpp b/Plugin/Evaluate.cpp
index 770316436738a030825e71957bad6009f2a33d8b..b3b8d6800a3d126b97b82ff0913c0cbc32a0b41e 100644
--- a/Plugin/Evaluate.cpp
+++ b/Plugin/Evaluate.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Evaluate.h b/Plugin/Evaluate.h
index cee80559b0a516b62168b97f861b33c15dff672d..b02381620967e63e9931faa5b80056400b11260e 100644
--- a/Plugin/Evaluate.h
+++ b/Plugin/Evaluate.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Extract.cpp b/Plugin/Extract.cpp
index 57aa18004e7988dbed1602213e0ef2b3ea510245..afceab210d9eb5d7ddcb3e1a48b56ef6f8c8fe32 100644
--- a/Plugin/Extract.cpp
+++ b/Plugin/Extract.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Extract.h b/Plugin/Extract.h
index 0e9d7cd5187f358e2be18fc94e4de05a2f1562e1..2cb966cdb0ac5f0936c5e348919a04c304bd6728 100644
--- a/Plugin/Extract.h
+++ b/Plugin/Extract.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/ExtractEdges.cpp b/Plugin/ExtractEdges.cpp
index 1b196b02708a49a2ce60341cad6095e0076cfcb1..cc8570254b568f893d924081badcdb59a4b18215 100644
--- a/Plugin/ExtractEdges.cpp
+++ b/Plugin/ExtractEdges.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/ExtractEdges.h b/Plugin/ExtractEdges.h
index 64280ce6ca27a55d6eb077a076e69c19f684161a..4d13b2ccd0ddcb3b59576cbec8e549ea91e40718 100644
--- a/Plugin/ExtractEdges.h
+++ b/Plugin/ExtractEdges.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/ExtractElements.cpp b/Plugin/ExtractElements.cpp
index f281e5eb90dd0b75be44531612bcef307ff17674..baa3040740cb5b72106c547784b372a3486a02ec 100644
--- a/Plugin/ExtractElements.cpp
+++ b/Plugin/ExtractElements.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/ExtractElements.h b/Plugin/ExtractElements.h
index c26606f10c8664b1a48b2e512323e8b6f5f2bb82..790f0781fd400497f7c28540479f33b7bc13c8d0 100644
--- a/Plugin/ExtractElements.h
+++ b/Plugin/ExtractElements.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/FieldView.cpp b/Plugin/FieldView.cpp
index 163e670020c30178e9df55982631367fc571238f..fc94e58d85800c27f616f249aa0b33abed7d83b4 100644
--- a/Plugin/FieldView.cpp
+++ b/Plugin/FieldView.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/FieldView.h b/Plugin/FieldView.h
index f938f6ac89b086bb44aa42d2de6ffdeb7b843d3e..7fedc3936efeff5a543ecdf85e7925bb6fe2aadd 100644
--- a/Plugin/FieldView.h
+++ b/Plugin/FieldView.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/GSHHS.cpp b/Plugin/GSHHS.cpp
index a1b48635aa5fdf1ac27b388d9c9d22386b273c4f..c01cc0c62ede72bc3aa74831437b78538540123c 100644
--- a/Plugin/GSHHS.cpp
+++ b/Plugin/GSHHS.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -284,7 +284,7 @@ class GeoEarthImport
   }
 };
 
-/*	$Id: GSHHS.cpp,v 1.17 2008-11-06 14:02:06 remacle Exp $
+/*	$Id: GSHHS.cpp,v 1.18 2008-12-29 09:43:39 geuzaine Exp $
  *
  * Include file defining structures used in gshhs.c
  *
diff --git a/Plugin/GSHHS.h b/Plugin/GSHHS.h
index 44a46459077e274560e49f482f3dfd7cbb5d0f4f..be23327f019cadd3cfb2dc0a36e01a433658f0bc 100644
--- a/Plugin/GSHHS.h
+++ b/Plugin/GSHHS.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Gradient.cpp b/Plugin/Gradient.cpp
index 58c1fafdcb97086ce243183ea70f5b51c89fea26..20acd61eb181ba7cd8afc99554eb7cab7ee037d8 100644
--- a/Plugin/Gradient.cpp
+++ b/Plugin/Gradient.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Gradient.h b/Plugin/Gradient.h
index a460438a09f153d4153eb8cce892c2c623080a8d..664058006212b76b0cbb98516c7bfea086f7e0e4 100644
--- a/Plugin/Gradient.h
+++ b/Plugin/Gradient.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/HarmonicToTime.cpp b/Plugin/HarmonicToTime.cpp
index 4c1f39cfb2193da1638c24c386848b7a6f55b7ba..e206cf0ad7d420ec28bd7fe5cd0b1460354574a7 100644
--- a/Plugin/HarmonicToTime.cpp
+++ b/Plugin/HarmonicToTime.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/HarmonicToTime.h b/Plugin/HarmonicToTime.h
index 2f34c6b780c160ebb44ec214a3111f1de219d72c..da0c5404faa4533e1254147d28c1ed1c7ba721ad 100644
--- a/Plugin/HarmonicToTime.h
+++ b/Plugin/HarmonicToTime.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Integrate.cpp b/Plugin/Integrate.cpp
index e8b4a0b50f1ab814b854a04bac2f6be657c023b2..2c136442ec8b873e35f68df7ebeee0608fad007a 100644
--- a/Plugin/Integrate.cpp
+++ b/Plugin/Integrate.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Integrate.h b/Plugin/Integrate.h
index b141defec7f194ebedad312c6347f0935a6f5508..7afaa789e9aaf8328942913564e8e1796b17bc5c 100644
--- a/Plugin/Integrate.h
+++ b/Plugin/Integrate.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Lambda2.cpp b/Plugin/Lambda2.cpp
index dc9464836b8af9b073c2ef30306e30a2b12d8cff..0ebc895fbf75835198ca0e4849dadcf086f2b77c 100644
--- a/Plugin/Lambda2.cpp
+++ b/Plugin/Lambda2.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Lambda2.h b/Plugin/Lambda2.h
index e357073d76ea5b58463e79cfbde63d38fca15c55..743a8cc5527671285ed7041030b4bddf92f3d4a2 100644
--- a/Plugin/Lambda2.h
+++ b/Plugin/Lambda2.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Levelset.cpp b/Plugin/Levelset.cpp
index 78735a662c9cfb965acfc752cc2f29cb6504f893..50579da9b9e02845b7210be99f2065f01cb9ecbe 100644
--- a/Plugin/Levelset.cpp
+++ b/Plugin/Levelset.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Levelset.h b/Plugin/Levelset.h
index 5d03db229c680660b1699bf872d9017d444f19b6..0d39dead855ad513e54735cd543215220af0d306 100644
--- a/Plugin/Levelset.h
+++ b/Plugin/Levelset.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/LongitudeLatitude.cpp b/Plugin/LongitudeLatitude.cpp
index 3fee81449925756420acb74e4a51d82dd3135dd0..903d88f0337ce7b6ab657c36d749918b5aee5d3d 100644
--- a/Plugin/LongitudeLatitude.cpp
+++ b/Plugin/LongitudeLatitude.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/LongitudeLatitude.h b/Plugin/LongitudeLatitude.h
index 457b15a4e14a2c596c50aee540e84b71ad55ca91..fc720d0eb15d191f981d93374bcb40a2c827b718 100644
--- a/Plugin/LongitudeLatitude.h
+++ b/Plugin/LongitudeLatitude.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/MakeSimplex.cpp b/Plugin/MakeSimplex.cpp
index 6836e21f0593bd348e98ba8e7c6b930951dbe67a..cb8797edf078ebf2c328c06f3d1fc73042842d45 100644
--- a/Plugin/MakeSimplex.cpp
+++ b/Plugin/MakeSimplex.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/MakeSimplex.h b/Plugin/MakeSimplex.h
index 714dc583d18f7c86c078a89de8c6f4a2d39b20f4..762b9db57118b2ba3b318a47b52182e50c3547cd 100644
--- a/Plugin/MakeSimplex.h
+++ b/Plugin/MakeSimplex.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Makefile b/Plugin/Makefile
index 185d0d4a1beb8ef62e528b385ef7cc8236337a71..168bb719405f5d72bec06098ecc49c6041eee122 100644
--- a/Plugin/Makefile
+++ b/Plugin/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/ModulusPhase.cpp b/Plugin/ModulusPhase.cpp
index 93457376a9efe41f6c27632f49c7fe500432e9d4..6523d7fa58b574a8a3a2e1c2f2d2258266eb837a 100644
--- a/Plugin/ModulusPhase.cpp
+++ b/Plugin/ModulusPhase.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/ModulusPhase.h b/Plugin/ModulusPhase.h
index 2548687123f676945494c2162ceeceb716363c3e..16b65185a3d8923cfc4e4cbd98427c43766bccf1 100644
--- a/Plugin/ModulusPhase.h
+++ b/Plugin/ModulusPhase.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Plugin.cpp b/Plugin/Plugin.cpp
index 27b8a4f69a5064e6f2c72f4c7618e95900802725..31d48c6f73d482cc31215db11664dd8c2315b375 100644
--- a/Plugin/Plugin.cpp
+++ b/Plugin/Plugin.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Plugin.h b/Plugin/Plugin.h
index b1855267edccc46b33303629f02de5506b0f6225..b450c1690fac30ff39e550cdbf9ce7a1529a6a84 100644
--- a/Plugin/Plugin.h
+++ b/Plugin/Plugin.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/PluginManager.cpp b/Plugin/PluginManager.cpp
index 0d1dac9f089b93dba9c862be7da45768038a983f..028619e0b45c13801d20cf6fe69cd5da6bccfdf1 100644
--- a/Plugin/PluginManager.cpp
+++ b/Plugin/PluginManager.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/PluginManager.h b/Plugin/PluginManager.h
index dc7c990b09349af6b528c5365a30370ce886ab7f..4b8e3dde1abe161399c81523a74f609eab10dc7b 100644
--- a/Plugin/PluginManager.h
+++ b/Plugin/PluginManager.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Probe.cpp b/Plugin/Probe.cpp
index 4cfbb5c46c87363b83af3b90e9cff32344784ea8..dc8cce28f431b03e4d335993c11e101e0da57aef 100644
--- a/Plugin/Probe.cpp
+++ b/Plugin/Probe.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Probe.h b/Plugin/Probe.h
index 1367774c1a0400d37ac769e4432d6ba0a4a4666b..4a38cce27b3a0a730a0d5fd57368ca89f0c75bb1 100644
--- a/Plugin/Probe.h
+++ b/Plugin/Probe.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Remove.cpp b/Plugin/Remove.cpp
index 035c0bec30d5f3a1eadbe4adbed7da57b986af20..8727ca41f09c6f8809b8eb71351954208430f272 100644
--- a/Plugin/Remove.cpp
+++ b/Plugin/Remove.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Remove.h b/Plugin/Remove.h
index 189a52f75ab8b0f27beaf30c1852e30a793595bb..58bd6e5685394779b69b2e8f8abebf4f30b39b1e 100644
--- a/Plugin/Remove.h
+++ b/Plugin/Remove.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Skin.cpp b/Plugin/Skin.cpp
index 00b7a169803846bc3f7124fd4ac55b22bf258fa7..67608fafb578301aedbb90c947d7ae7c3f5a9a8d 100644
--- a/Plugin/Skin.cpp
+++ b/Plugin/Skin.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Skin.h b/Plugin/Skin.h
index 462fdf32d0badb6a0b5db820edc322e610ab3f74..46513077aa0694619fcf6358e5422960ba527275 100644
--- a/Plugin/Skin.h
+++ b/Plugin/Skin.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Smooth.cpp b/Plugin/Smooth.cpp
index 66296710d88e66815219ac0c9b8d74b93ad90ed6..28a1531ce2c41525bd8fc1e80627dcffa9fcda20 100644
--- a/Plugin/Smooth.cpp
+++ b/Plugin/Smooth.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Smooth.h b/Plugin/Smooth.h
index 4d03f4f805bb96e1174f0d90e90e0d9ff5143dce..49d5b9584908c4f14ac831e6595c6b442c100751 100644
--- a/Plugin/Smooth.h
+++ b/Plugin/Smooth.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/SphericalRaise.cpp b/Plugin/SphericalRaise.cpp
index 07b95be06a7299ea2ca65798f6fda8f8f3382376..99b19b56cdbd8fa84467d29cc1650574c1cc3983 100644
--- a/Plugin/SphericalRaise.cpp
+++ b/Plugin/SphericalRaise.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/SphericalRaise.h b/Plugin/SphericalRaise.h
index 1d702cdead50a9a3973e1ec4be8711ee74f4efe7..97bef18b6c37561d480c75628a2bf8aa1923f0d6 100644
--- a/Plugin/SphericalRaise.h
+++ b/Plugin/SphericalRaise.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/StreamLines.cpp b/Plugin/StreamLines.cpp
index 976c023a188ed3830e8f0cefec7084bf87b7015c..f5fddee5b4a0d2e2cd53a4b6e0bd7cb4bce1b4a1 100644
--- a/Plugin/StreamLines.cpp
+++ b/Plugin/StreamLines.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/StreamLines.h b/Plugin/StreamLines.h
index 1e75981f6aa741056b2e57c5a5456242f0b5096f..142bcfe3c9af11399dd686b69bb35e935ee423f9 100644
--- a/Plugin/StreamLines.h
+++ b/Plugin/StreamLines.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Transform.cpp b/Plugin/Transform.cpp
index 2831b26b2aa1d7a40e007c00cf8c19feabda1dea..1e6044da0571eb8496afc0ff689a31d0081deabb 100644
--- a/Plugin/Transform.cpp
+++ b/Plugin/Transform.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Transform.h b/Plugin/Transform.h
index 69be738f5ba1f4af85f4ae3ef9e8d8f4d44d9846..cba8b8ddf8fae394abecd2af8413fb97ed37cf7d 100644
--- a/Plugin/Transform.h
+++ b/Plugin/Transform.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Triangulate.cpp b/Plugin/Triangulate.cpp
index 934734571af1f91f909993c4c61281347aea173c..05a507ed5bc76b54d9a5ba411ec942febead0876 100644
--- a/Plugin/Triangulate.cpp
+++ b/Plugin/Triangulate.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Triangulate.h b/Plugin/Triangulate.h
index a484af0b665ee1bedc55268c8cb821dc90f19638..5bec55b1c02dcb0e925e117093b74bf23bbb5c44 100644
--- a/Plugin/Triangulate.h
+++ b/Plugin/Triangulate.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Warp.cpp b/Plugin/Warp.cpp
index 0a20162466d8092833ea7d20af20124726c80d11..ecfd6ee000789e3156bcabd40276f54a61a2674f 100644
--- a/Plugin/Warp.cpp
+++ b/Plugin/Warp.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Plugin/Warp.h b/Plugin/Warp.h
index 50ae863f73b0286a6a871314f6f0818da18fd5cc..c214fbf22566acb69c4f211a944c667bd7096be6 100644
--- a/Plugin/Warp.h
+++ b/Plugin/Warp.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/ColorTable.cpp b/Post/ColorTable.cpp
index eb1c171c5992e690f4cc6ed68c9773675bb6ec35..f51679741dd939314cde6127b885daa7af2fa85f 100644
--- a/Post/ColorTable.cpp
+++ b/Post/ColorTable.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/ColorTable.h b/Post/ColorTable.h
index 68949b85b42cb5132bfeaa9ab60e84de5c24243a..7b8596d221f1a2aad011608e76291b4fe6a236a3 100644
--- a/Post/ColorTable.h
+++ b/Post/ColorTable.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/Makefile b/Post/Makefile
index 62a448177bfa245fc02a0532141cfafc4f2919f8..9d976cc09586ac68084c1768022cb2e35c0313e5 100644
--- a/Post/Makefile
+++ b/Post/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/OctreePost.cpp b/Post/OctreePost.cpp
index 43cf929661266c5dd8f0e639bf5c7aaa4a879407..3f70468da4e53f5fb5c70a8bfc5453d134602ba9 100644
--- a/Post/OctreePost.cpp
+++ b/Post/OctreePost.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/OctreePost.h b/Post/OctreePost.h
index 9e28ee86eb0887c1cc5da073635e0899e8ddcaab..dcf654c12a643a0e4e677b539ea85c7057ab7de6 100644
--- a/Post/OctreePost.h
+++ b/Post/OctreePost.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/PView.cpp b/Post/PView.cpp
index 2e8e51bb6ff9a115a95364e4ee4ce2484e709518..8f6509ad510c1dd7c7e8db9c0970bef5687d46a2 100644
--- a/Post/PView.cpp
+++ b/Post/PView.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/PView.h b/Post/PView.h
index c8c6fed3b668e87a66bde60b22a93ca206736684..2b868a35f47082a429752bdd75658aa14948e697 100644
--- a/Post/PView.h
+++ b/Post/PView.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/PViewData.cpp b/Post/PViewData.cpp
index 35adb58388ee30e041ff9f3ddaf5cfaeb88f6521..53ef81ec40d375ff1ab043803698103e84427557 100644
--- a/Post/PViewData.cpp
+++ b/Post/PViewData.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -74,15 +74,25 @@ void PViewData::setValue(int step, int ent, int ele, int nod, int comp, double v
 }
 
 void PViewData::setInterpolationMatrices(int type, 
-                                         Double_Matrix *coeffs, Double_Matrix *eexps,
-                                         Double_Matrix *coeffsGeo, Double_Matrix *eexpsGeo)
+                                         const Double_Matrix &coefVal,
+                                         const Double_Matrix &expVal)
 {
-  if(!type || !_interpolation[type].empty()) return;
-  Msg::Debug("Storing interpolation scheme %d in view %p", type, this);
-  if(coeffs) _interpolation[type].push_back(coeffs);
-  if(eexps) _interpolation[type].push_back(eexps);
-  if(coeffsGeo) _interpolation[type].push_back(coeffsGeo);
-  if(eexpsGeo) _interpolation[type].push_back(eexpsGeo);
+  if(!type || _interpolation[type].size()) return;
+  _interpolation[type].push_back(new Double_Matrix(coefVal));
+  _interpolation[type].push_back(new Double_Matrix(expVal));
+}
+
+void PViewData::setInterpolationMatrices(int type, 
+                                         const Double_Matrix &coefVal,
+                                         const Double_Matrix &expVal, 
+                                         const Double_Matrix &coefGeo,
+                                         const Double_Matrix &expGeo)
+{
+  if(!type || _interpolation[type].size()) return;
+  _interpolation[type].push_back(new Double_Matrix(coefVal));
+  _interpolation[type].push_back(new Double_Matrix(expVal));
+  _interpolation[type].push_back(new Double_Matrix(coefGeo));
+  _interpolation[type].push_back(new Double_Matrix(expGeo));
 }
 
 int PViewData::getInterpolationMatrices(int type, std::vector<Double_Matrix*> &p)
diff --git a/Post/PViewData.h b/Post/PViewData.h
index 5ca35f307e80db9d8629b918b48f9423dc22fbdc..66c61094fa7df77cbffd90aef3d66eac580cd9b6 100644
--- a/Post/PViewData.h
+++ b/Post/PViewData.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -178,8 +178,14 @@ class PViewData {
 
   // set/get the interpolation matrices for elements with "type"
   // number of edges
-  void setInterpolationMatrices(int type, Double_Matrix *coeffs, Double_Matrix *eexps,
-                                Double_Matrix *coeffsGeo=0, Double_Matrix *eexpsGeo=0);
+  void setInterpolationMatrices(int type, 
+                                const Double_Matrix &coefVal,
+                                const Double_Matrix &expVal);
+  void setInterpolationMatrices(int type, 
+                                const Double_Matrix &coefVal,
+                                const Double_Matrix &expVal,
+                                const Double_Matrix &coefGeo, 
+                                const Double_Matrix &expGeo);
   int getInterpolationMatrices(int type, std::vector<Double_Matrix*> &p);
   inline bool haveInterpolationMatrices(){ return !_interpolation.empty(); }
 
diff --git a/Post/PViewDataGModel.cpp b/Post/PViewDataGModel.cpp
index 18d7a02f842f73b4d39522f75c857729ba66d4d1..5ac90c84c875b72cf2ca5fbd32ae111668df1846 100644
--- a/Post/PViewDataGModel.cpp
+++ b/Post/PViewDataGModel.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -59,23 +59,26 @@ bool PViewDataGModel::finalize()
   // overidden later)
   for(int step = 0; step < getNumTimeSteps(); step++){
     GModel *m = _steps[step]->getModel();
-    for(GModel::eiter it = m->firstEdge(); it != m->lastEdge(); it++)
+    for(GModel::eiter it = m->firstEdge(); it != m->lastEdge(); it++){
       if((*it)->lines.size()) 
         _addInterpolationMatricesForElement((*it)->lines[0]);
-    for(GModel::fiter it = m->firstFace(); it != m->lastFace(); it++)
+    }
+    for(GModel::fiter it = m->firstFace(); it != m->lastFace(); it++){
       if((*it)->triangles.size()) 
         _addInterpolationMatricesForElement((*it)->triangles[0]);
-      else if((*it)->quadrangles.size()) 
+      if((*it)->quadrangles.size()) 
         _addInterpolationMatricesForElement((*it)->quadrangles[0]);
-    for(GModel::riter it = m->firstRegion(); it != m->lastRegion(); it++)
+    }
+    for(GModel::riter it = m->firstRegion(); it != m->lastRegion(); it++){
       if((*it)->tetrahedra.size()) 
         _addInterpolationMatricesForElement((*it)->tetrahedra[0]);
-      else if((*it)->hexahedra.size()) 
+      if((*it)->hexahedra.size()) 
         _addInterpolationMatricesForElement((*it)->hexahedra[0]);
-      else if((*it)->prisms.size()) 
+      if((*it)->prisms.size()) 
         _addInterpolationMatricesForElement((*it)->prisms[0]);
-      else if((*it)->pyramids.size()) 
+      if((*it)->pyramids.size()) 
         _addInterpolationMatricesForElement((*it)->pyramids[0]);
+    }
   }
 
   return PViewData::finalize();
@@ -84,20 +87,14 @@ bool PViewDataGModel::finalize()
 void PViewDataGModel::_addInterpolationMatricesForElement(MElement *e)
 {
   int edg = e->getNumEdges();
-  if(_interpolation.count(edg)) return;
   const gmshFunctionSpace *fs = e->getFunctionSpace();
   if(fs){
-    _interpolation[edg].push_back(new Double_Matrix(fs->coefficients));
-    _interpolation[edg].push_back(new Double_Matrix(fs->monomials));
-    if(e->getPolynomialOrder() > 1){
-      _interpolation[edg].push_back(new Double_Matrix(fs->coefficients));
-      _interpolation[edg].push_back(new Double_Matrix(fs->monomials));
-    }
-  }
-  else{
-    Msg::Info("No interpolation matrix for element type %d: using first order", 
-              e->getTypeForMSH());
-  }
+    if(e->getPolynomialOrder() > 1)
+      setInterpolationMatrices(edg, fs->coefficients, fs->monomials,
+                               fs->coefficients, fs->monomials);
+    else
+      setInterpolationMatrices(edg, fs->coefficients, fs->monomials);
+  }                               
 }
 
 MElement *PViewDataGModel::_getElement(int step, int ent, int ele)
diff --git a/Post/PViewDataGModel.h b/Post/PViewDataGModel.h
index 94e1d40cf05b716ff36f9e2fce5e9b61dd1cfe93..0d23113f9de25e01c99347fe0326ccb750c4a5c6 100644
--- a/Post/PViewDataGModel.h
+++ b/Post/PViewDataGModel.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/PViewDataGModelIO.cpp b/Post/PViewDataGModelIO.cpp
index c3d557edb609f53dfeb76a5887d5299eadd24142..c5728cafc6b4a26e9c1c8e06ed63bc7d77a9ee95 100644
--- a/Post/PViewDataGModelIO.cpp
+++ b/Post/PViewDataGModelIO.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/PViewDataIO.cpp b/Post/PViewDataIO.cpp
index 68d72bad21fcc1069aabd8bef672a5cede4e9b27..3cf6cbdf175faeda739e627b13bf2367a1940eab 100644
--- a/Post/PViewDataIO.cpp
+++ b/Post/PViewDataIO.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/PViewDataList.cpp b/Post/PViewDataList.cpp
index 17dd74e0d6578a528e07708c34c236581af099bb..94c851d90cda2e4cde367acc902a9a4cca80d317 100644
--- a/Post/PViewDataList.cpp
+++ b/Post/PViewDataList.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/PViewDataList.h b/Post/PViewDataList.h
index 9f1a1cf8e7154fbc354f6f9c9bdca329f087557a..30e101ca6df09e350268ffa3b43fed4f5552dd10 100644
--- a/Post/PViewDataList.h
+++ b/Post/PViewDataList.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/PViewDataListIO.cpp b/Post/PViewDataListIO.cpp
index 6c0935b1d2784440c88c1cff4a4fa72e7cf04fba..7c9189e2ef313e15af164f5f88647fbd590edbac 100644
--- a/Post/PViewDataListIO.cpp
+++ b/Post/PViewDataListIO.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/PViewIO.cpp b/Post/PViewIO.cpp
index 9628730b95673a143bc6ad1c012623b026893623..8346269bddb88d6ebae40e63496770d1cfa20b64 100644
--- a/Post/PViewIO.cpp
+++ b/Post/PViewIO.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/PViewOptions.cpp b/Post/PViewOptions.cpp
index 66acb7dda23c2039e74946fd675ef2283567c9e0..26a46b10da4475c880a18c50aa57b158043fbdd7 100644
--- a/Post/PViewOptions.cpp
+++ b/Post/PViewOptions.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/PViewOptions.h b/Post/PViewOptions.h
index 323e7e1fe405a3635cb40534153a8686691cc598..a97d87d93794c7d39998d0f7f7eb9b99c8891de1 100644
--- a/Post/PViewOptions.h
+++ b/Post/PViewOptions.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/adaptiveData.cpp b/Post/adaptiveData.cpp
index e28a8d9fc98c34e7bd21e4c37baaf94e496cf85e..da901c19d624ae81deb55dff7ef9be85dc758d01 100644
--- a/Post/adaptiveData.cpp
+++ b/Post/adaptiveData.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/adaptiveData.h b/Post/adaptiveData.h
index 29abb809fed5b38cce84d341a644c5d233db8490..a2512c1b26f658b78982e2434b4511e4c6347b78 100644
--- a/Post/adaptiveData.h
+++ b/Post/adaptiveData.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/Post/shapeFunctions.h b/Post/shapeFunctions.h
index 4e76cef47fabbcd582afc2f9315b121c13653968..5bb00835f80bce033af17e9235f4259978dbc716 100644
--- a/Post/shapeFunctions.h
+++ b/Post/shapeFunctions.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/benchmarks/3d/transfinite_auto.geo b/benchmarks/3d/transfinite_auto.geo
new file mode 100644
index 0000000000000000000000000000000000000000..7715c2a27246091c2c71b7b7d3b211f2eb6b09b2
--- /dev/null
+++ b/benchmarks/3d/transfinite_auto.geo
@@ -0,0 +1,264 @@
+/********************************************************************* 
+ *
+ *  Gmsh tutorial 6
+ * 
+ *  Transfinite meshes
+ *
+ *********************************************************************/
+
+// We start by defining a more complex geometry, using the same
+// commands as in the previous examples:
+
+r_int  = 0.05 ;
+r_ext  = 0.051 ;
+r_far  = 0.125 ;
+r_inf  = 0.4 ;
+phi1   = 30. * (Pi/180.) ;
+angl   = 45. * (Pi/180.) ;
+
+nbpt_phi   = 5 ; nbpt_int   = 20 ;
+nbpt_arc1  = 10 ; nbpt_arc2  = 10 ;
+nbpt_shell = 10 ; nbpt_far   = 25 ; nbpt_inf = 15 ;
+
+lc0 = 0.1 ; lc1 = 0.1 ; lc2 = 0.3 ;
+
+Point(1) = {0,     0, 0, lc0} ;
+Point(2) = {r_int, 0, 0, lc0} ;
+Point(3) = {r_ext, 0, 0, lc1} ;
+Point(4) = {r_far, 0, 0, lc2} ;
+Point(5) = {r_inf, 0, 0, lc2} ;
+Point(6) = {0, 0,  r_int, lc0} ;
+Point(7) = {0, 0,  r_ext, lc1} ;
+Point(8) = {0, 0,  r_far, lc2} ;
+Point(9) = {0, 0,  r_inf, lc2} ;
+
+Point(10) = {r_int*Cos(phi1), r_int*Sin(phi1), 0, lc0} ;
+Point(11) = {r_ext*Cos(phi1), r_ext*Sin(phi1), 0, lc1} ;
+Point(12) = {r_far*Cos(phi1), r_far*Sin(phi1), 0, lc2} ;
+Point(13) = {r_inf*Cos(phi1), r_inf*Sin(phi1), 0, lc2} ;
+
+Point(14) = {r_int/2, 0, 0, lc2} ;
+Point(15) = {r_int/2*Cos(phi1), r_int/2*Sin(phi1), 0, lc2} ;
+Point(16) = {r_int/2, 0, r_int/2, lc2} ;
+Point(17) = {r_int/2*Cos(phi1), r_int/2*Sin(phi1), r_int/2, lc2} ;
+Point(18) = {0, 0, r_int/2, lc2} ;
+Point(19) = {r_int*Cos(angl), 0, r_int*Sin(angl), lc2} ;
+Point(20) = {r_int*Cos(angl)*Cos(phi1), r_int*Cos(angl)*Sin(phi1),
+	     r_int*Sin(angl), lc2} ;
+Point(21) = {r_ext*Cos(angl), 0, r_ext*Sin(angl), lc2} ;
+Point(22) = {r_ext*Cos(angl)*Cos(phi1), r_ext*Cos(angl)*Sin(phi1),
+	     r_ext*Sin(angl), lc2} ;
+Point(23) = {r_far*Cos(angl), 0, r_far*Sin(angl), lc2} ;
+Point(24) = {r_far*Cos(angl)*Cos(phi1), r_far*Cos(angl)*Sin(phi1),
+	     r_far*Sin(angl), lc2} ;
+Point(25) = {r_inf, 0, r_inf, lc2} ;
+Point(26) = {r_inf*Cos(phi1), r_inf*Sin(phi1),  r_inf, lc2} ;
+
+Circle(1) = {2,1,19};  Circle(2) = {19,1,6};  Circle(3) = {3,1,21};
+Circle(4) = {21,1,7};  Circle(5) = {4,1,23};  Circle(6) = {23,1,8};   
+Line(7)   = {5,25};    Line(8)   = {25,9};
+Circle(9) = {10,1,20}; Circle(10)= {20,1,6};  Circle(11) = {11,1,22};
+Circle(12)= {22,1,7};  Circle(13)= {12,1,24}; Circle(14) = {24,1,8};
+Line(15)  = {13,26};   Line(16)  = {26,9};
+Circle(17)= {19,1,20}; Circle(18)= {21,1,22}; Circle(19) = {23,1,24};
+Circle(20)= {25,1,26}; Circle(21)= {2,1,10};  Circle(22) = {3,1,11};  
+Circle(23)= {4,1,12};  Circle(24)= {5,1,13};
+
+Line(25) = {1,14};  Line(26) = {14,2};  Line(27) = {2,3};
+Line(28) = {3,4};   Line(29) = {4,5};   Line(30) = {1,15};
+Line(31) = {15,10}; Line(32) = {10,11}; Line(33) = {11,12};
+Line(34) = {12,13}; Line(35) = {14,15}; Line(36) = {14,16};
+Line(37) = {15,17}; Line(38) = {16,17}; Line(39) = {18,16};
+Line(40) = {18,17}; Line(41) = {1,18};  Line(42) = {18,6};
+Line(43) = {6,7};   Line(44) = {16,19}; Line(45) = {19,21};
+Line(46) = {21,23}; Line(47) = {23,25}; Line(48) = {17,20};
+Line(49) = {20,22}; Line(50) = {22,24}; Line(51) = {24,26};
+Line(52) = {7,8};   Line(53) = {8,9};
+
+Line Loop(54) = {39,-36,-25,41};  Ruled Surface(55) = {54};
+Line Loop(56) = {44,-1,-26,36};   Ruled Surface(57) = {56};
+Line Loop(58) = {3,-45,-1,27};    Ruled Surface(59) = {58};
+Line Loop(60) = {5,-46,-3,28};    Ruled Surface(61) = {60};
+Line Loop(62) = {7,-47,-5,29};    Ruled Surface(63) = {62};
+Line Loop(64) = {-2,-44,-39,42};  Ruled Surface(65) = {64};
+Line Loop(66) = {-4,-45,2,43};    Ruled Surface(67) = {66};
+Line Loop(68) = {-6,-46,4,52};    Ruled Surface(69) = {68};
+Line Loop(70) = {-8,-47,6,53};    Ruled Surface(71) = {70};
+Line Loop(72) = {-40,-41,30,37};  Ruled Surface(73) = {72};
+Line Loop(74) = {48,-9,-31,37};   Ruled Surface(75) = {74};
+Line Loop(76) = {49,-11,-32,9};   Ruled Surface(77) = {76};
+Line Loop(78) = {-50,-11,33,13};  Ruled Surface(79) = {78};
+Line Loop(80) = {-51,-13,34,15};  Ruled Surface(81) = {80};
+Line Loop(82) = {10,-42,40,48};   Ruled Surface(83) = {82};
+Line Loop(84) = {12,-43,-10,49};  Ruled Surface(85) = {84};
+Line Loop(86) = {14,-52,-12,50};  Ruled Surface(87) = {86};
+Line Loop(88) = {16,-53,-14,51};  Ruled Surface(89) = {88};
+Line Loop(90) = {-30,25,35};      Ruled Surface(91) = {90};
+Line Loop(92) = {-40,39,38};      Ruled Surface(93) = {92};
+Line Loop(94) = {37,-38,-36,35};  Ruled Surface(95) = {94};
+Line Loop(96) = {-48,-38,44,17};  Ruled Surface(97) = {96};
+Line Loop(98) = {18,-49,-17,45};  Ruled Surface(99) = {98};
+Line Loop(100) = {19,-50,-18,46}; Ruled Surface(101) = {100};
+Line Loop(102) = {20,-51,-19,47}; Ruled Surface(103) = {102};
+Line Loop(104) = {-2,17,10};      Ruled Surface(105) = {104};
+Line Loop(106) = {-9,-21,1,17};   Ruled Surface(107) = {106};
+Line Loop(108) = {-4,18,12};      Ruled Surface(109) = {108};
+Line Loop(110) = {-11,-22,3,18};  Ruled Surface(111) = {110};
+Line Loop(112) = {-13,-23,5,19};  Ruled Surface(113) = {112};
+Line Loop(114) = {-6,19,14};      Ruled Surface(115) = {114};
+Line Loop(116) = {-15,-24,7,20};  Ruled Surface(117) = {116};
+Line Loop(118) = {-8,20,16};      Ruled Surface(119) = {118};
+Line Loop(120) = {-31,-35,26,21}; Ruled Surface(121) = {120};
+Line Loop(122) = {32,-22,-27,21}; Ruled Surface(123) = {122};
+Line Loop(124) = {33,-23,-28,22}; Ruled Surface(125) = {124};
+Line Loop(126) = {34,-24,-29,23}; Ruled Surface(127) = {126};
+
+Surface Loop(128) = {93,-73,-55,95,-91};
+Volume(129) = {128}; // int
+Surface Loop(130) = {107,-75,-97,95,57,121};
+Volume(131) = {130}; // int b
+Surface Loop(132) = {105,-65,-97,-83,-93};
+Volume(133) = {132}; // int h
+Surface Loop(134) = {99,-111,77,123,59,107};
+Volume(135) = {134}; // shell b
+Surface Loop(136) = {99,-109,67,105,85};
+Volume(137) = {136}; // shell h
+Surface Loop(138) = {113,79,-101,-111,-125,-61};
+Volume(139) = {138}; // ext b
+Surface Loop(140) = {115,-69,-101,-87,-109};
+Volume(141) = {140}; // ext h
+Surface Loop(142) = {103,-117,-81,113,127,63};
+Volume(143) = {142}; // inf b
+Surface Loop(144) = {89,-119,71,103,115};
+Volume(145) = {144}; // inf h
+
+// Once the geometry is defined, we then add transfinite mesh commands
+// in order to explicitly define a structured mesh.
+
+// 1. Transfinite line commands specify the number of points on the
+// curves and their distribution (`Progression 2' means that each line
+// element in the series will be twice as long as the preceding one):
+
+Transfinite Line{35,21,22,23,24,38,17,18,19,20} = nbpt_phi ;
+Transfinite Line{31,26,48,44,42} = nbpt_int Using Progression 0.88;
+Transfinite Line{41,37,36,9,11,1,3,13,5,15,7} = nbpt_arc1 ;
+Transfinite Line{30,25,40,39,10,2,12,4,14,6,16,8} = nbpt_arc2 ;
+Transfinite Line{32,27,49,45,43} = nbpt_shell ;
+Transfinite Line{33,28,46,50,52} = nbpt_far Using Progression 1.2 ;
+Transfinite Line{34,29,51,47,53} = nbpt_inf Using Progression 1.05;
+
+// 2. Transfinite surfaces are defined by an ordered list of the
+// points on their boundary (the ordering of these points defines the
+// ordering of the mesh elements). Note that a transfinite surface can
+// only have 3 or 4 sides:
+
+/*
+Transfinite Surface{55} = {1,14,16,18};
+Transfinite Surface{57} = {14,2,19,16};
+Transfinite Surface{59} = {2,3,21,19};
+Transfinite Surface{61} = {3,4,23,21};
+Transfinite Surface{63} = {4,5,25,23};
+Transfinite Surface{73} = {1,15,17,18};
+Transfinite Surface{75} = {15,10,20,17};
+Transfinite Surface{77} = {10,11,22,20};
+Transfinite Surface{79} = {11,12,24,22};
+Transfinite Surface{81} = {12,13,26,24};
+Transfinite Surface{65} = {18,16,19,6};
+Transfinite Surface{67} = {6,19,21,7};
+Transfinite Surface{69} = {7,21,23,8};
+Transfinite Surface{71} = {8,23,25,9};
+Transfinite Surface{83} = {17,18,6,20};
+Transfinite Surface{85} = {20,6,7,22};
+Transfinite Surface{87} = {22,7,8,24};
+Transfinite Surface{89} = {24,8,9,26};
+Transfinite Surface{91} = {1,14,15};
+Transfinite Surface{95} = {15,14,16,17};
+Transfinite Surface{93} = {18,16,17};
+Transfinite Surface{121} = {15,14,2,10};
+Transfinite Surface{97} = {17,16,19,20};
+Transfinite Surface{123} = {10,2,3,11};
+Transfinite Surface{99} = {20,19,21,22};
+Transfinite Surface{107} = {10,2,19,20};
+Transfinite Surface{105} = {6,20,19};
+Transfinite Surface{109} = {7,22,21};
+Transfinite Surface{111} = {11,3,21,22};
+Transfinite Surface{101} = {22,21,23,24};
+Transfinite Surface{125} = {11,3,4,12};
+Transfinite Surface{115} = {8,24,23};
+Transfinite Surface{113} = {24,12,4,23};
+Transfinite Surface{127} = {12,13,5,4};
+Transfinite Surface{103} = {24,23,25,26};
+Transfinite Surface{119} = {9,26,25};
+Transfinite Surface{117} = {13,5,25,26};
+*/
+Transfinite Surface "*"; // easier, isn't it?
+
+// 3. Transfinite volumes are also defined by an ordered list of the
+// points on their boundary (the ordering defines the ordering of the
+// mesh elements).  A transfinite volume can only have 6 or 8 faces:
+/*
+Transfinite Volume{129} = {1,14,15,18,16,17};
+Transfinite Volume{131} = {17,16,14,15,20,19,2,10};
+Transfinite Volume{133} = {18,17,16,6,20,19};
+Transfinite Volume{135} = {10,2,19,20,11,3,21,22};
+Transfinite Volume{137} = {6,20,19,7,22,21};
+Transfinite Volume{139} = {11,3,4,12,22,21,23,24};
+Transfinite Volume{141} = {7,22,21,8,24,23};
+Transfinite Volume{143} = {12,4,5,13,24,23,25,26};
+Transfinite Volume{145} = {8,24,23,9,26,25};
+*/
+Transfinite Volume "*"; // hmmm?
+
+// As with Extruded meshes, the `Recombine' command tells Gmsh to
+// recombine the simplices into quadrangles, prisms or hexahedra when
+// possible:
+/*
+Recombine Surface {55:127};
+*/
+Recombine Surface "*";
+
+// We finish by defing some physical entities:
+
+VolInt           = 1000 ;
+SurfIntPhi0      = 1001 ;  SurfIntPhi1      = 1002 ;
+SurfIntZ0        = 1003 ;
+
+VolShell         = 2000 ;
+SurfShellInt     = 2001 ;  SurfShellExt     = 2002 ;
+SurfShellPhi0    = 2003 ;  SurfShellPhi1    = 2004 ;
+SurfShellZ0      = 2005 ;
+LineShellIntPhi0 = 2006 ;
+LineShellIntPhi1 = 2007 ;  LineShellIntZ0   = 2008 ;
+PointShellInt    = 2009 ;
+
+VolExt           = 3000 ;
+VolInf           = 3001 ;
+SurfInf          = 3002 ;
+SurfExtInfPhi0   = 3003 ;  SurfExtInfPhi1   = 3004 ;
+SurfExtInfZ0     = 3005 ;
+SurfInfRight     = 3006 ;
+SurfInfTop       = 3007 ;
+
+Physical Volume  (VolInt)           = {129,131,133} ;
+Physical Surface (SurfIntPhi0)      = {55,57,65} ;
+Physical Surface (SurfIntPhi1)      = {73,75,83} ;
+Physical Surface (SurfIntZ0)        = {91,121} ;
+
+Physical Volume  (VolShell)         = {135,137} ;
+Physical Surface (SurfShellInt)     = {105,107} ;
+Physical Surface (SurfShellExt)     = {109,111} ;
+Physical Surface (SurfShellPhi0)    = {59,67} ;
+Physical Surface (SurfShellPhi1)    = {77,85} ;
+Physical Surface (SurfShellZ0)      = {123} ;
+Physical Line    (LineShellIntPhi0) = {1,2} ;
+Physical Line    (LineShellIntPhi1) = {9,10} ;
+Physical Line    (LineShellIntZ0)   = 21 ;
+//Physical Point   (PointShellInt)    = 6 ;
+
+Physical Volume  (VolExt)           = {139,141} ;
+Physical Volume  (VolInf)           = {143,145} ;
+Physical Surface (SurfExtInfPhi0)   = {61,63,69,71} ;
+Physical Surface (SurfExtInfPhi1)   = {79,87,81,89} ;
+Physical Surface (SurfExtInfZ0)     = {125,127} ;
+Physical Surface (SurfInfRight)     = {117} ;
+Physical Surface (SurfInfTop)       = {119} ;
diff --git a/bin/Makefile b/bin/Makefile
index be3301c73ef2da2a4ee47191f50739c49cbc49ca..275410fcb6ac356b58cf1597b8985d170263358f 100644
--- a/bin/Makefile
+++ b/bin/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/configure.in b/configure.in
index 5ad601a895b420e1eaca6a56903ea031eac94111..300de225871cd107ba8db75f79f816d6f5c6d6d4 100644
--- a/configure.in
+++ b/configure.in
@@ -1,4 +1,4 @@
-dnl Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+dnl Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 dnl
 dnl See the LICENSE.txt file for license information. Please report all
 dnl bugs and problems to <gmsh@geuz.org>.
diff --git a/contrib/ANN/Makefile b/contrib/ANN/Makefile
index d1fee8d19306371d261f315ee0c69aef0eac3af1..b7cb9a0e55569826907ba3f513b55d32fb07aebd 100644
--- a/contrib/ANN/Makefile
+++ b/contrib/ANN/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/contrib/MathEval/Makefile b/contrib/MathEval/Makefile
index fc07eab9c2fb59b7e3ad56885d529923ebb7e1ac..0622218368382b02e0fe1cd15e696fc816903561 100644
--- a/contrib/MathEval/Makefile
+++ b/contrib/MathEval/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/contrib/Metis/Makefile b/contrib/Metis/Makefile
index 0e066e96467d31be0c28cb959406a4f40cda7467..7bf7b59da48e4a2f378b67a82479b9d04b4fa48e 100644
--- a/contrib/Metis/Makefile
+++ b/contrib/Metis/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/contrib/NativeFileChooser/Makefile b/contrib/NativeFileChooser/Makefile
index 84017879b7acdb666969abc26ab6b50107a13d7d..a358878948746b81a03e18d4812c959cb5d335ac 100644
--- a/contrib/NativeFileChooser/Makefile
+++ b/contrib/NativeFileChooser/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/contrib/Netgen/Makefile b/contrib/Netgen/Makefile
index ddf833a49eaea2fb8e73250d137e0451d5efa3a7..45bc61b7de8c420cbb48c87c04e7efd7a42574a2 100644
--- a/contrib/Netgen/Makefile
+++ b/contrib/Netgen/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/contrib/Tetgen/Makefile b/contrib/Tetgen/Makefile
index 7766c928bf2385b551bd776b2779261f3846e904..639e045d2f25e48e3373d2ab58fac1fcd90db2cf 100644
--- a/contrib/Tetgen/Makefile
+++ b/contrib/Tetgen/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/contrib/TreeBrowser/Makefile b/contrib/TreeBrowser/Makefile
index 712f911182d9bf1b772c68c3fdc9581d8005cd58..17b267a18b070b6639a6f8ebff12fb1cbd1a4f54 100644
--- a/contrib/TreeBrowser/Makefile
+++ b/contrib/TreeBrowser/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/doc/CREDITS.txt b/doc/CREDITS.txt
index 736ca06308b0d169203083d8f2eae68cfbe2421d..abb063b38f1e65c8ad3d95e9857649f179e3baa1 100644
--- a/doc/CREDITS.txt
+++ b/doc/CREDITS.txt
@@ -1,4 +1,4 @@
-             Gmsh is copyright (C) 1997-2008
+             Gmsh is copyright (C) 1997-2009
 
                    Christophe Geuzaine
                  <cgeuzaine at ulg.ac.be>
diff --git a/doc/Makefile b/doc/Makefile
index 8a9021ec88a1ced016c0a34f499f7b50a1d3ab89..527b579d10d7a65e7d07f8cf8422d8533e94e82a 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/doc/gmsh.html b/doc/gmsh.html
index dbcecef76cec4bc0b65989515548c337154c64e4..c53987052ebcd52b9d357ebc2d9b06db372c21f2 100644
--- a/doc/gmsh.html
+++ b/doc/gmsh.html
@@ -155,7 +155,7 @@ We need your help to build a <a href="/gmsh/wiki/FrontPage">library of examples<
 
 <h2><a name="Licensing"></a>Licensing</h2>
 
-Gmsh is copyright (C) 1997-2008 by C. Geuzaine and J.-F. Remacle and
+Gmsh is copyright (C) 1997-2009 by C. Geuzaine and J.-F. Remacle and
 is distributed under the terms of
 the <a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public
 License (GPL)</a> (with an <a href="/gmsh/doc/LICENSE.txt">exception</a>
diff --git a/doc/texinfo/Makefile b/doc/texinfo/Makefile
index 737981c7f44d788a22419f3367e1aa6fa38808ee..ba040fa13508bef93863288ff19fb116bb350210 100644
--- a/doc/texinfo/Makefile
+++ b/doc/texinfo/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi
index b429a3f62cff96ce519748179d0338fc32e7f6c6..82f9b8b232e3aed9ce5ac8534d8b68c9650b9c0d 100644
--- a/doc/texinfo/gmsh.texi
+++ b/doc/texinfo/gmsh.texi
@@ -1,5 +1,5 @@
 \input texinfo.tex @c -*-texinfo-*-
-@c Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+@c Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 @c
 @c See the LICENSE.txt file for license information. Please report all
 @c bugs and problems to <gmsh@geuz.org>.
@@ -22,7 +22,7 @@
 @c %**start of header
 @setfilename        gmsh.info
 @set GMSH-VERSION   2.3
-@set COPYRIGHT      @copyright{} 1997-2008 Christophe Geuzaine, Jean-Fran@,{c}ois Remacle
+@set COPYRIGHT      @copyright{} 1997-2009 Christophe Geuzaine, Jean-Fran@,{c}ois Remacle
 @c
 @settitle Gmsh @value{GMSH-VERSION}
 @footnotestyle separate
diff --git a/doc/texinfo/opt_fields.texi b/doc/texinfo/opt_fields.texi
index 07d71ee02bebadf938b76c3df2e473da840923d5..e9d96531e660eb479a2eaba4c84a4e9a3383808c 100644
--- a/doc/texinfo/opt_fields.texi
+++ b/doc/texinfo/opt_fields.texi
@@ -150,7 +150,7 @@ default value: @code{@{@}}
 @end table
 
 @item MaxEigenHessian
-Compute the maximum eigen value of the Hessian matrix of Field[IField]. Gradients are evaluated by finite differences, eigenvalues are computed using the GSL library.F = max ( eigenvalues ( grad ( grad ( Field[IField] ) ) ) ) @*
+Compute the maximum eigenvalue of the Hessian matrix of Field[IField], with the gradients evaluated by finite differences.F = max ( eigenvalues ( grad ( grad ( Field[IField] ) ) ) ) @*
 Options:@*
 @table @code
 @item Delta
diff --git a/doc/texinfo/opt_general.texi b/doc/texinfo/opt_general.texi
index 802747c368b80bf8e17de1a76921ff73834a0187..2f40cfdff4215205d2702336dc9e1c031f9a241f 100644
--- a/doc/texinfo/opt_general.texi
+++ b/doc/texinfo/opt_general.texi
@@ -354,11 +354,6 @@ Use a double buffered graphic window (on Unix, should be set to 0 when working o
 Default value: @code{1}@*
 Saved in: @code{General.OptionsFileName}
 
-@item General.DrawAllModels
-Draw all loaded models (instead of drawing only the current one)@*
-Default value: @code{0}@*
-Saved in: @code{General.OptionsFileName}
-
 @item General.DrawBoundingBoxes
 Draw bounding boxes@*
 Default value: @code{0}@*
@@ -606,17 +601,17 @@ Saved in: @code{General.SessionFileName}
 
 @item General.MaxX
 Maximum model coordinate along the X-axis (read-only)@*
-Default value: @code{1}@*
+Default value: @code{0}@*
 Saved in: @code{-}
 
 @item General.MaxY
 Maximum model coordinate along the Y-axis (read-only)@*
-Default value: @code{1}@*
+Default value: @code{0}@*
 Saved in: @code{-}
 
 @item General.MaxZ
 Maximum model coordinate along the Z-axis (read-only)@*
-Default value: @code{1}@*
+Default value: @code{0}@*
 Saved in: @code{-}
 
 @item General.MenuPositionX
diff --git a/doc/texinfo/opt_mesh.texi b/doc/texinfo/opt_mesh.texi
index 80a962f4b16b545596a89a5863495f2dacc6a1b6..4bd5718b3b0e9ee34b8a3b5ec6d25b56bf823ee1 100644
--- a/doc/texinfo/opt_mesh.texi
+++ b/doc/texinfo/opt_mesh.texi
@@ -204,6 +204,11 @@ Type of element label (0=element number, 1=elementary entity number, 2=physical
 Default value: @code{0}@*
 Saved in: @code{General.OptionsFileName}
 
+@item Mesh.LcIntegrationPrecision
+Accuracy of evaluation of the LC field for 1D mesh generation@*
+Default value: @code{1e-09}@*
+Saved in: @code{General.OptionsFileName}
+
 @item Mesh.Light
 Enable lighting for the mesh@*
 Default value: @code{1}@*
@@ -449,11 +454,6 @@ Should second order vertices simply be created by linear interpolation?@*
 Default value: @code{0}@*
 Saved in: @code{General.OptionsFileName}
 
-@item Mesh.LcIntegrationPrecision
-Accuracy of evaluation of the LC field for 1D mesh generation@*
-Default value: @code{1e-09}@*
-Saved in: @code{General.OptionsFileName}
-
 @item Mesh.Smoothing
 Number of smoothing steps applied to the final mesh@*
 Default value: @code{1}@*
diff --git a/lib/Makefile b/lib/Makefile
index b83129c5f750df9f3804a5d92a10d8a5ff80dc10..46958cd53c67265b409a98bb04220a7fa795864b 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/utils/embed/GmshEmbedded.cpp b/utils/embed/GmshEmbedded.cpp
index 713085fda4cb49cd2d7ae33855f52e321fea31b2..4b9d2c0297058913fb8adcf0ed504a2f3f4388cc 100644
--- a/utils/embed/GmshEmbedded.cpp
+++ b/utils/embed/GmshEmbedded.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/utils/embed/Makefile b/utils/embed/Makefile
index ff7462c6fe85984b3be7ee65dfb273f869d41345..684b115c13ed12c661736773820697f0de0a84cb 100644
--- a/utils/embed/Makefile
+++ b/utils/embed/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/utils/misc/Info.plist b/utils/misc/Info.plist
index c7e001dcf15d2ddf5c858d02a2c6856a152d8a11..6078eb2c18d0142dfda04c4fbc451a2f00dce49f 100644
--- a/utils/misc/Info.plist
+++ b/utils/misc/Info.plist
@@ -9,7 +9,7 @@
     <key>CFBundleShortVersionString</key><string>GMSH_VERSION</string>
     <key>CFBundleIconFile</key><string>Gmsh.icns</string>
     <key>CFBundleSignature</key><string>GMSH</string>
-    <key>CFBundleGetInfoString</key><string>GMSH_VERSION, Copyright 1997-2008 C. Geuzaine and J.-F. Remacle</string>
+    <key>CFBundleGetInfoString</key><string>GMSH_VERSION, Copyright 1997-2009 C. Geuzaine and J.-F. Remacle</string>
     <key>CFBundleIdentifier</key><string>org.geuz.Gmsh</string>
     <key>CFBundleDocumentTypes</key>
     <array>
diff --git a/utils/misc/Makefile b/utils/misc/Makefile
index 14c0e6a98c82cc6a4ff788476420d91719d55888..9ef69f49ffb6e93596154641031c3a44ba4c8678 100644
--- a/utils/misc/Makefile
+++ b/utils/misc/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/utils/misc/mshsort.cpp b/utils/misc/mshsort.cpp
index 719737a3142812360e65044be53a060ebbb31eb6..f44802ab6a0f0ebe805e2ee9f3952d0e2615536e 100644
--- a/utils/misc/mshsort.cpp
+++ b/utils/misc/mshsort.cpp
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
diff --git a/utils/misc/replace.bash b/utils/misc/replace.bash
index 094705f8df7fc63ee4bf8db84b5b70c218b0c6b3..075c153d066e728bf9dc0e35796e032b2003c3a6 100644
--- a/utils/misc/replace.bash
+++ b/utils/misc/replace.bash
@@ -2,7 +2,7 @@
 
 for A in  $*
 do
-sed "s|1997-2007|1997-2008|g" $A > $A.XXX
+sed "s|1997-2008|1997-2009|g" $A > $A.XXX
 echo modif $A
 rm -f $A
 mv -f $A.XXX $A
@@ -10,5 +10,5 @@ done
 
 # Makefile */Makefile */*/Makefile *.in
 # */*.cpp */*/*.cpp */*.h */*.y */*.l 
-# doc/CREDITS doc/gmsh.html doc/texinfo/gmsh.texi
+# doc/CREDITS.txt doc/gmsh.html doc/texinfo/gmsh.texi
 # */*/*.plist
diff --git a/utils/nightly/Makefile b/utils/nightly/Makefile
index 5d2f129e9341cf3d20d99b59b7e525117c834846..1151e9b4fff30b2a573201a52035014f5d00dd49 100644
--- a/utils/nightly/Makefile
+++ b/utils/nightly/Makefile
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.
diff --git a/utils/solvers/c++/GmshSocket.h b/utils/solvers/c++/GmshSocket.h
index 5b13db0ee4d05e8c25b8f8dbc5e02ad61bebb939..63dfe5341707ca33510e4ddb2bf3c96611c03f2f 100644
--- a/utils/solvers/c++/GmshSocket.h
+++ b/utils/solvers/c++/GmshSocket.h
@@ -1,4 +1,4 @@
-// Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 //
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
@@ -282,7 +282,7 @@ class GmshServer : public GmshSocket{
   int _portno;
  public:
   GmshServer() : GmshSocket(), _portno(-1) {}
-  ~GmshServer(){}
+  virtual ~GmshServer(){}
   virtual int SystemCall(const char *str) = 0;
   virtual int NonBlockingWait(int socket, int num, double waitint) = 0;
   int StartClient(const char *command, const char *sockname=0, int maxdelay=4)
diff --git a/variables.in b/variables.in
index f445fb64615614bbece4da0de878036d139c7b8c..8c0b2e079fc15c92632d0d04195346ae24070590 100644
--- a/variables.in
+++ b/variables.in
@@ -1,4 +1,4 @@
-# Gmsh - Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
+# Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
 #
 # See the LICENSE.txt file for license information. Please report all
 # bugs and problems to <gmsh@geuz.org>.