diff --git a/Adapt/Makefile b/Adapt/Makefile
index 11dde31017aa475a8601fb9e272415365a5d6be8..72d804da10716b8144b03982c81550e38dee3efb 100644
--- a/Adapt/Makefile
+++ b/Adapt/Makefile
@@ -60,8 +60,9 @@ brent.o: brent.cpp nrutil.h ../Common/Const.h
 mnbrak.o: mnbrak.cpp nrutil.h ../Common/Const.h
 nrutil.o: nrutil.cpp
 optimesh.o: optimesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h Adapt.h nrutil.h ../Common/Const.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Adapt.h nrutil.h \
+ ../Common/Const.h
 dsvdcmp.o: dsvdcmp.cpp nrutil.h ../Common/Const.h
 newt.o: newt.cpp nrutil.h ../Common/Const.h
 fmin.o: fmin.cpp nrutil.h ../Common/Const.h
diff --git a/Common/Makefile b/Common/Makefile
index b0a0b3c4f70e9a16b5c659cfb43f78cf3fbd7221..417192a0e7139452cfdf5a034a919a543d474709 100644
--- a/Common/Makefile
+++ b/Common/Makefile
@@ -49,11 +49,12 @@ depend:
 
 # DO NOT DELETE THIS LINE
 Context.o: Context.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
-  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
-  Const.h ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
-  ../Graphics/Draw.h ../Common/Views.h ../Common/Const.h \
-  ../Graphics/ColorTable.h Context.h
-Views.o: Views.cpp Gmsh.h Message.h ../DataStr/Malloc.h ../DataStr/List.h \
-  ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h Views.h Const.h \
-  ../Graphics/ColorTable.h Context.h
+ ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h \
+ ../DataStr/Tools.h Const.h ../Geo/Geo.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
+ ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h \
+ Context.h
+Views.o: Views.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
+ ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h \
+ ../DataStr/Tools.h Views.h Const.h ../Graphics/ColorTable.h Context.h
diff --git a/Geo/Makefile b/Geo/Makefile
index d1d252f8700cbee6fa86288ac031c214c4a667be..6b64c8a81de8e9f12436db434bbd23ae339bad22 100644
--- a/Geo/Makefile
+++ b/Geo/Makefile
@@ -53,42 +53,44 @@ depend:
 	$(RM) $(RMFLAGS) Makefile.new
 
 # DO NOT DELETE THIS LINE
-CAD.o: CAD.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
-  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
-  Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h DataBase.h \
-  ../Mesh/Interpolation.h ../Mesh/Numeric.h ../Common/Const.h \
-  ../Mesh/Create.h CAD.h
+CAD.o: CAD.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Geo.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h DataBase.h \
+ ../Mesh/Interpolation.h ../Mesh/Numeric.h ../Common/Const.h \
+ ../Mesh/Create.h CAD.h
 DataBase.o: DataBase.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Geo.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h CAD.h ../Mesh/Create.h Verif.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h CAD.h ../Mesh/Create.h \
+ Verif.h
 MinMax.o: MinMax.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Mesh/Vertex.h \
-  ../Common/Context.h
-ExtrudeParams.o: ExtrudeParams.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h Geo.h CAD.h ../Mesh/Mesh.h \
-  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h ExtrudeParams.h
-Geo.o: Geo.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
-  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
-  ../Common/Const.h Geo.h CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
-  ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
-  ../Mesh/Metric.h DataBase.h ../Parser/Parser.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h \
+ ../Mesh/Vertex.h ../Common/Context.h
+ExtrudeParams.o: ExtrudeParams.cpp ../Common/Gmsh.h \
+ ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
+ ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h Geo.h CAD.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ExtrudeParams.h
+Geo.o: Geo.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Geo.h CAD.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h DataBase.h ../Parser/Parser.h
 StepGeomDatabase.o: StepGeomDatabase.cpp ../Common/Gmsh.h \
-  ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
-  ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h Geo.h \
-  StepGeomDatabase.h DataBase.h
+ ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
+ ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h Geo.h \
+ StepGeomDatabase.h DataBase.h
 Verif.o: Verif.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h Geo.h CAD.h ../Mesh/Mesh.h \
-  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h DataBase.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Geo.h CAD.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h DataBase.h
 Print_Geo.o: Print_Geo.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h Geo.h ../Mesh/Mesh.h \
-  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h CAD.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Geo.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h CAD.h
diff --git a/Graphics/Makefile b/Graphics/Makefile
index 741d62fa49bd24babe3b12cd1775191cb4d05f3c..14119fcfcbf4f860dc9b9352264c197eb04e947d 100644
--- a/Graphics/Makefile
+++ b/Graphics/Makefile
@@ -66,84 +66,86 @@ depend:
 	$(RM) $(RMFLAGS) Makefile.new
 
 # DO NOT DELETE THIS LINE
-Draw.o: Draw.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
-  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
-  ../Common/GmshUI.h ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
-  ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
-  ../Mesh/Metric.h Draw.h ../Common/Views.h ../Common/Const.h \
-  ../Graphics/ColorTable.h ../Common/Context.h ../Geo/MinMax.h \
-  ../Unix/Widgets.h ../Unix/XContext.h
-Mesh.o: Mesh.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
-  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
-  ../Common/GmshUI.h ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
-  ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
-  ../Mesh/Metric.h Draw.h ../Common/Views.h ../Common/Const.h \
-  ../Graphics/ColorTable.h ../Common/Context.h ../Geo/MinMax.h gl2ps.h \
-  ../Geo/Verif.h ../Mesh/Numeric.h
-Geom.o: Geom.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
-  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
-  ../Common/GmshUI.h ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
-  ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
-  ../Mesh/Metric.h Draw.h ../Common/Views.h ../Common/Const.h \
-  ../Graphics/ColorTable.h ../Common/Context.h ../Geo/Verif.h \
-  ../Mesh/Interpolation.h ../Mesh/Numeric.h
-Post.o: Post.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
-  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
-  ../Common/GmshUI.h ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
-  ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
-  ../Mesh/Metric.h Draw.h ../Common/Views.h ../Common/Const.h \
-  ../Graphics/ColorTable.h ../Common/Context.h
+Draw.o: Draw.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
+ ../Common/Const.h ../Graphics/ColorTable.h ../Common/Context.h \
+ ../Geo/MinMax.h ../Unix/CbGeneral.h ../Unix/Widgets.h \
+ ../Unix/XContext.h
+Mesh.o: Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
+ ../Common/Const.h ../Graphics/ColorTable.h ../Common/Context.h \
+ ../Geo/MinMax.h gl2ps.h ../Geo/Verif.h ../Mesh/Numeric.h
+Geom.o: Geom.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
+ ../Common/Const.h ../Graphics/ColorTable.h ../Common/Context.h \
+ ../Geo/Verif.h ../Mesh/Interpolation.h ../Mesh/Numeric.h
+Post.o: Post.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
+ ../Common/Const.h ../Graphics/ColorTable.h ../Common/Context.h
 PostSimplex.o: PostSimplex.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
-  ../Common/Const.h ../Graphics/ColorTable.h Iso.h ../Common/Context.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
+ ../Common/Const.h ../Graphics/ColorTable.h Iso.h ../Common/Context.h
 PostTriangle.o: PostTriangle.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
-  ../Common/Const.h ../Graphics/ColorTable.h Iso.h ../Common/Context.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
+ ../Common/Const.h ../Graphics/ColorTable.h Iso.h ../Common/Context.h
 PostLine.o: PostLine.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
-  ../Common/Const.h ../Graphics/ColorTable.h Iso.h ../Common/Context.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
+ ../Common/Const.h ../Graphics/ColorTable.h Iso.h ../Common/Context.h
 PostPoint.o: PostPoint.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
-  ../Common/Const.h ../Graphics/ColorTable.h Iso.h ../Common/Context.h
-Iso.o: Iso.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
-  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
-  ../Common/Const.h ../Graphics/ColorTable.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
+ ../Common/Const.h ../Graphics/ColorTable.h Iso.h ../Common/Context.h
+Iso.o: Iso.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
+ ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
+ ../Mesh/Metric.h Draw.h ../Common/Views.h ../Common/Const.h \
+ ../Graphics/ColorTable.h
 Entity.o: Entity.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Mesh/Mesh.h \
-  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
-  ../Common/Const.h ../Graphics/ColorTable.h ../Common/Context.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
+ ../Common/Const.h ../Graphics/ColorTable.h ../Common/Context.h
 Scale.o: Scale.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
-  ../Common/Const.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h \
-  ../Common/Views.h ../Graphics/ColorTable.h ../Common/Context.h gl2ps.h \
-  ../Unix/XContext.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
+ ../Common/Const.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h \
+ ../Common/Views.h ../Graphics/ColorTable.h ../Common/Context.h \
+ gl2ps.h ../Unix/XContext.h
 Volume.o: Volume.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
-  ../Common/Const.h ../Graphics/ColorTable.h ../Mesh/Interpolation.h \
-  ../Common/Context.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
+ ../Common/Const.h ../Graphics/ColorTable.h ../Mesh/Interpolation.h \
+ ../Common/Context.h
 ColorTable.o: ColorTable.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ColorTable.h ../Common/Context.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ColorTable.h ../Common/Context.h
 gl2ps.o: gl2ps.cpp gl2ps.h
 gl2gif.o: gl2gif.cpp gl2gif.h
diff --git a/Mesh/2D_Mesh.h b/Mesh/2D_Mesh.h
index 2c641e155a52d3621c766c1db7a10429c2a7bd4d..dccc974d97d2aee82e3a4d6efdba82036d6b7978 100644
--- a/Mesh/2D_Mesh.h
+++ b/Mesh/2D_Mesh.h
@@ -1,4 +1,4 @@
-/* $Id: 2D_Mesh.h,v 1.2 2000-11-23 14:11:34 geuzaine Exp $ */
+/* $Id: 2D_Mesh.h,v 1.3 2000-11-23 15:05:59 geuzaine Exp $ */
 #ifndef _2D_MESH_H_
 #define _2D_MESH_H_
 
@@ -11,35 +11,35 @@ typedef struct avl{
 
 typedef avlstruct *avlptr;
 
-int remove_tree (avlstruct ** root);
-int insert_avltree (avlstruct ** root, void *item, 
-		    int (*fcmp)(void *a, void *b));
-int delete_avltree (avlstruct ** root, void *item, 
-		    int (*fcmp)(void *a, void *b));
-int avltree_remove (avlstruct **root);
+int  remove_tree (avlstruct ** root);
+int  insert_avltree (avlstruct ** root, void *item, 
+		     int (*fcmp)(void *a, void *b));
+int  delete_avltree (avlstruct ** root, void *item, 
+		     int (*fcmp)(void *a, void *b));
+int  avltree_remove (avlstruct **root);
 void avltree_count (avlptr root, int *numtri);
 void avltree_print (avlptr root, Delaunay **listdel, int *numtri);
-int avltree_insert (avlstruct **root, void *item, 
-		    int (*fcmp)(void *a, void *b));
-int avltree_delete (avlstruct **root, void *item, 
-		    int (*fcmp)(void *a, void *b));
+int  avltree_insert (avlstruct **root, void *item, 
+		     int (*fcmp)(void *a, void *b));
+int  avltree_delete (avlstruct **root, void *item, 
+		     int (*fcmp)(void *a, void *b));
+void findtree(avlptr root, double *qualm, 
+	      Delaunay **delf, DocRecord *MESH);
+Delaunay *findrightest(avlptr root, DocRecord *MESH);
+
 
 PointNumero Successor(PointNumero a,PointNumero b);
 
-		    
+Delaunay * Find_Triangle (MPoint pt, DocRecord *MESH, int typ);
 int Insert_Triangle (avlstruct **root, Delaunay * del);
 int Delete_Triangle ( avlstruct **root, Delaunay * del );
 int Insert_Point (MPoint pt, int *numpoints, int *numalloc, 
 		  DocRecord *doc, DocRecord *BGM, int is3d);
-
-void findtree(avlptr root, double *qualm, Delaunay **delf, DocRecord *MESH);
-Delaunay *findrightest(avlptr root, DocRecord *MESH);
 MPoint Localize (Delaunay * del , DocRecord *MESH);
 void alloue_Mai_Pts(maillage *mai , int Nballoc , int incrAlloc);
 void alloue_Mai_Del(maillage *mai , int Nballoc , int incrAlloc);
 
 void InitBricks (DocRecord *MESH);
-Delaunay * Find_Triangle (MPoint pt, DocRecord *MESH, int typ);
 int PtInTriangle(MPoint p , PointNumero a , PointNumero b , PointNumero c);
 int DelaunayAndVoronoi(DocPeek doc);
 
diff --git a/Mesh/2D_Mesh_Aniso.cpp b/Mesh/2D_Mesh_Aniso.cpp
index 653095b8a589b2b16fa8783f322a6c5a92aa05cc..98a9b2c151376ae46c00a5840acfec86caa888e2 100644
--- a/Mesh/2D_Mesh_Aniso.cpp
+++ b/Mesh/2D_Mesh_Aniso.cpp
@@ -1,4 +1,4 @@
-/* $Id: 2D_Mesh_Aniso.cpp,v 1.3 2000-11-23 14:11:34 geuzaine Exp $ */
+/* $Id: 2D_Mesh_Aniso.cpp,v 1.4 2000-11-23 15:05:59 geuzaine Exp $ */
 /*
    Jean-Francois Remacle
 
@@ -690,7 +690,6 @@ void Convex_Hull_Mesh_2D (List_T * Points, Surface * s){
       ca_marche = Bowyer_Watson_2D (s, THEV, THES, 1);
       THEV->Pos.X -= dx;
       THEV->Pos.Y -= dy;
-      cout << "pb " << endl;
     }
   }
 
diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp
index d9b31b7099976d5c742e4fb3909f7d3459914fca..68052ca6d79cfab10c943d4e3f5f817f7ac24f31 100644
--- a/Mesh/Generator.cpp
+++ b/Mesh/Generator.cpp
@@ -1,4 +1,4 @@
-/* $Id: Generator.cpp,v 1.3 2000-11-23 14:11:35 geuzaine Exp $ */
+/* $Id: Generator.cpp,v 1.4 2000-11-23 15:05:59 geuzaine Exp $ */
 
 #include "Gmsh.h"
 #include "Const.h"
@@ -157,10 +157,6 @@ void Init_Mesh (Mesh * M, int all){
 
   CurrentNodeNumber = 1;
   CurrentSimplexNumber = 0;
-
-  M->MeshParams.DelaunayAlgorithm = CTX.mesh.algo ;
-  M->MeshParams.NbSmoothing = CTX.mesh.nb_smoothing ;
-  M->MeshParams.InteractiveDelaunay = CTX.mesh.interactive ;
   M->status = 0;
 }
 
@@ -168,6 +164,10 @@ void mai3d (Mesh * M, int Asked){
   double t1, t2;
   int oldstatus;
 
+  M->MeshParams.DelaunayAlgorithm = CTX.mesh.algo ;
+  M->MeshParams.NbSmoothing = CTX.mesh.nb_smoothing ;
+  M->MeshParams.InteractiveDelaunay = CTX.mesh.interactive ;
+
   oldstatus = M->status;
 
   /* initialisations - Maillage 0-D */
diff --git a/Mesh/Makefile b/Mesh/Makefile
index 666d53a16bdb961d172640053abbd40a7c7c04d6..b2c5b6c99d8b94a1fb70a5e5a3f09ac51d93b617 100644
--- a/Mesh/Makefile
+++ b/Mesh/Makefile
@@ -87,186 +87,194 @@ depend:
 
 # DO NOT DELETE THIS LINE
 1D_Mesh.o: 1D_Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  Mesh.h Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h \
-  ../Common/Context.h Interpolation.h Numeric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
+ Mesh.h Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h \
+ ../Common/Context.h Interpolation.h Numeric.h
 2D_Mesh.o: 2D_Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Create.h \
-  2D_Mesh.h Numeric.h ../Common/Context.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
+ ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
+ Create.h 2D_Mesh.h Numeric.h ../Common/Context.h
 2D_SMesh.o: 2D_SMesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Numeric.h \
-  Interpolation.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Numeric.h \
+ Interpolation.h
 2D_Elliptic.o: 2D_Elliptic.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
+ ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h
 2D_BGMesh.o: 2D_BGMesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
 2D_Recombine.o: 2D_Recombine.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h Create.h \
-  Numeric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h Create.h \
+ Numeric.h
 2D_InitMesh.o: 2D_InitMesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h Numeric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h Numeric.h
 2D_Bowyer.o: 2D_Bowyer.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
 2D_Bricks.o: 2D_Bricks.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
-2D_DivAndConq.o: 2D_DivAndConq.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+2D_DivAndConq.o: 2D_DivAndConq.cpp ../Common/Gmsh.h \
+ ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
+ ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
+ ../Common/Const.h Mesh.h Vertex.h Simplex.h Edge.h \
+ ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
 2D_Util.o: 2D_Util.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
 2D_Links.o: 2D_Links.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
 2D_Tree.o: 2D_Tree.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
-  ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
-2D_Cylindrical.o: 2D_Cylindrical.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h ../Common/Context.h \
-  Numeric.h
-2D_Parametric.o: 2D_Parametric.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Interpolation.h \
-  Mesh.h 2D_Mesh.h Create.h ../Common/Context.h Numeric.h
-2D_Mesh_Aniso.o: 2D_Mesh_Aniso.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
-  Interpolation.h Create.h ../Common/Context.h Numeric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
+ ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+2D_Cylindrical.o: 2D_Cylindrical.cpp ../Common/Gmsh.h \
+ ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
+ ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
+ ../Common/Const.h Mesh.h Vertex.h Simplex.h Edge.h \
+ ../Geo/ExtrudeParams.h Metric.h ../Common/Context.h Numeric.h
+2D_Parametric.o: 2D_Parametric.cpp ../Common/Gmsh.h \
+ ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
+ ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
+ ../Common/Const.h ../Geo/Geo.h ../Geo/CAD.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Interpolation.h Mesh.h \
+ 2D_Mesh.h Create.h ../Common/Context.h Numeric.h
+2D_Mesh_Aniso.o: 2D_Mesh_Aniso.cpp ../Common/Gmsh.h \
+ ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
+ ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
+ ../Common/Const.h ../Geo/Geo.h ../Geo/CAD.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Interpolation.h \
+ Create.h ../Common/Context.h Numeric.h
 3D_Mesh.o: 3D_Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 3D_Mesh.h Create.h \
-  Numeric.h ../Common/Context.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 3D_Mesh.h Create.h \
+ Numeric.h ../Common/Context.h
 3D_SMesh.o: 3D_SMesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
-  ../Geo/ExtrudeParams.h Metric.h Interpolation.h Create.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
+ ../Geo/ExtrudeParams.h Metric.h Interpolation.h Create.h
 3D_BGMesh.o: 3D_BGMesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
-  ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h 3D_Mesh.h ../Adapt/Adapt.h \
-  ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h Numeric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
+ ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h 3D_Mesh.h ../Adapt/Adapt.h \
+ ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h \
+ Numeric.h
 3D_Extrude.o: 3D_Extrude.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
-  ../Common/Context.h Create.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
+ ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
+ ../Common/Context.h Create.h
 3D_Coherence.o: 3D_Coherence.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  Mesh.h Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h \
-  3D_Mesh.h Create.h Numeric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
+ Mesh.h Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h \
+ 3D_Mesh.h Create.h Numeric.h
 3D_Divide.o: 3D_Divide.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
 3D_Bricks.o: 3D_Bricks.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
 MeshQuality.o: MeshQuality.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Numeric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Numeric.h
 Create.o: Create.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Numeric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
+ ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
+ Numeric.h
 Generator.o: Generator.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Create.h \
-  ../Common/Context.h ../Unix/Main.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Create.h \
+ ../Common/Context.h ../Unix/Main.h
 Print_Mesh.o: Print_Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Create.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
+ ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
+ Create.h
 Read_Mesh.o: Read_Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Create.h \
-  ../Geo/MinMax.h
-STL.o: STL.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
-  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
-  Mesh.h Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Create.h \
+ ../Geo/MinMax.h
+STL.o: STL.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
+ ../Geo/ExtrudeParams.h Metric.h
 SwapEdge.o: SwapEdge.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h SwapPatterns.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h SwapPatterns.h
 Numeric.o: Numeric.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Numeric.h \
-  Interpolation.h ../Adapt/nrutil.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
+ ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
+ Numeric.h Interpolation.h ../Adapt/nrutil.h
 Metric.o: Metric.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Matrix.h \
-  Interpolation.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
+ ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
+ Matrix.h Interpolation.h
 Nurbs.o: Nurbs.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
-  ../Geo/ExtrudeParams.h Metric.h
-Interpolation.o: Interpolation.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Numeric.h \
-  Interpolation.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
+ ../Geo/ExtrudeParams.h Metric.h
+Interpolation.o: Interpolation.cpp ../Common/Gmsh.h \
+ ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
+ ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
+ ../Common/Const.h ../Geo/Geo.h ../Geo/CAD.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Numeric.h \
+ Interpolation.h
 SecondOrder.o: SecondOrder.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Interpolation.h \
-  Numeric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Interpolation.h \
+ Numeric.h
 Smoothing.o: Smoothing.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
-  Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
 CrossData.o: CrossData.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
-  ../Geo/ExtrudeParams.h Metric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
+ ../Geo/ExtrudeParams.h Metric.h
 Vertex.o: Vertex.cpp Vertex.h ../DataStr/List.h
-Edge.o: Edge.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
-  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
-  Mesh.h Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h \
-  ../Common/Const.h
+Edge.o: Edge.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
+ ../Geo/ExtrudeParams.h Metric.h ../Common/Const.h
 Simplex.o: Simplex.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
-  Mesh.h Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h \
-  Numeric.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h ../Geo/Geo.h \
+ Mesh.h Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h \
+ Numeric.h
diff --git a/Mesh/Mesh.h b/Mesh/Mesh.h
index 61dedd75c4d02719ca2dd6acf4dd9a93a78bf7a3..2a4b5439de043ae5c85c6615bd728364073c2a2f 100644
--- a/Mesh/Mesh.h
+++ b/Mesh/Mesh.h
@@ -1,4 +1,4 @@
-/* $Id: Mesh.h,v 1.3 2000-11-23 14:11:35 geuzaine Exp $ */
+/* $Id: Mesh.h,v 1.4 2000-11-23 15:05:59 geuzaine Exp $ */
 #ifndef _MESH_H_
 #define _MESH_H_
 
@@ -19,11 +19,6 @@
 #define BOF         1
 #define A_TOUT_PRIX 2
 
-#define LossMemory  1
-#define BadLink2    2
-#define DegTriangle 3
-#define PtExterior  4
-
 #define CENTER_CIRCCIRC 1
 #define VORONOI_INSERT  2
 #define BARYCENTER      3
@@ -36,33 +31,18 @@
 #define ACCEPTED    5
 #define NONACCEPTED 6
 
-#define NONE        0
 #define CONSTANT    1
 #define ONFILE      2
 #define WITHPOINTS  3
 #define FUNCTION    4
-#define LINEAR      5
-#define QUADRATIC   6
-#define CUBIC       7
-#define LOGARITHMIC 8
-#define EXPONENTIAL 9
-
-#define DROITE 1
-#define SPLINE 2
 
 #define TRANSFINI 1
 #define LIBRE     2
 #define ELLIPTIC  3
 
-#define REMOVE 1
-#define ADD    2
-
 #define BOULE 1
 #define BOITE 2
 
-#define HYPOTENU  1
-#define SMALLFACE 2
-
 typedef struct _POINT PointRecord, *PointPeek;
 typedef struct _CONTOUR ContourRecord, *ContourPeek;
 typedef struct _DOC DocRecord, *DocPeek;
@@ -73,11 +53,11 @@ typedef struct _DELAUNAY Delaunay, *delpeek;
 typedef int PointNumero;
 
 struct _DOC{
-  PointRecord *points;	/* points a trianguler */
-  List_T *hotpoints;		/* hotpoints */
-  int numPoints;		/* nombre de points */
-  int numTriangles;		/* nombre de triangles */
-  Delaunay *delaunay;		/* resultats 2D */
+  PointRecord *points;  /* points a trianguler */
+  List_T *hotpoints;    /* hotpoints */
+  int numPoints;        /* nombre de points */
+  int numTriangles;     /* nombre de triangles */
+  Delaunay *delaunay;   /* resultats 2D */
 };
 
 typedef struct{
@@ -98,7 +78,7 @@ typedef struct{
 }IntPoint;
 
 struct _CDLIST{
-  PointNumero point_num;	/* numero du point */
+  PointNumero point_num; /* numero du point */
   DListPeek next, prev;
 };
 
@@ -173,17 +153,17 @@ typedef struct{
 }NXE;
 
 typedef struct{
-  int Num;		/* Numero                                       */
-  int iEnt;		/* Entite geometrique                           */
-  Vertex *V[8];		/* 8 noeuds                                     */
-  Vertex **VSUP;	/* noeuds supplem pour les elts de degre eleves */
+  int Num;              /* Numero                                       */
+  int iEnt;             /* Entite geometrique                           */
+  Vertex *V[8];         /* 8 noeuds                                     */
+  Vertex **VSUP;        /* noeuds supplem pour les elts de degre eleves */
 }Hexahedron;
 
 typedef struct{
-  int Num;		/* Numero                                       */
-  int iEnt;		/* Entite geometrique                           */
-  Vertex *V[6];		/* 6 noeuds                                     */
-  Vertex **VSUP;	/* noeuds supplem pour les elts de degre eleves */
+  int Num;              /* Numero                                       */
+  int iEnt;             /* Entite geometrique                           */
+  Vertex *V[6];         /* 6 noeuds                                     */
+  Vertex **VSUP;        /* noeuds supplem pour les elts de degre eleves */
 }Prism;
 
 typedef struct{
@@ -213,8 +193,8 @@ class STL_Data{
   List_T *LVertices;
   List_T *LSimplexes;
   void Add_Facet (double x1, double y1, double z1,
-		  double x2, double y2, double z2,
-		  double x3, double y3, double z3);
+                  double x2, double y2, double z2,
+                  double x3, double y3, double z3);
   int GetNbFacets (){
     return Tree_Nbr (Simplexes);
   }
@@ -237,9 +217,9 @@ struct _Surf{
   int ipar[4];
   int Nu, Nv;
   union{
-    List_T *Generatrices;	/* Surface reglee    */
+    List_T *Generatrices;       /* Surface reglee    */
   }s;
-  List_T *Control_Points;	/* Patchs bicubiques */
+  List_T *Control_Points;       /* Patchs bicubiques */
   double plan[3][3];
   double invplan[3][3];
   double a, b, c, d;
@@ -254,7 +234,7 @@ struct _Surf{
   float *ku, *kv, *cp;
   struct _Surf *Support;
   CylParam Cyl;
-  Grid_T Grid;		/* Grille de recherches rapides          */
+  Grid_T Grid;          /* Grille de recherches rapides */
   ExtrudeParams *Extrude;
   STL_Data *STL;
 };
@@ -307,20 +287,20 @@ typedef struct {
 /* Structure intersection arete - Simplexe */
 
 typedef struct{
-  int NbIntersect;	/* nombre total d'intersections                   */
-  Edge *e;		/* arete                                          */
-  Simplex *s;		/* simplexe                                       */
-  Face *f;		/* face                                           */
-  int NbVertex;		/* nombre de noeuds du simplexe que coupe l'arete */
-  Vertex *V[12];	/* noeuds du simplexe que coupe l'arete           */
-  int iV[12];		/* noeuds du simplexe que coupe l'arete           */
-  int NbEdge;		/* nombre d'intersections arete-arete             */
-  int E[12];		/* aretes                                         */
-  Vertex *VE[12];	/* noeuds d'intersection                          */
-  int NbFace;		/* nombre d'intersections face-arete              */
-  Face *F[12];		/* faces                                          */
-  int iF[12];		/* faces                                          */
-  Vertex *VF[12];	/* position des points d'intersections face-arete */
+  int NbIntersect;      /* nombre total d'intersections                   */
+  Edge *e;              /* arete                                          */
+  Simplex *s;           /* simplexe                                       */
+  Face *f;              /* face                                           */
+  int NbVertex;         /* nombre de noeuds du simplexe que coupe l'arete */
+  Vertex *V[12];        /* noeuds du simplexe que coupe l'arete           */
+  int iV[12];           /* noeuds du simplexe que coupe l'arete           */
+  int NbEdge;           /* nombre d'intersections arete-arete             */
+  int E[12];            /* aretes                                         */
+  Vertex *VE[12];       /* noeuds d'intersection                          */
+  int NbFace;           /* nombre d'intersections face-arete              */
+  Face *F[12];          /* faces                                          */
+  int iF[12];           /* faces                                          */
+  Vertex *VF[12];       /* position des points d'intersections face-arete */
 }Intersection;
 
 typedef struct _Mesh Mesh;
@@ -396,22 +376,22 @@ class MeshParameters{
 };
 
 struct _Mesh{
-  char name[256];		/* Nom du probleme                       */
-  int status;			/* Etat actuel du maillage               */
-  Tree_T *Points;		/* Points de controle                    */
-  Tree_T *Vertices;		/* Noeuds du maillage                    */
-  Tree_T *Simplexes;		/* Simplexes                             */
-  Tree_T *Curves;		/* Courbes                               */
-  Tree_T *Surfaces;		/* Surfaces                              */
-  Tree_T *Volumes;		/* Volumes                               */
-  Tree_T *SurfaceLoops;	        /* Surface Loops                         */
-  Tree_T *EdgeLoops;		/* Edge Loops                            */
-  List_T *PhysicalGroups;	/*Physical Groups                      */
-  Tree_T *VertexEdges;	        /* 2nd order Vertices on edges           */
-  Grid_T Grid;		        /* Grille de recherches rapides          */
-  LcField BGM;		        /* Background mesh                       */
-  double Statistics[50];	/* Statistiques pour le maillage         */
-  GMSHMetric *Metric;		/* Metrique */
+  char name[256];               /* Nom du probleme                       */
+  int status;                   /* Etat actuel du maillage               */
+  Tree_T *Points;               /* Points de controle                    */
+  Tree_T *Vertices;             /* Noeuds du maillage                    */
+  Tree_T *Simplexes;            /* Simplexes                             */
+  Tree_T *Curves;               /* Courbes                               */
+  Tree_T *Surfaces;             /* Surfaces                              */
+  Tree_T *Volumes;              /* Volumes                               */
+  Tree_T *SurfaceLoops;         /* Surface Loops                         */
+  Tree_T *EdgeLoops;            /* Edge Loops                            */
+  List_T *PhysicalGroups;       /* Physical Groups                      */
+  Tree_T *VertexEdges;          /* 2nd order Vertices on edges           */
+  Grid_T Grid;                  /* Grille de recherches rapides          */
+  LcField BGM;                  /* Background mesh                       */
+  double Statistics[50];        /* Statistiques pour le maillage         */
+  GMSHMetric *Metric;           /* Metrique */
   MeshParameters MeshParams;
 };
 
@@ -429,45 +409,38 @@ struct Map{
 
 /* public functions */
 
-double Correction_LC_Attractors (double X, double Y, double Z,
-				 double *u, Mesh * m, double metr[3][3]);
-int Extrude_Mesh (Curve * c);
-int Extrude_Mesh (Surface * s);
-int Extrude_Mesh (Volume * v);
-
-int Calcule_Contours (Surface * s);
-
-void Link_Simplexes (List_T * Sim, Tree_T * Tim);
-void Maillage_Curve (void *data, void *dummy);
-
-int AlgorithmeMaillage2DAnisotropeModeJF (Surface * s);
-void Maillage_Automatique_VieuxCode (Surface * pS, Mesh * m, int ori);
-void Maillage_Surface (void *data, void *dum);
-void Maillage_Volume (void *data, void *dum);
-
 void mai3d (Mesh * M, int Asked);
+
 void Init_Mesh (Mesh * M, int all);
+void Create_BgMesh (int i, double d, Mesh * m);
+void Print_Mesh (Mesh * M, char *c, int Type);
+void Read_Mesh (Mesh * M, FILE * File_GEO, int Type);
 void GetStatistics (double s[50]);
+
 void Maillage_Dimension_0 (Mesh * M);
 void Maillage_Dimension_1 (Mesh * M);
 void Maillage_Dimension_2 (Mesh * M);
 void Maillage_Dimension_3 (Mesh * M);
-void mai3d (Mesh * M, int Asked);
-void Create_BgMesh (int i, double d, Mesh * m);
-void Print_Mesh (Mesh * M, char *c, int Type);
-void Read_Mesh (Mesh * M, FILE * File_GEO, int Type);
-void Degre2 (Tree_T * AllNodes, Tree_T * TreeNodes, Tree_T * TreeElm,
-	     Curve * c, Surface * s);
-double Lc_XYZ (double X, double Y, double Z, Mesh * m);
+
+void Maillage_Curve (void *data, void *dummy);
+void Maillage_Surface (void *data, void *dum);
+void Maillage_Volume (void *data, void *dum);
+
+int Extrude_Mesh (Curve * c);
+int Extrude_Mesh (Surface * s);
+int Extrude_Mesh (Volume * v);
+
 int MeshTransfiniteSurface (Surface *sur);
 int MeshTransfiniteVolume (Volume *vol);
 int MeshCylindricalSurface (Surface * s);
 int MeshParametricSurface (Surface * s);
 int MeshEllipticSurface (Surface * sur);
-void ActionLiss (void *data, void *dummy);
-void ActionLissSurf (void *data, void *dummy);
-void Recombine (Tree_T *TreeAllVert, Tree_T *TreeAllElg, double a);
 
+int  AlgorithmeMaillage2DAnisotropeModeJF (Surface * s);
+void Maillage_Automatique_VieuxCode (Surface * pS, Mesh * m, int ori);
+
+int  Calcule_Contours (Surface * s);
+void Link_Simplexes (List_T * Sim, Tree_T * Tim);
 void Calcule_Z (void *data, void *dum);
 void Calcule_Z_Plan (void *data, void *dum);
 void Projette_Plan_Moyen (void *a, void *b);
@@ -476,5 +449,13 @@ void Freeze_Vertex (void *a, void *b);
 void deFreeze_Vertex (void *a, void *b);
 void crEdges (Tree_T * TreeElem, Tree_T * treeedges);
 
+double Correction_LC_Attractors (double X, double Y, double Z,
+                                 double *u, Mesh * m, double metr[3][3]);
+double Lc_XYZ (double X, double Y, double Z, Mesh * m);
+void Degre2 (Tree_T * AllNodes, Tree_T * TreeNodes, Tree_T * TreeElm,
+             Curve * c, Surface * s);
+void ActionLiss (void *data, void *dummy);
+void ActionLissSurf (void *data, void *dummy);
+void Recombine (Tree_T *TreeAllVert, Tree_T *TreeAllElg, double a);
 
 #endif
diff --git a/Mesh/Metric.h b/Mesh/Metric.h
index 1c8712a6e2dcd003292f56e358c6831e38a33088..49c51c63410cc1b95dfea29a566053f0668a2dfb 100644
--- a/Mesh/Metric.h
+++ b/Mesh/Metric.h
@@ -1,32 +1,36 @@
-/* $Id: Metric.h,v 1.2 2000-11-23 14:11:35 geuzaine Exp $ */
-class GMSHMetric
-{
-	public:
-    	double m[3][3];
-		double min_cos;
-        double max_dist;
-        bool apply_costest;
-        bool apply_disttest;
-        double limite_aniso;
-        int quality_measure;
-    public:
-    	List_T  *Attractors;
-        GMSHMetric();
-        void Identity ();
-        double EdgeLengthOnSurface (Surface *s , Vertex *v[2], int cuts);
-        double LengthVector (Vertex *v);
-        void setMetric (double u,double v ,Surface *s);
-        void setMetric (double x,double y ,double z);
-        void setMetricMin (double u,double v ,Surface *s);
-        void setSimplexQuality (Simplex *s,  Surface *surf);
-        void  setSimplexQuality (Simplex *s);
-        void setMetric (double u,Curve *c);
-        double getLc ( double u , Curve *c );
-        double operator () (int i,int j);
-        double * operator [] (int i);
-        double Local_Metric_Of_Attractors (
-    		double X, double Y, double Z,
-			double metric[3][3]);
-		double getWorstEdge (Simplex *s, Surface *surf, Vertex *v[2]);
+/* $Id: Metric.h,v 1.3 2000-11-23 15:05:59 geuzaine Exp $ */
+#ifndef _METRIC_H_
+#define _METRIC_H_
+
+class GMSHMetric{
+
+public:
+  double m[3][3];
+  double min_cos;
+  double max_dist;
+  bool apply_costest;
+  bool apply_disttest;
+  double limite_aniso;
+  int quality_measure;
+  List_T  *Attractors;
+  GMSHMetric();
+  void Identity ();
+  double EdgeLengthOnSurface (Surface *s , Vertex *v[2], int cuts);
+  double LengthVector (Vertex *v);
+  void setMetric (double u,double v ,Surface *s);
+  void setMetric (double x,double y ,double z);
+  void setMetricMin (double u,double v ,Surface *s);
+  void setSimplexQuality (Simplex *s,  Surface *surf);
+  void  setSimplexQuality (Simplex *s);
+  void setMetric (double u,Curve *c);
+  double getLc ( double u , Curve *c );
+  double operator () (int i,int j);
+  double * operator [] (int i);
+  double Local_Metric_Of_Attractors (double X, double Y, double Z,
+				     double metric[3][3]);
+  double getWorstEdge (Simplex *s, Surface *surf, Vertex *v[2]);
+
 } ;
 
+#endif
+
diff --git a/Mesh/Simplex.h b/Mesh/Simplex.h
index e3f2dd532a00a72aaf28cfe1d429b2b9b6a1ca7b..850af5a5f4aef523fe603fd44f3cd35a538fb701 100644
--- a/Mesh/Simplex.h
+++ b/Mesh/Simplex.h
@@ -1,20 +1,16 @@
-/* $Id: Simplex.h,v 1.2 2000-11-23 14:11:35 geuzaine Exp $ */
-#ifndef _SIMPLEX_GMSH_
-#define _SIMPLEX_GMSH_
-#include <stdio.h>
-#include <iostream.h>
-#include <stddef.h>
-#include <math.h>
-#include <stdlib.h>
+/* $Id: Simplex.h,v 1.3 2000-11-23 15:05:59 geuzaine Exp $ */
+#ifndef _SIMPLEX_H_
+#define _SIMPLEX_H_
+
 #include "Vertex.h"
 
 typedef struct {
   Vertex *V[3];
 }Face;
 
-class Simplex
-{
-  public:
+class Simplex{
+
+public:
   int     Num;           /* Numero                                       */
   int     iEnt;          /* Entite geometrique                           */
   Face    F[4];          /* 4 faces                                      */
@@ -39,7 +35,7 @@ class Simplex
   double AireFace (Vertex *V[3]);
   double surfsimpl();
   int CircumCircle(double x1,double y1,double x2,double y2,double x3,double y3,
-		     double *xc,double *yc);
+		   double *xc,double *yc);
   double Volume_Simplexe2D();
   void Center_Ellipsum_2D (double m[3][3]);
   int Pt_In_Ellipsis (Vertex *v,double m[3][3]);
@@ -56,6 +52,7 @@ class Simplex
   double lij (int i, int j);
   double rhoin ();
 };
+
 int compareSimplex(const void *a, const void *b);
 Simplex *Create_Simplex (Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4);
 Simplex *Create_Quadrangle (Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4);
diff --git a/Mesh/Vertex.h b/Mesh/Vertex.h
index 2c14829e5a7bc4bef82c718dd1cc45b4f0fc122b..70871bd00090e7ba8845276aadd1b98a78ba1353 100644
--- a/Mesh/Vertex.h
+++ b/Mesh/Vertex.h
@@ -1,11 +1,4 @@
-/* $Id: Vertex.h,v 1.2 2000-11-23 14:11:36 geuzaine Exp $ */
-/*
-  Classe de Points (Vertex)
-  premiere classe de gmsh
-  pas d'encapsulation a priori
-  mais peut-etre dans la suite
-*/
-
+/* $Id: Vertex.h,v 1.3 2000-11-23 15:05:59 geuzaine Exp $ */
 #ifndef _VERTEX_H_
 #define _VERTEX_H_
 
diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp
index 8f199172110988fa2e41771f48ca8c38a10a6ff1..23ad34d490b5bdcb4e807aa6c5d709d86feff81b 100644
--- a/Parser/Gmsh.tab.cpp
+++ b/Parser/Gmsh.tab.cpp
@@ -1,4 +1,3 @@
-/* $Id: Gmsh.tab.cpp,v 1.3 2000-11-23 14:11:38 geuzaine Exp $ */
 
 /*  A Bison parser, made from Gmsh.y
  by  GNU Bison version 1.25
@@ -147,6 +146,7 @@
 #define	UMINUS	396
 
 #line 1 "Gmsh.y"
+ /* $Id: Gmsh.tab.cpp,v 1.4 2000-11-23 15:06:02 geuzaine Exp $ */
 
 #include <stdarg.h>
 
@@ -164,7 +164,7 @@
 #include "Parser.h"
 
 extern Mesh    *THEM;
-extern char    *ThePathForIncludes;
+extern char    ThePathForIncludes[NAME_STR_L];
 
 FILE           *yyinTab[MAX_OPEN_FILES];
 int             yylinenoTab[MAX_OPEN_FILES];
@@ -190,7 +190,7 @@ void  Get_ColorPointerForString(StringXPointer SXP[], char * string,
 				int * FlagError, unsigned int **Pointer);
 
 
-#line 45 "Gmsh.y"
+#line 46 "Gmsh.y"
 typedef union {
   char    *c;
   int      i;
@@ -464,30 +464,30 @@ static const short yyrhs[] = {   164,
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-   104,   106,   107,   114,   122,   136,   148,   150,   153,   155,
-   156,   157,   160,   166,   171,   172,   173,   176,   180,   183,
-   189,   194,   200,   208,   213,   217,   223,   228,   232,   237,
-   241,   244,   249,   253,   257,   261,   266,   270,   273,   277,
-   281,   285,   289,   293,   297,   300,   304,   307,   311,   314,
-   323,   325,   331,   333,   334,   335,   336,   337,   338,   339,
-   340,   341,   342,   343,   350,   355,   361,   366,   367,   368,
-   369,   370,   371,   372,   373,   374,   375,   376,   377,   380,
-   390,   400,   410,   419,   428,   437,   445,   453,   461,   468,
-   475,   486,   500,   511,   517,   536,   547,   555,   561,   567,
-   586,   592,   608,   615,   621,   627,   633,   642,   648,   668,
-   674,   693,   712,   720,   726,   732,   738,   750,   756,   762,
-   774,   780,   785,   790,   797,   799,   800,   803,   808,   819,
-   837,   852,   883,   888,   892,   896,   900,   906,   911,   915,
-   919,   924,   932,   936,   941,   959,   969,   987,  1004,  1021,
-  1038,  1058,  1077,  1096,  1111,  1126,  1137,  1148,  1152,  1154,
-  1157,  1160,  1161,  1163,  1164,  1166,  1169,  1171,  1174,  1185,
-  1195,  1205,  1213,  1289,  1291,  1292,  1293,  1294,  1297,  1299,
-  1300,  1301,  1302,  1303,  1304,  1305,  1306,  1307,  1308,  1309,
-  1310,  1311,  1312,  1313,  1314,  1315,  1316,  1317,  1318,  1319,
-  1320,  1321,  1322,  1323,  1324,  1325,  1326,  1329,  1331,  1332,
-  1343,  1350,  1363,  1372,  1380,  1388,  1398,  1402,  1407,  1411,
-  1416,  1420,  1424,  1430,  1436,  1442,  1446,  1452,  1465,  1471,
-  1480,  1484
+   105,   107,   108,   115,   123,   137,   149,   151,   154,   156,
+   157,   158,   161,   167,   172,   173,   174,   177,   181,   184,
+   190,   195,   201,   209,   214,   218,   224,   229,   233,   238,
+   242,   245,   250,   254,   258,   262,   267,   271,   274,   278,
+   282,   286,   290,   294,   298,   301,   305,   308,   312,   315,
+   324,   326,   332,   334,   335,   336,   337,   338,   339,   340,
+   341,   342,   343,   344,   351,   356,   362,   367,   368,   369,
+   370,   371,   372,   373,   374,   375,   376,   377,   378,   381,
+   391,   401,   411,   420,   429,   438,   446,   454,   462,   469,
+   476,   487,   501,   512,   518,   537,   548,   556,   562,   568,
+   587,   593,   609,   616,   622,   628,   634,   643,   649,   669,
+   675,   694,   713,   721,   727,   733,   739,   751,   757,   763,
+   775,   781,   786,   791,   798,   800,   801,   804,   809,   820,
+   838,   853,   884,   889,   893,   897,   901,   907,   912,   916,
+   920,   925,   933,   937,   942,   960,   970,   988,  1005,  1022,
+  1039,  1059,  1078,  1097,  1112,  1127,  1138,  1149,  1153,  1155,
+  1158,  1161,  1162,  1164,  1165,  1167,  1170,  1172,  1175,  1186,
+  1196,  1206,  1214,  1290,  1292,  1293,  1294,  1295,  1298,  1300,
+  1301,  1302,  1303,  1304,  1305,  1306,  1307,  1308,  1309,  1310,
+  1311,  1312,  1313,  1314,  1315,  1316,  1317,  1318,  1319,  1320,
+  1321,  1322,  1323,  1324,  1325,  1326,  1327,  1330,  1332,  1333,
+  1344,  1351,  1364,  1373,  1381,  1389,  1399,  1403,  1408,  1412,
+  1417,  1421,  1425,  1431,  1437,  1443,  1447,  1453,  1466,  1472,
+  1481,  1485
 };
 #endif
 
@@ -1923,7 +1923,7 @@ yyreduce:
   switch (yyn) {
 
 case 4:
-#line 116 "Gmsh.y"
+#line 117 "Gmsh.y"
 {
       Msg(PARSER_INFO,"STL File Format");
       STL_Surf = Create_Surface(1,MSH_SURF_STL,1);
@@ -1932,7 +1932,7 @@ case 4:
     ;
     break;}
 case 5:
-#line 130 "Gmsh.y"
+#line 131 "Gmsh.y"
 {
       STL_Surf->STL->Add_Facet( yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d,
 				yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d,
@@ -1941,7 +1941,7 @@ case 5:
     ;
     break;}
 case 6:
-#line 137 "Gmsh.y"
+#line 138 "Gmsh.y"
 {
       Msg(PARSER_INFO,"STL File Format Read");
       Tree_Add(THEM->Surfaces, &STL_Surf);
@@ -1949,83 +1949,83 @@ case 6:
     ;
     break;}
 case 9:
-#line 154 "Gmsh.y"
+#line 155 "Gmsh.y"
 { return 1; ;
     break;}
 case 10:
-#line 155 "Gmsh.y"
+#line 156 "Gmsh.y"
 { return 1; ;
     break;}
 case 11:
-#line 156 "Gmsh.y"
+#line 157 "Gmsh.y"
 { return 1; ;
     break;}
 case 12:
-#line 157 "Gmsh.y"
+#line 158 "Gmsh.y"
 { yyerrok ; return 1; ;
     break;}
 case 13:
-#line 162 "Gmsh.y"
+#line 163 "Gmsh.y"
 {
       Msg(PARSER_INFO,"Step Iso-10303-21 File Format");
       Create_Step_Solid_BRep();
     ;
     break;}
 case 14:
-#line 167 "Gmsh.y"
+#line 168 "Gmsh.y"
 {
       Msg(PARSER_INFO,"Step Iso-10303-21 File Format Read");
       Resolve_BREP ();
     ;
     break;}
 case 18:
-#line 178 "Gmsh.y"
+#line 179 "Gmsh.y"
 {
     ;
     break;}
 case 19:
-#line 181 "Gmsh.y"
+#line 182 "Gmsh.y"
 {
     ;
     break;}
 case 20:
-#line 185 "Gmsh.y"
+#line 186 "Gmsh.y"
 {
    ;
     break;}
 case 21:
-#line 191 "Gmsh.y"
+#line 192 "Gmsh.y"
 {
         Add_Cartesian_Point((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2]);
     ;
     break;}
 case 22:
-#line 197 "Gmsh.y"
+#line 198 "Gmsh.y"
 {
        Add_BSpline_Curve_With_Knots ((int)yyvsp[-22].d, yyvsp[-18].c, (int) yyvsp[-16].d, yyvsp[-14].l,	yyvsp[-6].l, yyvsp[-4].l, 0., 1.);
     ;
     break;}
 case 23:
-#line 204 "Gmsh.y"
+#line 205 "Gmsh.y"
 {
       Add_BSpline_Surface_With_Knots ((int)yyvsp[-30].d, yyvsp[-26].c, (int) yyvsp[-24].d, (int) yyvsp[-22].d, yyvsp[-20].l, yyvsp[-10].l,
 				      yyvsp[-8].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1., 0., 1. );
     ;
     break;}
 case 24:
-#line 210 "Gmsh.y"
+#line 211 "Gmsh.y"
 {
       Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d);
     ;
     break;}
 case 25:
-#line 214 "Gmsh.y"
+#line 215 "Gmsh.y"
 {
       Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1);
     ;
     break;}
 case 26:
-#line 218 "Gmsh.y"
+#line 219 "Gmsh.y"
 {
       /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */
       Msg(PARSER_INFO,"Found a Face Bound");
@@ -2033,286 +2033,286 @@ case 26:
     ;
     break;}
 case 27:
-#line 225 "Gmsh.y"
+#line 226 "Gmsh.y"
 {
       Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i);
     ;
     break;}
 case 28:
-#line 229 "Gmsh.y"
+#line 230 "Gmsh.y"
 {
       Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l);
     ;
     break;}
 case 29:
-#line 234 "Gmsh.y"
+#line 235 "Gmsh.y"
 {
       Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i);
     ;
     break;}
 case 30:
-#line 238 "Gmsh.y"
+#line 239 "Gmsh.y"
 {
       Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
     ;
     break;}
 case 31:
-#line 242 "Gmsh.y"
+#line 243 "Gmsh.y"
 {
     ;
     break;}
 case 32:
-#line 246 "Gmsh.y"
+#line 247 "Gmsh.y"
 {
       Add_Axis2_Placement3D  ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d);
     ;
     break;}
 case 33:
-#line 250 "Gmsh.y"
+#line 251 "Gmsh.y"
 {
       Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]);
     ;
     break;}
 case 34:
-#line 254 "Gmsh.y"
+#line 255 "Gmsh.y"
 {
       Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
     ;
     break;}
 case 35:
-#line 258 "Gmsh.y"
+#line 259 "Gmsh.y"
 {
       Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d);
     ;
     break;}
 case 36:
-#line 262 "Gmsh.y"
+#line 263 "Gmsh.y"
 {
       Msg(PARSER_INFO,"Found a Closed shell");
       Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l);
     ;
     break;}
 case 37:
-#line 268 "Gmsh.y"
+#line 269 "Gmsh.y"
 {
     ;
     break;}
 case 38:
-#line 271 "Gmsh.y"
+#line 272 "Gmsh.y"
 {
     ;
     break;}
 case 39:
-#line 274 "Gmsh.y"
+#line 275 "Gmsh.y"
 {
       Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d);
     ;
     break;}
 case 40:
