diff --git a/Common/GmshDefines.h b/Common/GmshDefines.h
index c89d9e04ab805e7640a1e333778b0a4098a1ec06..d78f5aa7f2873affa7882bc5b0bf2088a4debe03 100644
--- a/Common/GmshDefines.h
+++ b/Common/GmshDefines.h
@@ -104,7 +104,9 @@
 #define ALGO_3D_NETGEN             4
 #define ALGO_3D_TETGEN             5 // unused
 
-#define TRANSFINI 1
-#define LIBRE     2
+// Meshing methods
+#define MESH_NONE         0
+#define MESH_TRANSFINITE  1
+#define MESH_UNSTRUCTURED 2
 
 #endif
diff --git a/Geo/GEdge.cpp b/Geo/GEdge.cpp
index 2205d6a31b865712033a43d21bc9af9a19e19af2..e642296861302d33b97652cbb787d5610ba18fc5 100644
--- a/Geo/GEdge.cpp
+++ b/Geo/GEdge.cpp
@@ -1,4 +1,4 @@
-// $Id: GEdge.cpp,v 1.49 2008-05-04 08:31:13 geuzaine Exp $
+// $Id: GEdge.cpp,v 1.50 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -67,7 +67,7 @@ MElement *GEdge::getMeshElement(unsigned int index)
 
 void GEdge::resetMeshAttributes()
 {
-  meshAttributes.Method = LIBRE;
+  meshAttributes.Method = MESH_UNSTRUCTURED;
   meshAttributes.coeffTransfinite = 0.;
   meshAttributes.nbPointsTransfinite = 0;
   meshAttributes.typeTransfinite = 0;
diff --git a/Geo/GFace.cpp b/Geo/GFace.cpp
index 0116c247efd533659a478f01406ddb48d36ded32..83ca1102f6e4b2303dbbeacbacb7a5fce25b0737 100644
--- a/Geo/GFace.cpp
+++ b/Geo/GFace.cpp
@@ -1,4 +1,4 @@
-// $Id: GFace.cpp,v 1.65 2008-06-10 08:37:33 remacle Exp $
+// $Id: GFace.cpp,v 1.66 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -91,7 +91,7 @@ void GFace::resetMeshAttributes()
 {
   meshAttributes.recombine = 0;
   meshAttributes.recombineAngle = 0.;
-  meshAttributes.Method = LIBRE;
+  meshAttributes.Method = MESH_UNSTRUCTURED;
   meshAttributes.transfiniteArrangement = 0;
   meshAttributes.transfiniteSmoothing = -1;
   meshAttributes.extrude = 0;
diff --git a/Geo/GFace.h b/Geo/GFace.h
index f482106f67bd5af4f12af029c43c8f34687baa68..d80e4c51303b8c0dfe31a7a81661f3b7bf1838e9 100644
--- a/Geo/GFace.h
+++ b/Geo/GFace.h
@@ -176,7 +176,7 @@ class GFace : public GEntity
     // what is the treshold angle for recombination
     double recombineAngle;
     // is this surface meshed using a transfinite interpolation
-    int Method;
+    char Method;
     // corners of the transfinite interpolation
     std::vector<GVertex*> corners;
     // all diagonals of the triangulation are left (1), right (2) or
diff --git a/Geo/GModelIO_OCC.cpp b/Geo/GModelIO_OCC.cpp
index fc4b1e0634cc2fd8feab29bae92658333f3aa781..93e97128608f2c3dde7f7955e43a4c1883217cf1 100644
--- a/Geo/GModelIO_OCC.cpp
+++ b/Geo/GModelIO_OCC.cpp
@@ -1,4 +1,4 @@
-// $Id: GModelIO_OCC.cpp,v 1.36 2008-07-01 12:46:08 geuzaine Exp $
+// $Id: GModelIO_OCC.cpp,v 1.37 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -404,12 +404,6 @@ void OCC_Internals::loadShape(const TopoDS_Shape *s)
 {
   shape = *s;
   BRepTools::Clean(shape);
-  // FIXME should we apply the healing stuff when we import a shape?
-  // healGeometry(CTX.geom.tolerance, 
-  //              CTX.geom.occ_fix_small_edges,
-  //              CTX.geom.occ_fix_small_faces,
-  //              CTX.geom.occ_sew_faces);
-  // BRepTools::Clean(shape);
   buildLists();
 }
 
@@ -499,11 +493,12 @@ int GModel::importOCCShape(const void *shape, const void *options)
   // iterate on all the edges of the model and set constraints (if
   // any)
   for(eiter it = firstEdge(); it != lastEdge(); ++it){
-    TopoDS_Shape *shape = (TopoDS_Shape*)(*it)->getNativePtr();
+    GEdge *ge = *it;
+    TopoDS_Shape *shape = (TopoDS_Shape*)ge->getNativePtr();
     if(ecmap.IsBound(*shape)) {
-      Msg::Debug("Got meshing contraints for edge %d", (*it)->tag());
+      Msg::Debug("Got meshing contraints for edge %d", ge->tag());
       const MeshGmsh_EdgeConstrain &ec(ecmap.Find(*shape));
-      if(ec.IsMeshImposed()){
+      if(ec.IsMeshImposed() == Standard_True){
 	TColStd_SequenceOfInteger num;
 	ec.GetNodesNumber(num);
 	TColStd_SequenceOfReal par;
@@ -514,9 +509,12 @@ int GModel::importOCCShape(const void *shape, const void *options)
 		     num.Length(), par.Length());
 	}
 	else{
+	  // set the mesh on this edge...
 	  for(int i = 0; i < n; i++){
 	    printf("node %d param %g\n", num.Value(i), par.Value(i));
 	  }
+	  // ...and never change it
+	  ge->meshAttributes.Method == MESH_NONE;
 	}
       }
     }
diff --git a/Geo/GRegion.cpp b/Geo/GRegion.cpp
index 8c2860a47b6738bdc64bf71b13eebe2e35210c43..45bec1e2ea8bd1c1fe24ee6ac5e7574a8d22b9ab 100644
--- a/Geo/GRegion.cpp
+++ b/Geo/GRegion.cpp
@@ -1,4 +1,4 @@
-// $Id: GRegion.cpp,v 1.27 2008-03-20 11:44:05 geuzaine Exp $
+// $Id: GRegion.cpp,v 1.28 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -79,7 +79,7 @@ MElement *GRegion::getMeshElement(unsigned int index)
 
 void GRegion::resetMeshAttributes()
 {
-  meshAttributes.Method = LIBRE;
+  meshAttributes.Method = MESH_UNSTRUCTURED;
   meshAttributes.extrude = 0;
 }
 
diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp
index 896ae7173875a909d034a6fcf6a477ef0c3b3239..2a76b56134626737e768ab3a2e53dea19fcd64c8 100644
--- a/Geo/Geo.cpp
+++ b/Geo/Geo.cpp
@@ -1,4 +1,4 @@
-// $Id: Geo.cpp,v 1.118 2008-06-27 17:34:19 geuzaine Exp $
+// $Id: Geo.cpp,v 1.119 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -481,7 +481,7 @@ Curve *Create_Curve(int Num, int Typ, int Order, List_T *Liste,
   pC->Num = Num;
   GModel::current()->getGEOInternals()->MaxLineNum = 
     IMAX(GModel::current()->getGEOInternals()->MaxLineNum, Num);
-  pC->Method = LIBRE;
+  pC->Method = MESH_UNSTRUCTURED;
   pC->degre = Order;
   pC->Circle.n[0] = 0.0;
   pC->Circle.n[1] = 0.0;
@@ -596,7 +596,7 @@ Surface *Create_Surface(int Num, int Typ)
   GModel::current()->getGEOInternals()->MaxSurfaceNum = 
     IMAX(GModel::current()->getGEOInternals()->MaxSurfaceNum, Num);
   pS->Typ = Typ;
-  pS->Method = LIBRE;
+  pS->Method = MESH_UNSTRUCTURED;
   pS->Recombine = 0;
   pS->Recombine_Dir = -1;
   pS->RecombineAngle = 45;
@@ -632,7 +632,7 @@ Volume *Create_Volume(int Num, int Typ)
   GModel::current()->getGEOInternals()->MaxVolumeNum = 
     IMAX(GModel::current()->getGEOInternals()->MaxVolumeNum, Num);
   pV->Typ = Typ;
-  pV->Method = LIBRE;
+  pV->Method = MESH_UNSTRUCTURED;
   pV->TrsfPoints = List_Create(6, 6, sizeof(Vertex *));
   pV->Surfaces = List_Create(1, 2, sizeof(Surface *));
   pV->SurfacesOrientations = List_Create(1, 2, sizeof(int));
diff --git a/Geo/fourierEdge.cpp b/Geo/fourierEdge.cpp
index fd785e1901fe8f172bd5ec004959a97853a88717..7423b64988b0344f1cb35050c153f2bfe47d8f17 100644
--- a/Geo/fourierEdge.cpp
+++ b/Geo/fourierEdge.cpp
@@ -9,9 +9,6 @@ fourierEdge::fourierEdge(GModel *model, FM::TopoEdge* edge_, int tag,
                          GVertex *v0, GVertex *v1) 
   : GEdge(model, tag, v0, v1), edge(edge_) 
 {
-  //meshAttributes.Method = TRANSFINI; 
-  //meshAttributes.coeffTransfinite = 1.;
-  //meshAttributes.nbPointsTransfinite = 10;
 }
 
 Range<double> fourierEdge::parBounds(int i) const
diff --git a/Geo/gmshFace.cpp b/Geo/gmshFace.cpp
index 4c0f220c05e148434e30153c9614db8c61bd3fff..6e22aa878528b7cfcc495235fbb652df82cd1e15 100644
--- a/Geo/gmshFace.cpp
+++ b/Geo/gmshFace.cpp
@@ -1,4 +1,4 @@
-// $Id: gmshFace.cpp,v 1.63 2008-06-20 12:15:44 remacle Exp $
+// $Id: gmshFace.cpp,v 1.64 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -112,7 +112,7 @@ void gmshFace::resetMeshAttributes()
   meshAttributes.recombineAngle = s->RecombineAngle;
   meshAttributes.Method = s->Method;
   meshAttributes.extrude = s->Extrude;
-  if(meshAttributes.Method == TRANSFINI){
+  if(meshAttributes.Method == MESH_TRANSFINITE){
     meshAttributes.transfiniteArrangement = s->Recombine_Dir;
     meshAttributes.transfiniteSmoothing = s->TransfiniteSmoothing;
     meshAttributes.corners.clear();
diff --git a/Geo/gmshRegion.cpp b/Geo/gmshRegion.cpp
index eb087d0f4720f725fd69fd5a92f401298ed306e9..6c89eefa3d7bf25c3c9a89b937b0c9a803d53b47 100644
--- a/Geo/gmshRegion.cpp
+++ b/Geo/gmshRegion.cpp
@@ -1,4 +1,4 @@
-// $Id: gmshRegion.cpp,v 1.23 2008-06-05 11:52:49 samtech Exp $
+// $Id: gmshRegion.cpp,v 1.24 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -60,7 +60,7 @@ void gmshRegion::resetMeshAttributes()
 {
   meshAttributes.Method = v->Method;
   meshAttributes.extrude = v->Extrude;
-  if(meshAttributes.Method == TRANSFINI){
+  if(meshAttributes.Method == MESH_TRANSFINITE){
     meshAttributes.corners.clear();
     for(int i = 0; i < List_Nbr(v->TrsfPoints); i++){
       Vertex *corn;
diff --git a/Mesh/meshGEdge.cpp b/Mesh/meshGEdge.cpp
index a8c9cd59ba8423efb6d05d7cbedfebf1b0fc9f2c..fb4ad73a6937eaeba878d016a4b3df182b4f8cdb 100644
--- a/Mesh/meshGEdge.cpp
+++ b/Mesh/meshGEdge.cpp
@@ -1,4 +1,4 @@
-// $Id: meshGEdge.cpp,v 1.65 2008-06-27 18:00:52 geuzaine Exp $
+// $Id: meshGEdge.cpp,v 1.66 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -281,6 +281,7 @@ void meshGEdge::operator() (GEdge *ge)
 {  
   if(ge->geomType() == GEntity::DiscreteCurve) return;
   if(ge->geomType() == GEntity::BoundaryLayerCurve) return;
+  if(ge->meshAttributes.Method == MESH_NONE) return;
 
   deMeshGEdge dem;
   dem(ge);
@@ -303,7 +304,6 @@ void meshGEdge::operator() (GEdge *ge)
   double length = Integration(ge, t_begin, t_end, F_One, Points, 1.e-8 * CTX.lc);
   ge->setLength(length);
 
-
   if(length == 0.0)
     Msg::Debug("Curve %d has a zero length", ge->tag());
   
@@ -316,7 +316,7 @@ void meshGEdge::operator() (GEdge *ge)
     a = 0.;
     N = 1;
   }
-  else if(ge->meshAttributes.Method == TRANSFINI){
+  else if(ge->meshAttributes.Method == MESH_TRANSFINITE){
     a = Integration(ge, t_begin, t_end, F_Transfinite, Points, 1.e-8);
     N = ge->meshAttributes.nbPointsTransfinite;
   }
diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp
index ade44ab427016c35adef766c450ccefdd40a5f49..a0d7c9d0b447cb73a82bb6ace7a721da727405c8 100644
--- a/Mesh/meshGFace.cpp
+++ b/Mesh/meshGFace.cpp
@@ -1,4 +1,4 @@
-// $Id: meshGFace.cpp,v 1.137 2008-06-27 18:00:52 geuzaine Exp $
+// $Id: meshGFace.cpp,v 1.138 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -1303,6 +1303,7 @@ void meshGFace::operator() (GFace *gf)
   if(gf->geomType() == GEntity::DiscreteSurface) return;
   if(gf->geomType() == GEntity::BoundaryLayerSurface) return;
   if(gf->geomType() == GEntity::ProjectionFace) return;
+  if(gf->meshAttributes.Method == MESH_NONE) return;
 
   // destroy the mesh if it exists
   deMeshGFace dem;
@@ -1373,7 +1374,7 @@ void orientMeshGFace::operator()(GFace *gf)
 
   // in old versions we did not reorient transfinite surface meshes;
   // we could add the following to provide backward compatibility:
-  // if(gf->meshAttributes.Method == TRANSFINI) return;
+  // if(gf->meshAttributes.Method == MESH_TRANSFINITE) return;
 
   // orients the mesh to match the orientation of the first edge
   std::list<GEdge*> edges = gf->edges();
diff --git a/Mesh/meshGFaceTransfinite.cpp b/Mesh/meshGFaceTransfinite.cpp
index 4706d2a402f0e848a37dbab557e38363234720b9..c726601441962aeb875043527ef0a544809683fc 100644
--- a/Mesh/meshGFaceTransfinite.cpp
+++ b/Mesh/meshGFaceTransfinite.cpp
@@ -1,4 +1,4 @@
-// $Id: meshGFaceTransfinite.cpp,v 1.28 2008-05-06 21:11:48 geuzaine Exp $
+// $Id: meshGFaceTransfinite.cpp,v 1.29 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -53,7 +53,7 @@ extern Context_T CTX;
 
 int MeshTransfiniteSurface(GFace *gf)
 {
-  if(gf->meshAttributes.Method != TRANSFINI) return 0;
+  if(gf->meshAttributes.Method != MESH_TRANSFINITE) return 0;
 
   Msg::StatusBar(2, true, "Meshing surface %d (transfinite)", gf->tag());
 
diff --git a/Mesh/meshGRegion.cpp b/Mesh/meshGRegion.cpp
index 3a434049a4182905bb7e9afa22bf3c479fa8754f..7465b3fb1f0a75a5c412b07e598f26ab405ed78c 100644
--- a/Mesh/meshGRegion.cpp
+++ b/Mesh/meshGRegion.cpp
@@ -1,4 +1,4 @@
-// $Id: meshGRegion.cpp,v 1.54 2008-06-20 12:15:44 remacle Exp $
+// $Id: meshGRegion.cpp,v 1.55 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -556,6 +556,7 @@ void meshNormalsPointOutOfTheRegion(GRegion *gr)
 void meshGRegion::operator() (GRegion *gr) 
 {  
   if(gr->geomType() == GEntity::DiscreteVolume) return;
+  if(gr->meshAttributes.Method == MESH_NONE) return;
 
   ExtrudeParams *ep = gr->meshAttributes.extrude;
 
@@ -565,10 +566,7 @@ void meshGRegion::operator() (GRegion *gr)
   deMeshGRegion dem;
   dem(gr);
 
-  if(gr->meshAttributes.Method == TRANSFINI){
-    MeshTransfiniteVolume(gr);
-    return;
-  }
+  if(MeshTransfiniteVolume(gr)) return;
   
   std::list<GFace*> faces = gr->faces();
 
@@ -605,7 +603,7 @@ void optimizeMeshGRegionNetgen::operator() (GRegion *gr)
   if(gr->geomType() == GEntity::DiscreteVolume) return;
   
   // don't optimize transfinite or extruded meshes
-  if(gr->meshAttributes.Method == TRANSFINI) return;
+  if(gr->meshAttributes.Method == MESH_TRANSFINITE) return;
   ExtrudeParams *ep = gr->meshAttributes.extrude;
   if(ep && ep->mesh.ExtrudeMesh && ep->geo.Mode == EXTRUDED_ENTITY) return;
 
@@ -632,7 +630,7 @@ void optimizeMeshGRegionGmsh::operator() (GRegion *gr)
   if(gr->geomType() == GEntity::DiscreteVolume) return;
   
   // don't optimize extruded meshes
-  if(gr->meshAttributes.Method == TRANSFINI) return;
+  if(gr->meshAttributes.Method == MESH_TRANSFINITE) return;
   ExtrudeParams *ep = gr->meshAttributes.extrude;
   if(ep && ep->mesh.ExtrudeMesh && ep->geo.Mode == EXTRUDED_ENTITY) return;
   
diff --git a/Mesh/meshGRegionTransfinite.cpp b/Mesh/meshGRegionTransfinite.cpp
index 675fb0a57ba29209783781b5bbc6bef23410e7e1..6fc8f1a8279ee03c50c106572b9abb0c3ca80336 100644
--- a/Mesh/meshGRegionTransfinite.cpp
+++ b/Mesh/meshGRegionTransfinite.cpp
@@ -1,4 +1,4 @@
-// $Id: meshGRegionTransfinite.cpp,v 1.13 2008-06-27 18:00:52 geuzaine Exp $
+// $Id: meshGRegionTransfinite.cpp,v 1.14 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -279,7 +279,7 @@ public:
 
 int MeshTransfiniteVolume(GRegion *gr)
 {
-  if(gr->meshAttributes.Method != TRANSFINI) return 0;
+  if(gr->meshAttributes.Method != MESH_TRANSFINITE) return 0;
 
   Msg::StatusBar(2, true, "Meshing volume %d (transfinite)", gr->tag());
 
diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp
index cfa4efce8a37e699fac3c04a0a781c33a5c16879..69c1d1fa88b128e148b1aef5aaf445bebd1782a4 100644
--- a/Parser/Gmsh.tab.cpp
+++ b/Parser/Gmsh.tab.cpp
@@ -324,7 +324,7 @@
 /* Copy the first part of user declarations.  */
 #line 1 "Gmsh.y"
 
-// $Id: Gmsh.tab.cpp,v 1.370 2008-06-27 17:34:19 geuzaine Exp $
+// $Id: Gmsh.tab.cpp,v 1.371 2008-07-01 14:24:07 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -6560,7 +6560,7 @@ yyreduce:
 	if(!c)
 	  yymsg(1, "Unknown curve %d", j);
 	else{
-	  c->Method = TRANSFINI;
+	  c->Method = MESH_TRANSFINITE;
 	  c->nbPointsTransfinite = ((yyvsp[(5) - (6)].d) > 2) ? (int)(yyvsp[(5) - (6)].d) : 2;
 	  c->typeTransfinite = sign(d);
 	  c->coeffTransfinite = 1.0;
@@ -6581,7 +6581,7 @@ yyreduce:
 	if(!c)
 	  yymsg(1, "Unknown curve %d", j);
 	else{
-	  c->Method = TRANSFINI;
+	  c->Method = MESH_TRANSFINITE;
 	  c->nbPointsTransfinite = ((yyvsp[(5) - (9)].d) > 2) ? (int)(yyvsp[(5) - (9)].d) : 2;
 	  c->typeTransfinite = sign(d); // Progresion : code 1 ou -1
 	  c->coeffTransfinite = fabs((yyvsp[(8) - (9)].d));
@@ -6602,7 +6602,7 @@ yyreduce:
 	if(!c)
 	  yymsg(1, "Unknown curve %d", j);
 	else{
-	  c->Method = TRANSFINI;
+	  c->Method = MESH_TRANSFINITE;
 	  c->nbPointsTransfinite = ((yyvsp[(5) - (9)].d) > 2) ? (int)(yyvsp[(5) - (9)].d) : 2;
 	  c->typeTransfinite = 2 * sign(d); // Bump : code 2 ou -2
 	  c->coeffTransfinite = fabs((yyvsp[(8) - (9)].d));
@@ -6619,7 +6619,7 @@ yyreduce:
       if(!s)
 	yymsg(1, "Unknown surface %d", (int)(yyvsp[(4) - (8)].d));
       else{
-	s->Method = TRANSFINI;
+	s->Method = MESH_TRANSFINITE;
 	s->Recombine_Dir = -1;
 	int k = List_Nbr((yyvsp[(7) - (8)].l));
 	if(k != 3 && k != 4){
@@ -6651,7 +6651,7 @@ yyreduce:
       if(!s)
 	yymsg(1, "Unknown surface %d", (int)(yyvsp[(4) - (9)].d));
       else{
-	s->Method = TRANSFINI;
+	s->Method = MESH_TRANSFINITE;
 	int k = List_Nbr((yyvsp[(7) - (9)].l));
 	if(k != 3 && k != 4){
 	  yymsg(0, "Wrong definition of Transfinite Surface %d: "
@@ -6697,7 +6697,7 @@ yyreduce:
       if(!v)
 	yymsg(1, "Unknown volume %d", (int)(yyvsp[(4) - (8)].d));
       else{
-	v->Method = TRANSFINI;
+	v->Method = MESH_TRANSFINITE;
 	int k = List_Nbr((yyvsp[(7) - (8)].l));
 	if(k != 6 && k != 8)
 	  yymsg(0, "Wrong definition of Transfinite Volume %d: "
diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y
index fb090314eac0a90d346f83c812def4a494a3854d..3ef53d0702595b2ca4aea08ae650dabc0de40ad6 100644
--- a/Parser/Gmsh.y
+++ b/Parser/Gmsh.y
@@ -1,5 +1,5 @@
 %{
-// $Id: Gmsh.y,v 1.319 2008-06-27 17:34:22 geuzaine Exp $
+// $Id: Gmsh.y,v 1.320 2008-07-01 14:24:11 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -2601,7 +2601,7 @@ Transfinite :
 	if(!c)
 	  yymsg(1, "Unknown curve %d", j);
 	else{
-	  c->Method = TRANSFINI;
+	  c->Method = MESH_TRANSFINITE;
 	  c->nbPointsTransfinite = ($5 > 2) ? (int)$5 : 2;
 	  c->typeTransfinite = sign(d);
 	  c->coeffTransfinite = 1.0;
@@ -2619,7 +2619,7 @@ Transfinite :
 	if(!c)
 	  yymsg(1, "Unknown curve %d", j);
 	else{
-	  c->Method = TRANSFINI;
+	  c->Method = MESH_TRANSFINITE;
 	  c->nbPointsTransfinite = ($5 > 2) ? (int)$5 : 2;
 	  c->typeTransfinite = sign(d); // Progresion : code 1 ou -1
 	  c->coeffTransfinite = fabs($8);
@@ -2637,7 +2637,7 @@ Transfinite :
 	if(!c)
 	  yymsg(1, "Unknown curve %d", j);
 	else{
-	  c->Method = TRANSFINI;
+	  c->Method = MESH_TRANSFINITE;
 	  c->nbPointsTransfinite = ($5 > 2) ? (int)$5 : 2;
 	  c->typeTransfinite = 2 * sign(d); // Bump : code 2 ou -2
 	  c->coeffTransfinite = fabs($8);
@@ -2651,7 +2651,7 @@ Transfinite :
       if(!s)
 	yymsg(1, "Unknown surface %d", (int)$4);
       else{
-	s->Method = TRANSFINI;
+	s->Method = MESH_TRANSFINITE;
 	s->Recombine_Dir = -1;
 	int k = List_Nbr($7);
 	if(k != 3 && k != 4){
@@ -2680,7 +2680,7 @@ Transfinite :
       if(!s)
 	yymsg(1, "Unknown surface %d", (int)$4);
       else{
-	s->Method = TRANSFINI;
+	s->Method = MESH_TRANSFINITE;
 	int k = List_Nbr($7);
 	if(k != 3 && k != 4){
 	  yymsg(0, "Wrong definition of Transfinite Surface %d: "
@@ -2720,7 +2720,7 @@ Transfinite :
       if(!v)
 	yymsg(1, "Unknown volume %d", (int)$4);
       else{
-	v->Method = TRANSFINI;
+	v->Method = MESH_TRANSFINITE;
 	int k = List_Nbr($7);
 	if(k != 6 && k != 8)
 	  yymsg(0, "Wrong definition of Transfinite Volume %d: "
diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp
index ae702a016a8ae9fca60f37bb9a87c3f04314966c..02cd6109fed33c165aca7d1c91f8220373387427 100644
--- a/Parser/Gmsh.yy.cpp
+++ b/Parser/Gmsh.yy.cpp
@@ -835,7 +835,7 @@ int gmsh_yy_flex_debug = 0;
 char *gmsh_yytext;
 #line 1 "Gmsh.l"
 #line 2 "Gmsh.l"
-// $Id: Gmsh.yy.cpp,v 1.369 2008-06-27 17:34:23 geuzaine Exp $
+// $Id: Gmsh.yy.cpp,v 1.370 2008-07-01 14:24:11 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //