diff --git a/Common/Options.cpp b/Common/Options.cpp
index 6657a383af9119a8db78ba557d57393094aef270..7b6ebbabe99dc42a040312a4c8a55a94a277087a 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -1,4 +1,4 @@
-// $Id: Options.cpp,v 1.244 2005-05-21 17:27:03 geuzaine Exp $
+// $Id: Options.cpp,v 1.245 2005-06-06 23:14:59 geuzaine Exp $
 //
 // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle
 //
@@ -4616,7 +4616,7 @@ double opt_mesh_color_carousel(OPT_ARGS_NUM)
   if(action & GMSH_SET) {
     if(CTX.mesh.color_carousel != (int)val) CTX.mesh.changed = 1;
     CTX.mesh.color_carousel = (int)val;
-    if(CTX.mesh.color_carousel < 0 || CTX.mesh.color_carousel > 2)
+    if(CTX.mesh.color_carousel < 0 || CTX.mesh.color_carousel > 3)
       CTX.mesh.color_carousel = 0;
   }
 #if defined(HAVE_FLTK)
diff --git a/benchmarks/misc/partitions.msh b/benchmarks/misc/partitions.msh
new file mode 100644
index 0000000000000000000000000000000000000000..bcb8c7ac789193eafa5e7b501cbe10f8426031db
--- /dev/null
+++ b/benchmarks/misc/partitions.msh
@@ -0,0 +1,406 @@
+$MeshFormat
+2 0 8
+$EndMeshFormat
+$Nodes
+133
+0 1 1 0
+1 0.902483 0.902501 0
+2 1 0.888889 0
+3 0.888889 1 0
+4 0.820723 0.926411 0
+5 0.926473 0.820729 0
+6 0.832881 0.832814 0
+7 1 0.777778 0
+8 0.777778 1 0
+9 0.741391 0.895383 0
+10 0.895472 0.741349 0
+11 0.724576 0.801939 0
+12 0.798829 0.742364 0
+13 1 0.666667 0
+14 0.666667 1 0
+15 0.61124 0.931002 0
+16 0.641358 0.847647 0
+17 0.93097 0.611201 0
+18 0.847602 0.64139 0
+19 0.590385 0.771896 0
+20 0.708349 0.708391 0
+21 0.744476 0.605267 0
+22 1 0.555556 0
+23 0.555556 1 0
+24 0.500103 0.899772 0
+25 0.560809 0.846823 0
+26 0.899731 0.499983 0
+27 0.842447 0.559178 0
+28 0.580043 0.681179 0
+29 0.497037 0.700045 0
+30 0.500043 0.785116 0
+31 0.654358 0.646871 0
+32 0.785069 0.500074 0
+33 0.704085 0.511906 0
+34 0.642554 0.565874 0
+35 1 0.444444 0
+36 0.444444 1 0
+37 0.388933 0.930985 0
+38 0.440931 0.842475 0
+39 0.93104 0.388874 0
+40 0.842353 0.440942 0
+41 0.524189 0.59759 0
+42 0.434268 0.642546 0
+43 0.398098 0.745691 0
+44 0.669777 0.437599 0
+45 0.751161 0.381109 0
+46 0.592034 0.488127 0
+47 1 0.333333 0
+48 0.333333 1 0
+49 0.258706 0.895337 0
+50 0.358728 0.847657 0
+51 0.895386 0.258741 0
+52 0.847681 0.358786 0
+53 0.402489 0.524179 0
+54 0.500077 0.499992 0
+55 0.318945 0.580115 0
+56 0.353277 0.654425 0
+57 0.275553 0.801926 0
+58 0.291734 0.708398 0
+59 0.565942 0.357513 0
+60 0.651022 0.354559 0
+61 0.708454 0.291718 0
+62 0.801985 0.275601 0
+63 0.488223 0.408049 0
+64 1 0.222222 0
+65 0.222222 1 0
+66 0.167213 0.832832 0
+67 0.179384 0.926439 0
+68 0.832855 0.167228 0
+69 0.926404 0.179424 0
+70 0.357549 0.434241 0
+71 0.300137 0.497092 0
+72 0.243185 0.631073 0
+73 0.215063 0.500081 0
+74 0.201285 0.742407 0
+75 0.605347 0.255626 0
+76 0.511921 0.296023 0
+77 0.742454 0.201293 0
+78 0.437627 0.330369 0
+79 1 0.111111 0
+80 0.111111 1 0
+81 0.10466 0.74136 0
+82 0.0736188 0.820734 0
+83 0.0976101 0.902515 0
+84 0.741364 0.104694 0
+85 0.820756 0.0736939 0
+86 0.902545 0.0976668 0
+87 0.354587 0.349154 0
+88 0.255621 0.394886 0
+89 0.157737 0.559205 0
+90 0.152467 0.641388 0
+91 0.157754 0.440965 0
+92 0.100428 0.500065 0
+93 0.641386 0.152501 0
+94 0.500074 0.215035 0
+95 0.5592 0.157714 0
+96 0.381078 0.249047 0
+97 1 0 0
+98 0 1 0
+99 0 0.666667 0
+100 0.0691198 0.61124 0
+101 0 0.777778 0
+102 0 0.888889 0
+103 0.611177 0.0691454 0
+104 0.666667 0 0
+105 0.777778 0 0
+106 0.888889 0 0
+107 0.291708 0.291755 0
+108 0.15249 0.358798 0
+109 0.198173 0.275593 0
+110 0.0691328 0.388944 0
+111 0 0.444444 0
+112 0 0.555556 0
+113 0.440959 0.157687 0
+114 0.500101 0.100365 0
+115 0.257679 0.201349 0
+116 0.358758 0.152544 0
+117 0.555556 0 0
+118 0.104753 0.258777 0
+119 0.167289 0.167277 0
+120 0 0.333333 0
+121 0.389008 0.0691801 0
+122 0.444444 0 0
+123 0.25878 0.104758 0
+124 0 0.222222 0
+125 0.0737407 0.179432 0
+126 0.179419 0.0737264 0
+127 0.0976381 0.0976616 0
+128 0.333333 0 0
+129 0.222222 0 0
+130 0 0.111111 0
+131 0.111111 0 0
+132 0 0 0
+$EndNodes
+$Elements
+264
+0 1 3 1 1 0 132 131 
+1 1 3 1 1 0 131 129 
+2 1 3 1 1 0 129 128 
+3 1 3 1 1 0 128 122 
+4 1 3 1 1 0 122 117 
+5 1 3 1 1 0 117 104 
+6 1 3 1 1 0 104 105 
+7 1 3 1 1 0 105 106 
+8 1 3 1 1 0 106 97 
+9 1 3 2 2 0 97 79 
+10 1 3 2 2 0 79 64 
+11 1 3 2 2 0 64 47 
+12 1 3 2 2 0 47 35 
+13 1 3 2 2 0 35 22 
+14 1 3 2 2 0 22 13 
+15 1 3 2 2 0 13 7 
+16 1 3 2 2 0 7 2 
+17 1 3 2 2 0 2 0 
+18 1 3 3 3 0 0 3 
+19 1 3 3 3 0 3 8 
+20 1 3 3 3 0 8 14 
+21 1 3 3 3 0 14 23 
+22 1 3 3 3 0 23 36 
+23 1 3 3 3 0 36 48 
+24 1 3 3 3 0 48 65 
+25 1 3 3 3 0 65 80 
+26 1 3 3 3 0 80 98 
+27 1 3 4 4 0 98 102 
+28 1 3 4 4 0 102 101 
+29 1 3 4 4 0 101 99 
+30 1 3 4 4 0 99 112 
+31 1 3 4 4 0 112 111 
+32 1 3 4 4 0 111 120 
+33 1 3 4 4 0 120 124 
+34 1 3 4 4 0 124 130 
+35 1 3 4 4 0 130 132 
+36 2 3 6 6 2 70 63 53 
+37 2 3 6 6 0 93 77 75 
+38 2 3 6 6 1 18 12 21 
+39 2 3 6 6 0 75 77 61 
+40 2 3 6 6 1 21 12 20 
+41 2 3 6 6 2 53 63 54 
+42 2 3 6 6 2 53 41 42 
+43 2 3 6 6 1 11 19 20 
+44 2 3 6 6 2 54 41 53 
+45 2 3 6 6 1 20 19 28 
+46 2 3 6 6 3 55 72 73 
+47 2 3 6 6 2 78 63 70 
+48 2 3 6 6 0 44 46 59 
+49 2 3 6 6 1 46 63 59 
+50 2 3 6 6 3 49 37 48 
+51 2 3 6 6 2 128 121 123 
+52 2 3 6 6 0 47 39 51 
+53 2 3 6 6 2 118 110 120 
+54 2 3 6 6 1 14 15 9 
+55 2 3 6 6 0 84 103 104 
+56 2 3 6 6 3 99 100 81 
+57 2 3 6 6 1 10 17 13 
+58 2 3 6 6 2 131 127 132 
+59 2 3 6 6 2 132 127 130 
+60 2 3 6 6 1 0 1 2 
+61 2 3 6 6 1 3 1 0 
+62 2 3 6 6 0 97 86 106 
+63 2 3 6 6 0 79 86 97 
+64 2 3 6 6 3 98 83 80 
+65 2 3 6 6 3 102 83 98 
+66 2 3 6 6 2 78 96 94 
+67 2 3 6 6 0 44 45 32 
+68 2 3 6 6 1 28 41 34 
+69 2 3 6 6 3 55 53 42 
+70 2 3 6 6 1 16 19 11 
+71 2 3 6 6 1 34 31 28 
+72 2 3 6 6 1 28 31 20 
+73 2 3 6 6 2 94 76 78 
+74 2 3 6 6 0 32 33 44 
+75 2 3 6 6 3 42 56 55 
+76 2 3 6 6 3 43 57 58 
+77 2 3 6 6 3 65 49 48 
+78 2 3 6 6 0 47 51 64 
+79 2 3 6 6 1 14 9 8 
+80 2 3 6 6 2 124 118 120 
+81 2 3 6 6 3 99 81 101 
+82 2 3 6 6 0 105 84 104 
+83 2 3 6 6 2 128 123 129 
+84 2 3 6 6 3 50 57 43 
+85 2 3 6 6 1 7 10 13 
+86 2 3 6 6 3 50 37 49 
+87 2 3 6 6 2 123 121 116 
+88 2 3 6 6 2 96 115 116 
+89 2 3 6 6 0 93 103 84 
+90 2 3 6 6 2 108 110 118 
+91 2 3 6 6 1 9 15 16 
+92 2 3 6 6 0 51 39 52 
+93 2 3 6 6 1 18 17 10 
+94 2 3 6 6 3 81 100 90 
+95 2 3 6 6 1 41 46 34 
+96 2 3 6 6 3 72 89 73 
+97 2 3 6 6 2 108 109 88 
+98 2 3 6 6 2 88 109 107 
+99 2 3 6 6 2 70 87 78 
+100 2 3 6 6 3 73 71 55 
+101 2 3 6 6 0 59 60 44 
+102 2 3 6 6 2 107 115 96 
+103 2 3 6 6 2 54 63 46 
+104 2 3 6 6 3 36 24 23 
+105 2 3 6 6 0 22 26 35 
+106 2 3 6 6 0 117 114 122 
+107 2 3 6 6 3 111 92 112 
+108 2 3 6 6 1 54 46 41 
+109 2 3 6 6 3 90 72 74 
+110 2 3 6 6 2 96 113 94 
+111 2 3 6 6 0 45 40 32 
+112 2 3 6 6 1 22 17 26 
+113 2 3 6 6 3 92 100 112 
+114 2 3 6 6 3 36 37 24 
+115 2 3 6 6 1 24 15 23 
+116 2 3 6 6 0 26 39 35 
+117 2 3 6 6 2 111 110 92 
+118 2 3 6 6 0 114 121 122 
+119 2 3 6 6 0 117 103 114 
+120 2 3 6 6 2 116 115 123 
+121 2 3 6 6 0 84 77 93 
+122 2 3 6 6 3 90 74 81 
+123 2 3 6 6 1 10 12 18 
+124 2 3 6 6 0 51 62 68 
+125 2 3 6 6 1 9 11 6 
+126 2 3 6 6 3 66 57 49 
+127 2 3 6 6 2 119 109 118 
+128 2 3 6 6 0 61 62 45 
+129 2 3 6 6 0 45 62 52 
+130 2 3 6 6 3 74 72 58 
+131 2 3 6 6 2 88 71 73 
+132 2 3 6 6 2 70 71 88 
+133 2 3 6 6 0 94 95 75 
+134 2 3 6 6 1 32 27 21 
+135 2 3 6 6 2 73 91 88 
+136 2 3 6 6 3 92 89 100 
+137 2 3 6 6 1 17 27 26 
+138 2 3 6 6 0 26 40 39 
+139 2 3 6 6 2 110 91 92 
+140 2 3 6 6 3 37 38 24 
+141 2 3 6 6 0 103 95 114 
+142 2 3 6 6 2 114 113 121 
+143 2 3 6 6 2 107 87 88 
+144 2 3 6 6 2 88 87 70 
+145 2 3 6 6 0 68 62 77 
+146 2 3 6 6 3 42 29 43 
+147 2 3 6 6 3 43 29 30 
+148 2 3 6 6 1 19 29 28 
+149 2 3 6 6 1 30 29 19 
+150 2 3 6 6 3 74 57 66 
+151 2 3 6 6 0 61 60 75 
+152 2 3 6 6 0 75 60 59 
+153 2 3 6 6 1 6 11 12 
+154 2 3 6 6 2 115 109 119 
+155 2 3 6 6 1 6 12 10 
+156 2 3 6 6 3 81 74 66 
+157 2 3 6 6 0 68 77 84 
+158 2 3 6 6 2 123 115 119 
+159 2 3 6 6 1 21 27 18 
+160 2 3 6 6 0 75 95 93 
+161 2 3 6 6 2 88 91 108 
+162 2 3 6 6 1 24 25 15 
+163 2 3 6 6 1 16 11 9 
+164 2 3 6 6 2 118 109 108 
+165 2 3 6 6 0 52 62 51 
+166 2 3 6 6 3 49 57 50 
+167 2 3 6 6 2 75 76 94 
+168 2 3 6 6 1 21 33 32 
+169 2 3 6 6 3 58 56 43 
+170 2 3 6 6 3 30 38 43 
+171 2 3 6 6 3 43 38 50 
+172 2 3 6 6 3 80 67 65 
+173 2 3 6 6 3 101 82 102 
+174 2 3 6 6 1 8 4 3 
+175 2 3 6 6 2 129 126 131 
+176 2 3 6 6 0 106 85 105 
+177 2 3 6 6 0 64 69 79 
+178 2 3 6 6 1 2 5 7 
+179 2 3 6 6 2 130 125 124 
+180 2 3 6 6 1 44 33 46 
+181 2 3 6 6 1 46 33 34 
+182 2 3 6 6 2 63 76 59 
+183 2 3 6 6 2 78 76 63 
+184 2 3 6 6 3 30 25 24 
+185 2 3 6 6 0 59 76 75 
+186 2 3 6 6 3 43 56 42 
+187 2 3 6 6 1 34 33 21 
+188 2 3 6 6 2 94 113 114 
+189 2 3 6 6 0 114 95 94 
+190 2 3 6 6 0 26 27 32 
+191 2 3 6 6 0 32 40 26 
+192 2 3 6 6 3 24 38 30 
+193 2 3 6 6 3 73 89 92 
+194 2 3 6 6 3 92 91 73 
+195 2 3 6 6 1 6 4 9 
+196 2 3 6 6 1 10 5 6 
+197 2 3 6 6 3 66 82 81 
+198 2 3 6 6 3 49 67 66 
+199 2 3 6 6 0 68 69 51 
+200 2 3 6 6 2 118 125 119 
+201 2 3 6 6 0 84 85 68 
+202 2 3 6 6 2 119 126 123 
+203 2 3 6 6 2 116 113 96 
+204 2 3 6 6 3 72 56 58 
+205 2 3 6 6 3 55 56 72 
+206 2 3 6 6 1 20 31 21 
+207 2 3 6 6 1 21 31 34 
+208 2 3 6 6 0 52 40 45 
+209 2 3 6 6 1 13 17 22 
+210 2 3 6 6 0 122 121 128 
+211 2 3 6 6 2 120 110 111 
+212 2 3 6 6 3 112 100 99 
+213 2 3 6 6 0 104 103 117 
+214 2 3 6 6 0 35 39 47 
+215 2 3 6 6 1 23 15 14 
+216 2 3 6 6 3 48 37 36 
+217 2 3 6 6 1 41 29 42 
+218 2 3 6 6 1 28 29 41 
+219 2 3 6 6 2 53 71 70 
+220 2 3 6 6 3 55 71 53 
+221 2 3 6 6 3 90 89 72 
+222 2 3 6 6 1 7 5 10 
+223 2 3 6 6 0 105 85 84 
+224 2 3 6 6 1 9 4 8 
+225 2 3 6 6 3 81 82 101 
+226 2 3 6 6 2 124 125 118 
+227 2 3 6 6 0 51 69 64 
+228 2 3 6 6 2 123 126 129 
+229 2 3 6 6 3 65 67 49 
+230 2 3 6 6 0 44 60 45 
+231 2 3 6 6 0 45 60 61 
+232 2 3 6 6 2 78 87 96 
+233 2 3 6 6 2 96 87 107 
+234 2 3 6 6 1 12 11 20 
+235 2 3 6 6 0 77 62 61 
+236 2 3 6 6 3 58 57 74 
+237 2 3 6 6 2 107 109 115 
+238 2 3 6 6 1 3 4 1 
+239 2 3 6 6 0 79 69 86 
+240 2 3 6 6 3 83 67 80 
+241 2 3 6 6 3 102 82 83 
+242 2 3 6 6 2 127 125 130 
+243 2 3 6 6 2 131 126 127 
+244 2 3 6 6 1 1 5 2 
+245 2 3 6 6 0 86 85 106 
+246 2 3 6 6 3 66 67 83 
+247 2 3 6 6 3 83 82 66 
+248 2 3 6 6 1 6 5 1 
+249 2 3 6 6 1 1 4 6 
+250 2 3 6 6 2 127 126 119 
+251 2 3 6 6 2 119 125 127 
+252 2 3 6 6 0 68 85 86 
+253 2 3 6 6 0 86 69 68 
+254 2 3 6 6 0 39 40 52 
+255 2 3 6 6 3 100 89 90 
+256 2 3 6 6 2 108 91 110 
+257 2 3 6 6 0 93 95 103 
+258 2 3 6 6 1 18 27 17 
+259 2 3 6 6 3 50 38 37 
+260 2 3 6 6 2 121 113 116 
+261 2 3 6 6 1 15 25 16 
+262 2 3 6 6 1 19 25 30 
+263 2 3 6 6 1 16 25 19 
+$EndElements