diff --git a/Graphics/Mesh.cpp b/Graphics/Mesh.cpp
index 5f961be92dea2a93f2a3be5b2ddf20b9c9e49343..e9966bce04d7265047eef26b817c1c27799c0751 100644
--- a/Graphics/Mesh.cpp
+++ b/Graphics/Mesh.cpp
@@ -1,4 +1,4 @@
-// $Id: Mesh.cpp,v 1.27 2001-05-23 07:29:42 geuzaine Exp $
+// $Id: Mesh.cpp,v 1.28 2001-06-02 19:44:35 remacle Exp $
 
 #include "Gmsh.h"
 #include "GmshUI.h"
@@ -482,7 +482,10 @@ void Draw_Simplex_Surfaces (void *a, void *b){
     }
     
     if(CTX.mesh.lines){
-      glColor4ubv((GLubyte*)&CTX.color.mesh.line);
+      if(CTX.mesh.color_carousel && ! (CTX.mesh.hidden || CTX.mesh.shade))
+	ColorSwitch((*s)->iEnt);
+      else
+	glColor4ubv((GLubyte*)&CTX.color.mesh.line);
       glBegin(GL_LINE_LOOP);
       for(i=0 ; i<K*(1+L) ; i++){
         glVertex3d(pX[i],pY[i],pZ[i]);
diff --git a/Mesh/Read_Mesh.cpp b/Mesh/Read_Mesh.cpp
index b95f8eb01c66e6a44a64fa0bc94386be00524846..ea48cf249f0487cc73fede0cc7b593c1624999a8 100644
--- a/Mesh/Read_Mesh.cpp
+++ b/Mesh/Read_Mesh.cpp
@@ -1,4 +1,4 @@
-// $Id: Read_Mesh.cpp,v 1.15 2001-05-24 10:11:28 geuzaine Exp $
+// $Id: Read_Mesh.cpp,v 1.16 2001-06-02 19:44:35 remacle Exp $
 
 #include "Gmsh.h"
 #include "Geo.h"
@@ -90,8 +90,11 @@ void Read_Mesh_MSH (Mesh *M, FILE *File_GEO){
 
       for (i_Element = 0 ; i_Element < Nbr_Elements ; i_Element++) {
         
+	// HACK FROM JF
+	//        fscanf(File_GEO, "%d %d %d %d %d", 
+        //       &Num, &Type, &Physical, &Elementary, &Nbr_Nodes) ;
         fscanf(File_GEO, "%d %d %d %d %d", 
-               &Num, &Type, &Physical, &Elementary, &Nbr_Nodes) ;
+               &Num, &Type, &Elementary, &Physical, &Nbr_Nodes) ;
         
         for (j = 0 ; j < Nbr_Nodes ; j++)
           fscanf(File_GEO, "%d", &verts[j].Num) ;
diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp
index 3453ff146134089898644629ce0d7b1754d83e63..ca228879e531f8b5366e63ac3bdd35fc215cf3b6 100644
--- a/Parser/Gmsh.tab.cpp
+++ b/Parser/Gmsh.tab.cpp
@@ -169,7 +169,7 @@
 #line 1 "Gmsh.y"
  
 
-// $Id: Gmsh.tab.cpp,v 1.87 2001-05-16 15:11:45 geuzaine Exp $
+// $Id: Gmsh.tab.cpp,v 1.88 2001-06-02 19:44:35 remacle Exp $
 
   //
   // Generaliser sprintf avec des chaines de caracteres
diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp
index e10ea8990fb7204bac970d3ea0ed03198ce2990b..0b36900a0dd3a3bf8fd4c8f49d4acd11993d254a 100644
--- a/Parser/Gmsh.yy.cpp
+++ b/Parser/Gmsh.yy.cpp
@@ -2,7 +2,7 @@
 /* A lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.87 2001-05-16 15:11:46 geuzaine Exp $
+ * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.88 2001-06-02 19:44:35 remacle Exp $
  */
 
 #define FLEX_SCANNER
@@ -10,7 +10,6 @@
 #define YY_FLEX_MINOR_VERSION 5
 
 #include <stdio.h>
-#include <unistd.h>
 
 
 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
@@ -24,6 +23,7 @@
 #ifdef __cplusplus
 
 #include <stdlib.h>
+#include <unistd.h>
 
 /* Use prototypes in function declarations. */
 #define YY_USE_PROTOS
@@ -978,7 +978,7 @@ char *yytext;
 #define INITIAL 0
 #line 2 "Gmsh.l"
 
-// $Id: Gmsh.yy.cpp,v 1.87 2001-05-16 15:11:46 geuzaine Exp $
+// $Id: Gmsh.yy.cpp,v 1.88 2001-06-02 19:44:35 remacle Exp $
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -2713,6 +2713,11 @@ YY_BUFFER_STATE b;
 	}
 
 
+#ifndef YY_ALWAYS_INTERACTIVE
+#ifndef YY_NEVER_INTERACTIVE
+extern int isatty YY_PROTO(( int ));
+#endif
+#endif
 
 #ifdef YY_USE_PROTOS
 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
diff --git a/tutorial/t7.geo b/tutorial/t7.geo
index 214007e0178abf6d5d4849fad937538946eb2e49..671359e84f2cdb1be409ce785cac0dacc99a9e78 100644
--- a/tutorial/t7.geo
+++ b/tutorial/t7.geo
@@ -37,6 +37,6 @@ Line(5) = {11,22};
 
 // Anisotropic attractors can be defined on points and lines:
 
-Attractor Line{5} = {1, 0.1, 7};
+//Attractor Line{5} = {.1, 0.01, 17};
 
-Attractor Point{5} = {0.1, 0.5, 3};
+Attractor Line{1,2} = {0.1, 0.005, 3};