-#line 278 "Gmsh.y"
+#line 279 "Gmsh.y"
 {
       Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
     ;
     break;}
 case 41:
-#line 282 "Gmsh.y"
+#line 283 "Gmsh.y"
 {
       Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
     ;
     break;}
 case 42:
-#line 286 "Gmsh.y"
+#line 287 "Gmsh.y"
 {
       Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d);
     ;
     break;}
 case 43:
-#line 290 "Gmsh.y"
+#line 291 "Gmsh.y"
 {
       Add_Ellipsis((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d);
     ;
     break;}
 case 44:
-#line 295 "Gmsh.y"
+#line 296 "Gmsh.y"
 {
     ;
     break;}
 case 45:
-#line 298 "Gmsh.y"
+#line 299 "Gmsh.y"
 {
     ;
     break;}
 case 46:
-#line 302 "Gmsh.y"
+#line 303 "Gmsh.y"
 {
     ;
     break;}
 case 47:
-#line 305 "Gmsh.y"
+#line 306 "Gmsh.y"
 {
     ;
     break;}
 case 48:
-#line 309 "Gmsh.y"
+#line 310 "Gmsh.y"
 {
     ;
     break;}
 case 49:
-#line 312 "Gmsh.y"
+#line 313 "Gmsh.y"
 {
     ;
     break;}
 case 50:
-#line 315 "Gmsh.y"
+#line 316 "Gmsh.y"
 {
     ;
     break;}
 case 52:
-#line 326 "Gmsh.y"
+#line 327 "Gmsh.y"
 {
       Msg(PARSER_INFO,"Gmsh File Format Read");
     ;
     break;}
 case 53:
-#line 332 "Gmsh.y"
+#line 333 "Gmsh.y"
 { return 1; ;
     break;}
 case 54:
-#line 333 "Gmsh.y"
+#line 334 "Gmsh.y"
 { return 1; ;
     break;}
 case 55:
-#line 334 "Gmsh.y"
+#line 335 "Gmsh.y"
 { return 1; ;
     break;}
 case 56:
-#line 335 "Gmsh.y"
+#line 336 "Gmsh.y"
 { return 1; ;
     break;}
 case 57:
-#line 336 "Gmsh.y"
+#line 337 "Gmsh.y"
 { return 1; ;
     break;}
 case 58:
-#line 337 "Gmsh.y"
+#line 338 "Gmsh.y"
 { return 1; ;
     break;}
 case 59:
-#line 338 "Gmsh.y"
+#line 339 "Gmsh.y"
 { return 1; ;
     break;}
 case 60:
-#line 339 "Gmsh.y"
+#line 340 "Gmsh.y"
 { return 1; ;
     break;}
 case 61:
-#line 340 "Gmsh.y"
+#line 341 "Gmsh.y"
 { return 1; ;
     break;}
 case 62:
-#line 341 "Gmsh.y"
+#line 342 "Gmsh.y"
 { return 1; ;
     break;}
 case 63:
-#line 342 "Gmsh.y"
+#line 343 "Gmsh.y"
 { return 1; ;
     break;}
 case 64:
-#line 343 "Gmsh.y"
+#line 344 "Gmsh.y"
 { yyerrok; return 1;;
     break;}
 case 65:
-#line 352 "Gmsh.y"
+#line 353 "Gmsh.y"
 { 
       EndView(yyvsp[-4].c,0.,0.,0.); 
     ;
     break;}
 case 66:
-#line 356 "Gmsh.y"
+#line 357 "Gmsh.y"
 {
       EndView(yyvsp[-6].c,yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2]);
     ;
     break;}
 case 67:
