diff --git a/Common/CommandLine.cpp b/Common/CommandLine.cpp
index 20c72a27aeb9f25eebc3c06627f4688f04059925..bf47db526c7d464980eaa6695b71c58c842e5f1e 100644
--- a/Common/CommandLine.cpp
+++ b/Common/CommandLine.cpp
@@ -1,4 +1,4 @@
-// $Id: CommandLine.cpp,v 1.82 2006-11-15 15:06:45 geuzaine Exp $
+// $Id: CommandLine.cpp,v 1.83 2006-11-27 03:19:47 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -81,7 +81,7 @@ void Print_Usage(char *name){
   Msg(DIRECT, "  -saveall              Save all elements (discard physical group definitions)");
   Msg(DIRECT, "  -o file               Specify mesh output file name");
   Msg(DIRECT, "  -format string        Set output mesh format (msh, unv, bdf, mesh, stl, vrml)");
-  Msg(DIRECT, "  -algo string          Select mesh algorithm (iso, tri, aniso, netgen, tetgen)");
+  Msg(DIRECT, "  -algo string          Select mesh algorithm (iso, tri, netgen, tetgen)");
   Msg(DIRECT, "  -smooth int           Set number of mesh smoothing steps");
   Msg(DIRECT, "  -optimize             Optimize quality of tetrahedral elements");
   Msg(DIRECT, "  -partition int        Load a mesh and partition it into $1 parts (METIS is required)");
@@ -92,10 +92,7 @@ void Print_Usage(char *name){
   Msg(DIRECT, "  -rand float           Set random perturbation factor");
   Msg(DIRECT, "  -bgm file             Load background mesh from file");
   Msg(DIRECT, "  -constrain            Constrain background mesh with characteristic lengths");
-  Msg(DIRECT, "  -extrude              Use old extrusion mesh generator");
-  Msg(DIRECT, "  -recombine            Recombine meshes from old extrusion mesh generator");
 #if defined(HAVE_FLTK)
-  Msg(DIRECT, "  -interactive          Display 2D mesh construction interactively");
   Msg(DIRECT, "Post-processing options:");
   Msg(DIRECT, "  -noview               Hide all views on startup");
   Msg(DIRECT, "  -link int             Select link mode between views (0, 1, 2, 3, 4)");
@@ -231,14 +228,6 @@ void Get_Options(int argc, char *argv[])
         CTX.mesh.save_all = 1;
         i++;
       }
-      else if(!strcmp(argv[i] + 1, "extrude")) { // old extrusion mesh generator
-        CTX.mesh.oldxtrude = 1;
-        i++;
-      }
-      else if(!strcmp(argv[i] + 1, "recombine")) { // old extrusion mesh generator
-        CTX.mesh.oldxtrude_recombine = 1;
-        i++;
-      }
       else if(!strcmp(argv[i] + 1, "optimize")) {
         CTX.mesh.optimize = 1;
         i++;
@@ -429,8 +418,6 @@ void Get_Options(int argc, char *argv[])
             CTX.mesh.algo2d = DELAUNAY_ISO;
           else if(!strncmp(argv[i], "tri", 3))
             CTX.mesh.algo2d = DELAUNAY_TRIANGLE;
-          else if(!strncmp(argv[i], "aniso", 5))
-            CTX.mesh.algo2d = DELAUNAY_ANISO;
           else if(!strncmp(argv[i], "netgen", 6))
             CTX.mesh.algo3d = FRONTAL_NETGEN;
           else if(!strncmp(argv[i], "tetgen", 6))
@@ -499,10 +486,6 @@ void Get_Options(int argc, char *argv[])
         CTX.mesh.dual = 1;
         i++;
       }
-      else if(!strcmp(argv[i] + 1, "interactive")) {
-        CTX.mesh.interactive = 1;
-        i++;
-      }
       else if(!strcmp(argv[i] + 1, "noview")) {
         opt_view_visible(0, GMSH_SET, 0);
         i++;
diff --git a/Common/Context.h b/Common/Context.h
index 981c9c332416b48bc9ac20881be004fd998a5d6b..ef0c16ddc08d0bc2a1ffea8a866ff2005a34fb74 100644
--- a/Common/Context.h
+++ b/Common/Context.h
@@ -169,7 +169,7 @@ public :
     int quality_type, label_type;
     double quality_inf, quality_sup, radius_inf, radius_sup;
     double scaling_factor, lc_factor, rand_factor;
-    int dual, interactive;
+    int dual;
     int light, light_two_side, light_lines;
     int format, nbPartitions, nb_smoothing, algo2d, algo3d, algo_recombine;
     int order, second_order_linear, second_order_incomplete;
@@ -184,7 +184,6 @@ public :
       double val = cut_planea * x + cut_planeb * y + cut_planec * z + cut_planed; 
       return val;
     }
-    int oldxtrude, oldxtrude_recombine;
     int save_all, stl_binary, msh_binary, bdf_field_format;
     char *triangle_options;
     int smooth_normals, reverse_all_normals;
diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h
index 7dee45baaf31cc2e88f425d64759abd79ffe5d10..d347398a60cca2c84d55d0b3c5b76c0ec44c486e 100644
--- a/Common/DefaultOptions.h
+++ b/Common/DefaultOptions.h
@@ -892,8 +892,6 @@ StringXNumber MeshOptions_Number[] = {
 
   { F|O, "InitialOnly" , opt_mesh_initial_only , 0. ,
     "Only contruct the n-dimensional initial mesh (no refinement)" },
-  { F|O, "Interactive" , opt_mesh_interactive , 0. ,
-    "Show the construction of 2D anisotropic mesh in real time" },
 
   { F|O, "LabelType" , opt_mesh_label_type , 0. , 
     "Type of element label (0=element number, 1=elementary entity number, 2=physical entity number, 3=partition number, 4=coordinates)" },
diff --git a/Common/Options.cpp b/Common/Options.cpp
index b4126c403b7de4bab89e479a47fabac792db5274..5f5626b08330a872204bf4700b83d469ea727151 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -1,4 +1,4 @@
-// $Id: Options.cpp,v 1.318 2006-11-27 01:33:27 geuzaine Exp $
+// $Id: Options.cpp,v 1.319 2006-11-27 03:19:47 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -144,7 +144,6 @@ void Init_Options(int num)
   CTX.post.force_num = 0;
   CTX.threads_lock = 0; // very primitive locking
   CTX.mesh.changed = 0;
-  CTX.mesh.oldxtrude = CTX.mesh.oldxtrude_recombine = 0; // old extrusion mesh generator
   CTX.mesh.bgmesh_type = WITHPOINTS;
   CTX.post.combine_time = 0; // try to combine_time views at startup
   CTX.post.plugin_draw_function = NULL;
@@ -4703,8 +4702,7 @@ double opt_mesh_algo2d(OPT_ARGS_NUM)
   if(action & GMSH_SET){
     int algo = (int)val;
     if(algo != DELAUNAY_ISO &&
-       algo != DELAUNAY_TRIANGLE &&
-       algo != DELAUNAY_ANISO){
+       algo != DELAUNAY_TRIANGLE){
       Msg(WARNING, "Unknown mesh algorithm: keeping existing value");
     }
     else{
@@ -4714,15 +4712,12 @@ double opt_mesh_algo2d(OPT_ARGS_NUM)
 #if defined(HAVE_FLTK)
   if(WID && (action & GMSH_GUI)) {
     switch (CTX.mesh.algo2d) {
-    case DELAUNAY_ISO:
-      WID->mesh_choice[2]->value(0);
-      break;
-    case DELAUNAY_ANISO:
+    case DELAUNAY_TRIANGLE:
       WID->mesh_choice[2]->value(1);
       break;
-    case DELAUNAY_TRIANGLE:
+    case DELAUNAY_ISO:
     default:
-      WID->mesh_choice[2]->value(2);
+      WID->mesh_choice[2]->value(0);
       break;
     }
   }
@@ -4851,13 +4846,6 @@ double opt_mesh_dual(OPT_ARGS_NUM)
   return CTX.mesh.dual;
 }
 
-double opt_mesh_interactive(OPT_ARGS_NUM)
-{
-  if(action & GMSH_SET)
-    CTX.mesh.interactive = (int)val;
-  return CTX.mesh.interactive;
-}
-
 double opt_mesh_initial_only(OPT_ARGS_NUM)
 {
   if(action & GMSH_SET)
diff --git a/Common/Options.h b/Common/Options.h
index dc6eb0d6070fe6f0f47cab08f16fa58fe49c78eb..c013f51d63072f1bcd6ebd7c188566d4b1cdeb5e 100644
--- a/Common/Options.h
+++ b/Common/Options.h
@@ -469,7 +469,6 @@ double opt_mesh_order(OPT_ARGS_NUM);
 double opt_mesh_second_order_linear(OPT_ARGS_NUM);
 double opt_mesh_second_order_incomplete(OPT_ARGS_NUM);
 double opt_mesh_dual(OPT_ARGS_NUM);
-double opt_mesh_interactive(OPT_ARGS_NUM);
 double opt_mesh_initial_only(OPT_ARGS_NUM);
 double opt_mesh_use_cut_plane(OPT_ARGS_NUM);
 double opt_mesh_cut_plane_draw_intersect(OPT_ARGS_NUM);
diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp
index 8cede0c20a9daa2662389cb1631d258ab19ced24..383c05156f6f71d17835bdcc0344f0f395a18225 100644
--- a/Fltk/Callbacks.cpp
+++ b/Fltk/Callbacks.cpp
@@ -1,4 +1,4 @@
-// $Id: Callbacks.cpp,v 1.482 2006-11-26 01:11:01 geuzaine Exp $
+// $Id: Callbacks.cpp,v 1.483 2006-11-27 03:19:47 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -1208,7 +1208,6 @@ void mesh_options_ok_cb(CALLBACK_ARGS)
   opt_mesh_point_type(0, GMSH_SET, WID->mesh_choice[0]->value());
   opt_mesh_algo2d(0, GMSH_SET,
 		  (WID->mesh_choice[2]->value() == 0) ? DELAUNAY_ISO :
-		  (WID->mesh_choice[2]->value() == 1) ? DELAUNAY_ANISO :
 		  DELAUNAY_TRIANGLE);
   opt_mesh_recombine_algo(0, GMSH_SET,
 		  (WID->mesh_choice[5]->value() == 0) ? 1 : 2);
diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp
index 7cde2410b586f835d5832cd4e0e9dfb0e1b81d26..ecf43f10067ba0078dd603b03b478e1b43ab9dce 100644
--- a/Fltk/GUI.cpp
+++ b/Fltk/GUI.cpp
@@ -1,4 +1,4 @@
-// $Id: GUI.cpp,v 1.564 2006-11-25 20:08:39 geuzaine Exp $
+// $Id: GUI.cpp,v 1.565 2006-11-27 03:19:47 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -2226,21 +2226,20 @@ void GUI::create_option_window()
 
       static Fl_Menu_Item menu_2d_algo[] = {
         {"Isotropic", 0, 0, 0},
-        {"Anisotropic", 0, 0, 0},
         {"Triangle", 0, 0, 0},
         {0}
       };
-      static Fl_Menu_Item menu_recombine_algo[] = {
-        {"Mixed Tri-Quads", 0, 0, 0},
-        {"All Quads", 0, 0, 0},
-        {0}
-      };
       static Fl_Menu_Item menu_3d_algo[] = {
         {"Isotropic", 0, 0, 0},
         {"Netgen", 0, 0, 0},
         {"Tetgen", 0, 0, 0},
         {0}
       };
+      static Fl_Menu_Item menu_recombine_algo[] = {
+        {"Mixed Tri-Quads", 0, 0, 0},
+        {"All Quads", 0, 0, 0},
+        {0}
+      };
 
       mesh_choice[2] = new Fl_Choice(L + 2 * WB, 2 * WB + 1 * BH, IW, BH, "2D algorithm");
       mesh_choice[2]->menu(menu_2d_algo);
diff --git a/doc/gmsh.1 b/doc/gmsh.1
index 177ae6e471e853fa45929113fe4dc6b69e4ac0fd..3c7704ee32655f89f4fbc305ecc18fe240d56cf4 100644
--- a/doc/gmsh.1
+++ b/doc/gmsh.1
@@ -1,4 +1,4 @@
-.\" $Id: gmsh.1,v 1.72 2006-09-07 02:56:53 geuzaine Exp $
+.\" $Id: gmsh.1,v 1.73 2006-11-27 03:19:48 geuzaine Exp $
 .TH Gmsh 1 "09 March 2006" "Gmsh 2.0" "Gmsh Manual Pages"
 .UC 4
 .\" ********************************************************************
@@ -49,7 +49,7 @@ specify mesh output file name.
 set output mesh format (msh, unv, gref, stl, p3d).
 .TP 4
 .B \-algo string
-select mesh algorithm (iso, tri, aniso, netgen).
+select mesh algorithm (iso, tri, netgen, tetgen).
 .TP 4
 .B \-smooth int
 set number of mesh smoothing steps.
@@ -82,16 +82,6 @@ model.
 .TP 4
 .B \-histogram
 print mesh quality histogram.
-.TP 4
-.B \-extrude
-use the old extrusion mesh generator.
-.TP 4
-.B \-recombine
-recombine meshes from the old extrusion mesh generator.
-.TP 4
-.B \-interactive
-display the 2D mesh construction interactively if the anisotropic mesh
-algorithm is selected.
 .\" ********************************************************************
 .SH POST-PROCESSING OPTIONS
 .TP 4
diff --git a/doc/texinfo/command_line.texi b/doc/texinfo/command_line.texi
index d0367a74ab3276bf0c8d19b010b69381ee7fbc4a..48e42099451503be09432ff7a2879f2da6a06797 100644
--- a/doc/texinfo/command_line.texi
+++ b/doc/texinfo/command_line.texi
@@ -19,7 +19,7 @@ Specify mesh output file name
 @item -format string
 Set output mesh format (msh, unv, bdf, mesh, stl, vrml)
 @item -algo string
-Select mesh algorithm (iso, tri, aniso, netgen, tetgen)
+Select mesh algorithm (iso, tri, netgen, tetgen)
 @item -smooth int
 Set number of mesh smoothing steps
 @item -optimize
@@ -38,12 +38,6 @@ Set random perturbation factor
 Load background mesh from file
 @item -constrain
 Constrain background mesh with characteristic lengths
-@item -extrude
-Use old extrusion mesh generator
-@item -recombine
-Recombine meshes from old extrusion mesh generator
-@item -interactive
-Display 2D mesh construction interactively
 @end ftable
 
 @sp 1