-#line 363 "Gmsh.y"
+#line 364 "Gmsh.y"
 {
       BeginView(1); 
     ;
     break;}
 case 80:
-#line 385 "Gmsh.y"
+#line 386 "Gmsh.y"
 {
       AddView_ScalarSimplex(yyvsp[-25].d,yyvsp[-23].d,yyvsp[-21].d,yyvsp[-19].d,yyvsp[-17].d,yyvsp[-15].d,yyvsp[-13].d,yyvsp[-11].d,yyvsp[-9].d,yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 81:
-#line 395 "Gmsh.y"
+#line 396 "Gmsh.y"
 {
       AddView_VectorSimplex(yyvsp[-25].d,yyvsp[-23].d,yyvsp[-21].d,yyvsp[-19].d,yyvsp[-17].d,yyvsp[-15].d,yyvsp[-13].d,yyvsp[-11].d,yyvsp[-9].d,yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 82:
-#line 405 "Gmsh.y"
+#line 406 "Gmsh.y"
 {
       AddView_TensorSimplex(yyvsp[-25].d,yyvsp[-23].d,yyvsp[-21].d,yyvsp[-19].d,yyvsp[-17].d,yyvsp[-15].d,yyvsp[-13].d,yyvsp[-11].d,yyvsp[-9].d,yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 83:
-#line 414 "Gmsh.y"
+#line 415 "Gmsh.y"
 {
       AddView_ScalarTriangle(yyvsp[-19].d,yyvsp[-17].d,yyvsp[-15].d,yyvsp[-13].d,yyvsp[-11].d,yyvsp[-9].d,yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 84:
-#line 423 "Gmsh.y"
+#line 424 "Gmsh.y"
 {
       AddView_VectorTriangle(yyvsp[-19].d,yyvsp[-17].d,yyvsp[-15].d,yyvsp[-13].d,yyvsp[-11].d,yyvsp[-9].d,yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 85:
-#line 432 "Gmsh.y"
+#line 433 "Gmsh.y"
 {
       AddView_TensorTriangle(yyvsp[-19].d,yyvsp[-17].d,yyvsp[-15].d,yyvsp[-13].d,yyvsp[-11].d,yyvsp[-9].d,yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 86:
-#line 440 "Gmsh.y"
+#line 441 "Gmsh.y"
 {
       AddView_ScalarLine(yyvsp[-13].d,yyvsp[-11].d,yyvsp[-9].d,yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 87:
-#line 448 "Gmsh.y"
+#line 449 "Gmsh.y"
 {
       AddView_VectorLine(yyvsp[-13].d,yyvsp[-11].d,yyvsp[-9].d,yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 88:
-#line 456 "Gmsh.y"
+#line 457 "Gmsh.y"
 {
       AddView_TensorLine(yyvsp[-13].d,yyvsp[-11].d,yyvsp[-9].d,yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 89:
-#line 463 "Gmsh.y"
+#line 464 "Gmsh.y"
 {
       AddView_ScalarPoint(yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 90:
-#line 470 "Gmsh.y"
+#line 471 "Gmsh.y"
 {
       AddView_VectorPoint(yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 91:
-#line 477 "Gmsh.y"
+#line 478 "Gmsh.y"
 {
       AddView_TensorPoint(yyvsp[-7].d,yyvsp[-5].d,yyvsp[-3].d,yyvsp[-1].l);
     ;
     break;}
 case 92:
-#line 488 "Gmsh.y"
+#line 489 "Gmsh.y"
 {
       TheSymbol.Name = yyvsp[-3].c;
       TheSymbol.val  = yyvsp[-1].d;
@@ -2320,7 +2320,7 @@ case 92:
     ;
     break;}
 case 93:
-#line 505 "Gmsh.y"
+#line 506 "Gmsh.y"
 {
       Cdbpts101((int)yyvsp[-4].d,yyvsp[-1].v[0],yyvsp[-1].v[1],yyvsp[-1].v[2],yyvsp[-1].v[3],yyvsp[-1].v[4]);
       yyval.s.Type = MSH_POINT;
@@ -2328,7 +2328,7 @@ case 93:
     ;
     break;}
 case 94:
-#line 512 "Gmsh.y"
+#line 513 "Gmsh.y"
 {
       Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
       yyval.s.Type = MSH_PHYSICAL_POINT;
@@ -2336,7 +2336,7 @@ case 94:
     ;
     break;}
 case 95:
-#line 518 "Gmsh.y"
+#line 519 "Gmsh.y"
 {
       Vertex *v;
       Attractor *a;
@@ -2357,7 +2357,7 @@ case 95:
     ;
     break;}
 case 96:
-#line 537 "Gmsh.y"
+#line 538 "Gmsh.y"
 {
       for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
 	List_Read(yyvsp[-3].l,i,&d);
@@ -2370,14 +2370,14 @@ case 96:
     ;
     break;}
 case 97:
-#line 548 "Gmsh.y"
+#line 549 "Gmsh.y"
 {
       yyval.s.Type = MSH_POINT;
       yyval.s.Num  = (int)yyvsp[-2].d;
     ;
     break;}
 case 98:
-#line 556 "Gmsh.y"
+#line 557 "Gmsh.y"
 {
       Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_LINE,1,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL);
       yyval.s.Type = MSH_SEGM_LINE;
@@ -2385,7 +2385,7 @@ case 98:
     ;
     break;}
 case 99:
-#line 562 "Gmsh.y"
+#line 563 "Gmsh.y"
 {
       Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_SPLN,3,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL);
       yyval.s.Type = MSH_SEGM_SPLN;
@@ -2393,7 +2393,7 @@ case 99:
     ;
     break;}
 case 100:
-#line 568 "Gmsh.y"
+#line 569 "Gmsh.y"
 {
       Curve *c;
       Attractor *a;
@@ -2414,7 +2414,7 @@ case 100:
     ;
     break;}
 case 101:
-#line 587 "Gmsh.y"
+#line 588 "Gmsh.y"
 {
       Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_CIRC,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL);
       yyval.s.Type = MSH_SEGM_CIRC ;
@@ -2422,7 +2422,7 @@ case 101:
     ;
     break;}
 case 102:
-#line 593 "Gmsh.y"
+#line 594 "Gmsh.y"
 {
       List_T *temp;
       int i,j;
@@ -2440,7 +2440,7 @@ case 102:
     ;
     break;}
 case 103:
-#line 610 "Gmsh.y"
+#line 611 "Gmsh.y"
 {
       Cdbseg101((int)yyvsp[-14].d,MSH_SEGM_PARAMETRIC,2,NULL,NULL,-1,-1,yyvsp[-10].d,yyvsp[-8].d,yyvsp[-6].c,yyvsp[-4].c,yyvsp[-2].c);
       yyval.s.Type = MSH_SEGM_PARAMETRIC ;
@@ -2448,7 +2448,7 @@ case 103:
     ;
     break;}
 case 104:
-#line 616 "Gmsh.y"
+#line 617 "Gmsh.y"
 {
       Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_ELLI,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL);
       yyval.s.Type = MSH_SEGM_ELLI ;
@@ -2456,7 +2456,7 @@ case 104:
     ;
     break;}
 case 105:
-#line 622 "Gmsh.y"
+#line 623 "Gmsh.y"
 {
       Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_LINE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
       yyval.s.Type = MSH_PHYSICAL_LINE;
@@ -2464,7 +2464,7 @@ case 105:
     ;
     break;}
 case 106:
-#line 628 "Gmsh.y"
+#line 629 "Gmsh.y"
 {
       yyval.s.Type = MSH_SEGM_LOOP;
       Cdbz101((int)yyvsp[-4].d,yyval.s.Type,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
@@ -2472,7 +2472,7 @@ case 106:
     ;
     break;}
 case 107:
-#line 634 "Gmsh.y"
+#line 635 "Gmsh.y"
 {
       yyval.s.Num = (int)yyvsp[-2].d;
       Curve *c = FindCurve(yyval.s.Num,THEM);
@@ -2483,7 +2483,7 @@ case 107:
     ;
     break;}
 case 108:
-#line 643 "Gmsh.y"
+#line 644 "Gmsh.y"
 {
       Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BSPLN,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL);
       yyval.s.Type = MSH_SEGM_BSPLN;
@@ -2491,7 +2491,7 @@ case 108:
     ;
     break;}
 case 109:
-#line 649 "Gmsh.y"
+#line 650 "Gmsh.y"
 {
       List_T *Temp;
       int i;
@@ -2510,7 +2510,7 @@ case 109:
     ;
     break;}
 case 110:
-#line 669 "Gmsh.y"
+#line 670 "Gmsh.y"
 {
       Cdbz101((int)yyvsp[-4].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
       yyval.s.Type = MSH_SURF_PLAN;
@@ -2518,7 +2518,7 @@ case 110:
     ;
     break;}
 case 111:
-#line 675 "Gmsh.y"
+#line 676 "Gmsh.y"
 {
       Surface *s,*support;
       support = FindSurface((int)yyvsp[-2].d,THEM);
@@ -2539,7 +2539,7 @@ case 111:
     ;
     break;}
 case 112:
-#line 694 "Gmsh.y"
+#line 695 "Gmsh.y"
 {
       List_Read(yyvsp[-1].l,0,&d);
       i = (int)d;
@@ -2560,7 +2560,7 @@ case 112:
     ;
     break;}
 case 113:
-#line 715 "Gmsh.y"
+#line 716 "Gmsh.y"
 {
       CreateNurbsSurface ( (int) yyvsp[-16].d , (int)yyvsp[-4].d , (int)yyvsp[-2].d  , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l);
       yyval.s.Type  = MSH_SURF_NURBS;
@@ -2568,13 +2568,13 @@ case 113:
     ;
     break;}
 case 114:
-#line 723 "Gmsh.y"
+#line 724 "Gmsh.y"
 {
       CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l);
     ;
     break;}
 case 115:
-#line 727 "Gmsh.y"
+#line 728 "Gmsh.y"
 {
       Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_SURFACE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
       yyval.s.Type = MSH_PHYSICAL_SURFACE;
@@ -2582,7 +2582,7 @@ case 115:
     ;
     break;}
 case 116:
-#line 733 "Gmsh.y"
+#line 734 "Gmsh.y"
 {
       Cdbz101((int)yyvsp[-4].d,MSH_SURF_LOOP,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
       yyval.s.Type = MSH_SURF_LOOP;
@@ -2590,7 +2590,7 @@ case 116:
     ;
     break;}
 case 117:
-#line 739 "Gmsh.y"
+#line 740 "Gmsh.y"
 {
       yyval.s.Num = (int)yyvsp[-2].d;
       Surface *s = FindSurface(yyval.s.Num,THEM);
@@ -2601,7 +2601,7 @@ case 117:
      ;
     break;}
 case 118:
-#line 751 "Gmsh.y"
+#line 752 "Gmsh.y"
 {
       Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
       yyval.s.Type = MSH_VOLUME;
@@ -2609,7 +2609,7 @@ case 118:
     ;
     break;}
 case 119:
-#line 757 "Gmsh.y"
+#line 758 "Gmsh.y"
 {
       Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
       yyval.s.Type = MSH_VOLUME;
@@ -2617,7 +2617,7 @@ case 119:
     ;
     break;}
 case 120:
-#line 763 "Gmsh.y"
+#line 764 "Gmsh.y"
 {
       Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
       yyval.s.Type = MSH_PHYSICAL_VOLUME;
@@ -2625,60 +2625,60 @@ case 120:
     ;
     break;}
 case 121:
-#line 776 "Gmsh.y"
+#line 777 "Gmsh.y"
 {
       TranslateShapes (yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-1].l,1);
       yyval.l = yyvsp[-1].l;
     ;
     break;}
 case 122:
-#line 781 "Gmsh.y"
+#line 782 "Gmsh.y"
 {
       RotateShapes(yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l);
       yyval.l = yyvsp[-1].l;
     ;
     break;}
 case 123:
-#line 786 "Gmsh.y"
+#line 787 "Gmsh.y"
 {
       SymetryShapes(yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-4].v[3],yyvsp[-1].l,1);
       yyval.l = yyvsp[-1].l;
     ;
     break;}
 case 124:
-#line 791 "Gmsh.y"
+#line 792 "Gmsh.y"
 {
       DilatShapes(yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l,1);
       yyval.l = yyvsp[-1].l;
     ;
     break;}
 case 125:
-#line 798 "Gmsh.y"
+#line 799 "Gmsh.y"
 { yyval.l = yyvsp[0].l; ;
     break;}
 case 126:
-#line 799 "Gmsh.y"
+#line 800 "Gmsh.y"
 { yyval.l = yyvsp[0].l; ;
     break;}
 case 127:
-#line 800 "Gmsh.y"
+#line 801 "Gmsh.y"
 { yyval.l = yyvsp[0].l; ;
     break;}
 case 128:
-#line 805 "Gmsh.y"
+#line 806 "Gmsh.y"
 {
       yyval.l = List_Create(3,3,sizeof(Shape));
     ;
     break;}
 case 129:
-#line 809 "Gmsh.y"
+#line 810 "Gmsh.y"
 {
       List_Add(yyval.l,&yyvsp[0].s);
       yyval.l = yyvsp[-1].l;
     ;
     break;}
 case 130:
-#line 821 "Gmsh.y"
+#line 822 "Gmsh.y"
 {
       yyval.l = List_Create(3,3,sizeof(Shape));
       for(i=0;i<List_Nbr(yyvsp[-1].l);i++){
@@ -2690,7 +2690,7 @@ case 130:
     ;
     break;}
 case 131:
-#line 839 "Gmsh.y"
+#line 840 "Gmsh.y"
 {
       for(i=0;i<List_Nbr(yyvsp[-1].l);i++){
 	List_Read (yyvsp[-1].l,i,&TheShape);
@@ -2699,7 +2699,7 @@ case 131:
     ;
     break;}
 case 132:
-#line 854 "Gmsh.y"
+#line 855 "Gmsh.y"
 {
       yyinTab[RecursionLevel++] = yyin;
       strcpy(tmpstring, ThePathForIncludes);
@@ -2723,31 +2723,31 @@ case 132:
     ;
     break;}
 case 133:
-#line 885 "Gmsh.y"
+#line 886 "Gmsh.y"
 {
       Extrude_ProtudeSurface(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,0,NULL);
     ;
     break;}
 case 134:
-#line 889 "Gmsh.y"
+#line 890 "Gmsh.y"
 {
       Extrude_ProtudeSurface(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,0,NULL);
     ;
     break;}
 case 135:
-#line 893 "Gmsh.y"
+#line 894 "Gmsh.y"
 {
       Extrude_ProtudeSurface(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL);
     ;
     break;}
 case 136:
-#line 897 "Gmsh.y"
+#line 898 "Gmsh.y"
 {
       Extrude_ProtudeSurface(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL);
     ;
     break;}
 case 137:
-#line 901 "Gmsh.y"
+#line 902 "Gmsh.y"
 {
       Curve *pc, *prc;
       Extrude_ProtudePoint(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,
@@ -2755,50 +2755,50 @@ case 137:
     ;
     break;}
 case 138:
-#line 907 "Gmsh.y"
+#line 908 "Gmsh.y"
 {
       Curve *pc, *prc;
       Extrude_ProtudePoint(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,&pc,&prc,NULL);
     ;
     break;}
 case 139:
-#line 912 "Gmsh.y"
+#line 913 "Gmsh.y"
 {
       Extrude_ProtudeCurve(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,NULL);
     ;
     break;}
 case 140:
-#line 916 "Gmsh.y"
+#line 917 "Gmsh.y"
 {
       Extrude_ProtudeCurve(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,NULL);
     ;
     break;}
 case 141:
-#line 920 "Gmsh.y"
+#line 921 "Gmsh.y"
 {
     int vol = NEWREG();
     Extrude_ProtudeSurface(1,(int)yyvsp[-7].d,yyvsp[-5].v[0],yyvsp[-5].v[1],yyvsp[-5].v[2],0.,0.,0.,0.,vol,&extr);
   ;
     break;}
 case 142:
-#line 926 "Gmsh.y"
+#line 927 "Gmsh.y"
 {
     int vol = NEWREG();
     Extrude_ProtudeSurface(0,(int)yyvsp[-11].d,yyvsp[-9].v[0],yyvsp[-9].v[1],yyvsp[-9].v[2],yyvsp[-7].v[0],yyvsp[-7].v[1],yyvsp[-7].v[2],yyvsp[-5].d,vol,&extr);
   ;
     break;}
 case 143:
-#line 934 "Gmsh.y"
+#line 935 "Gmsh.y"
 {
     ;
     break;}
 case 144:
-#line 937 "Gmsh.y"
+#line 938 "Gmsh.y"
 {
     ;
     break;}
 case 145:
-#line 943 "Gmsh.y"
+#line 944 "Gmsh.y"
 {
       double d;
       int j;
@@ -2817,13 +2817,13 @@ case 145:
     ;
     break;}
 case 146:
-#line 960 "Gmsh.y"
+#line 961 "Gmsh.y"
 {
       extr.mesh.Recombine = true;
     ;
     break;}
 case 147:
-#line 971 "Gmsh.y"
+#line 972 "Gmsh.y"
 {
       Curve *c;
       for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
@@ -2842,7 +2842,7 @@ case 147:
     ;
     break;}
 case 148:
-#line 988 "Gmsh.y"
+#line 989 "Gmsh.y"
 {
       Curve *c;
       for(i=0;i<List_Nbr(yyvsp[-6].l);i++){
@@ -2861,7 +2861,7 @@ case 148:
     ;
     break;}
 case 149:
-#line 1005 "Gmsh.y"
+#line 1006 "Gmsh.y"
 {
       Curve *c;
       for(i=0;i<List_Nbr(yyvsp[-6].l);i++){
@@ -2880,7 +2880,7 @@ case 149:
     ;
     break;}
 case 150:
-#line 1022 "Gmsh.y"
+#line 1023 "Gmsh.y"
 {
       Curve *c;
       for(i=0;i<List_Nbr(yyvsp[-6].l);i++){
@@ -2899,7 +2899,7 @@ case 150:
     ;
     break;}
 case 151:
-#line 1039 "Gmsh.y"
+#line 1040 "Gmsh.y"
 {
       Surface *s = FindSurface((int)yyvsp[-4].d,THEM);
       if(!s)
@@ -2921,7 +2921,7 @@ case 151:
     ;
     break;}
 case 152:
-#line 1059 "Gmsh.y"
+#line 1060 "Gmsh.y"
 {
       Surface *s = FindSurface((int)yyvsp[-4].d,THEM);
       if(!s)
@@ -2942,7 +2942,7 @@ case 152:
     ;
     break;}
 case 153:
-#line 1078 "Gmsh.y"
+#line 1079 "Gmsh.y"
 {
       Volume *v = FindVolume((int)yyvsp[-4].d,THEM);
       if(!v)
@@ -2963,7 +2963,7 @@ case 153:
     ;
     break;}
 case 154:
-#line 1097 "Gmsh.y"
+#line 1098 "Gmsh.y"
 {
       Surface *s;
       for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
@@ -2980,7 +2980,7 @@ case 154:
     ;
     break;}
 case 155:
-#line 1112 "Gmsh.y"
+#line 1113 "Gmsh.y"
 {
       Surface *s;
       for(i=0;i<List_Nbr(yyvsp[-1].l);i++){
@@ -2997,31 +2997,31 @@ case 155:
     ;
     break;}
 case 156:
-#line 1127 "Gmsh.y"
+#line 1128 "Gmsh.y"
 {
       Msg(PARSER_ERROR, "Physical Associations do not exist anymore!");
     ;
     break;}
 case 157:
-#line 1139 "Gmsh.y"
+#line 1140 "Gmsh.y"
 { 
       Coherence_PS();
     ;
     break;}
 case 161:
-#line 1159 "Gmsh.y"
+#line 1160 "Gmsh.y"
 { ColorField = ColorGeneral; ;
     break;}
 case 163:
-#line 1162 "Gmsh.y"
+#line 1163 "Gmsh.y"
 { ColorField = ColorGeometry; ;
     break;}
 case 165:
-#line 1165 "Gmsh.y"
+#line 1166 "Gmsh.y"
 { ColorField = ColorMesh; ;
     break;}
 case 169:
-#line 1176 "Gmsh.y"
+#line 1177 "Gmsh.y"
 {
       i = Get_ColorForString(ColorString, -1, yyvsp[-1].c, &flag);
       if(flag) vyyerror("Unknown Color: %s", yyvsp[-1].c);
@@ -3033,7 +3033,7 @@ case 169:
     ;
     break;}
 case 170:
-#line 1186 "Gmsh.y"
+#line 1187 "Gmsh.y"
 {
       i = Get_ColorForString(ColorString, (int)yyvsp[-2].d, yyvsp[-4].c, &flag);
       if(flag) vyyerror("Unknown Color: %s", yyvsp[-4].c);
@@ -3045,7 +3045,7 @@ case 170:
     ;
     break;}
 case 171:
-#line 1196 "Gmsh.y"
+#line 1197 "Gmsh.y"
 {
       Get_ColorPointerForString(ColorField, yyvsp[-3].c, &flag, &ptr);
       if(flag)
@@ -3055,7 +3055,7 @@ case 171:
     ;
     break;}
 case 172:
-#line 1207 "Gmsh.y"
+#line 1208 "Gmsh.y"
 {
       yyval.v[0]=yyvsp[-7].d;
       yyval.v[1]=yyvsp[-5].d;
@@ -3064,7 +3064,7 @@ case 172:
     ;
     break;}
 case 173:
-#line 1214 "Gmsh.y"
+#line 1215 "Gmsh.y"
 {
       yyval.v[0]=yyvsp[-5].d;
       yyval.v[1]=yyvsp[-3].d;
@@ -3073,151 +3073,151 @@ case 173:
     ;
     break;}
 case 174:
-#line 1290 "Gmsh.y"
+#line 1291 "Gmsh.y"
 {yyval.i = 1;;
     break;}
 case 175:
-#line 1291 "Gmsh.y"
+#line 1292 "Gmsh.y"
 {yyval.i = 0;;
     break;}
 case 176:
-#line 1292 "Gmsh.y"
+#line 1293 "Gmsh.y"
 {yyval.i = -1;;
     break;}
 case 177:
-#line 1293 "Gmsh.y"
+#line 1294 "Gmsh.y"
 {yyval.i = -1;;
     break;}
 case 178:
-#line 1294 "Gmsh.y"
+#line 1295 "Gmsh.y"
 {yyval.i = -1;;
     break;}
 case 179:
-#line 1298 "Gmsh.y"
+#line 1299 "Gmsh.y"
 { yyval.d = yyvsp[0].d; ;
     break;}
 case 180:
-#line 1299 "Gmsh.y"
+#line 1300 "Gmsh.y"
 { yyval.d = yyvsp[-1].d; ;
     break;}
 case 181:
-#line 1300 "Gmsh.y"
+#line 1301 "Gmsh.y"
 { yyval.d = yyvsp[-2].d - yyvsp[0].d; ;
     break;}
 case 182:
-#line 1301 "Gmsh.y"
+#line 1302 "Gmsh.y"
 { yyval.d = yyvsp[-2].d + yyvsp[0].d; ;
     break;}
 case 183:
-#line 1302 "Gmsh.y"
+#line 1303 "Gmsh.y"
 { yyval.d = yyvsp[-2].d * yyvsp[0].d; ;
     break;}
 case 184:
-#line 1303 "Gmsh.y"
+#line 1304 "Gmsh.y"
 { yyval.d = yyvsp[-2].d / yyvsp[0].d; ;
     break;}
 case 185:
-#line 1304 "Gmsh.y"
+#line 1305 "Gmsh.y"
 { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ;
     break;}
 case 186:
-#line 1305 "Gmsh.y"
+#line 1306 "Gmsh.y"
 { yyval.d = - yyvsp[0].d; ;
     break;}
 case 187:
-#line 1306 "Gmsh.y"
+#line 1307 "Gmsh.y"
 { yyval.d = yyvsp[0].d; ;
     break;}
 case 188:
-#line 1307 "Gmsh.y"
+#line 1308 "Gmsh.y"
 { yyval.d = exp(yyvsp[-1].d);      ;
     break;}
 case 189:
-#line 1308 "Gmsh.y"
+#line 1309 "Gmsh.y"
 { yyval.d = log(yyvsp[-1].d);      ;
     break;}
 case 190:
-#line 1309 "Gmsh.y"
+#line 1310 "Gmsh.y"
 { yyval.d = log10(yyvsp[-1].d);    ;
     break;}
 case 191:
-#line 1310 "Gmsh.y"
+#line 1311 "Gmsh.y"
 { yyval.d = sqrt(yyvsp[-1].d);     ;
     break;}
 case 192:
-#line 1311 "Gmsh.y"
+#line 1312 "Gmsh.y"
 { yyval.d = sin(yyvsp[-1].d);      ;
     break;}
 case 193:
-#line 1312 "Gmsh.y"
+#line 1313 "Gmsh.y"
 { yyval.d = asin(yyvsp[-1].d);     ;
     break;}
 case 194:
-#line 1313 "Gmsh.y"
+#line 1314 "Gmsh.y"
 { yyval.d = cos(yyvsp[-1].d);      ;
     break;}
 case 195:
-#line 1314 "Gmsh.y"
+#line 1315 "Gmsh.y"
 { yyval.d = acos(yyvsp[-1].d);     ;
     break;}
 case 196:
-#line 1315 "Gmsh.y"
+#line 1316 "Gmsh.y"
 { yyval.d = tan(yyvsp[-1].d);      ;
     break;}
 case 197:
-#line 1316 "Gmsh.y"
+#line 1317 "Gmsh.y"
 { yyval.d = atan(yyvsp[-1].d);     ;
     break;}
 case 198:
-#line 1317 "Gmsh.y"
+#line 1318 "Gmsh.y"
 { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ;
     break;}
 case 199:
-#line 1318 "Gmsh.y"
+#line 1319 "Gmsh.y"
 { yyval.d = sinh(yyvsp[-1].d);     ;
     break;}
 case 200:
-#line 1319 "Gmsh.y"
+#line 1320 "Gmsh.y"
 { yyval.d = cosh(yyvsp[-1].d);     ;
     break;}
 case 201:
-#line 1320 "Gmsh.y"
+#line 1321 "Gmsh.y"
 { yyval.d = tanh(yyvsp[-1].d);     ;
     break;}
 case 202:
-#line 1321 "Gmsh.y"
+#line 1322 "Gmsh.y"
 { yyval.d = fabs(yyvsp[-1].d);     ;
     break;}
 case 203:
-#line 1322 "Gmsh.y"
+#line 1323 "Gmsh.y"
 { yyval.d = floor(yyvsp[-1].d);    ;
     break;}
 case 204:
-#line 1323 "Gmsh.y"
+#line 1324 "Gmsh.y"
 { yyval.d = ceil(yyvsp[-1].d);     ;
     break;}
 case 205:
-#line 1324 "Gmsh.y"
+#line 1325 "Gmsh.y"
 { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d);  ;
     break;}
 case 206:
-#line 1325 "Gmsh.y"
+#line 1326 "Gmsh.y"
 { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d);  ;
     break;}
 case 207:
-#line 1326 "Gmsh.y"
+#line 1327 "Gmsh.y"
 { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d);  ;
     break;}
 case 208:
-#line 1330 "Gmsh.y"
+#line 1331 "Gmsh.y"
 { yyval.d = yyvsp[0].d; ;
     break;}
 case 209:
-#line 1331 "Gmsh.y"
+#line 1332 "Gmsh.y"
 { yyval.d = 3.141592653589793; ;
     break;}
 case 210:
-#line 1333 "Gmsh.y"
+#line 1334 "Gmsh.y"
 {
       TheSymbol.Name = yyvsp[0].c ;
       if (!List_Query(Symbol_L, &TheSymbol, CompareSymbols)) {
@@ -3228,7 +3228,7 @@ case 210:
     ;
     break;}
 case 211:
-#line 1345 "Gmsh.y"
+#line 1346 "Gmsh.y"
 { 
       ListOfDouble2_L = List_Create(2,1,sizeof(double)) ; 
       for(d=yyvsp[-2].d ; (yyvsp[-2].d<yyvsp[0].d)?(d<=yyvsp[0].d):(d>=yyvsp[0].d) ; (yyvsp[-2].d<yyvsp[0].d)?(d+=1.):(d-=1.)) 
@@ -3236,7 +3236,7 @@ case 211:
     ;
     break;}
 case 212:
-#line 1351 "Gmsh.y"
+#line 1352 "Gmsh.y"
 {
       ListOfDouble2_L = List_Create(2,1,sizeof(double)) ; 
       if(!yyvsp[-2].d || (yyvsp[-5].d<yyvsp[0].d && yyvsp[-2].d<0) || (yyvsp[-5].d>yyvsp[0].d && yyvsp[-2].d>0)){
@@ -3249,7 +3249,7 @@ case 212:
    ;
     break;}
 case 213:
-#line 1365 "Gmsh.y"
+#line 1366 "Gmsh.y"
 {
       yyval.v[0]=yyvsp[-9].d;
       yyval.v[1]=yyvsp[-7].d;
@@ -3259,7 +3259,7 @@ case 213:
     ;
     break;}
 case 214:
-#line 1373 "Gmsh.y"
+#line 1374 "Gmsh.y"
 {
       yyval.v[0]=yyvsp[-7].d;
       yyval.v[1]=yyvsp[-5].d;
@@ -3269,7 +3269,7 @@ case 214:
     ;
     break;}
 case 215:
-#line 1381 "Gmsh.y"
+#line 1382 "Gmsh.y"
 {
       yyval.v[0]=yyvsp[-5].d;
       yyval.v[1]=yyvsp[-3].d;
@@ -3279,7 +3279,7 @@ case 215:
     ;
     break;}
 case 216:
-#line 1389 "Gmsh.y"
+#line 1390 "Gmsh.y"
 {
       yyval.v[0]=yyvsp[-5].d;
       yyval.v[1]=yyvsp[-3].d;
@@ -3289,62 +3289,62 @@ case 216:
     ;
     break;}
 case 217:
-#line 1400 "Gmsh.y"
+#line 1401 "Gmsh.y"
 {
     ;
     break;}
 case 218:
-#line 1403 "Gmsh.y"
+#line 1404 "Gmsh.y"
 {
     ;
     break;}
 case 219:
-#line 1409 "Gmsh.y"
+#line 1410 "Gmsh.y"
 {
     ;
     break;}
 case 220:
-#line 1412 "Gmsh.y"
+#line 1413 "Gmsh.y"
 {
     ;
     break;}
 case 221:
-#line 1418 "Gmsh.y"
+#line 1419 "Gmsh.y"
 {
     ;
     break;}
 case 222:
-#line 1421 "Gmsh.y"
+#line 1422 "Gmsh.y"
 {
        yyval.l=ListOfListOfDouble_L;
     ;
     break;}
 case 223:
-#line 1425 "Gmsh.y"
+#line 1426 "Gmsh.y"
 {
        yyval.l=ListOfListOfDouble_L;
     ;
     break;}
 case 224:
-#line 1432 "Gmsh.y"
+#line 1433 "Gmsh.y"
 {
       ListOfListOfDouble_L = List_Create(2,1,sizeof(List_T*)) ;
       List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ;
     ;
     break;}
 case 225:
-#line 1437 "Gmsh.y"
+#line 1438 "Gmsh.y"
 {
       List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ;
     ;
     break;}
 case 226:
-#line 1444 "Gmsh.y"
+#line 1445 "Gmsh.y"
 {
     ;
     break;}
 case 227:
-#line 1447 "Gmsh.y"
+#line 1448 "Gmsh.y"
 {
       ListOfDouble_L = List_Create(2,1,sizeof(double)) ;
       List_Add(ListOfDouble_L, &(yyvsp[0].d)) ;
@@ -3352,20 +3352,20 @@ case 227:
     ;
     break;}
 case 228:
-#line 1453 "Gmsh.y"
+#line 1454 "Gmsh.y"
 {
       yyval.l=ListOfDouble_L;
     ;
     break;}
 case 229:
-#line 1467 "Gmsh.y"
+#line 1468 "Gmsh.y"
 {
       ListOfDouble_L = List_Create(2,1,sizeof(double)) ;
       List_Add(ListOfDouble_L, &(yyvsp[0].d)) ;
     ;
     break;}
 case 230:
-#line 1472 "Gmsh.y"
+#line 1473 "Gmsh.y"
 { 
       ListOfDouble_L = List_Create(2,1,sizeof(double)) ;
       for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){
@@ -3376,13 +3376,13 @@ case 230:
     ;
     break;}
 case 231:
-#line 1481 "Gmsh.y"
+#line 1482 "Gmsh.y"
 {
       List_Add(ListOfDouble_L, &(yyvsp[0].d)) ;
     ;
     break;}
 case 232:
-#line 1485 "Gmsh.y"
+#line 1486 "Gmsh.y"
 {
       for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){
 	List_Read(ListOfDouble2_L, i, &d) ;
@@ -3589,7 +3589,7 @@ yyerrhandle:
   yystate = yyn;
   goto yynewstate;
 }
-#line 1495 "Gmsh.y"
+#line 1496 "Gmsh.y"
 
 
 void InitSymbols(void){
diff --git a/Parser/Gmsh.tab.cpp.h b/Parser/Gmsh.tab.cpp.h
index 3bfcef8e784dfbbccdda3e2f10bf9bf7f9421108..6e6866a3384ff1d519f39159d714c2254bdd69eb 100644
--- a/Parser/Gmsh.tab.cpp.h
+++ b/Parser/Gmsh.tab.cpp.h
@@ -1,4 +1,3 @@
-/* $Id: Gmsh.tab.cpp.h,v 1.3 2000-11-23 14:11:38 geuzaine Exp $ */
 typedef union {
   char    *c;
   int      i;
diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y
index 0d455b77cedf42beb87cbc5d53635ffb439785c0..79fa710d5bdfdcee414bd1d291bbdea8837a32ec 100644
--- a/Parser/Gmsh.y
+++ b/Parser/Gmsh.y
@@ -1,4 +1,4 @@
-%{ /* $Id: Gmsh.y,v 1.3 2000-11-23 14:11:38 geuzaine Exp $ */
+%{ /* $Id: Gmsh.y,v 1.4 2000-11-23 15:06:02 geuzaine Exp $ */
 
 #include <stdarg.h>
 
@@ -16,7 +16,7 @@
 #include "Parser.h"
 
 extern Mesh    *THEM;
-extern char    *ThePathForIncludes;
+extern char    ThePathForIncludes[NAME_STR_L];
 
 FILE           *yyinTab[MAX_OPEN_FILES];
 int             yylinenoTab[MAX_OPEN_FILES];
diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp
index d9031cff1a2d14fb3d8fdb0b5d8c3b43e54bc529..f6c109f6c39acab2963b6ac6b77020bdad349aff 100644
--- a/Parser/Gmsh.yy.cpp
+++ b/Parser/Gmsh.yy.cpp
@@ -1,9 +1,8 @@
-/* $Id: Gmsh.yy.cpp,v 1.3 2000-11-23 14:11:38 geuzaine Exp $ */
 #line 2 "Gmsh.yy.cpp"
 /* A lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.3 2000-11-23 14:11:38 geuzaine Exp $
+ * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.4 2000-11-23 15:06:02 geuzaine Exp $
  */
 
 #define FLEX_SCANNER
@@ -946,6 +945,7 @@ char *yytext;
 #line 1 "Gmsh.l"
 #define INITIAL 0
 #line 2 "Gmsh.l"
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -986,7 +986,7 @@ void   skipline(void);
 	     && ferror( yyin ) )					\
      YY_FATAL_ERROR( "input in flex scanner failed" );
 
-#line 989 "Gmsh.yy.cpp"
+#line 990 "Gmsh.yy.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1137,10 +1137,10 @@ YY_DECL
 	register char *yy_cp, *yy_bp;
 	register int yy_act;
 
-#line 59 "Gmsh.l"
+#line 60 "Gmsh.l"
 
 
-#line 1143 "Gmsh.yy.cpp"
+#line 1144 "Gmsh.yy.cpp"
 
 	if ( yy_init )
 		{
@@ -1225,781 +1225,781 @@ do_action:	/* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 61 "Gmsh.l"
+#line 62 "Gmsh.l"
 /* none */ ;
 	YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 62 "Gmsh.l"
+#line 63 "Gmsh.l"
 return tEND;
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 64 "Gmsh.l"
+#line 65 "Gmsh.l"
 skipcomments();
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 65 "Gmsh.l"
+#line 66 "Gmsh.l"
 skipline();
 	YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 66 "Gmsh.l"
+#line 67 "Gmsh.l"
 {parsestring('\"'); return tBIGSTR;}
 	YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 67 "Gmsh.l"
+#line 68 "Gmsh.l"
 {parsestring('\''); return tBIGSTR;}
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 68 "Gmsh.l"
+#line 69 "Gmsh.l"
 {yylval.d = NEWREG(); return tDOUBLE;}
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 69 "Gmsh.l"
+#line 70 "Gmsh.l"
 {yylval.d = NEWPOINT(); return tDOUBLE;}
 	YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 70 "Gmsh.l"
+#line 71 "Gmsh.l"
 return tAFFECT;
 	YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 71 "Gmsh.l"
+#line 72 "Gmsh.l"
 return tDOTS;
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 74 "Gmsh.l"
+#line 75 "Gmsh.l"
 return tAcos ;
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 75 "Gmsh.l"
+#line 76 "Gmsh.l"
 return tAcos ;
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 76 "Gmsh.l"
+#line 77 "Gmsh.l"
 return tAsin;
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 77 "Gmsh.l"
+#line 78 "Gmsh.l"
 return tAsin;
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 78 "Gmsh.l"
+#line 79 "Gmsh.l"
 return tAtan ;
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 79 "Gmsh.l"
+#line 80 "Gmsh.l"
 return tAtan ;
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 80 "Gmsh.l"
+#line 81 "Gmsh.l"
 return tAtan2 ;
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 81 "Gmsh.l"
+#line 82 "Gmsh.l"
 return tAtan2 ;
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 82 "Gmsh.l"
+#line 83 "Gmsh.l"
 return tAssociation;
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 83 "Gmsh.l"
+#line 84 "Gmsh.l"
 return tAttractor;
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 85 "Gmsh.l"
+#line 86 "Gmsh.l"
 return tBump;
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 86 "Gmsh.l"
+#line 87 "Gmsh.l"
 return tBSpline;
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 87 "Gmsh.l"
+#line 88 "Gmsh.l"
 return tBounds;
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 89 "Gmsh.l"
+#line 90 "Gmsh.l"
 return tCeil ;
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 90 "Gmsh.l"
+#line 91 "Gmsh.l"
 return tCosh ;
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 91 "Gmsh.l"
+#line 92 "Gmsh.l"
 return tCos ;
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 92 "Gmsh.l"
+#line 93 "Gmsh.l"
 return tCharacteristic;
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 93 "Gmsh.l"
+#line 94 "Gmsh.l"
 return tCircle;
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 94 "Gmsh.l"
+#line 95 "Gmsh.l"
 return tCoherence;
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 95 "Gmsh.l"
+#line 96 "Gmsh.l"
 return tComplex;
 	YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 96 "Gmsh.l"
+#line 97 "Gmsh.l"
 return tColor;
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 97 "Gmsh.l"
+#line 98 "Gmsh.l"
 return tSpline;
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 99 "Gmsh.l"
+#line 100 "Gmsh.l"
 return tDelete;
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 100 "Gmsh.l"
+#line 101 "Gmsh.l"
 return tDilate;
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 101 "Gmsh.l"
+#line 102 "Gmsh.l"
 return tDuplicata;
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 103 "Gmsh.l"
+#line 104 "Gmsh.l"
 return tExp ;
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 104 "Gmsh.l"
+#line 105 "Gmsh.l"
 return tEllipsis;
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 105 "Gmsh.l"
+#line 106 "Gmsh.l"
 return tExtrude;
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 106 "Gmsh.l"
+#line 107 "Gmsh.l"
 return tElliptic;
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 107 "Gmsh.l"
+#line 108 "Gmsh.l"
 return tELLIPSE;
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 109 "Gmsh.l"
+#line 110 "Gmsh.l"
 return tFabs ;
 	YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 110 "Gmsh.l"
+#line 111 "Gmsh.l"
 return tFloor ;
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 111 "Gmsh.l"
+#line 112 "Gmsh.l"
 return tFmod ;
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 113 "Gmsh.l"
+#line 114 "Gmsh.l"
 return tGeneral;
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 114 "Gmsh.l"
+#line 115 "Gmsh.l"
 return tGeometry;
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 116 "Gmsh.l"
+#line 117 "Gmsh.l"
 return tHypot ;
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 118 "Gmsh.l"
+#line 119 "Gmsh.l"
 return tInclude;
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 120 "Gmsh.l"
+#line 121 "Gmsh.l"
 return tKnots;
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 122 "Gmsh.l"
+#line 123 "Gmsh.l"
 return tLength;
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 123 "Gmsh.l"
+#line 124 "Gmsh.l"
 return tLine;
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 124 "Gmsh.l"
+#line 125 "Gmsh.l"
 return tLoop;
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 125 "Gmsh.l"
+#line 126 "Gmsh.l"
 return tLog ;
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 126 "Gmsh.l"
+#line 127 "Gmsh.l"
 return tLog10 ;
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 127 "Gmsh.l"
+#line 128 "Gmsh.l"
 return tLayers;
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 129 "Gmsh.l"
+#line 130 "Gmsh.l"
 return tMesh;
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 130 "Gmsh.l"
+#line 131 "Gmsh.l"
 return tModulo ;
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 132 "Gmsh.l"
+#line 133 "Gmsh.l"
 return tNurbs;
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 134 "Gmsh.l"
+#line 135 "Gmsh.l"
 return tOffset;
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 135 "Gmsh.l"
+#line 136 "Gmsh.l"
 return tOrder;
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 137 "Gmsh.l"
+#line 138 "Gmsh.l"
 return tPhysical;
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 138 "Gmsh.l"
+#line 139 "Gmsh.l"
 return tPi;
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 139 "Gmsh.l"
+#line 140 "Gmsh.l"
 return tPlane;
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 140 "Gmsh.l"
+#line 141 "Gmsh.l"
 return tPoint;
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 141 "Gmsh.l"
+#line 142 "Gmsh.l"
 return tPower;
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 142 "Gmsh.l"
+#line 143 "Gmsh.l"
 return tProgression;
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 143 "Gmsh.l"
+#line 144 "Gmsh.l"
 return tParametric;
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 145 "Gmsh.l"
+#line 146 "Gmsh.l"
 return tRecombine;
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 146 "Gmsh.l"
+#line 147 "Gmsh.l"
 return tRotate;
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 147 "Gmsh.l"
+#line 148 "Gmsh.l"
 return tRuled;
 	YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 149 "Gmsh.l"
+#line 150 "Gmsh.l"
 return tSqrt ;
 	YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 150 "Gmsh.l"
+#line 151 "Gmsh.l"
 return tSin ;
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 151 "Gmsh.l"
+#line 152 "Gmsh.l"
 return tSinh ;
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 152 "Gmsh.l"
+#line 153 "Gmsh.l"
 return tPhysical;
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 153 "Gmsh.l"
+#line 154 "Gmsh.l"
 return tSpline;
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 154 "Gmsh.l"
+#line 155 "Gmsh.l"
 return tSurface;
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 155 "Gmsh.l"
+#line 156 "Gmsh.l"
 return tSymetry;
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 157 "Gmsh.l"
+#line 158 "Gmsh.l"
 return tTransfinite;
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 158 "Gmsh.l"
+#line 159 "Gmsh.l"
 return tTranslate;
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 159 "Gmsh.l"
+#line 160 "Gmsh.l"
 return tTanh ;
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 160 "Gmsh.l"
+#line 161 "Gmsh.l"
 return tTan;
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 161 "Gmsh.l"
+#line 162 "Gmsh.l"
 return tTrimmed;
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 163 "Gmsh.l"
+#line 164 "Gmsh.l"
 return tUsing;
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 165 "Gmsh.l"
+#line 166 "Gmsh.l"
 return tView;
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 166 "Gmsh.l"
+#line 167 "Gmsh.l"
 return tVolume;
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 168 "Gmsh.l"
+#line 169 "Gmsh.l"
 return tWith;
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 171 "Gmsh.l"
+#line 172 "Gmsh.l"
 return tScalarSimplex;
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 172 "Gmsh.l"
+#line 173 "Gmsh.l"
 return tVectorSimplex;
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 173 "Gmsh.l"
+#line 174 "Gmsh.l"
 return tTensorSimplex;
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 174 "Gmsh.l"
+#line 175 "Gmsh.l"
 return tScalarTriangle;
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 175 "Gmsh.l"
+#line 176 "Gmsh.l"
 return tVectorTriangle;
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 176 "Gmsh.l"
+#line 177 "Gmsh.l"
 return tTensorTriangle;
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 177 "Gmsh.l"
+#line 178 "Gmsh.l"
 return tScalarLine;
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 178 "Gmsh.l"
+#line 179 "Gmsh.l"
 return tVectorLine;
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 179 "Gmsh.l"
+#line 180 "Gmsh.l"
 return tTensorLine;
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 180 "Gmsh.l"
+#line 181 "Gmsh.l"
 return tScalarPoint;
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 181 "Gmsh.l"
+#line 182 "Gmsh.l"
 return tVectorPoint;
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 182 "Gmsh.l"
+#line 183 "Gmsh.l"
 return tTensorPoint;
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 185 "Gmsh.l"
+#line 186 "Gmsh.l"
 return tCARTESIAN_POINT;
 	YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 186 "Gmsh.l"
+#line 187 "Gmsh.l"
 return tB_SPLINE_SURFACE_WITH_KNOTS;
 	YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 187 "Gmsh.l"
+#line 188 "Gmsh.l"
 return tB_SPLINE_CURVE_WITH_KNOTS;
 	YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 188 "Gmsh.l"
+#line 189 "Gmsh.l"
 return tUNSPECIFIED;
 	YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 189 "Gmsh.l"
+#line 190 "Gmsh.l"
 return tCONTINUOUS;
 	YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 190 "Gmsh.l"
+#line 191 "Gmsh.l"
 return tFALSE;
 	YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 191 "Gmsh.l"
+#line 192 "Gmsh.l"
 return tTRUE;
 	YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 192 "Gmsh.l"
+#line 193 "Gmsh.l"
 return tU;
 	YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 193 "Gmsh.l"
+#line 194 "Gmsh.l"
 return tV;
 	YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 194 "Gmsh.l"
+#line 195 "Gmsh.l"
 return tORIENTED_EDGE;
 	YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 195 "Gmsh.l"
+#line 196 "Gmsh.l"
 return tEDGE_CURVE;
 	YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 196 "Gmsh.l"
+#line 197 "Gmsh.l"
 return tEDGE_LOOP;
 	YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 197 "Gmsh.l"
+#line 198 "Gmsh.l"
 return tVERTEX_POINT;
 	YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 198 "Gmsh.l"
+#line 199 "Gmsh.l"
 return tFACE_OUTER_BOUND;
 	YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 199 "Gmsh.l"
+#line 200 "Gmsh.l"
 return tFACE_BOUND;
 	YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 200 "Gmsh.l"
+#line 201 "Gmsh.l"
 return tADVANCED_FACE;
 	YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 201 "Gmsh.l"
+#line 202 "Gmsh.l"
 return tLine;
 	YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 202 "Gmsh.l"
+#line 203 "Gmsh.l"
 return tVECTOR;
 	YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 203 "Gmsh.l"
+#line 204 "Gmsh.l"
 return tDIRECTION;
 	YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 204 "Gmsh.l"
+#line 205 "Gmsh.l"
 return tAXIS2_PLACEMENT_3D;
 	YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 205 "Gmsh.l"
+#line 206 "Gmsh.l"
 return tPLANE;
 	YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 206 "Gmsh.l"
+#line 207 "Gmsh.l"
 return tHEADER;
 	YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 207 "Gmsh.l"
+#line 208 "Gmsh.l"
 return tDATA;
 	YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 208 "Gmsh.l"
+#line 209 "Gmsh.l"
 return tFILE_SCHEMA;
 	YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 209 "Gmsh.l"
+#line 210 "Gmsh.l"
 return tFILE_NAME;
 	YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 210 "Gmsh.l"
+#line 211 "Gmsh.l"
 return tFILE_DESCRIPTION;
 	YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 211 "Gmsh.l"
+#line 212 "Gmsh.l"
 return tISO;
 	YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 212 "Gmsh.l"
+#line 213 "Gmsh.l"
 return tENDISO;
 	YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 213 "Gmsh.l"
+#line 214 "Gmsh.l"
 return tENDSEC;
 	YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 214 "Gmsh.l"
+#line 215 "Gmsh.l"
 return tCLOSED_SHELL;
 	YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 215 "Gmsh.l"
+#line 216 "Gmsh.l"
 return  tADVANCED_BREP_SHAPE_REPRESENTATION;
 	YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 216 "Gmsh.l"
+#line 217 "Gmsh.l"
 return tMANIFOLD_SOLID_BREP;
 	YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 217 "Gmsh.l"
+#line 218 "Gmsh.l"
 return tCYLINDRICAL_SURFACE;
 	YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 218 "Gmsh.l"
+#line 219 "Gmsh.l"
 return tCONICAL_SURFACE;
 	YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 219 "Gmsh.l"
+#line 220 "Gmsh.l"
 return tTOROIDAL_SURFACE;
 	YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 220 "Gmsh.l"
+#line 221 "Gmsh.l"
 return tCIRCLE;
 	YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 221 "Gmsh.l"
+#line 222 "Gmsh.l"
 return tTRIMMED_CURVE;
 	YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 222 "Gmsh.l"
+#line 223 "Gmsh.l"
 return tGEOMETRIC_SET;
 	YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 223 "Gmsh.l"
+#line 224 "Gmsh.l"
 return tCOMPOSITE_CURVE_SEGMENT;
 	YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 224 "Gmsh.l"
+#line 225 "Gmsh.l"
 return tCOMPOSITE_CURVE;
 	YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 225 "Gmsh.l"
+#line 226 "Gmsh.l"
 return tPRODUCT_DEFINITION;
 	YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 226 "Gmsh.l"
+#line 227 "Gmsh.l"
 return tPRODUCT_DEFINITION_SHAPE;
 	YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 227 "Gmsh.l"
+#line 228 "Gmsh.l"
 return tSHAPE_DEFINITION_REPRESENTATION;
 	YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 229 "Gmsh.l"
+#line 230 "Gmsh.l"
 return tVertex;
 	YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 230 "Gmsh.l"
+#line 231 "Gmsh.l"
 return tFacet;
 	YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 231 "Gmsh.l"
+#line 232 "Gmsh.l"
 return tNormal;
 	YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 232 "Gmsh.l"
+#line 233 "Gmsh.l"
 return tOuter;
 	YY_BREAK
 case 145:
 YY_RULE_SETUP
-#line 233 "Gmsh.l"
+#line 234 "Gmsh.l"
 return tLoopSTL;
 	YY_BREAK
 case 146:
 YY_RULE_SETUP
-#line 234 "Gmsh.l"
+#line 235 "Gmsh.l"
 return tEndLoop;
 	YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 235 "Gmsh.l"
+#line 236 "Gmsh.l"
 return tEndFacet;
 	YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 236 "Gmsh.l"
+#line 237 "Gmsh.l"
 {skipline();return tEndSolid;}
 	YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 237 "Gmsh.l"
+#line 238 "Gmsh.l"
 {skipline();return tSolid;}
 	YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 239 "Gmsh.l"
+#line 240 "Gmsh.l"
 {yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;}
 	YY_BREAK
 case 151:
-#line 242 "Gmsh.l"
-case 152:
 #line 243 "Gmsh.l"
-case 153:
+case 152:
 #line 244 "Gmsh.l"
+case 153:
+#line 245 "Gmsh.l"
 case 154:
 YY_RULE_SETUP
-#line 244 "Gmsh.l"
+#line 245 "Gmsh.l"
 {yylval.d = atof((char *)yytext); return tDOUBLE;}
 	YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 246 "Gmsh.l"
+#line 247 "Gmsh.l"
 {yylval.c = strsave((char*)yytext); return tSTRING;}
 	YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 248 "Gmsh.l"
+#line 249 "Gmsh.l"
 return yytext[0];
 	YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 250 "Gmsh.l"
+#line 251 "Gmsh.l"
 ECHO;
 	YY_BREAK
-#line 2002 "Gmsh.yy.cpp"
+#line 2003 "Gmsh.yy.cpp"
 case YY_STATE_EOF(INITIAL):
 	yyterminate();
 
@@ -2885,7 +2885,7 @@ int main()
 	return 0;
 	}
 #endif
-#line 250 "Gmsh.l"
+#line 251 "Gmsh.l"
 
 
 #undef yywrap
diff --git a/Parser/Makefile b/Parser/Makefile
index d5ec0e3bb1322656589d84ab727c3bdb28a431c3..322aa2d525cc4d33415b34cc5c7eaa69038097e2 100644
--- a/Parser/Makefile
+++ b/Parser/Makefile
@@ -56,15 +56,15 @@ depend:
 
 # DO NOT DELETE THIS LINE
 Gmsh.yy.o: Gmsh.yy.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h ../Geo/CAD.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h Gmsh.tab.cpp.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h ../Geo/CAD.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h Gmsh.tab.cpp.h
 Gmsh.tab.o: Gmsh.tab.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h \
-  ../Common/Context.h ../Geo/Geo.h ../Geo/CAD.h ../Mesh/Mesh.h \
-  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Geo/DataBase.h \
-  ../Mesh/Create.h ../Common/Views.h ../Graphics/ColorTable.h \
-  ../Geo/StepGeomDatabase.h ../Common/Colors.h Parser.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Const.h \
+ ../Common/Context.h ../Geo/Geo.h ../Geo/CAD.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Geo/DataBase.h \
+ ../Mesh/Create.h ../Common/Views.h ../Graphics/ColorTable.h \
+ ../Geo/StepGeomDatabase.h ../Common/Colors.h Parser.h
diff --git a/Unix/CbMesh.cpp b/Unix/CbMesh.cpp
index b15ec6cdf19839926fab271757326ccea074c31f..7d24c936833d40f7b9ea25b77a1d0dadc8d9e234 100644
--- a/Unix/CbMesh.cpp
+++ b/Unix/CbMesh.cpp
@@ -1,4 +1,4 @@
-/* $Id: CbMesh.cpp,v 1.2 2000-11-23 14:11:41 geuzaine Exp $ */
+/* $Id: CbMesh.cpp,v 1.3 2000-11-23 15:06:03 geuzaine Exp $ */
 
 #include "Gmsh.h"
 #include "GmshUI.h"
@@ -12,7 +12,7 @@
 extern Widgets_T  WID;
 extern Context_T  CTX;
 extern Mesh       M;
-extern char       TheFileName[256];
+extern char       TheFileName[NAME_STR_L];
 
 extern char   trsf_pts_text[100], trsf_type_text[100];
 extern char   trsf_vol_text[100], char_length_text[100];
diff --git a/Unix/Main.cpp b/Unix/Main.cpp
index e2aea5f29dfc7aabcb3e0ee39ab2e965d4faded1..ac876f58116c87ebcf348983573cfab7491481ca 100644
--- a/Unix/Main.cpp
+++ b/Unix/Main.cpp
@@ -1,4 +1,4 @@
-/* $Id: Main.cpp,v 1.3 2000-11-23 14:11:41 geuzaine Exp $ */
+/* $Id: Main.cpp,v 1.4 2000-11-23 15:06:04 geuzaine Exp $ */
 
 #include <signal.h>
 
@@ -28,8 +28,8 @@
 #include "Static.h"
 #include "XStatic.h"
 
-char *TheFileNameTab[MAX_OPEN_FILES];
-char *ThePathForIncludes=NULL, *TheBgmFileName=NULL;
+char *TheFileNameTab[MAX_OPEN_FILES], *TheBgmFileName=NULL;
+char  ThePathForIncludes[NAME_STR_L];
 
 /* ------------------------------------------------------------------------ */
 /*  P a r s e                                                               */
@@ -159,7 +159,9 @@ void Get_Options (int argc, char *argv[], int *nbfiles) {
       }
       else if(!strcmp(argv[i]+1, "path")){ 
 	i++;
-	if(argv[i] != NULL) ThePathForIncludes = argv[i++];
+	/* we need to make a copy because of bison */
+	if(argv[i] != NULL) 
+	  strncpy(ThePathForIncludes, argv[i++], NAME_STR_L) ;
       }
       else if(!strcmp(argv[i]+1, "bgm")){ 
 	i++;
diff --git a/Unix/Makefile b/Unix/Makefile
index 01131100b588ad7721e1b07bc5f070d013aea3e9..8ba6e298f67b48c292e4bebf54100eb339dfb881 100644
--- a/Unix/Makefile
+++ b/Unix/Makefile
@@ -70,105 +70,107 @@ depend:
 	$(RM) $(RMFLAGS) Makefile.new
 
 # DO NOT DELETE THIS LINE
-Main.o: Main.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
-  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
-  ../Common/GmshUI.h ../Geo/Geo.h ../Geo/Verif.h ../Mesh/Mesh.h \
-  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
-  ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h \
-  ../Common/Context.h ../Parser/Parser.h ../Geo/MinMax.h Widgets.h \
-  Pixmaps.h XColors.h XContext.h XRessources.h CbContext.h CbGeom.h \
-  Register.h Geometry.h ../Common/Static.h ../Common/Version.h XStatic.h
+Main.o: Main.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Geo/Verif.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Graphics/Draw.h ../Common/Views.h ../Common/Const.h \
+ ../Graphics/ColorTable.h ../Common/Context.h ../Parser/Parser.h \
+ ../Geo/MinMax.h Widgets.h Pixmaps.h XColors.h XContext.h \
+ XRessources.h CbContext.h CbGeom.h Register.h Geometry.h \
+ ../Common/Static.h ../Common/Version.h XStatic.h
 Widgets.o: Widgets.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Mesh/Mesh.h \
-  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Common/Context.h XContext.h \
-  Info.h Widgets.h Help.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Common/Context.h \
+ XContext.h Info.h Widgets.h Help.h
 Geometry.o: Geometry.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
-  ../Common/Context.h XContext.h Widgets.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
+ ../Common/Context.h XContext.h Widgets.h
 Register.o: Register.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
-  ../Common/Context.h XContext.h Widgets.h Register.h CbOptions.h \
-  CbContext.h CbFile.h CbGeom.h CbMesh.h CbPost.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
+ ../Common/Context.h XContext.h Widgets.h Register.h CbOptions.h \
+ CbContext.h CbFile.h CbGeom.h CbMesh.h CbPost.h
 Pixmaps.o: Pixmaps.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h Widgets.h \
-  ../Common/Context.h Pixmaps.h Bitmaps.h XColors.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h Widgets.h \
+ ../Common/Context.h Pixmaps.h Bitmaps.h XColors.h
 XDump.o: XDump.cpp
 XColors.o: XColors.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h XContext.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h XContext.h
 Message.o: Message.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
-  ../Common/Version.h ../Common/Context.h Widgets.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
+ ../Common/Version.h ../Common/Context.h Widgets.h
 CbContext.o: CbContext.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
-  ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h Widgets.h \
-  ../Common/Context.h XContext.h CbContext.h CbGeom.h CbMesh.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
+ ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h \
+ Widgets.h ../Common/Context.h XContext.h CbContext.h CbGeom.h \
+ CbMesh.h
 CbPost.o: CbPost.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
-  ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h Widgets.h \
-  ../Common/Context.h XContext.h Main.h CbPost.h CbGeom.h CbMesh.h \
-  CbColorbar.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
+ ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h \
+ Widgets.h ../Common/Context.h XContext.h Main.h CbPost.h CbGeom.h \
+ CbMesh.h CbColorbar.h
 CbColorbar.o: CbColorbar.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
-  ../Common/Const.h XColors.h Widgets.h Register.h ../Common/Context.h \
-  XContext.h ../Graphics/ColorTable.h CbColorbar.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
+ ../Common/Const.h XColors.h Widgets.h Register.h ../Common/Context.h \
+ XContext.h ../Graphics/ColorTable.h CbColorbar.h
 CbGeom.o: CbGeom.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
-  ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h Widgets.h \
-  ../Common/Context.h ../Geo/Verif.h Main.h CbGeom.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
+ ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h \
+ Widgets.h ../Common/Context.h ../Geo/Verif.h Main.h CbGeom.h
 CbMesh.o: CbMesh.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
-  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
-  ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h CbMesh.h \
-  ../Common/Context.h Widgets.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
+ ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h CbMesh.h \
+ ../Common/Context.h Widgets.h
 CbOptions.o: CbOptions.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
-  ../Geo/Verif.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
-  ../Graphics/Draw.h ../Common/Views.h ../Common/Const.h \
-  ../Graphics/ColorTable.h Widgets.h Pixmaps.h ../Common/Context.h \
-  XContext.h Register.h CbGeneral.h CbOptions.h CbGeom.h CbMesh.h \
-  CbPost.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
+ ../Geo/Verif.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Graphics/Draw.h ../Common/Views.h ../Common/Const.h \
+ ../Graphics/ColorTable.h Widgets.h Pixmaps.h ../Common/Context.h \
+ XContext.h Register.h CbGeneral.h CbOptions.h CbGeom.h CbMesh.h \
+ CbPost.h
 CbFile.o: CbFile.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h Main.h \
-  ../Common/Const.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
-  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
-  ../Graphics/Draw.h ../Common/Views.h ../Graphics/ColorTable.h Widgets.h \
-  ../Common/Context.h XContext.h CbFile.h CbColorbar.h XDump.h \
-  ../Graphics/gl2ps.h ../Graphics/gl2gif.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h Main.h \
+ ../Common/Const.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Graphics/Draw.h ../Common/Views.h ../Graphics/ColorTable.h \
+ Widgets.h ../Common/Context.h XContext.h CbFile.h CbColorbar.h \
+ XDump.h ../Graphics/gl2ps.h ../Graphics/gl2gif.h
 CbInput.o: CbInput.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Mesh/Mesh.h \
-  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
-  ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h Widgets.h \
-  ../Common/Context.h XContext.h Register.h CbContext.h CbGeneral.h \
-  CbGeom.h CbPost.h CbMesh.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
+ ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h \
+ Widgets.h ../Common/Context.h XContext.h Register.h CbContext.h \
+ CbGeneral.h CbGeom.h CbPost.h CbMesh.h
 CbGeneral.o: CbGeneral.cpp ../Common/Gmsh.h ../Common/Message.h \
-  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
-  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Mesh/Mesh.h \
-  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
-  ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
-  ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h \
-  ../Common/Context.h XContext.h Widgets.h
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
+ ../Common/Views.h ../Common/Const.h ../Graphics/ColorTable.h \
+ ../Common/Context.h XContext.h Widgets.h
diff --git a/benchmarks/2d/gmsh.tmp b/benchmarks/2d/gmsh.tmp
deleted file mode 100644
index 0b7c980569bfc58e08726a5c083429e72478f7f2..0000000000000000000000000000000000000000
--- a/benchmarks/2d/gmsh.tmp
+++ /dev/null
@@ -1 +0,0 @@
-Complex Volume(59) = {58};