diff --git a/Common/CommandLine.cpp b/Common/CommandLine.cpp
index 093c38cd58fd7d2f24fb625e096e164e790e2c61..db259b54db9a54166166c794848133e379a8ffb2 100644
--- a/Common/CommandLine.cpp
+++ b/Common/CommandLine.cpp
@@ -9,7 +9,7 @@
 #include "GmshUI.h"
 #include "GmshDefines.h"
 #include "GmshVersion.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "OpenFile.h"
 #include "CommandLine.h"
 #include "Context.h"
diff --git a/Common/CreateFile.cpp b/Common/CreateFile.cpp
index b3f97f4ed35bb8e52269969ed31bf07d3db3d66e..db2590239c55fac8b3b664aaf5c71ef6ff1073c1 100644
--- a/Common/CreateFile.cpp
+++ b/Common/CreateFile.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include <string.h>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "GModel.h"
 #include "GmshDefines.h"
 #include "StringUtils.h"
diff --git a/Common/Gmsh.cpp b/Common/Gmsh.cpp
index d782118fe7ec462d756263a9627aea679bcc6cd6..a8b927366ccf35c12f55163af2c6a5cf137b35ff 100644
--- a/Common/Gmsh.cpp
+++ b/Common/Gmsh.cpp
@@ -6,7 +6,7 @@
 #include <string>
 #include "GmshDefines.h"
 #include "GModel.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "OpenFile.h"
 #include "CreateFile.h"
 #include "Options.h"
diff --git a/Common/Gmsh.h b/Common/Gmsh.h
index c0d135ea04aa6cc5174d4e7a3381d08a232b364e..40acf6735839a7dc78c59e336cfd56219083c36d 100644
--- a/Common/Gmsh.h
+++ b/Common/Gmsh.h
@@ -7,13 +7,7 @@
 #define _GMSH_H_
 
 #include <string>
-
-class GmshMessage{
- public:
-  GmshMessage(){}
-  virtual ~GmshMessage(){}
-  virtual void operator()(std::string level, std::string message){}
-};
+#include "GmshMessage.h"
 
 int GmshInitialize(int argc=0, char **argv=0);
 int GmshSetMessageHandler(GmshMessage *callback);
diff --git a/Common/GmshDaemon.cpp b/Common/GmshDaemon.cpp
index 051893543e02db0279f3ee9bbf9498d83edd29cf..0836193ed21abb7e420dcf3f0955e0439640d2ff 100644
--- a/Common/GmshDaemon.cpp
+++ b/Common/GmshDaemon.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include <sstream>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "OS.h"
 #include "GmshSocket.h"
 
diff --git a/Common/Message.cpp b/Common/GmshMessage.cpp
similarity index 87%
rename from Common/Message.cpp
rename to Common/GmshMessage.cpp
index c564c6899b7fe8236063a0bda3b7851203e8af4f..7829f2f982176eac9efd1442508c8c96dc7a3d6f 100644
--- a/Common/Message.cpp
+++ b/Common/GmshMessage.cpp
@@ -6,7 +6,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Gmsh.h"
 #include "Options.h"
 #include "Context.h"
@@ -22,23 +22,17 @@
 extern GUI *WID;
 #endif
 
-#ifdef _MSC_VER
-  #if(_MSC_VER==1310)//NET 2003
-  #define vsnprintf _vsnprintf
-  #endif
-#endif
-
 extern Context_T CTX;
 
-int Message::_commRank = 0;
-int Message::_commSize = 1;
-int Message::_verbosity = 4;
-int Message::_progressMeterStep = 10;
-int Message::_progressMeterCurrent = 0;
-std::map<std::string, double> Message::_timers;
-int Message::_warningCount = 0;
-int Message::_errorCount = 0;
-GmshMessage *Message::_callback = 0;
+int Msg::_commRank = 0;
+int Msg::_commSize = 1;
+int Msg::_verbosity = 4;
+int Msg::_progressMeterStep = 10;
+int Msg::_progressMeterCurrent = 0;
+std::map<std::string, double> Msg::_timers;
+int Msg::_warningCount = 0;
+int Msg::_errorCount = 0;
+GmshMessage *Msg::_callback = 0;
 
 #if defined(HAVE_NO_VSNPRINTF)
 static int vsnprintf(char *str, size_t size, const char *fmt, va_list ap)
@@ -52,7 +46,11 @@ static int vsnprintf(char *str, size_t size, const char *fmt, va_list ap)
 }
 #endif
 
-void Message::Init(int argc, char **argv)
+#if defined(_MSC_VER) && (_MSC_VER == 1310) //NET 2003
+#define vsnprintf _vsnprintf
+#endif
+
+void Msg::Init(int argc, char **argv)
 {
 #if defined(HAVE_MPI)
   MPI_Init(&argc, &argv);
@@ -62,7 +60,7 @@ void Message::Init(int argc, char **argv)
 #endif
 }
 
-void Message::Exit(int level)
+void Msg::Exit(int level)
 {
   // delete the temp file
   if(!_commRank) UnlinkFile(CTX.tmp_filename_fullpath);
@@ -77,7 +75,7 @@ void Message::Exit(int level)
 #endif
     exit(level);
   }
-
+  
 #if defined(HAVE_FLTK)
   // if we exit cleanly (level==0) and we are in full GUI mode, save
   // the persistent info to disk
@@ -128,7 +126,7 @@ void Message::Exit(int level)
   exit(0);
 }
 
-void Message::Fatal(const char *fmt, ...)
+void Msg::Fatal(const char *fmt, ...)
 {
   _errorCount++;
 
@@ -163,7 +161,7 @@ void Message::Fatal(const char *fmt, ...)
   if(!_callback) Exit(1);
 }
 
-void Message::Error(const char *fmt, ...)
+void Msg::Error(const char *fmt, ...)
 {
   _errorCount++;
 
@@ -187,7 +185,7 @@ void Message::Error(const char *fmt, ...)
 #endif
 
   if(CTX.terminal){
-    if(_commSize > 1)
+    if(_commSize > 1) 
       fprintf(stderr, "Error   : [On processor %d] %s\n", _commRank, str);
     else
       fprintf(stderr, "Error   : %s\n", str);
@@ -195,7 +193,7 @@ void Message::Error(const char *fmt, ...)
   }
 }
 
-void Message::Warning(const char *fmt, ...)
+void Msg::Warning(const char *fmt, ...)
 {
   _warningCount++;
 
@@ -223,7 +221,7 @@ void Message::Warning(const char *fmt, ...)
   }
 }
 
-void Message::Info(const char *fmt, ...)
+void Msg::Info(const char *fmt, ...)
 {
   if(_commRank || _verbosity < 3) return;
 
@@ -249,7 +247,7 @@ void Message::Info(const char *fmt, ...)
   }
 }
 
-void Message::Direct(const char *fmt, ...)
+void Msg::Direct(const char *fmt, ...)
 {
   if(_commRank || _verbosity < 3) return;
 
@@ -261,7 +259,7 @@ void Message::Direct(const char *fmt, ...)
   Direct(3, str);
 }
 
-void Message::Direct(int level, const char *fmt, ...)
+void Msg::Direct(int level, const char *fmt, ...)
 {
   if(_commRank || _verbosity < level) return;
 
@@ -286,14 +284,14 @@ void Message::Direct(int level, const char *fmt, ...)
       WID->create_message_window();
   }
 #endif
-
+  
   if(CTX.terminal){
     fprintf(stdout, "%s\n", str);
     fflush(stdout);
   }
 }
 
-void Message::StatusBar(int num, bool log, const char *fmt, ...)
+void Msg::StatusBar(int num, bool log, const char *fmt, ...)
 {
   if(_commRank || _verbosity < 4) return;
   if(num < 1 || num > 3) return;
@@ -323,7 +321,7 @@ void Message::StatusBar(int num, bool log, const char *fmt, ...)
   }
 }
 
-void Message::Debug(const char *fmt, ...)
+void Msg::Debug(const char *fmt, ...)
 {
   if(_verbosity < 99) return;
 
@@ -343,7 +341,7 @@ void Message::Debug(const char *fmt, ...)
 #endif
 
   if(CTX.terminal){
-    if(_commSize > 1)
+    if(_commSize > 1) 
       fprintf(stdout, "Debug   : [On processor %d] %s\n", _commRank, str);
     else
       fprintf(stdout, "Debug   : %s\n", str);
@@ -351,7 +349,7 @@ void Message::Debug(const char *fmt, ...)
   }
 }
 
-void Message::ProgressMeter(int n, int N, const char *fmt, ...)
+void Msg::ProgressMeter(int n, int N, const char *fmt, ...)
 {
   if(_commRank || _verbosity < 3) return;
 
@@ -394,11 +392,11 @@ void Message::ProgressMeter(int n, int N, const char *fmt, ...)
   }
 }
 
-void Message::PrintTimers()
+void Msg::PrintTimers()
 {
   // do a single stdio call!
   std::string str;
-  for(std::map<std::string, double>::iterator it = _timers.begin();
+  for(std::map<std::string, double>::iterator it = _timers.begin(); 
       it != _timers.end(); it++){
     if(it != _timers.begin()) str += ", ";
     char tmp[256];
@@ -408,7 +406,7 @@ void Message::PrintTimers()
   if(!str.size()) return;
 
   if(CTX.terminal){
-    if(_commSize > 1)
+    if(_commSize > 1) 
       fprintf(stdout, "Timers  : [On processor %d] %s\n", _commRank, str.c_str());
     else
       fprintf(stdout, "Timers  : %s\n", str.c_str());
@@ -416,7 +414,7 @@ void Message::PrintTimers()
   }
 }
 
-void Message::PrintErrorCounter(const char *title)
+void Msg::PrintErrorCounter(const char *title)
 {
   if(_commRank || _verbosity < 1) return;
   if(!_warningCount && !_errorCount) return;
@@ -445,15 +443,15 @@ void Message::PrintErrorCounter(const char *title)
 #endif
 
   if(CTX.terminal){
-    fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n", (prefix + line).c_str(),
+    fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n", (prefix + line).c_str(), 
 	    (prefix + title).c_str(), (prefix + warn).c_str(),
-	    (prefix + err).c_str(), (prefix + help).c_str(),
+	    (prefix + err).c_str(), (prefix + help).c_str(), 
 	    (prefix + line).c_str());
     fflush(stderr);
   }
 }
 
-double Message::GetValue(const char *text, double defaultval)
+double Msg::GetValue(const char *text, double defaultval)
 {
   // if a callback is given let's assume we don't want to be bothered
   // with interactive stuff
@@ -480,7 +478,7 @@ double Message::GetValue(const char *text, double defaultval)
     return atof(str);
 }
 
-bool Message::GetBinaryAnswer(const char *question, const char *yes,
+bool Msg::GetBinaryAnswer(const char *question, const char *yes, 
 			      const char *no, bool defaultval)
 {
   // if a callback is given let's assume we don't want to be bothered
@@ -497,7 +495,7 @@ bool Message::GetBinaryAnswer(const char *question, const char *yes,
 #endif
 
   while(1){
-    printf("%s\n\n[%s] or [%s]? (default=%s) ", question, yes, no,
+    printf("%s\n\n[%s] or [%s]? (default=%s) ", question, yes, no, 
 	   defaultval ? yes : no);
     char str[256];
     char *ret = fgets(str, sizeof(str), stdin);
@@ -510,7 +508,7 @@ bool Message::GetBinaryAnswer(const char *question, const char *yes,
   }
 }
 
-void Message::Barrier()
+void Msg::Barrier()
 {
 #if defined(HAVE_MPI)
   MPI_Barrier(MPI_COMM_WORLD);
@@ -521,14 +519,14 @@ void Message::Barrier()
 
 #include <omp.h>
 
-int Message::GetNumThreads(){ return omp_get_num_threads(); }
-int Message::GetMaxThreads(){ return omp_get_max_threads(); }
-int Message::GetThreadNum(){ return omp_get_thread_num(); }
+int Msg::GetNumThreads(){ return omp_get_num_threads(); }
+int Msg::GetMaxThreads(){ return omp_get_max_threads(); }
+int Msg::GetThreadNum(){ return omp_get_thread_num(); }
 
 #else
 
-int Message::GetNumThreads(){ return 1; }
-int Message::GetMaxThreads(){ return 1; }
-int Message::GetThreadNum(){ return 0; }
+int Msg::GetNumThreads(){ return 1; }
+int Msg::GetMaxThreads(){ return 1; }
+int Msg::GetThreadNum(){ return 0; }
 
 #endif
diff --git a/Common/Message.h b/Common/GmshMessage.h
similarity index 90%
rename from Common/Message.h
rename to Common/GmshMessage.h
index ed5fe16fcda321e393c1bae818f669a281f4e5d2..90feb6505a23d4f967ae81c93eed6d3344f6ac26 100644
--- a/Common/Message.h
+++ b/Common/GmshMessage.h
@@ -3,17 +3,23 @@
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
 
-#ifndef _MESSAGE_H_
-#define _MESSAGE_H_
+#ifndef _GMSH_MESSAGE_H_
+#define _GMSH_MESSAGE_H_
 
 #include <map>
 #include <string>
 #include <stdarg.h>
 
-class GmshMessage;
+// the external message handler
+class GmshMessage{
+ public:
+  GmshMessage(){}
+  virtual ~GmshMessage(){}
+  virtual void operator()(std::string level, std::string message){}
+};
 
 // a class to manage messages
-class Message {
+class Msg {
  private:
   // current cpu number and total number of cpus
   static int _commRank, _commSize;
@@ -28,7 +34,7 @@ class Message {
   // callback
   static GmshMessage *_callback;
  public:
-  Message() {}
+  Msg() {}
   static void Init(int argc, char **argv);
   static void Exit(int level);
   static int GetCommRank(){ return _commRank; }
@@ -63,6 +69,4 @@ class Message {
 			      const char *no,  bool defaultval=true);
 };
 
-typedef Message Msg;
-
 #endif
diff --git a/Common/ListUtils.cpp b/Common/ListUtils.cpp
index c12bed2f303827dd15586808508cf600c5113bbe..6eb8551647b4dfd699945bf6ae5ac1eaf4252725 100644
--- a/Common/ListUtils.cpp
+++ b/Common/ListUtils.cpp
@@ -15,7 +15,7 @@
 #include "MallocUtils.h"
 #include "ListUtils.h"
 #include "TreeUtils.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 List_T *List_Create(int n, int incr, int size)
 {
diff --git a/Common/Main.cpp b/Common/Main.cpp
index 13c6353a8744b6f462da61e10f70243172893b80..8df8a5591cf7898bb3ef899ec0965e0c042e2892 100644
--- a/Common/Main.cpp
+++ b/Common/Main.cpp
@@ -7,7 +7,7 @@
 #include "Gmsh.h"
 #include "GModel.h"
 #include "CommandLine.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Context.h"
 
 extern Context_T CTX;
diff --git a/Common/Makefile b/Common/Makefile
index 3780e4562c8766879b7411f60484c4eef4eeb8f8..7fe6b6d542e820388ea04c6b914b508291505094 100644
--- a/Common/Makefile
+++ b/Common/Makefile
@@ -19,11 +19,11 @@ SRC = Context.cpp\
       Options.cpp\
       CommandLine.cpp\
       Gmsh.cpp\
+      GmshMessage.cpp\
       GmshDaemon.cpp\
       OS.cpp\
       OpenFile.cpp\
       CreateFile.cpp\
-      Message.cpp\
       Visibility.cpp\
       Trackball.cpp\
       VertexArray.cpp\
@@ -62,7 +62,7 @@ depend:
 Context.o: Context.cpp ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h Trackball.h
 Octree.o: Octree.cpp Octree.h OctreeInternals.h
-OctreeInternals.o: OctreeInternals.cpp Message.h OctreeInternals.h
+OctreeInternals.o: OctreeInternals.cpp GmshMessage.h OctreeInternals.h
 Options.o: Options.cpp GmshUI.h GmshDefines.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
@@ -71,19 +71,19 @@ Options.o: Options.cpp GmshUI.h GmshDefines.h ../Geo/GModel.h \
   ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \
   ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
   ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
-  ../Geo/SBoundingBox3d.h Message.h ../Graphics/Draw.h \
+  ../Geo/SBoundingBox3d.h GmshMessage.h ../Graphics/Draw.h \
   ../Mesh/Generator.h Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h Options.h ../Post/ColorTable.h \
   DefaultOptions.h ../Mesh/Field.h ../Post/PView.h \
   ../Mesh/BackgroundMesh.h ../Post/PViewOptions.h ../Post/ColorTable.h \
   ../Post/PViewData.h ../Post/adaptiveData.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Plugin/PluginManager.h ../Plugin/Plugin.h \
-  ../Common/Options.h ../Common/Message.h ../Post/PViewDataList.h \
+  ../Common/Options.h ../Common/GmshMessage.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Fltk/Solvers.h ../Fltk/GUI.h \
   ../Fltk/Opengl_Window.h ../Fltk/Colorbar_Window.h ../Common/GmshUI.h \
   ../Fltk/Popup_Button.h ../Fltk/SpherePosition_Widget.h
 CommandLine.o: CommandLine.cpp GmshUI.h GmshDefines.h GmshVersion.h \
-  Message.h OpenFile.h CommandLine.h Context.h ../Geo/CGNSOptions.h \
+  GmshMessage.h OpenFile.h CommandLine.h Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h Options.h ../Post/ColorTable.h \
   ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
@@ -101,19 +101,25 @@ Gmsh.o: Gmsh.cpp GmshDefines.h ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \
   ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
   ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
-  ../Geo/SBoundingBox3d.h Message.h OpenFile.h CreateFile.h Options.h \
+  ../Geo/SBoundingBox3d.h GmshMessage.h OpenFile.h CreateFile.h Options.h \
   ../Post/ColorTable.h CommandLine.h OS.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Mesh/Generator.h ../Mesh/Field.h \
   ../Post/PView.h Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Mesh/Partition.h GmshDaemon.h \
   ../Plugin/PluginManager.h
-GmshDaemon.o: GmshDaemon.cpp Message.h OS.h GmshSocket.h
-OS.o: OS.cpp Message.h
-OpenFile.o: OpenFile.cpp Message.h ../Geo/Geo.h ../Common/GmshDefines.h \
-  ../Geo/gmshSurface.h ../Geo/Pair.h ../Geo/Range.h ../Geo/SPoint2.h \
-  ../Geo/SPoint3.h ../Geo/SVector3.h ../Geo/SPoint3.h \
-  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Numeric/Numeric.h \
-  ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
+GmshMessage.o: GmshMessage.cpp GmshMessage.h Gmsh.h Options.h \
+  ../Post/ColorTable.h Context.h ../Geo/CGNSOptions.h \
+  ../Mesh/PartitionOptions.h OS.h ../Fltk/GUI.h ../Fltk/Opengl_Window.h \
+  ../Fltk/Colorbar_Window.h ../Common/GmshUI.h ../Fltk/Popup_Button.h \
+  ../Fltk/SpherePosition_Widget.h ../Mesh/Field.h ../Post/PView.h \
+  ../Geo/SPoint3.h ../Fltk/GUI_Extras.h
+GmshDaemon.o: GmshDaemon.cpp GmshMessage.h OS.h GmshSocket.h
+OS.o: OS.cpp GmshMessage.h
+OpenFile.o: OpenFile.cpp GmshMessage.h ../Geo/Geo.h \
+  ../Common/GmshDefines.h ../Geo/gmshSurface.h ../Geo/Pair.h \
+  ../Geo/Range.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/SVector3.h \
+  ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
+  ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ../Geo/SPoint2.h ../Geo/ExtrudeParams.h ../Common/SmoothData.h \
   ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \
@@ -130,8 +136,8 @@ OpenFile.o: OpenFile.cpp Message.h ../Geo/Geo.h ../Common/GmshDefines.h \
   ../Fltk/Opengl_Window.h ../Fltk/Colorbar_Window.h ../Common/GmshUI.h \
   ../Post/ColorTable.h ../Fltk/Popup_Button.h \
   ../Fltk/SpherePosition_Widget.h ../Mesh/Field.h
-CreateFile.o: CreateFile.cpp Message.h ../Geo/GModel.h ../Geo/GVertex.h \
-  ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+CreateFile.o: CreateFile.cpp GmshMessage.h ../Geo/GModel.h \
+  ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
   ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
   ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \
@@ -141,18 +147,12 @@ CreateFile.o: CreateFile.cpp Message.h ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/SBoundingBox3d.h GmshDefines.h StringUtils.h Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h Options.h \
   ../Post/ColorTable.h GmshUI.h ../Graphics/gl2ps.h ../Graphics/gl2gif.h \
-  ../Graphics/PixelBuffer.h ../Common/GmshUI.h ../Common/Message.h \
+  ../Graphics/PixelBuffer.h ../Common/GmshUI.h ../Common/GmshMessage.h \
   ../Common/MallocUtils.h ../Graphics/Draw.h ../Graphics/gl2jpeg.h \
   ../Graphics/PixelBuffer.h ../Graphics/gl2png.h \
   ../Graphics/PixelBuffer.h ../Graphics/gl2ppm.h \
   ../Graphics/PixelBuffer.h ../Graphics/gl2yuv.h \
   ../Graphics/PixelBuffer.h
-Message.o: Message.cpp Message.h Gmsh.h Options.h ../Post/ColorTable.h \
-  Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h OS.h \
-  ../Fltk/GUI.h ../Fltk/Opengl_Window.h ../Fltk/Colorbar_Window.h \
-  ../Common/GmshUI.h ../Fltk/Popup_Button.h \
-  ../Fltk/SpherePosition_Widget.h ../Mesh/Field.h ../Post/PView.h \
-  ../Geo/SPoint3.h ../Fltk/GUI_Extras.h
 Visibility.o: Visibility.cpp Visibility.h GmshDefines.h ../Geo/GVertex.h \
   ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
@@ -165,8 +165,8 @@ Visibility.o: Visibility.cpp Visibility.h GmshDefines.h ../Geo/GVertex.h \
   ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  ../Parser/Parser.h
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h ../Parser/Parser.h
 Trackball.o: Trackball.cpp Trackball.h
 VertexArray.o: VertexArray.cpp VertexArray.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h Context.h ../Geo/CGNSOptions.h \
@@ -176,7 +176,7 @@ SmoothData.o: SmoothData.cpp SmoothData.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
 StringUtils.o: StringUtils.cpp StringUtils.h
 ListUtils.o: ListUtils.cpp MallocUtils.h ListUtils.h TreeUtils.h avl.h \
-  Message.h
+  GmshMessage.h
 TreeUtils.o: TreeUtils.cpp MallocUtils.h TreeUtils.h avl.h ListUtils.h
 avl.o: avl.cpp avl.h MallocUtils.h
-MallocUtils.o: MallocUtils.cpp MallocUtils.h Message.h
+MallocUtils.o: MallocUtils.cpp MallocUtils.h GmshMessage.h
diff --git a/Common/MallocUtils.cpp b/Common/MallocUtils.cpp
index f1c6debe8342edfd476ef05b331e1c5668d7ff04..742c0587994afdb764553f86b8e51e00d8947a51 100644
--- a/Common/MallocUtils.cpp
+++ b/Common/MallocUtils.cpp
@@ -7,7 +7,7 @@
 #include <stdlib.h>
 
 #include "MallocUtils.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 void *Malloc(size_t size)
 {
diff --git a/Common/OS.cpp b/Common/OS.cpp
index 5f9ca684ca9b2ccae48615eb0faa720c28da4e2b..928b42a3558429b339306dfa9a270d293ca382a5 100644
--- a/Common/OS.cpp
+++ b/Common/OS.cpp
@@ -32,7 +32,7 @@
 #define RUSAGE_CHILDREN -1
 #endif
 
-#include "Message.h"
+#include "GmshMessage.h"
 
 double GetTimeInSeconds()
 {
diff --git a/Common/OctreeInternals.cpp b/Common/OctreeInternals.cpp
index ca5157b98192c05f92fe40d167c1b93bcb720b5a..8f9b28002a27b3a4b7c88b2cae80bcfc6418d1ab 100644
--- a/Common/OctreeInternals.cpp
+++ b/Common/OctreeInternals.cpp
@@ -13,7 +13,7 @@
 #include <math.h>
 #include <list>
 
-#include "Message.h"
+#include "GmshMessage.h"
 #include "OctreeInternals.h"
 
 using std::list;
diff --git a/Common/OpenFile.cpp b/Common/OpenFile.cpp
index c995201643d28ec6a6b8c054dc7bf2cdad1439fa..f02aa8c8c4372dd41269d4847003b362fa1db2b5 100644
--- a/Common/OpenFile.cpp
+++ b/Common/OpenFile.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include <string.h>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Geo.h"
 #include "GModel.h"
 #include "Numeric.h"
diff --git a/Common/Options.cpp b/Common/Options.cpp
index 3106b85c4e1ea4412b473987bc950574f72a7fe2..b69b767aefce71da1ad53d48e0597b2c81880c6b 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -8,7 +8,7 @@
 #include "GmshUI.h"
 #include "GmshDefines.h"
 #include "GModel.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Draw.h"
 #include "Generator.h"
 #include "Context.h"
diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp
index 0c3fa60e1579e996c74222b881458ecb960c83e7..40b7c46eea330bc4e16cbaf22822e7eebfae6c0d 100644
--- a/Fltk/Callbacks.cpp
+++ b/Fltk/Callbacks.cpp
@@ -11,7 +11,7 @@
 #include <sstream>
 
 #include "GmshUI.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "MallocUtils.h"
 #include "ListUtils.h"
 #include "StringUtils.h"
diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp
index 4fcef5fe72f5e34f03f7792898fc70960fe0fdf9..22911f743287361e005fca36b033204c2ba86069 100644
--- a/Fltk/GUI.cpp
+++ b/Fltk/GUI.cpp
@@ -7,7 +7,7 @@
 #include <sstream>
 #include "GmshUI.h"
 #include "GmshDefines.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 #include "Context.h"
 #include "Options.h"
diff --git a/Fltk/GUI_Classifier.cpp b/Fltk/GUI_Classifier.cpp
index 1a445d0d59b5e31afd48965022279d073c19af7b..a6c0528bb39e2c9ed828c56c2a9e17332771720b 100644
--- a/Fltk/GUI_Classifier.cpp
+++ b/Fltk/GUI_Classifier.cpp
@@ -11,7 +11,7 @@
 #include "SelectBuffer.h"
 #include "GUI_Projection.h"
 #include "GUI_Extras.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "meshGFaceDelaunayInsertion.h"
 #include "meshGFaceOptimize.h"
 #include "discreteEdge.h"
diff --git a/Fltk/GUI_Projection.cpp b/Fltk/GUI_Projection.cpp
index aa1d36d6699cc4d32b46ae0cce70cf4197d8984a..aa609b8b51be17c4f3ed3022d01816d6ecd70cf8 100644
--- a/Fltk/GUI_Projection.cpp
+++ b/Fltk/GUI_Projection.cpp
@@ -12,7 +12,7 @@
 #include "GUI_Projection.h"
 #include "GUI_Extras.h"
 #include "fourierFace.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 extern Context_T CTX;
 
diff --git a/Fltk/Main.cpp b/Fltk/Main.cpp
index f14a3525df383444c013c6e2d8807fea72d0f633..1aa0c160b5f3d5c15c0fb6f6020f1faca001feb1 100644
--- a/Fltk/Main.cpp
+++ b/Fltk/Main.cpp
@@ -8,7 +8,7 @@
 #include "GUI.h"
 #include "Gmsh.h"
 #include "GmshUI.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Draw.h"
 #include "Context.h"
 #include "Options.h"
diff --git a/Fltk/Makefile b/Fltk/Makefile
index b091e146d505af221840994a6fb6178e494adbcd..002ad0a074f03a7f6aa57e158605384eaed13ef2 100644
--- a/Fltk/Makefile
+++ b/Fltk/Makefile
@@ -57,7 +57,7 @@ depend:
 Main.o: Main.cpp GUI.h Opengl_Window.h Colorbar_Window.h \
   ../Common/GmshUI.h ../Post/ColorTable.h Popup_Button.h \
   SpherePosition_Widget.h ../Mesh/Field.h ../Post/PView.h \
-  ../Geo/SPoint3.h ../Common/Gmsh.h ../Common/Message.h \
+  ../Geo/SPoint3.h ../Common/Gmsh.h ../Common/GmshMessage.h \
   ../Graphics/Draw.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
   ../Common/Options.h ../Parser/Parser.h ../Common/OpenFile.h \
@@ -71,24 +71,24 @@ Main.o: Main.cpp GUI.h Opengl_Window.h Colorbar_Window.h \
   ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Mesh/BackgroundMesh.h
 GUI.o: GUI.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
-  ../Common/Message.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
-  ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
-  ../Common/Options.h ../Post/ColorTable.h ../Graphics/Draw.h \
-  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h GUI.h Opengl_Window.h \
-  Colorbar_Window.h Popup_Button.h SpherePosition_Widget.h \
-  ../Mesh/Field.h ../Post/PView.h Callbacks.h Win32Icon.h \
-  ../Common/OpenFile.h ../Common/CommandLine.h ../Mesh/Generator.h \
-  Solvers.h ../Plugin/PluginManager.h ../Plugin/Plugin.h \
-  ../Post/PViewDataList.h ../Post/PViewData.h ../Common/ListUtils.h \
-  ../Common/GmshMatrix.h Shortcut_Window.h ../Post/PViewOptions.h \
-  ../Post/ColorTable.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \
-  ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GPoint.h \
-  ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
-  ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \
-  ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \
-  ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
-  ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
-  ../Geo/SBoundingBox3d.h ../Geo/GeoStringInterface.h \
+  ../Common/GmshMessage.h ../Numeric/Numeric.h \
+  ../Numeric/NumericEmbedded.h ../Common/Context.h ../Geo/CGNSOptions.h \
+  ../Mesh/PartitionOptions.h ../Common/Options.h ../Post/ColorTable.h \
+  ../Graphics/Draw.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h GUI.h \
+  Opengl_Window.h Colorbar_Window.h Popup_Button.h \
+  SpherePosition_Widget.h ../Mesh/Field.h ../Post/PView.h Callbacks.h \
+  Win32Icon.h ../Common/OpenFile.h ../Common/CommandLine.h \
+  ../Mesh/Generator.h Solvers.h ../Plugin/PluginManager.h \
+  ../Plugin/Plugin.h ../Post/PViewDataList.h ../Post/PViewData.h \
+  ../Common/ListUtils.h ../Common/GmshMatrix.h Shortcut_Window.h \
+  ../Post/PViewOptions.h ../Post/ColorTable.h ../Geo/GModel.h \
+  ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+  ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \
+  ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
+  ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \
+  ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \
+  ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
+  ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GeoStringInterface.h \
   ../Common/StringUtils.h ../Common/GmshSocket.h
 GUI_Extras.o: GUI_Extras.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
   ../Common/CreateFile.h ../Common/Options.h ../Post/ColorTable.h \
@@ -115,12 +115,13 @@ GUI_Projection.o: GUI_Projection.cpp ../Geo/GModelIO_Fourier.h \
   ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  ../Graphics/Draw.h ../Common/Options.h ../Post/ColorTable.h \
-  ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
-  ../Common/StringUtils.h ../Graphics/SelectBuffer.h GUI_Projection.h \
-  ../Common/GmshUI.h ../Geo/fourierProjectionFace.h ../Geo/GModel.h \
-  ../Geo/Range.h GUI.h Opengl_Window.h Colorbar_Window.h Popup_Button.h \
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h ../Graphics/Draw.h ../Common/Options.h \
+  ../Post/ColorTable.h ../Common/Context.h ../Geo/CGNSOptions.h \
+  ../Mesh/PartitionOptions.h ../Common/StringUtils.h \
+  ../Graphics/SelectBuffer.h GUI_Projection.h ../Common/GmshUI.h \
+  ../Geo/fourierProjectionFace.h ../Geo/GModel.h ../Geo/Range.h GUI.h \
+  Opengl_Window.h Colorbar_Window.h Popup_Button.h \
   SpherePosition_Widget.h ../Mesh/Field.h ../Post/PView.h \
   Shortcut_Window.h GUI_Extras.h ../Geo/fourierFace.h ../Geo/GFace.h \
   ../Geo/GModel.h ../Geo/Range.h ../Geo/fourierEdge.h ../Geo/GEdge.h \
@@ -137,19 +138,19 @@ GUI_Classifier.o: GUI_Classifier.cpp GUI_Classifier.h ../Common/GmshUI.h \
   ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  GUI.h Opengl_Window.h Colorbar_Window.h ../Post/ColorTable.h \
-  Popup_Button.h SpherePosition_Widget.h ../Mesh/Field.h ../Post/PView.h \
-  Shortcut_Window.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
-  ../Graphics/Draw.h ../Common/Options.h ../Common/Context.h \
-  ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h GUI.h Opengl_Window.h Colorbar_Window.h \
+  ../Post/ColorTable.h Popup_Button.h SpherePosition_Widget.h \
+  ../Mesh/Field.h ../Post/PView.h Shortcut_Window.h ../Numeric/Numeric.h \
+  ../Numeric/NumericEmbedded.h ../Graphics/Draw.h ../Common/Options.h \
+  ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
   ../Graphics/SelectBuffer.h GUI_Projection.h \
   ../Geo/fourierProjectionFace.h ../Geo/GModel.h ../Geo/Range.h \
   GUI_Extras.h ../Mesh/meshGFaceDelaunayInsertion.h \
   ../Mesh/meshGFaceOptimize.h ../Mesh/meshGFaceDelaunayInsertion.h \
   ../Geo/discreteEdge.h ../Geo/GModel.h ../Geo/GEdge.h \
   ../Geo/discreteFace.h ../Geo/GModel.h ../Geo/GFace.h
-Callbacks.o: Callbacks.cpp ../Common/GmshUI.h ../Common/Message.h \
+Callbacks.o: Callbacks.cpp ../Common/GmshUI.h ../Common/GmshMessage.h \
   ../Common/MallocUtils.h ../Common/ListUtils.h ../Common/StringUtils.h \
   ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
@@ -188,7 +189,7 @@ Opengl.o: Opengl.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
   ../Post/ColorTable.h Popup_Button.h SpherePosition_Widget.h \
   ../Mesh/Field.h ../Post/PView.h ../Graphics/gl2ps.h
 Opengl_Window.o: Opengl_Window.cpp ../Common/GmshUI.h \
-  ../Common/GmshDefines.h ../Common/Message.h ../Numeric/Numeric.h \
+  ../Common/GmshDefines.h ../Common/GmshMessage.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Graphics/Draw.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Graphics/SelectBuffer.h ../Geo/GVertex.h \
@@ -208,7 +209,7 @@ Colorbar_Window.o: Colorbar_Window.cpp ../Common/GmshUI.h GUI.h \
   SpherePosition_Widget.h ../Mesh/Field.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
-Solvers.o: Solvers.cpp ../Common/Message.h ../Common/StringUtils.h \
+Solvers.o: Solvers.cpp ../Common/GmshMessage.h ../Common/StringUtils.h \
   Solvers.h ../Common/GmshSocket.h ../Common/OpenFile.h \
   ../Common/GmshUI.h GUI.h Opengl_Window.h Colorbar_Window.h \
   ../Post/ColorTable.h Popup_Button.h SpherePosition_Widget.h \
diff --git a/Fltk/Opengl_Window.cpp b/Fltk/Opengl_Window.cpp
index c93e77173faee5cd5e9e2af3e01dfe6546880519..bbd6e2ac5bc397168b570470c908cf9e6a3a426c 100644
--- a/Fltk/Opengl_Window.cpp
+++ b/Fltk/Opengl_Window.cpp
@@ -5,7 +5,7 @@
 
 #include "GmshUI.h"
 #include "GmshDefines.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 #include "Context.h"
 #include "Draw.h"
diff --git a/Fltk/Solvers.cpp b/Fltk/Solvers.cpp
index 44f92777ff88b7a73098397251fd6a5183ce9b2e..58c51273d7501bb20e73ed6a35ff130bb4a01187 100644
--- a/Fltk/Solvers.cpp
+++ b/Fltk/Solvers.cpp
@@ -5,7 +5,7 @@
 
 #include <string.h>
 #include <string>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "StringUtils.h"
 #include "Solvers.h"
 #include "GmshSocket.h"
diff --git a/Geo/CustomContainer.h b/Geo/CustomContainer.h
index ef9cf2c5ffe4e850fea458964c2e3e1208123a2c..3e711a8bc8e596bcb9c70f20f53bbbb26830462d 100644
--- a/Geo/CustomContainer.h
+++ b/Geo/CustomContainer.h
@@ -11,7 +11,7 @@
 #include <cstdlib>
 #include <cstring>
 
-#include "Message.h"
+#include "GmshMessage.h"
 
 /*******************************************************************************
  *
diff --git a/Geo/ExtrudeParams.cpp b/Geo/ExtrudeParams.cpp
index ce2e678769e0266230d13464c13540c85bb07588..ae35785ec77a780785285466d009cb0881145ac2 100644
--- a/Geo/ExtrudeParams.cpp
+++ b/Geo/ExtrudeParams.cpp
@@ -3,7 +3,7 @@
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
 
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Geo.h"
 #include "ExtrudeParams.h"
 
diff --git a/Geo/GEdge.cpp b/Geo/GEdge.cpp
index 103b6454510a071e58f30d81e5be4513d8e3db53..4caab71b01b24c1d03c5fc3cc6a3c26e05d1576d 100644
--- a/Geo/GEdge.cpp
+++ b/Geo/GEdge.cpp
@@ -10,7 +10,7 @@
 #include "GFace.h"
 #include "MElement.h"
 #include "GmshDefines.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if !defined(HAVE_GMSH_EMBEDDED)
 #include "GaussLegendre1D.h"
diff --git a/Geo/GEdgeLoop.cpp b/Geo/GEdgeLoop.cpp
index 0bd91a142bbf3ae9c4fe0af97a34c37443e97b70..c747f1ff021458c6ec9c72bd89cd50160f27e029 100644
--- a/Geo/GEdgeLoop.cpp
+++ b/Geo/GEdgeLoop.cpp
@@ -6,7 +6,7 @@
 #include <algorithm>
 #include <functional>
 #include "GEdgeLoop.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 void GEdgeSigned::print() const
 {
diff --git a/Geo/GFace.cpp b/Geo/GFace.cpp
index b5de31a21a452572a00917d6dc609899ffe22e3d..428296164b884eec45c24062e5ce8b97c9121c63 100644
--- a/Geo/GFace.cpp
+++ b/Geo/GFace.cpp
@@ -8,7 +8,7 @@
 #include "GFace.h"
 #include "GEdge.h"
 #include "MElement.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "VertexArray.h"
 
 #if defined(HAVE_GMSH_EMBEDDED)
diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index f15bec8545914bf6b6ae87e2746662d8767d8385..d0d64366348ddf68219cfa34c452d88d07ebe398 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -10,7 +10,7 @@
 #include "discreteFace.h"
 #include "discreteEdge.h"
 #include "discreteVertex.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if defined(HAVE_GMSH_EMBEDDED)
 #include "GmshEmbedded.h"
diff --git a/Geo/GModelIO_CGNS.cpp b/Geo/GModelIO_CGNS.cpp
index 2335a4077b147cfd49bfd9bd30d92ed14e943d52..5bc36de235a21c492d1a9fd337a043219a6bbe13 100644
--- a/Geo/GModelIO_CGNS.cpp
+++ b/Geo/GModelIO_CGNS.cpp
@@ -6,7 +6,7 @@
 // GModelIO_CGNS.cpp - Copyright (C) 2008 S. Guzik, C. Geuzaine, J.-F. Remacle
 
 #include "GModel.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "CGNSOptions.h"
 
 #if defined(HAVE_LIBCGNS)
diff --git a/Geo/GModelIO_Fourier.cpp b/Geo/GModelIO_Fourier.cpp
index f2b863329074bc39b5eb155b537b14ab27401c9e..2b2826b43f23257a06e4d2416e83d3aaef35c218 100644
--- a/Geo/GModelIO_Fourier.cpp
+++ b/Geo/GModelIO_Fourier.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 #include <string>
 #include "GModel.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "fourierVertex.h"
 #include "fourierEdge.h"
 #include "fourierFace.h"
diff --git a/Geo/GModelIO_Geo.cpp b/Geo/GModelIO_Geo.cpp
index 40bc11fde83ccaafe6f13fbdb38421dbcc46a969..b867ad86be951ccc94ef69e6e41ec4abc1d930b0 100644
--- a/Geo/GModelIO_Geo.cpp
+++ b/Geo/GModelIO_Geo.cpp
@@ -9,7 +9,7 @@
 #include "OpenFile.h"
 #include "Numeric.h"
 #include "ListUtils.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "gmshVertex.h"
 #include "gmshFace.h"
 #include "GFaceCompound.h"
diff --git a/Geo/GModelIO_MED.cpp b/Geo/GModelIO_MED.cpp
index 83c129fd248205e96a846763138a8ec2a5aa2277..38a82894d9a643ec6b85de8ce6ccde04dd38c30f 100644
--- a/Geo/GModelIO_MED.cpp
+++ b/Geo/GModelIO_MED.cpp
@@ -5,7 +5,7 @@
 
 #include <string>
 #include "GModel.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if defined(HAVE_MED)
 
diff --git a/Geo/GModelIO_Mesh.cpp b/Geo/GModelIO_Mesh.cpp
index 0ea352cf83fcd36063b6661fd12cf83aafe4f879..54db9b53be2edebc3c37b2f256cefd05a6b27ad2 100644
--- a/Geo/GModelIO_Mesh.cpp
+++ b/Geo/GModelIO_Mesh.cpp
@@ -14,7 +14,7 @@
 #include "discreteRegion.h"
 #include "discreteFace.h"
 #include "StringUtils.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 static void storePhysicalTagsInEntities(GModel *m, int dim,
                                         std::map<int, std::map<int, std::string> > &map)
diff --git a/Geo/GModelIO_OCC.cpp b/Geo/GModelIO_OCC.cpp
index a5c489df2871e02f60a0ea89f431ebbfaad59a97..80207098e3eaaa71139ec0ecb7569bea717a9269 100644
--- a/Geo/GModelIO_OCC.cpp
+++ b/Geo/GModelIO_OCC.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include "GModelIO_OCC.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Context.h"
 #include "OCCVertex.h"
 #include "OCCEdge.h"
diff --git a/Geo/GRegion.cpp b/Geo/GRegion.cpp
index 0bc651bc910888eb122c2b6d3cbb5f05f9d53cf7..eb12adc52d983c77beb82d33e9a91f2087ae5d1f 100644
--- a/Geo/GRegion.cpp
+++ b/Geo/GRegion.cpp
@@ -8,7 +8,7 @@
 #include "GRegion.h"
 #include "GFace.h"
 #include "MElement.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 GRegion::GRegion(GModel *model, int tag) : GEntity (model, tag)
 {
diff --git a/Geo/GVertex.cpp b/Geo/GVertex.cpp
index 3663213518baa548009fc59df29f3b5b6be39ba6..9a2ace892a233824acd6cb9aee63c297fcd1b712 100644
--- a/Geo/GVertex.cpp
+++ b/Geo/GVertex.cpp
@@ -8,7 +8,7 @@
 #include "GVertex.h"
 #include "GFace.h"
 #include "MElement.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 GVertex::GVertex(GModel *m, int tag, double ms) : GEntity(m, tag), meshSize(ms) 
 {
diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp
index 71d2605425b8c4547adb138bc65fedb7f4a27ee5..6215f9039bad1a9cd33f9c4a28b8d930366a495b 100644
--- a/Geo/Geo.cpp
+++ b/Geo/Geo.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include <string.h>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 #include "MallocUtils.h"
 #include "Geo.h"
diff --git a/Geo/GeoInterpolation.cpp b/Geo/GeoInterpolation.cpp
index 00f59bfc7784f4e4f932add9ce9819c83cdf9ac1..6e11c72ad70bce9cfae5ba2d9dc3b847665e1596 100644
--- a/Geo/GeoInterpolation.cpp
+++ b/Geo/GeoInterpolation.cpp
@@ -3,7 +3,7 @@
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
 
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Geo.h"
 #include "GeoInterpolation.h"
 #include "GeoStringInterface.h"
diff --git a/Geo/GeoStringInterface.cpp b/Geo/GeoStringInterface.cpp
index 11721ba74f3ddeb266e374cc1e32187d8497b606..ab25c56b3c26ff2f2786b3a5be8bf6a292410f3a 100644
--- a/Geo/GeoStringInterface.cpp
+++ b/Geo/GeoStringInterface.cpp
@@ -5,7 +5,7 @@
 
 #include <string.h>
 #include <sstream>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 #include "StringUtils.h"
 #include "Geo.h"
diff --git a/Geo/MElement.cpp b/Geo/MElement.cpp
index 00f94cd86f845c91b013e79e8b05ff6cc74ae17d..5ab6a729a1a118e803a04f696170b626f78c979c 100644
--- a/Geo/MElement.cpp
+++ b/Geo/MElement.cpp
@@ -8,7 +8,7 @@
 #include "MElement.h"
 #include "GEntity.h"
 #include "GFace.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "StringUtils.h"
 
 #if defined(HAVE_GMSH_EMBEDDED)
diff --git a/Geo/MElement.h b/Geo/MElement.h
index bdf70b5c801b6c5854554b688d61920834e5c06e..0935f163a3402aafda8487550a8a3c0ed91bab8c 100644
--- a/Geo/MElement.h
+++ b/Geo/MElement.h
@@ -13,7 +13,7 @@
 #include "MVertex.h"
 #include "MEdge.h"
 #include "MFace.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "FunctionSpace.h"
 
 struct IntPt{
diff --git a/Geo/MVertex.cpp b/Geo/MVertex.cpp
index ad1250cf1193af11378f353f49dbe7518a05262b..5b55c3ff6893d4d9fd9a7de724c97c51fa4f4f31 100644
--- a/Geo/MVertex.cpp
+++ b/Geo/MVertex.cpp
@@ -9,7 +9,7 @@
 #include "GEdge.h"
 #include "GFace.h"
 #include "GFaceCompound.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "StringUtils.h"
 
 int MVertex::_globalNum = 0;
diff --git a/Geo/MZoneBoundary.cpp b/Geo/MZoneBoundary.cpp
index 4b4561f41fa3f5876a27cc35d23e665cd2ef7c43..df24ae3047c89a93237214d479df6ba0933f5c20 100644
--- a/Geo/MZoneBoundary.cpp
+++ b/Geo/MZoneBoundary.cpp
@@ -11,7 +11,7 @@
 #include <limits> // ?
 
 #include "MZoneBoundary.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 //--Types at local scope
 
diff --git a/Geo/Makefile b/Geo/Makefile
index 6964533be169c8fbba39ac8b858abda36a4dd1ec..458ee2ad9deb5c7c1a3998f97629d0a3c3d3aae7 100644
--- a/Geo/Makefile
+++ b/Geo/Makefile
@@ -70,28 +70,28 @@ depend:
 GEntity.o: GEntity.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MElement.h ../Common/GmshDefines.h \
-  MVertex.h MEdge.h MFace.h ../Common/Message.h \
+  MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
   ../Common/VertexArray.h ../Geo/SVector3.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
 GVertex.o: GVertex.cpp GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GFace.h GEdgeLoop.h GEdge.h \
   SVector3.h Pair.h MElement.h ../Common/GmshDefines.h MVertex.h MEdge.h \
-  MFace.h ../Common/Message.h ../Numeric/FunctionSpace.h \
+  MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Common/GmshMatrix.h
 GEdge.o: GEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MElement.h ../Common/GmshDefines.h \
-  MVertex.h MEdge.h MFace.h ../Common/Message.h \
+  MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
   ../Numeric/GaussLegendre1D.h
 GEdgeLoop.o: GEdgeLoop.cpp GEdgeLoop.h GEdge.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GVertex.h GPoint.h SPoint2.h SVector3.h \
-  ../Common/Message.h
+  ../Common/GmshMessage.h
 GFace.o: GFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MElement.h ../Common/GmshDefines.h \
-  MVertex.h MEdge.h MFace.h ../Common/Message.h \
+  MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
   ../Common/VertexArray.h ../Geo/SVector3.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Numeric/GaussLegendre1D.h \
@@ -105,18 +105,18 @@ GFaceCompound.o: GFaceCompound.cpp GFaceCompound.h Geo.h \
   GEdgeLoop.h GEdge.h GVertex.h ../Numeric/gmshAssembler.h \
   ../Numeric/gmshLinearSystem.h ../Numeric/gmshLaplace.h \
   ../Numeric/gmshTermOfFormulation.h ../Common/GmshMatrix.h \
-  ../Common/Gmsh.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEdge.h \
-  ../Geo/GFace.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
-  ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Geo/MVertex.h \
-  ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h ../Common/Message.h \
-  ../Numeric/FunctionSpace.h ../Common/Octree.h \
+  ../Common/Gmsh.h ../Common/GmshMessage.h ../Geo/GModel.h \
+  ../Geo/GVertex.h ../Geo/GEdge.h ../Geo/GFace.h ../Geo/GRegion.h \
+  ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \
+  ../Geo/MElement.h ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h \
+  ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
+  ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Common/Octree.h \
   ../Common/OctreeInternals.h ../Numeric/gmshLinearSystemGmm.h \
   ../Numeric/gmshLinearSystem.h
 GRegion.o: GRegion.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MElement.h ../Common/GmshDefines.h \
-  MVertex.h MEdge.h MFace.h ../Common/Message.h \
+  MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h
 gmshVertex.o: gmshVertex.cpp GFace.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h GEdgeLoop.h GEdge.h GVertex.h SPoint2.h \
@@ -124,7 +124,7 @@ gmshVertex.o: gmshVertex.cpp GFace.h GEntity.h Range.h SPoint3.h \
   gmshSurface.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \
   ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h \
-  GeoInterpolation.h ../Common/Message.h MVertex.h MElement.h MEdge.h \
+  GeoInterpolation.h ../Common/GmshMessage.h MVertex.h MElement.h MEdge.h \
   MFace.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h
 gmshEdge.o: gmshEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
@@ -133,7 +133,7 @@ gmshEdge.o: gmshEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ExtrudeParams.h ../Common/SmoothData.h gmshEdge.h GeoInterpolation.h \
-  ../Common/Message.h ../Common/Context.h ../Geo/CGNSOptions.h \
+  ../Common/GmshMessage.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
 gmshFace.o: gmshFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
@@ -141,7 +141,7 @@ gmshFace.o: gmshFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   gmshSurface.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \
   ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h \
-  GeoInterpolation.h ../Common/Message.h ../Common/Context.h \
+  GeoInterpolation.h ../Common/GmshMessage.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
 gmshRegion.o: gmshRegion.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h \
@@ -149,41 +149,41 @@ gmshRegion.o: gmshRegion.cpp GModel.h GVertex.h GEntity.h Range.h \
   ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
-  ExtrudeParams.h ../Common/SmoothData.h ../Common/Message.h
+  ExtrudeParams.h ../Common/SmoothData.h ../Common/GmshMessage.h
 gmshSurface.o: gmshSurface.cpp gmshSurface.h Pair.h Range.h SPoint2.h \
   SPoint3.h SVector3.h SBoundingBox3d.h ../Numeric/Numeric.h \
-  ../Numeric/NumericEmbedded.h ../Common/Message.h
+  ../Numeric/NumericEmbedded.h ../Common/GmshMessage.h
 OCCVertex.o: OCCVertex.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MVertex.h MElement.h \
-  ../Common/GmshDefines.h MEdge.h MFace.h ../Common/Message.h \
+  ../Common/GmshDefines.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h OCCVertex.h \
   OCCIncludes.h OCCEdge.h OCCFace.h
 OCCEdge.o: OCCEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
-  GEdgeLoop.h Pair.h GRegion.h ../Common/Message.h OCCEdge.h OCCVertex.h \
-  OCCIncludes.h OCCFace.h ../Common/Context.h ../Geo/CGNSOptions.h \
-  ../Mesh/PartitionOptions.h
+  GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h OCCEdge.h \
+  OCCVertex.h OCCIncludes.h OCCFace.h ../Common/Context.h \
+  ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
 OCCFace.o: OCCFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h OCCVertex.h OCCIncludes.h OCCEdge.h \
-  OCCFace.h ../Common/Message.h ../Numeric/Numeric.h \
+  OCCFace.h ../Common/GmshMessage.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/VertexArray.h ../Geo/SVector3.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
 OCCRegion.o: OCCRegion.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h OCCVertex.h OCCIncludes.h OCCEdge.h \
-  OCCFace.h OCCRegion.h ../Common/Message.h
+  OCCFace.h OCCRegion.h ../Common/GmshMessage.h
 discreteEdge.o: discreteEdge.cpp discreteEdge.h GModel.h GVertex.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
-  SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/Message.h \
+  SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h \
   Geo.h ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ExtrudeParams.h ../Common/SmoothData.h
 discreteFace.o: discreteFace.cpp discreteFace.h GModel.h GVertex.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
-  SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/Message.h \
+  SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h \
   Geo.h ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
@@ -202,7 +202,7 @@ fourierEdge.o: fourierEdge.cpp fourierEdge.h GEdge.h GEntity.h Range.h \
 fourierFace.o: fourierFace.cpp fourierVertex.h GModel.h GVertex.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
   SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h MVertex.h fourierFace.h \
-  fourierEdge.h ../Common/Message.h
+  fourierEdge.h ../Common/GmshMessage.h
 fourierProjectionFace.o: fourierProjectionFace.cpp \
   fourierProjectionFace.h GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
@@ -210,7 +210,7 @@ fourierProjectionFace.o: fourierProjectionFace.cpp \
 GModel.o: GModel.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MElement.h ../Common/GmshDefines.h \
-  MVertex.h MEdge.h MFace.h ../Common/Message.h \
+  MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h discreteRegion.h \
   discreteFace.h discreteEdge.h discreteVertex.h gmshSurface.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h ../Common/Octree.h \
@@ -223,40 +223,41 @@ GModelIO_Geo.o: GModelIO_Geo.cpp GModel.h GVertex.h GEntity.h Range.h \
   gmshSurface.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \
   ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h \
-  ../Common/OpenFile.h ../Common/Message.h gmshVertex.h gmshFace.h \
+  ../Common/OpenFile.h ../Common/GmshMessage.h gmshVertex.h gmshFace.h \
   GFaceCompound.h gmshEdge.h gmshRegion.h ../Mesh/Field.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Parser/Parser.h
 GModelIO_Mesh.o: GModelIO_Mesh.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h \
   GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshDefines.h MElement.h \
-  MVertex.h MEdge.h MFace.h ../Common/Message.h \
+  MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h discreteRegion.h \
   discreteFace.h ../Common/StringUtils.h
 GModelIO_OCC.o: GModelIO_OCC.cpp GModelIO_OCC.h GModel.h GVertex.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
   SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h OCCIncludes.h \
-  ../Common/Message.h ../Common/Context.h ../Geo/CGNSOptions.h \
+  ../Common/GmshMessage.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h OCCVertex.h OCCEdge.h OCCFace.h OCCRegion.h \
   MElement.h ../Common/GmshDefines.h MVertex.h MEdge.h MFace.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h ../Common/OpenFile.h
 GModelIO_Fourier.o: GModelIO_Fourier.cpp GModel.h GVertex.h GEntity.h \
   Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
-  SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/Message.h \
+  SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h \
   fourierVertex.h MVertex.h fourierEdge.h fourierFace.h \
   GModelIO_Fourier.h
 GModelIO_CGNS.o: GModelIO_CGNS.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h \
-  GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/Message.h CGNSOptions.h
+  GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h \
+  CGNSOptions.h
 GModelIO_MED.o: GModelIO_MED.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h \
-  GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/Message.h
-ExtrudeParams.o: ExtrudeParams.cpp ../Common/Message.h Geo.h \
+  GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h
+ExtrudeParams.o: ExtrudeParams.cpp ../Common/GmshMessage.h Geo.h \
   ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \
   SPoint3.h SVector3.h SBoundingBox3d.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ExtrudeParams.h ../Common/SmoothData.h
-Geo.o: Geo.cpp ../Common/Message.h ../Numeric/Numeric.h \
+Geo.o: Geo.cpp ../Common/GmshMessage.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/MallocUtils.h Geo.h \
   ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \
   SPoint3.h SVector3.h SBoundingBox3d.h ../Common/ListUtils.h \
@@ -265,7 +266,7 @@ Geo.o: Geo.cpp ../Common/Message.h ../Numeric/Numeric.h \
   GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h GeoInterpolation.h \
   ../Mesh/Field.h ../Post/PView.h ../Geo/SPoint3.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-GeoStringInterface.o: GeoStringInterface.cpp ../Common/Message.h \
+GeoStringInterface.o: GeoStringInterface.cpp ../Common/GmshMessage.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/StringUtils.h Geo.h ../Common/GmshDefines.h gmshSurface.h \
   Pair.h Range.h SPoint2.h SPoint3.h SVector3.h SBoundingBox3d.h \
@@ -275,14 +276,14 @@ GeoStringInterface.o: GeoStringInterface.cpp ../Common/Message.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h GModel.h GVertex.h \
   GEntity.h GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h \
   ../Parser/Parser.h
-GeoInterpolation.o: GeoInterpolation.cpp ../Common/Message.h Geo.h \
+GeoInterpolation.o: GeoInterpolation.cpp ../Common/GmshMessage.h Geo.h \
   ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \
   SPoint3.h SVector3.h SBoundingBox3d.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ExtrudeParams.h ../Common/SmoothData.h GeoInterpolation.h \
   GeoStringInterface.h
-findLinks.o: findLinks.cpp ../Common/Message.h GModel.h GVertex.h \
+findLinks.o: findLinks.cpp ../Common/GmshMessage.h GModel.h GVertex.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
   SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/TreeUtils.h \
   ../Common/avl.h ../Common/ListUtils.h
@@ -292,32 +293,35 @@ MVertex.o: MVertex.cpp MVertex.h SPoint3.h GEdge.h GEntity.h Range.h \
   gmshSurface.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \
   ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h \
-  ../Common/Message.h ../Common/StringUtils.h
+  ../Common/GmshMessage.h ../Common/StringUtils.h
 GaussQuadratureTri.o: GaussQuadratureTri.cpp MElement.h \
   ../Common/GmshDefines.h MVertex.h SPoint3.h MEdge.h SVector3.h MFace.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  GaussLegendreSimplex.h
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h GaussLegendreSimplex.h
 GaussQuadratureQuad.o: GaussQuadratureQuad.cpp MElement.h \
   ../Common/GmshDefines.h MVertex.h SPoint3.h MEdge.h SVector3.h MFace.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  GaussLegendreSimplex.h ../Numeric/GaussLegendre1D.h
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h GaussLegendreSimplex.h \
+  ../Numeric/GaussLegendre1D.h
 GaussQuadratureTet.o: GaussQuadratureTet.cpp MElement.h \
   ../Common/GmshDefines.h MVertex.h SPoint3.h MEdge.h SVector3.h MFace.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  GaussLegendreSimplex.h
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h GaussLegendreSimplex.h
 GaussQuadratureHex.o: GaussQuadratureHex.cpp MElement.h \
   ../Common/GmshDefines.h MVertex.h SPoint3.h MEdge.h SVector3.h MFace.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  GaussLegendreSimplex.h ../Numeric/GaussLegendre1D.h
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h GaussLegendreSimplex.h \
+  ../Numeric/GaussLegendre1D.h
 GaussLegendreSimplex.o: GaussLegendreSimplex.cpp MElement.h \
   ../Common/GmshDefines.h MVertex.h SPoint3.h MEdge.h SVector3.h MFace.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  GaussLegendreSimplex.h ../Numeric/GaussLegendre1D.h
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h GaussLegendreSimplex.h \
+  ../Numeric/GaussLegendre1D.h
 MFace.o: MFace.cpp MFace.h MVertex.h SPoint3.h SVector3.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
 MElement.o: MElement.cpp MElement.h ../Common/GmshDefines.h MVertex.h \
-  SPoint3.h MEdge.h SVector3.h MFace.h ../Common/Message.h \
+  SPoint3.h MEdge.h SVector3.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h GEntity.h Range.h \
   SBoundingBox3d.h GFace.h GPoint.h GEdgeLoop.h GEdge.h GVertex.h \
   SPoint2.h Pair.h ../Common/StringUtils.h ../Numeric/Numeric.h \
diff --git a/Geo/OCCEdge.cpp b/Geo/OCCEdge.cpp
index bdff7037ac17db19d142721f503004c77b779935..391e5a032f8272bf3c0300b38851938b526a6ebb 100644
--- a/Geo/OCCEdge.cpp
+++ b/Geo/OCCEdge.cpp
@@ -5,7 +5,7 @@
 
 #include <limits>
 #include "GModel.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "OCCEdge.h"
 #include "OCCFace.h"
 #include "Context.h"
diff --git a/Geo/OCCFace.cpp b/Geo/OCCFace.cpp
index 3cf99a6c2ec444c93da32c4289836caee93332c9..96d6d7497a4bba052a26209ac7d2d55c98bc9819 100644
--- a/Geo/OCCFace.cpp
+++ b/Geo/OCCFace.cpp
@@ -8,7 +8,7 @@
 #include "OCCVertex.h"
 #include "OCCEdge.h"
 #include "OCCFace.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 #include "VertexArray.h"
 #include "Context.h"
diff --git a/Geo/OCCRegion.cpp b/Geo/OCCRegion.cpp
index 7ed5de97d6bdf71bf3f2b776f9ced7f2038cda8d..0b05d257f3e4778052ba2bce3c1bbb5db5f34ce4 100644
--- a/Geo/OCCRegion.cpp
+++ b/Geo/OCCRegion.cpp
@@ -8,7 +8,7 @@
 #include "OCCEdge.h"
 #include "OCCFace.h"
 #include "OCCRegion.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if defined(HAVE_OCC)
 
diff --git a/Geo/discreteEdge.cpp b/Geo/discreteEdge.cpp
index ebc325363b6df1377428fe57dbed16d02f206bf4..28b5fc15f80c72e3aa9b6b16ddf05fdfb3deecba 100644
--- a/Geo/discreteEdge.cpp
+++ b/Geo/discreteEdge.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include "discreteEdge.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if !defined(HAVE_GMSH_EMBEDDED)
 #include "Geo.h"
diff --git a/Geo/discreteFace.cpp b/Geo/discreteFace.cpp
index c80b0f0dd5c74a99d5081e89d0239f8819881d88..0a9879ba2dc39354c6936f83843bd037eb5b9bc7 100644
--- a/Geo/discreteFace.cpp
+++ b/Geo/discreteFace.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include "discreteFace.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if !defined(HAVE_GMSH_EMBEDDED)
 #include "Geo.h"
diff --git a/Geo/findLinks.cpp b/Geo/findLinks.cpp
index c832aa22aab8b638f68e85a20d3095523d79fcf8..14427756d48d7d1d130182950006677df375787e 100644
--- a/Geo/findLinks.cpp
+++ b/Geo/findLinks.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include <stdlib.h>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "GModel.h"
 #include "TreeUtils.h"
 #include "ListUtils.h"
diff --git a/Geo/fourierFace.cpp b/Geo/fourierFace.cpp
index 63662e7b0dbfcb36e88e0fa168d377011c9c3185..2ec18e866d6a1eef36ab93fb05163ea961f0d5dd 100644
--- a/Geo/fourierFace.cpp
+++ b/Geo/fourierFace.cpp
@@ -5,7 +5,7 @@
 #include <list>
 #include "fourierVertex.h"
 #include "fourierFace.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if defined(HAVE_FOURIER_MODEL)
 
diff --git a/Geo/gmshEdge.cpp b/Geo/gmshEdge.cpp
index b8bf5ba5216701614dda862bcfbd3ffae110e012..760520d1fc60199b8f4cb9e393c9b7f4d1e356d4 100644
--- a/Geo/gmshEdge.cpp
+++ b/Geo/gmshEdge.cpp
@@ -9,7 +9,7 @@
 #include "gmshEdge.h"
 #include "Geo.h"
 #include "GeoInterpolation.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Context.h"
 
 extern Context_T CTX;
diff --git a/Geo/gmshFace.cpp b/Geo/gmshFace.cpp
index 999b6732efcbcb356e4ecea4e59a69941d519041..9094059d3c36d19b83b507b36124556cb0cc7967 100644
--- a/Geo/gmshFace.cpp
+++ b/Geo/gmshFace.cpp
@@ -9,7 +9,7 @@
 #include "Geo.h"
 #include "GeoInterpolation.h"
 #include "Numeric.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Context.h"
 
 extern Context_T CTX;
diff --git a/Geo/gmshRegion.cpp b/Geo/gmshRegion.cpp
index e813ba9202d28fdc0dccf79f46d08e285fe203e8..a1718fdb5c61eb2c62aacc250b6a3c8762989769 100644
--- a/Geo/gmshRegion.cpp
+++ b/Geo/gmshRegion.cpp
@@ -7,7 +7,7 @@
 #include "GModel.h"
 #include "gmshRegion.h"
 #include "Geo.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 gmshRegion::gmshRegion(GModel *m, ::Volume *volume)
   : GRegion(m, volume->Num), v(volume)
diff --git a/Geo/gmshSurface.cpp b/Geo/gmshSurface.cpp
index 769d7e1bd0e6f650f5b8b03a320e0b9b6e442f3b..8936e3a6bb4f14883853fb5c29ca8b78e302fa10 100644
--- a/Geo/gmshSurface.cpp
+++ b/Geo/gmshSurface.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include "gmshSurface.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #if defined(HAVE_MATH_EVAL)
 #include "matheval.h"
 #endif
diff --git a/Geo/gmshVertex.cpp b/Geo/gmshVertex.cpp
index 99f5d889ba756ba9801e2195652485df22fdaffa..5c13f2bed49235c15c08ddc200a2c419defb9b00 100644
--- a/Geo/gmshVertex.cpp
+++ b/Geo/gmshVertex.cpp
@@ -8,7 +8,7 @@
 #include "gmshVertex.h"
 #include "Geo.h"
 #include "GeoInterpolation.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "MVertex.h"
 #include "MElement.h"
 
diff --git a/Graphics/Draw.cpp b/Graphics/Draw.cpp
index 51b7e8337ecdccb683f4715b3063d727ebf7d0db..51e0f0652a57d3a026e54c45946d82ef2a4c8850 100644
--- a/Graphics/Draw.cpp
+++ b/Graphics/Draw.cpp
@@ -5,7 +5,7 @@
 
 #include "GmshUI.h"
 #include "GmshDefines.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Draw.h"
 #include "Context.h"
 #include "Numeric.h"
diff --git a/Graphics/Makefile b/Graphics/Makefile
index fedfd4320a4a99cc487cfe72996ecce987ce9af1..7114f5e54b87c3cfb668539eb7031639b738cb0c 100644
--- a/Graphics/Makefile
+++ b/Graphics/Makefile
@@ -59,7 +59,7 @@ depend:
 
 # DO NOT DELETE THIS LINE
 Draw.o: Draw.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
-  ../Common/Message.h Draw.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
+  ../Common/GmshMessage.h Draw.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
@@ -70,14 +70,14 @@ Draw.o: Draw.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
   ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Post/PView.h \
   ../Post/PViewOptions.h ../Post/ColorTable.h
-Mesh.o: Mesh.cpp ../Common/Message.h ../Common/GmshUI.h ../Geo/GModel.h \
-  ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
-  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
-  ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
-  ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \
-  ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \
-  ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
-  ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
+Mesh.o: Mesh.cpp ../Common/GmshMessage.h ../Common/GmshUI.h \
+  ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \
+  ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
+  ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \
+  ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \
+  ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \
+  ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \
+  ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
@@ -96,16 +96,16 @@ Geom.o: Geom.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.h \
   ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h
-Post.o: Post.cpp ../Common/Message.h ../Common/GmshUI.h \
+Post.o: Post.cpp ../Common/GmshMessage.h ../Common/GmshUI.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h Draw.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h Iso.h ../Post/PView.h \
   ../Post/PViewOptions.h ../Post/ColorTable.h ../Post/PViewData.h \
   ../Common/VertexArray.h ../Geo/SVector3.h ../Geo/SPoint3.h \
   ../Common/SmoothData.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h gl2ps.h
-SelectBuffer.o: SelectBuffer.cpp ../Common/Message.h ../Common/GmshUI.h \
-  ../Common/GmshDefines.h ../Geo/GModel.h ../Geo/GVertex.h \
-  ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+SelectBuffer.o: SelectBuffer.cpp ../Common/GmshMessage.h \
+  ../Common/GmshUI.h ../Common/GmshDefines.h ../Geo/GModel.h \
+  ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
   ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
   ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \
@@ -123,10 +123,10 @@ Entity.o: Entity.cpp ../Common/GmshUI.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h Draw.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h gl2ps.h
-ReadImg.o: ReadImg.cpp ReadImg.h ../Common/Message.h ../Common/GmshUI.h \
-  ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
-  ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
-  ../Common/ListUtils.h
+ReadImg.o: ReadImg.cpp ReadImg.h ../Common/GmshMessage.h \
+  ../Common/GmshUI.h ../Post/PView.h ../Geo/SPoint3.h \
+  ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \
+  ../Geo/SPoint3.h ../Common/ListUtils.h
 Axes.o: Axes.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h gl2ps.h ../Geo/GModel.h ../Geo/GVertex.h \
@@ -148,17 +148,17 @@ Graph2D.o: Graph2D.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.h \
   ../Numeric/NumericEmbedded.h
 gl2ps.o: gl2ps.cpp gl2ps.h
 gl2gif.o: gl2gif.cpp ../Common/MallocUtils.h gl2gif.h PixelBuffer.h \
-  ../Common/GmshUI.h ../Common/Message.h Draw.h ../Geo/SBoundingBox3d.h \
-  ../Geo/SPoint3.h
+  ../Common/GmshUI.h ../Common/GmshMessage.h Draw.h \
+  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
 gl2jpeg.o: gl2jpeg.cpp gl2jpeg.h PixelBuffer.h ../Common/GmshUI.h \
-  ../Common/Message.h ../Common/MallocUtils.h Draw.h \
+  ../Common/GmshMessage.h ../Common/MallocUtils.h Draw.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
 gl2png.o: gl2png.cpp gl2png.h PixelBuffer.h ../Common/GmshUI.h \
-  ../Common/Message.h ../Common/MallocUtils.h Draw.h \
+  ../Common/GmshMessage.h ../Common/MallocUtils.h Draw.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
 gl2ppm.o: gl2ppm.cpp gl2ppm.h PixelBuffer.h ../Common/GmshUI.h \
-  ../Common/Message.h ../Common/MallocUtils.h Draw.h \
+  ../Common/GmshMessage.h ../Common/MallocUtils.h Draw.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
 gl2yuv.o: gl2yuv.cpp ../Common/MallocUtils.h gl2yuv.h PixelBuffer.h \
-  ../Common/GmshUI.h ../Common/Message.h Draw.h ../Geo/SBoundingBox3d.h \
-  ../Geo/SPoint3.h
+  ../Common/GmshUI.h ../Common/GmshMessage.h Draw.h \
+  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
diff --git a/Graphics/Mesh.cpp b/Graphics/Mesh.cpp
index 05ddc10a34f6bd09929a0c664f12986f20c6b0de..ada2c1aba892ae4145c15d55bea3eb9ef525db45 100644
--- a/Graphics/Mesh.cpp
+++ b/Graphics/Mesh.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include <math.h>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "GmshUI.h"
 #include "GModel.h"
 #include "MElement.h"
diff --git a/Graphics/PixelBuffer.h b/Graphics/PixelBuffer.h
index 72183022588ada9f20c4df25fc80316b4e0d6543..c74f2e4de0e5162eef9c16869cfc0e41055c3c1e 100644
--- a/Graphics/PixelBuffer.h
+++ b/Graphics/PixelBuffer.h
@@ -7,7 +7,7 @@
 #define _PIXEL_BUFFER_H_
 
 #include "GmshUI.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "MallocUtils.h"
 #include "Draw.h"
 
diff --git a/Graphics/Post.cpp b/Graphics/Post.cpp
index a8c37225efb8589add4f70a69619e8be29bcf16b..992ac188303e55826db57f0fc8db0b75bba4ba01 100644
--- a/Graphics/Post.cpp
+++ b/Graphics/Post.cpp
@@ -5,7 +5,7 @@
 
 #include <math.h>
 #include <algorithm>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "GmshUI.h"
 #include "Numeric.h"
 #include "Draw.h"
diff --git a/Graphics/ReadImg.cpp b/Graphics/ReadImg.cpp
index 2a5ff9e5ce52900dadd49590e5a8c3189f37056d..fe7438fae8e73adf1ac6480cdd0dcf5b148b8301 100644
--- a/Graphics/ReadImg.cpp
+++ b/Graphics/ReadImg.cpp
@@ -5,7 +5,7 @@
 
 #include <string.h>
 #include "ReadImg.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "GmshUI.h"
 #include "PView.h"
 #include "PViewDataList.h"
diff --git a/Graphics/SelectBuffer.cpp b/Graphics/SelectBuffer.cpp
index 142c529db7f056d3c2f5942f9d6343a49b66cada..0d11044a5c87bc978b7537c87e374cdb693e0f67 100644
--- a/Graphics/SelectBuffer.cpp
+++ b/Graphics/SelectBuffer.cpp
@@ -3,7 +3,7 @@
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
 
-#include "Message.h"
+#include "GmshMessage.h"
 #include "GmshUI.h"
 #include "GmshDefines.h"
 #include "GModel.h"
diff --git a/Makefile b/Makefile
index 590e913630562dbc18e22c86952132476a15c733..f3471989d74acddf700533c70dd18ce7ad51d8b9 100644
--- a/Makefile
+++ b/Makefile
@@ -22,9 +22,9 @@ GMSH_API = Geo/GModel.h Geo/GEntity.h Geo/GPoint.h\
            Geo/MVertex.h Geo/MEdge.h Geo/MFace.h Geo/MElement.h\
            Geo/discreteVertex.h Geo/discreteEdge.h Geo/discreteFace.h Geo/discreteRegion.h\
            Geo/SPoint2.h Geo/SPoint3.h Geo/SVector3.h Geo/SBoundingBox3d.h\
-           Geo/Pair.h Geo/Range.h\
+           Geo/Pair.h Geo/Range.h Numeric/FunctionSpace.h\
            Post/PView.h Post/PViewData.h Plugin/PluginManager.h\
-           Common/VertexArray.h Common/Message.h\
+           Common/VertexArray.h Common/GmshMessage.h\
            Common/Gmsh.h Common/GmshDefines.h Common/GmshVersion.h Common/GmshMatrix.h
 
 GMSH_EMBEDDED = ${GMSH_API} Geo/discrete*.cpp\
@@ -33,7 +33,7 @@ GMSH_EMBEDDED = ${GMSH_API} Geo/discrete*.cpp\
                 Geo/GEdgeLoop.cpp Geo/GFace.cpp Geo/GRegion.cpp\
                 Geo/MElement.cpp Geo/MFace.cpp Geo/MVertex.cpp\
                 Common/StringUtils.{cpp,h}\
-                Numeric/NumericEmbedded.{cpp,h} Numeric/FunctionSpace.{cpp,h}\
+                Numeric/NumericEmbedded.{cpp,h} Numeric/FunctionSpace.cpp\
                 utils/embed/GmshEmbedded.{cpp,h} utils/embed/Makefile
 
 # Main building rules
@@ -116,7 +116,6 @@ uninstall-lib:
 embed:
 	@if [ -r ../getdp/contrib/gmsh/Makefile ]; then \
           rsync -av ${GMSH_EMBEDDED} ../getdp/contrib/gmsh;\
-          rm -f ../getdp/contrib/gmsh/Message.h;\
         fi
 
 # Macintosh-specific rules
diff --git a/Mesh/BDS.cpp b/Mesh/BDS.cpp
index 4104574066fac40972bdfeb928e1c74aa8fda351..197c36d95da0c902e8707e6235ff46959bcfe5e2 100644
--- a/Mesh/BDS.cpp
+++ b/Mesh/BDS.cpp
@@ -7,7 +7,7 @@
 #include <stdio.h>
 #include "Numeric.h"
 #include "BDS.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "GFace.h"
 #include "meshGFaceDelaunayInsertion.h"
 #include "qualityMeasures.h"
diff --git a/Mesh/BDS.h b/Mesh/BDS.h
index 25bdb3e7622fd9d4c0ffd79737506281b8b1dcff..f5f1501cae3e437b03b61fd720dd70056fbd50cb 100644
--- a/Mesh/BDS.h
+++ b/Mesh/BDS.h
@@ -19,7 +19,7 @@
 #include <math.h>
 #include "GFace.h"
 #include "PView.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 class BDS_Edge;
 class BDS_Face;
diff --git a/Mesh/BackgroundMesh.cpp b/Mesh/BackgroundMesh.cpp
index 7851be3552049055279739c487fec8ac0aac998d..ca27b04d5aa582485f5983cc2d0ffa6a23805ed6 100644
--- a/Mesh/BackgroundMesh.cpp
+++ b/Mesh/BackgroundMesh.cpp
@@ -3,7 +3,7 @@
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
 
-#include "Message.h"
+#include "GmshMessage.h"
 #include "BackgroundMesh.h"
 #include "Numeric.h"
 #include "Context.h"
diff --git a/Mesh/BoundaryLayers.cpp b/Mesh/BoundaryLayers.cpp
index f3127caf4d92627ae7d145e031a98204c31ca8b1..f874c3124e1687455866fb94df0b7202ae61c3d9 100644
--- a/Mesh/BoundaryLayers.cpp
+++ b/Mesh/BoundaryLayers.cpp
@@ -9,7 +9,7 @@
 #include "ExtrudeParams.h"
 #include "meshGEdge.h"
 #include "meshGFace.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 template<class T>
 static void addExtrudeNormals(std::vector<T*> &elements, int invert)
diff --git a/Mesh/DivideAndConquer.cpp b/Mesh/DivideAndConquer.cpp
index bccb8bd837a57722ce939020040ab21ef8944d17..dc38297cef974aaceb1e53bcd3ac1ae4c14c25e6 100644
--- a/Mesh/DivideAndConquer.cpp
+++ b/Mesh/DivideAndConquer.cpp
@@ -15,7 +15,7 @@
 // Warning: point positions must be PERTURBED by a small random
 // value to avoid 3 aligned points or 4 cocyclical points!
 
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 #include "DivideAndConquer.h"
 #include "MallocUtils.h"
diff --git a/Mesh/Field.cpp b/Mesh/Field.cpp
index 59e4c76bdade3533ae50b0c85b062ea0851403b9..079ce719f63e2e405781a77f65db46b38dc62bbd 100644
--- a/Mesh/Field.cpp
+++ b/Mesh/Field.cpp
@@ -25,7 +25,7 @@
 #include "Field.h"
 #include "GeoInterpolation.h"
 #include "GModel.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if !defined(HAVE_NO_POST)
 #include "OctreePost.h"
diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp
index 212280b1623622bd8d68f7d3dd181114173ac0dc..a6185f3000aca0c1124e1d82725c207fddeb333c 100644
--- a/Mesh/Generator.cpp
+++ b/Mesh/Generator.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include <stdlib.h>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 #include "Context.h"
 #include "OS.h"
diff --git a/Mesh/HighOrder.cpp b/Mesh/HighOrder.cpp
index 891481a725f0682d691d5ffdb5e3a6a96937906f..3bcccdf74958ee76e02d1f2296d83dc2a7569ff3 100644
--- a/Mesh/HighOrder.cpp
+++ b/Mesh/HighOrder.cpp
@@ -7,7 +7,7 @@
 #include "gmshSmoothHighOrder.h"
 #include "meshGFaceOptimize.h"
 #include "MElement.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "OS.h"
 #include "Numeric.h"
 #include "Context.h"
diff --git a/Mesh/Makefile b/Mesh/Makefile
index c68a1478197ec9f9f11c564d86c2f06c9d55672a..77037ba5246b366d6d07f6a1199035ee12fb2e6c 100644
--- a/Mesh/Makefile
+++ b/Mesh/Makefile
@@ -75,7 +75,7 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-Generator.o: Generator.cpp ../Common/Message.h ../Numeric/Numeric.h \
+Generator.o: Generator.cpp ../Common/GmshMessage.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Common/OS.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
@@ -107,26 +107,27 @@ Field.o: Field.cpp ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \
   ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \
   ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \
-  ../Common/Message.h ../Post/OctreePost.h ../Common/Octree.h \
+  ../Common/GmshMessage.h ../Post/OctreePost.h ../Common/Octree.h \
   ../Common/OctreeInternals.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h
 gmshSmoothHighOrder.o: gmshSmoothHighOrder.cpp gmshSmoothHighOrder.h \
   ../Geo/SVector3.h ../Geo/SPoint3.h ../Numeric/gmshAssembler.h \
   ../Numeric/gmshLinearSystem.h ../Numeric/gmshLaplace.h \
   ../Numeric/gmshTermOfFormulation.h ../Common/GmshMatrix.h \
-  ../Common/Gmsh.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \
-  ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \
-  ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \
-  ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
-  ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \
-  ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \
-  ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
-  ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
-  ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
-  ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h \
-  ../Numeric/gmshElasticity.h ../Numeric/gmshTermOfFormulation.h \
-  ../Numeric/gmshLinearSystemGmm.h ../Numeric/gmshLinearSystem.h
+  ../Common/Gmsh.h ../Common/GmshMessage.h ../Geo/GModel.h \
+  ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
+  ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
+  ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \
+  ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h \
+  ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \
+  ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \
+  ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
+  ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
+  ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
+  ../Numeric/FunctionSpace.h ../Numeric/gmshElasticity.h \
+  ../Numeric/gmshTermOfFormulation.h ../Numeric/gmshLinearSystemGmm.h \
+  ../Numeric/gmshLinearSystem.h
 meshGEdge.o: meshGEdge.cpp ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
@@ -138,7 +139,7 @@ meshGEdge.o: meshGEdge.cpp ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/SBoundingBox3d.h meshGEdge.h ../Geo/MElement.h \
   ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint3.h \
   ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \
-  ../Geo/MVertex.h ../Geo/SVector3.h ../Common/Message.h \
+  ../Geo/MVertex.h ../Geo/SVector3.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h BackgroundMesh.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
@@ -153,13 +154,13 @@ meshGEdgeExtruded.o: meshGEdgeExtruded.cpp ../Geo/GModel.h \
   ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  ../Geo/ExtrudeParams.h ../Common/SmoothData.h
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h ../Geo/ExtrudeParams.h ../Common/SmoothData.h
 meshGFace.o: meshGFace.cpp meshGFace.h meshGFaceBDS.h \
   meshGFaceDelaunayInsertion.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/MFace.h ../Geo/MVertex.h \
-  ../Geo/SVector3.h ../Common/Message.h ../Numeric/FunctionSpace.h \
+  ../Geo/SVector3.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Common/GmshMatrix.h meshGFaceQuadrilateralize.h meshGFaceOptimize.h \
   DivideAndConquer.h BackgroundMesh.h ../Geo/GVertex.h ../Geo/GEntity.h \
   ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \
@@ -183,7 +184,7 @@ meshGFaceTransfinite.o: meshGFaceTransfinite.cpp meshGFace.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MElement.h \
   ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/MEdge.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
-  ../Geo/SVector3.h ../Common/Message.h ../Numeric/FunctionSpace.h \
+  ../Geo/SVector3.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Common/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
@@ -198,16 +199,16 @@ meshGFaceExtruded.o: meshGFaceExtruded.cpp ../Geo/GModel.h \
   ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  ../Geo/ExtrudeParams.h ../Common/SmoothData.h ../Common/Context.h \
-  ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h ../Geo/ExtrudeParams.h ../Common/SmoothData.h \
+  ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
 meshGFaceBDS.o: meshGFaceBDS.cpp meshGFace.h meshGFaceOptimize.h \
   ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
   ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  meshGFaceDelaunayInsertion.h BackgroundMesh.h ../Geo/GVertex.h \
-  ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h meshGFaceDelaunayInsertion.h BackgroundMesh.h \
+  ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
   ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
   ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h \
@@ -224,7 +225,7 @@ meshGFaceDelaunayInsertion.o: meshGFaceDelaunayInsertion.cpp BDS.h \
   ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
   ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h \
-  ../Geo/SVector3.h ../Geo/Pair.h ../Post/PView.h ../Common/Message.h \
+  ../Geo/SVector3.h ../Geo/Pair.h ../Post/PView.h ../Common/GmshMessage.h \
   BackgroundMesh.h meshGFaceDelaunayInsertion.h ../Geo/MElement.h \
   ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint3.h \
   ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \
@@ -236,33 +237,35 @@ meshGFaceOptimize.o: meshGFaceOptimize.cpp meshGFaceOptimize.h \
   ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
   ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  meshGFaceDelaunayInsertion.h qualityMeasures.h ../Geo/GFace.h \
-  ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h meshGFaceDelaunayInsertion.h qualityMeasures.h \
+  ../Geo/GFace.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
   ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
   ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/Pair.h BackgroundMesh.h
 meshGFaceQuadrilateralize.o: meshGFaceQuadrilateralize.cpp \
-  meshGFaceQuadrilateralize.h ../Common/Message.h ../Numeric/Numeric.h \
-  ../Numeric/NumericEmbedded.h meshGFaceDelaunayInsertion.h \
-  ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
-  ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Geo/SPoint3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h meshGFaceOptimize.h \
-  meshGFaceBDS.h BDS.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/Range.h \
-  ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
-  ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h \
-  ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h \
-  ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h \
-  ../Geo/SVector3.h ../Geo/Pair.h ../Post/PView.h
+  meshGFaceQuadrilateralize.h ../Common/GmshMessage.h \
+  ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
+  meshGFaceDelaunayInsertion.h ../Geo/MElement.h ../Common/GmshDefines.h \
+  ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
+  ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/MFace.h ../Geo/MVertex.h \
+  ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
+  meshGFaceOptimize.h meshGFaceBDS.h BDS.h ../Geo/GFace.h \
+  ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
+  ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
+  ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \
+  ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h ../Geo/SVector3.h \
+  ../Geo/Pair.h ../Post/PView.h
 meshGRegion.o: meshGRegion.cpp meshGRegion.h \
   meshGRegionDelaunayInsertion.h ../Geo/MElement.h \
   ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint3.h \
   ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
-  ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h ../Common/Message.h \
-  ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h ../Numeric/Numeric.h \
+  ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h BackgroundMesh.h qualityMeasures.h \
   ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
@@ -283,8 +286,9 @@ meshGRegionDelaunayInsertion.o: meshGRegionDelaunayInsertion.cpp \
   meshGRegionDelaunayInsertion.h ../Geo/MElement.h \
   ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint3.h \
   ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
-  ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h ../Common/Message.h \
-  ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h ../Numeric/Numeric.h \
+  ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h qualityMeasures.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
@@ -303,7 +307,7 @@ meshGRegionTransfinite.o: meshGRegionTransfinite.cpp meshGFace.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MElement.h \
   ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/MEdge.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
-  ../Geo/SVector3.h ../Common/Message.h ../Numeric/FunctionSpace.h \
+  ../Geo/SVector3.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Common/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
 meshGRegionExtruded.o: meshGRegionExtruded.cpp ../Geo/GModel.h \
@@ -317,9 +321,10 @@ meshGRegionExtruded.o: meshGRegionExtruded.cpp ../Geo/GModel.h \
   ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  ../Geo/ExtrudeParams.h ../Common/SmoothData.h meshGFace.h meshGRegion.h \
-  ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h ../Geo/ExtrudeParams.h ../Common/SmoothData.h \
+  meshGFace.h meshGRegion.h ../Common/Context.h ../Geo/CGNSOptions.h \
+  ../Mesh/PartitionOptions.h
 meshGRegionCarveHole.o: meshGRegionCarveHole.cpp ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
@@ -331,24 +336,26 @@ meshGRegionCarveHole.o: meshGRegionCarveHole.cpp ../Geo/GModel.h \
   ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h
 meshGRegionLocalMeshMod.o: meshGRegionLocalMeshMod.cpp \
   meshGRegionLocalMeshMod.h meshGRegionDelaunayInsertion.h \
   ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
   ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h BackgroundMesh.h \
-  qualityMeasures.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h ../Numeric/Numeric.h \
+  ../Numeric/NumericEmbedded.h BackgroundMesh.h qualityMeasures.h \
+  ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GRegion.h \
   ../Geo/GEntity.h
-DivideAndConquer.o: DivideAndConquer.cpp ../Common/Message.h \
+DivideAndConquer.o: DivideAndConquer.cpp ../Common/GmshMessage.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h DivideAndConquer.h \
   ../Common/MallocUtils.h
-BackgroundMesh.o: BackgroundMesh.cpp ../Common/Message.h BackgroundMesh.h \
-  ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h ../Common/Context.h \
-  ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h ../Geo/GVertex.h \
-  ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+BackgroundMesh.o: BackgroundMesh.cpp ../Common/GmshMessage.h \
+  BackgroundMesh.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
+  ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
+  ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
   ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
   ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \
@@ -363,7 +370,7 @@ qualityMeasures.o: qualityMeasures.cpp qualityMeasures.h BDS.h \
   ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
   ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h \
-  ../Geo/SVector3.h ../Geo/Pair.h ../Post/PView.h ../Common/Message.h \
+  ../Geo/SVector3.h ../Geo/Pair.h ../Post/PView.h ../Common/GmshMessage.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MElement.h \
   ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/MEdge.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
@@ -380,16 +387,16 @@ BoundaryLayers.o: BoundaryLayers.cpp ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  BoundaryLayers.h ../Geo/ExtrudeParams.h ../Common/SmoothData.h \
-  meshGEdge.h meshGFace.h
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h BoundaryLayers.h ../Geo/ExtrudeParams.h \
+  ../Common/SmoothData.h meshGEdge.h meshGFace.h
 BDS.o: BDS.cpp ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h BDS.h \
   ../Geo/GFace.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
   ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
   ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h \
-  ../Geo/SVector3.h ../Geo/Pair.h ../Post/PView.h ../Common/Message.h \
+  ../Geo/SVector3.h ../Geo/Pair.h ../Post/PView.h ../Common/GmshMessage.h \
   meshGFaceDelaunayInsertion.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
@@ -405,16 +412,17 @@ HighOrder.o: HighOrder.cpp HighOrder.h ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/SBoundingBox3d.h gmshSmoothHighOrder.h meshGFaceOptimize.h \
   ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
   ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h ../Common/Message.h \
-  ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h \
-  meshGFaceDelaunayInsertion.h ../Common/OS.h ../Numeric/Numeric.h \
-  ../Numeric/NumericEmbedded.h ../Common/Context.h ../Geo/CGNSOptions.h \
-  ../Mesh/PartitionOptions.h ../Geo/GFaceCompound.h ../Geo/Geo.h \
-  ../Geo/gmshSurface.h ../Geo/Pair.h ../Geo/Range.h ../Geo/SPoint2.h \
-  ../Geo/SPoint3.h ../Geo/SVector3.h ../Geo/SBoundingBox3d.h \
-  ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \
-  ../Common/ListUtils.h ../Geo/SPoint2.h ../Geo/ExtrudeParams.h \
-  ../Common/SmoothData.h ../Geo/GFace.h ../Geo/GFace.h ../Geo/GEdge.h
+  ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h meshGFaceDelaunayInsertion.h ../Common/OS.h \
+  ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h ../Common/Context.h \
+  ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h ../Geo/GFaceCompound.h \
+  ../Geo/Geo.h ../Geo/gmshSurface.h ../Geo/Pair.h ../Geo/Range.h \
+  ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/SVector3.h \
+  ../Geo/SBoundingBox3d.h ../Common/ListUtils.h ../Common/TreeUtils.h \
+  ../Common/avl.h ../Common/ListUtils.h ../Geo/SPoint2.h \
+  ../Geo/ExtrudeParams.h ../Common/SmoothData.h ../Geo/GFace.h \
+  ../Geo/GFace.h ../Geo/GEdge.h
 Partition.o: Partition.cpp ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
@@ -426,5 +434,6 @@ Partition.o: Partition.cpp ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/SBoundingBox3d.h Partition.h PartitionObjects.h \
   ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
   ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h ../Common/Message.h \
-  ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h PartitionOptions.h
+  ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
+  ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
+  ../Common/GmshMatrix.h PartitionOptions.h
diff --git a/Mesh/PartitionObjects.h b/Mesh/PartitionObjects.h
index d461ec91dd28d7e2ebfbaa84a3d5da74001cef4c..1f7f378aebad68b4a855cfc6be0b26f76a729fdb 100644
--- a/Mesh/PartitionObjects.h
+++ b/Mesh/PartitionObjects.h
@@ -8,7 +8,7 @@
 #include <map>
 #include <vector>
 #include "MElement.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 
 /*******************************************************************************
diff --git a/Mesh/meshGEdge.cpp b/Mesh/meshGEdge.cpp
index 1bed85769b36d0b089713e1c1cd151ba9fc47641..ddfec538be279f97bbef6f15183dabc884228b73 100644
--- a/Mesh/meshGEdge.cpp
+++ b/Mesh/meshGEdge.cpp
@@ -9,7 +9,7 @@
 #include "MElement.h"
 #include "BackgroundMesh.h"
 #include "Numeric.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Context.h"
 
 #define SQU(a)      ((a)*(a))
diff --git a/Mesh/meshGEdgeExtruded.cpp b/Mesh/meshGEdgeExtruded.cpp
index c880218eb66fda3e3fdb6ec72455f21f729330ca..0b1e55f5e1ba499ec92b2900e0d19ce3b34e7d2a 100644
--- a/Mesh/meshGEdgeExtruded.cpp
+++ b/Mesh/meshGEdgeExtruded.cpp
@@ -7,7 +7,7 @@
 #include "GModel.h"
 #include "MElement.h"
 #include "ExtrudeParams.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 static void extrudeMesh(GVertex *from, GEdge *to)
 {
diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp
index 727c34af49042f4107d43159d5c08d134129e43c..e31a90b1349909ac595d12866df5f81dbf13fc3b 100644
--- a/Mesh/meshGFace.cpp
+++ b/Mesh/meshGFace.cpp
@@ -19,7 +19,7 @@
 #include "MElement.h"
 #include "Context.h"
 #include "GPoint.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 #include "BDS.h"
 #include "qualityMeasures.h"
diff --git a/Mesh/meshGFaceBDS.cpp b/Mesh/meshGFaceBDS.cpp
index 41011f153665b66035bc4507b73831b7ba9424c1..91ca345589137714c50e5c750bc063f64267d69b 100644
--- a/Mesh/meshGFaceBDS.cpp
+++ b/Mesh/meshGFaceBDS.cpp
@@ -15,7 +15,7 @@
 #include "Context.h"
 #include "GPoint.h"
 #include "GModel.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 #include "BDS.h"
 #include "qualityMeasures.h"
diff --git a/Mesh/meshGFaceDelaunayInsertion.cpp b/Mesh/meshGFaceDelaunayInsertion.cpp
index 80df601f76a5d9a3e32c28db448e41c8313baa17..afa2da7ed02bff5d0c9f00fa85b5d99398e932fe 100644
--- a/Mesh/meshGFaceDelaunayInsertion.cpp
+++ b/Mesh/meshGFaceDelaunayInsertion.cpp
@@ -10,7 +10,7 @@
 #include "meshGFace.h"
 #include "GFace.h"
 #include "Numeric.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include <set>
 #include <map>
 #include <algorithm>
diff --git a/Mesh/meshGFaceExtruded.cpp b/Mesh/meshGFaceExtruded.cpp
index eefe79d390e93e7311c5afe63c2775fbfe39f6de..ae322e8002d3b2f6325a48659f32102825decd4e 100644
--- a/Mesh/meshGFaceExtruded.cpp
+++ b/Mesh/meshGFaceExtruded.cpp
@@ -8,7 +8,7 @@
 #include "MElement.h"
 #include "ExtrudeParams.h"
 #include "Context.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 extern Context_T CTX;
 
diff --git a/Mesh/meshGFaceOptimize.cpp b/Mesh/meshGFaceOptimize.cpp
index f899bc5302835cc0a0264cfddf7d889ca7ce2bd6..72fdb6c50bac5b646b5a79ff0294fe741132ceca 100644
--- a/Mesh/meshGFaceOptimize.cpp
+++ b/Mesh/meshGFaceOptimize.cpp
@@ -11,7 +11,7 @@
 #include "MVertex.h"
 #include "MElement.h"
 #include "BackgroundMesh.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 static void setLcsInit(MTriangle *t, std::map<MVertex*, double> &vSizes)
 {
diff --git a/Mesh/meshGFaceQuadrilateralize.cpp b/Mesh/meshGFaceQuadrilateralize.cpp
index 28dc9b11522024aa83c49966ab78eca2c8a76ff3..16ae863c46ea3c6ba2be01fe04d08c71cf614f9f 100644
--- a/Mesh/meshGFaceQuadrilateralize.cpp
+++ b/Mesh/meshGFaceQuadrilateralize.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include "meshGFaceQuadrilateralize.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 #include "meshGFaceDelaunayInsertion.h"
 #include "meshGFaceOptimize.h"
diff --git a/Mesh/meshGFaceTransfinite.cpp b/Mesh/meshGFaceTransfinite.cpp
index 08aa4fa2c1ce5b9f3ffa137c59ac1e740b1c6ab5..1bb68b296dea011126aafd13de854f5c5014a13d 100644
--- a/Mesh/meshGFaceTransfinite.cpp
+++ b/Mesh/meshGFaceTransfinite.cpp
@@ -11,7 +11,7 @@
 #include "MVertex.h"
 #include "MElement.h"
 #include "Context.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 
 #define SQU(a)      ((a)*(a))
diff --git a/Mesh/meshGRegion.cpp b/Mesh/meshGRegion.cpp
index 1a2bd0669a5df9eca2602a9c8a06472659c56d3e..47ba75040814e62e82f2ec152b36371102f8da36 100644
--- a/Mesh/meshGRegion.cpp
+++ b/Mesh/meshGRegion.cpp
@@ -13,7 +13,7 @@
 #include "GEdge.h"
 #include "gmshRegion.h"
 #include "BDS.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Context.h"
 
 extern Context_T CTX;
diff --git a/Mesh/meshGRegionCarveHole.cpp b/Mesh/meshGRegionCarveHole.cpp
index b0c73f668a65cced9f68255fde5829ee302d2d72..473284576d7ba7e92bcd949be14f6648e34a037e 100644
--- a/Mesh/meshGRegionCarveHole.cpp
+++ b/Mesh/meshGRegionCarveHole.cpp
@@ -6,7 +6,7 @@
 #include <set>
 #include "GModel.h"
 #include "MElement.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if !defined(HAVE_ANN)
 
diff --git a/Mesh/meshGRegionDelaunayInsertion.cpp b/Mesh/meshGRegionDelaunayInsertion.cpp
index 083aa7276140810e803fa3031b1855f1200d0416..9d3b928262ef6bc5a690aab439e3b01c7aa73ac7 100644
--- a/Mesh/meshGRegionDelaunayInsertion.cpp
+++ b/Mesh/meshGRegionDelaunayInsertion.cpp
@@ -11,7 +11,7 @@
 #include "GModel.h"
 #include "GRegion.h"
 #include "Numeric.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include <set>
 #include <map>
 #include <algorithm>
diff --git a/Mesh/meshGRegionExtruded.cpp b/Mesh/meshGRegionExtruded.cpp
index 34de3a3cca1bd7b0675d3da4b4be64225dbbebdd..370714f960d5b0e2900ecdf818465c443945ddd7 100644
--- a/Mesh/meshGRegionExtruded.cpp
+++ b/Mesh/meshGRegionExtruded.cpp
@@ -10,7 +10,7 @@
 #include "meshGFace.h"
 #include "meshGRegion.h"
 #include "Context.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 extern Context_T CTX;
 
diff --git a/Mesh/meshGRegionLocalMeshMod.cpp b/Mesh/meshGRegionLocalMeshMod.cpp
index fa51c85f8ed06de2e2fe5258b8749c62273c7dda..2dddd409d2367acc1586bb20eb3aee40ab95d757 100644
--- a/Mesh/meshGRegionLocalMeshMod.cpp
+++ b/Mesh/meshGRegionLocalMeshMod.cpp
@@ -6,7 +6,7 @@
 #include "meshGRegionLocalMeshMod.h"
 #include "GEntity.h"
 #include "GRegion.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 
 static int edges[6][2] =    {{0,1},{0,2},{0,3},{1,2},{1,3},{2,3}};
diff --git a/Mesh/meshGRegionTransfinite.cpp b/Mesh/meshGRegionTransfinite.cpp
index c14447c00fb4b6de15d72faae8f37180c258ecb1..8339d1255752684ed421e1515245fb71c4134a79 100644
--- a/Mesh/meshGRegionTransfinite.cpp
+++ b/Mesh/meshGRegionTransfinite.cpp
@@ -10,7 +10,7 @@
 #include "MVertex.h"
 #include "MElement.h"
 #include "Context.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 /*  
   Transfinite volume meshes
diff --git a/Mesh/qualityMeasures.cpp b/Mesh/qualityMeasures.cpp
index e5c4b18278f92bc1ffe37d8103d263f6d1620e78..3317585aeed4da65af9d6220a9f3d1fd54ea2ffa 100644
--- a/Mesh/qualityMeasures.cpp
+++ b/Mesh/qualityMeasures.cpp
@@ -9,7 +9,7 @@
 #include "MElement.h"
 #include "Numeric.h"
 #include "FunctionSpace.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 double qmTriangle(const BDS_Point *p1, const BDS_Point *p2, const BDS_Point *p3, 
                   const gmshQualityMeasure4Triangle &cr)
diff --git a/Numeric/FunctionSpace.cpp b/Numeric/FunctionSpace.cpp
index 419692981360053bc57d535e0aa4ecd07cc8753d..5ca9ce67a29477efd6b733c1de4cd7964e2a42c6 100644
--- a/Numeric/FunctionSpace.cpp
+++ b/Numeric/FunctionSpace.cpp
@@ -5,7 +5,7 @@
 
 #include "FunctionSpace.h"
 #include "GmshDefines.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 
 Double_Matrix generate1DMonomials(int order)
diff --git a/Numeric/Makefile b/Numeric/Makefile
index 3f112ced606fbdbb5dc217b7653b8920f8b9b974..6f11d25daf8f7a10c31fe1caf5487eb8e78b602b 100644
--- a/Numeric/Makefile
+++ b/Numeric/Makefile
@@ -50,27 +50,15 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-Numeric.o: Numeric.cpp ../Common/Message.h Numeric.h NumericEmbedded.h
+Numeric.o: Numeric.cpp ../Common/GmshMessage.h Numeric.h \
+  NumericEmbedded.h
 NumericEmbedded.o: NumericEmbedded.cpp NumericEmbedded.h \
-  ../Common/Message.h
+  ../Common/GmshMessage.h
 gmshAssembler.o: gmshAssembler.cpp ../Geo/MVertex.h ../Geo/SPoint3.h \
   gmshAssembler.h gmshLinearSystem.h
 gmshTermOfFormulation.o: gmshTermOfFormulation.cpp \
   gmshTermOfFormulation.h ../Common/GmshMatrix.h gmshFunction.h \
-  ../Common/Gmsh.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \
-  ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \
-  ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \
-  ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
-  ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \
-  ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \
-  ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
-  ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MElement.h \
-  ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint3.h \
-  ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \
-  ../Geo/MVertex.h ../Geo/SVector3.h ../Common/Message.h \
-  ../Numeric/FunctionSpace.h gmshLinearSystem.h gmshAssembler.h
-gmshLaplace.o: gmshLaplace.cpp gmshLaplace.h gmshTermOfFormulation.h \
-  ../Common/GmshMatrix.h ../Common/Gmsh.h ../Geo/GModel.h \
+  ../Common/Gmsh.h ../Common/GmshMessage.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
   ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
@@ -81,9 +69,9 @@ gmshLaplace.o: gmshLaplace.cpp gmshLaplace.h gmshTermOfFormulation.h \
   ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h
-gmshElasticity.o: gmshElasticity.cpp gmshElasticity.h \
-  gmshTermOfFormulation.h ../Common/GmshMatrix.h ../Common/Gmsh.h \
+  ../Numeric/FunctionSpace.h gmshLinearSystem.h gmshAssembler.h
+gmshLaplace.o: gmshLaplace.cpp gmshLaplace.h gmshTermOfFormulation.h \
+  ../Common/GmshMatrix.h ../Common/Gmsh.h ../Common/GmshMessage.h \
   ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \
@@ -94,12 +82,28 @@ gmshElasticity.o: gmshElasticity.cpp gmshElasticity.h \
   ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
-  ../Common/Message.h ../Numeric/FunctionSpace.h
+  ../Numeric/FunctionSpace.h
+gmshElasticity.o: gmshElasticity.cpp gmshElasticity.h \
+  gmshTermOfFormulation.h ../Common/GmshMatrix.h ../Common/Gmsh.h \
+  ../Common/GmshMessage.h ../Geo/GModel.h ../Geo/GVertex.h \
+  ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
+  ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
+  ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \
+  ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \
+  ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
+  ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
+  ../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Common/GmshDefines.h \
+  ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
+  ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
+  ../Numeric/FunctionSpace.h
 EigSolve.o: EigSolve.cpp
 FunctionSpace.o: FunctionSpace.cpp FunctionSpace.h ../Common/GmshMatrix.h \
-  ../Common/GmshDefines.h ../Common/Message.h
+  ../Common/GmshDefines.h ../Common/GmshMessage.h
 gmsh_predicates.o: gmsh_predicates.cpp
-gsl_newt.o: gsl_newt.cpp ../Common/Message.h Numeric.h NumericEmbedded.h
-gsl_min.o: gsl_min.cpp ../Common/Message.h Numeric.h NumericEmbedded.h
-gsl_brent.o: gsl_brent.cpp ../Common/Message.h Numeric.h \
+gsl_newt.o: gsl_newt.cpp ../Common/GmshMessage.h Numeric.h \
+  NumericEmbedded.h
+gsl_min.o: gsl_min.cpp ../Common/GmshMessage.h Numeric.h \
+  NumericEmbedded.h
+gsl_brent.o: gsl_brent.cpp ../Common/GmshMessage.h Numeric.h \
   NumericEmbedded.h
diff --git a/Numeric/Numeric.cpp b/Numeric/Numeric.cpp
index cb5af2bfb3af5f9f8b5cb938780eb0196056b712..4c7d0233a261ebcf0c5a1898dd7d6d8ec5007481 100644
--- a/Numeric/Numeric.cpp
+++ b/Numeric/Numeric.cpp
@@ -3,7 +3,7 @@
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
 
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 
 // Check GSL version. We need at least 1.2, since all versions <=
diff --git a/Numeric/NumericEmbedded.cpp b/Numeric/NumericEmbedded.cpp
index 6daede6b397a2339f23c22f84610bd2e5e9a3727..c1963fefd1285b50252e9f4f12a6e91ae6a250fe 100644
--- a/Numeric/NumericEmbedded.cpp
+++ b/Numeric/NumericEmbedded.cpp
@@ -8,7 +8,7 @@
 // Msg)
 
 #include "NumericEmbedded.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #define SQU(a)      ((a)*(a))
 
diff --git a/Numeric/gmshLinearSystemGmm.h b/Numeric/gmshLinearSystemGmm.h
index f94d7b4b912f9239c04c5478974029a87fc33e04..13eff4cd1f11d6a4d0c7b29adca23c7bdc2aac55 100644
--- a/Numeric/gmshLinearSystemGmm.h
+++ b/Numeric/gmshLinearSystemGmm.h
@@ -3,7 +3,7 @@
 
 // Interface to GMM++
 
-#include "Message.h"
+#include "GmshMessage.h"
 #include "gmshLinearSystem.h"
 
 #if defined(HAVE_GMM)
diff --git a/Numeric/gsl_brent.cpp b/Numeric/gsl_brent.cpp
index f4dcf6693b40021d91ea7ee55f5188e0c7b93227..59cb3be607a975346a27c52e93ccff29e92ef6d0 100644
--- a/Numeric/gsl_brent.cpp
+++ b/Numeric/gsl_brent.cpp
@@ -5,7 +5,7 @@
 
 #if defined(HAVE_GSL)
 
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 
 #include <gsl/gsl_errno.h>
diff --git a/Numeric/gsl_min.cpp b/Numeric/gsl_min.cpp
index 1975c1dfa603846e13e653fa1c07f35f1c4d6db2..4a425567f5b29ff92d8cf51a4d2362b33bd6dd30 100644
--- a/Numeric/gsl_min.cpp
+++ b/Numeric/gsl_min.cpp
@@ -3,7 +3,7 @@
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
 
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if defined(HAVE_GSL)
 
diff --git a/Numeric/gsl_newt.cpp b/Numeric/gsl_newt.cpp
index 6264e210fe1b194e8659d1635a8dbe4849694db1..f8dfc1e3ea7d9acf64efeb2a73adf1fa3830887c 100644
--- a/Numeric/gsl_newt.cpp
+++ b/Numeric/gsl_newt.cpp
@@ -9,7 +9,7 @@
 
 // This implements a Newton method using the GSL.
 
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if defined(HAVE_GSL)
 
diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp
index 1f67ad82469fa6563dd4fcbc25e5b69548ed20fa..1672d8274836f66a18c7025ba7cb938c4386b3d7 100644
--- a/Parser/Gmsh.tab.cpp
+++ b/Parser/Gmsh.tab.cpp
@@ -328,7 +328,7 @@
 #include <string.h>
 #include <stdarg.h>
 #include <time.h>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "MallocUtils.h"
 #include "ListUtils.h"
 #include "TreeUtils.h"
diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp
index 5c619aaccf3c51c49a299fa57e07d2d9e4c57fd4..2efe86a00103e9dd0c3f73c22cbdee493807e761 100644
--- a/Parser/Gmsh.yy.cpp
+++ b/Parser/Gmsh.yy.cpp
@@ -832,7 +832,7 @@ char *gmsh_yytext;
 #include <stdlib.h>
 #include <string.h>
 #include <math.h>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Geo.h"
 #include "Gmsh.tab.hpp"
 
diff --git a/Parser/Makefile b/Parser/Makefile
index 00dc30357d68d83b0a19599b804910cb92449c6f..2dbce1c27580b420088141611f32b45c4ffd1e37 100644
--- a/Parser/Makefile
+++ b/Parser/Makefile
@@ -53,7 +53,7 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-Gmsh.tab.o: Gmsh.tab.cpp ../Common/Message.h ../Common/MallocUtils.h \
+Gmsh.tab.o: Gmsh.tab.cpp ../Common/GmshMessage.h ../Common/MallocUtils.h \
   ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \
   ../Common/ListUtils.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
@@ -75,7 +75,7 @@ Gmsh.tab.o: Gmsh.tab.cpp ../Common/Message.h ../Common/MallocUtils.h \
   ../Common/CreateFile.h ../Mesh/Field.h ../Post/PView.h \
   ../Mesh/BackgroundMesh.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Plugin/PluginManager.h
-Gmsh.yy.o: Gmsh.yy.cpp ../Common/Message.h ../Geo/Geo.h \
+Gmsh.yy.o: Gmsh.yy.cpp ../Common/GmshMessage.h ../Geo/Geo.h \
   ../Common/GmshDefines.h ../Geo/gmshSurface.h ../Geo/Pair.h \
   ../Geo/Range.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
diff --git a/Plugin/Makefile b/Plugin/Makefile
index 0b3f27f9ce928e24353f80a373540852971b2584..99e676226e2e2053543b43beeb103f07c2949a58 100644
--- a/Plugin/Makefile
+++ b/Plugin/Makefile
@@ -61,11 +61,11 @@ depend:
 
 # DO NOT DELETE THIS LINE
 Plugin.o: Plugin.cpp Plugin.h ../Common/Options.h ../Post/ColorTable.h \
-  ../Common/Message.h ../Post/PView.h ../Geo/SPoint3.h \
+  ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \
   ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/ListUtils.h ../Common/GmshMatrix.h
 PluginManager.o: PluginManager.cpp Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h PluginManager.h CutMap.h Levelset.h CutGrid.h \
@@ -79,64 +79,64 @@ PluginManager.o: PluginManager.cpp Plugin.h ../Common/Options.h \
   ../Common/OctreeInternals.h Probe.h FieldView.h GSHHS.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
 Levelset.o: Levelset.cpp Levelset.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h MakeSimplex.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Post/adaptiveData.h
 CutPlane.o: CutPlane.cpp CutPlane.h Levelset.h Plugin.h \
-  ../Common/Options.h ../Post/ColorTable.h ../Common/Message.h \
+  ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Common/GmshMatrix.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h ../Common/GmshUI.h \
   ../Graphics/Draw.h
 CutSphere.o: CutSphere.cpp CutSphere.h Levelset.h Plugin.h \
-  ../Common/Options.h ../Post/ColorTable.h ../Common/Message.h \
+  ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Common/GmshMatrix.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h ../Common/GmshUI.h \
   ../Graphics/Draw.h
 CutMap.o: CutMap.cpp CutMap.h Levelset.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
 Smooth.o: Smooth.cpp Smooth.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h
 CutParametric.o: CutParametric.cpp ../Post/OctreePost.h \
   ../Common/Octree.h ../Common/OctreeInternals.h CutParametric.h Plugin.h \
-  ../Common/Options.h ../Post/ColorTable.h ../Common/Message.h \
+  ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Common/GmshMatrix.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h ../Common/GmshUI.h \
   ../Graphics/Draw.h
 Lambda2.o: Lambda2.cpp Lambda2.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
 Eigenvectors.o: Eigenvectors.cpp Eigenvectors.h Plugin.h \
-  ../Common/Options.h ../Post/ColorTable.h ../Common/Message.h \
+  ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Common/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Numeric/EigSolve.h
 Eigenvalues.o: Eigenvalues.cpp Eigenvalues.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
 StreamLines.o: StreamLines.cpp StreamLines.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Post/OctreePost.h ../Common/Octree.h \
@@ -145,18 +145,18 @@ StreamLines.o: StreamLines.cpp StreamLines.h Plugin.h ../Common/Options.h \
   ../Common/GmshUI.h ../Graphics/Draw.h
 CutGrid.o: CutGrid.cpp ../Post/OctreePost.h ../Common/Octree.h \
   ../Common/OctreeInternals.h CutGrid.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Common/GmshUI.h ../Graphics/Draw.h
 Transform.o: Transform.cpp Transform.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h
 LongitudeLatitude.o: LongitudeLatitude.cpp LongitudeLatitude.h Plugin.h \
-  ../Common/Options.h ../Post/ColorTable.h ../Common/Message.h \
+  ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Common/GmshMatrix.h
@@ -169,33 +169,33 @@ Triangulate.o: Triangulate.cpp ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
   ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/discreteFace.h ../Geo/GModel.h \
-  ../Geo/GFace.h ../Mesh/DivideAndConquer.h ../Common/Message.h \
+  ../Geo/GFace.h ../Mesh/DivideAndConquer.h ../Common/GmshMessage.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h Triangulate.h Plugin.h \
   ../Common/Options.h ../Post/ColorTable.h ../Post/PView.h \
   ../Post/PViewDataList.h ../Post/PViewData.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
 Warp.o: Warp.cpp Warp.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \
-  ../Common/Message.h ../Post/PView.h ../Geo/SPoint3.h \
+  ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \
   ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/ListUtils.h ../Common/GmshMatrix.h \
   ../Common/SmoothData.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
 SphericalRaise.o: SphericalRaise.cpp SphericalRaise.h Plugin.h \
-  ../Common/Options.h ../Post/ColorTable.h ../Common/Message.h \
+  ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Common/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
 Skin.o: Skin.cpp Skin.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \
-  ../Common/Message.h ../Post/PView.h ../Geo/SPoint3.h \
+  ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \
   ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/ListUtils.h ../Common/GmshMatrix.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ../Common/MallocUtils.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
 GSHHS.o: GSHHS.cpp GSHHS.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Mesh/Field.h ../Geo/GModel.h ../Geo/GVertex.h \
@@ -207,18 +207,18 @@ GSHHS.o: GSHHS.cpp GSHHS.h Plugin.h ../Common/Options.h \
   ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h
 Extract.o: Extract.cpp Extract.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h
 ExtractElements.o: ExtractElements.cpp ExtractElements.h Plugin.h \
-  ../Common/Options.h ../Post/ColorTable.h ../Common/Message.h \
+  ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Common/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
 ExtractEdges.o: ExtractEdges.cpp ExtractEdges.h Plugin.h \
-  ../Common/Options.h ../Post/ColorTable.h ../Common/Message.h \
+  ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Common/GmshMatrix.h ../Mesh/BDS.h \
@@ -229,18 +229,18 @@ ExtractEdges.o: ExtractEdges.cpp ExtractEdges.h Plugin.h \
   ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/Pair.h
 MakeSimplex.o: MakeSimplex.cpp MakeSimplex.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h
 Evaluate.o: Evaluate.cpp Evaluate.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Post/OctreePost.h ../Common/Octree.h \
   ../Common/OctreeInternals.h
 FieldView.o: FieldView.cpp FieldView.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Mesh/Field.h ../Geo/GModel.h ../Geo/GVertex.h \
@@ -252,32 +252,32 @@ FieldView.o: FieldView.cpp FieldView.h Plugin.h ../Common/Options.h \
   ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h
 Integrate.o: Integrate.cpp Integrate.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Post/shapeFunctions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Post/PViewOptions.h \
   ../Post/ColorTable.h
 Gradient.o: Gradient.cpp Gradient.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Post/shapeFunctions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
 Curl.o: Curl.cpp Curl.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \
-  ../Common/Message.h ../Post/PView.h ../Geo/SPoint3.h \
+  ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \
   ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/ListUtils.h ../Common/GmshMatrix.h \
   ../Post/shapeFunctions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
 Divergence.o: Divergence.cpp Divergence.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Post/shapeFunctions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
 Annotate.o: Annotate.cpp Annotate.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
@@ -286,24 +286,24 @@ Annotate.o: Annotate.cpp Annotate.h Plugin.h ../Common/Options.h \
   ../Fltk/Popup_Button.h ../Fltk/SpherePosition_Widget.h ../Mesh/Field.h \
   ../Graphics/Draw.h
 Remove.o: Remove.cpp Remove.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h
 Probe.o: Probe.cpp Probe.h Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Post/OctreePost.h ../Common/Octree.h \
   ../Common/OctreeInternals.h ../Common/GmshUI.h ../Graphics/Draw.h
 HarmonicToTime.o: HarmonicToTime.cpp HarmonicToTime.h Plugin.h \
-  ../Common/Options.h ../Post/ColorTable.h ../Common/Message.h \
+  ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Common/GmshMatrix.h
 ModulusPhase.o: ModulusPhase.cpp ModulusPhase.h Plugin.h \
-  ../Common/Options.h ../Post/ColorTable.h ../Common/Message.h \
+  ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Common/GmshMatrix.h
diff --git a/Plugin/Plugin.h b/Plugin/Plugin.h
index f16380d3271c38f17834efc51e86f434b969a153..b1855267edccc46b33303629f02de5506b0f6225 100644
--- a/Plugin/Plugin.h
+++ b/Plugin/Plugin.h
@@ -16,7 +16,7 @@
 #include <string.h>
 #include <stdio.h>
 #include "Options.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "PView.h"
 #include "PViewDataList.h"
 #include "GmshMatrix.h"
diff --git a/Plugin/Triangulate.cpp b/Plugin/Triangulate.cpp
index 7a4f7c0a436f818a4fb27afb476c825066f612a0..21eef2371d856be986f32879c535502d78949698 100644
--- a/Plugin/Triangulate.cpp
+++ b/Plugin/Triangulate.cpp
@@ -7,7 +7,7 @@
 #include "GModel.h"
 #include "discreteFace.h"
 #include "DivideAndConquer.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "MVertex.h"
 #include "Triangulate.h"
 #include "Context.h"
diff --git a/Post/ColorTable.cpp b/Post/ColorTable.cpp
index 7e4f62456e5ba80eaabd7b22e5336c41a8b9bd4b..eb1c171c5992e690f4cc6ed68c9773675bb6ec35 100644
--- a/Post/ColorTable.cpp
+++ b/Post/ColorTable.cpp
@@ -13,7 +13,7 @@
 // and Andre Battaiola.
 
 #include <string.h>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "ColorTable.h"
 #include "Context.h"
 #include "Numeric.h"
diff --git a/Post/Makefile b/Post/Makefile
index 15291678defe1847bb17d80687bd1de84a49e4f0..3bcfb016c1c6c81a6c4495685345f5bd3a449d83 100644
--- a/Post/Makefile
+++ b/Post/Makefile
@@ -60,7 +60,7 @@ PView.o: PView.cpp PView.h ../Geo/SPoint3.h PViewDataList.h PViewData.h \
   ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h PViewOptions.h ColorTable.h \
   ../Common/VertexArray.h ../Common/SmoothData.h adaptiveData.h \
-  ../Common/GmshMatrix.h ../Common/Message.h
+  ../Common/GmshMatrix.h ../Common/GmshMessage.h
 PViewIO.o: PViewIO.cpp PView.h ../Geo/SPoint3.h PViewDataList.h \
   PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h PViewDataGModel.h ../Geo/GModel.h \
@@ -71,24 +71,24 @@ PViewIO.o: PViewIO.cpp PView.h ../Geo/SPoint3.h PViewDataList.h \
   ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \
   ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Common/StringUtils.h \
-  ../Common/Message.h
+  ../Common/GmshMessage.h
 PViewData.o: PViewData.cpp PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/ListUtils.h adaptiveData.h \
   ../Common/GmshMatrix.h ../Numeric/Numeric.h \
-  ../Numeric/NumericEmbedded.h ../Common/Message.h
-PViewDataIO.o: PViewDataIO.cpp ../Common/Message.h ../Numeric/Numeric.h \
-  ../Numeric/NumericEmbedded.h PViewData.h ../Geo/SBoundingBox3d.h \
-  ../Geo/SPoint3.h
+  ../Numeric/NumericEmbedded.h ../Common/GmshMessage.h
+PViewDataIO.o: PViewDataIO.cpp ../Common/GmshMessage.h \
+  ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h PViewData.h \
+  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
 PViewDataList.o: PViewDataList.cpp PViewDataList.h PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
-  ../Common/SmoothData.h ../Common/Message.h ../Common/Context.h \
+  ../Common/SmoothData.h ../Common/GmshMessage.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
 PViewDataListIO.o: PViewDataListIO.cpp PViewDataList.h PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
-  ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h ../Common/Message.h \
-  ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
-  adaptiveData.h ../Common/GmshMatrix.h
+  ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
+  ../Common/GmshMessage.h ../Common/Context.h ../Geo/CGNSOptions.h \
+  ../Mesh/PartitionOptions.h adaptiveData.h ../Common/GmshMatrix.h
 PViewDataGModel.o: PViewDataGModel.cpp PViewDataGModel.h PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
@@ -100,10 +100,10 @@ PViewDataGModel.o: PViewDataGModel.cpp PViewDataGModel.h PViewData.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/MElement.h \
   ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint3.h \
   ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \
-  ../Geo/MVertex.h ../Geo/SVector3.h ../Common/Message.h \
+  ../Geo/MVertex.h ../Geo/SVector3.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-PViewDataGModelIO.o: PViewDataGModelIO.cpp ../Common/Message.h \
+PViewDataGModelIO.o: PViewDataGModelIO.cpp ../Common/GmshMessage.h \
   PViewDataGModel.h PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GPoint.h \
@@ -119,9 +119,9 @@ PViewDataGModelIO.o: PViewDataGModelIO.cpp ../Common/Message.h \
   ../Common/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/StringUtils.h
 PViewOptions.o: PViewOptions.cpp PViewOptions.h ColorTable.h \
-  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/Message.h
+  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshMessage.h
 adaptiveData.o: adaptiveData.cpp ../Plugin/Plugin.h ../Common/Options.h \
-  ../Post/ColorTable.h ../Common/Message.h ../Post/PView.h \
+  ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Common/GmshMatrix.h adaptiveData.h
@@ -136,11 +136,11 @@ OctreePost.o: OctreePost.cpp ../Common/Octree.h \
   ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \
   ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Numeric/Numeric.h \
-  ../Numeric/NumericEmbedded.h ../Common/Message.h shapeFunctions.h \
+  ../Numeric/NumericEmbedded.h ../Common/GmshMessage.h shapeFunctions.h \
   ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
   ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
   ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
   ../Numeric/FunctionSpace.h ../Common/GmshMatrix.h
-ColorTable.o: ColorTable.cpp ../Common/Message.h ColorTable.h \
+ColorTable.o: ColorTable.cpp ../Common/GmshMessage.h ColorTable.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h
diff --git a/Post/OctreePost.cpp b/Post/OctreePost.cpp
index 0c19f20cd78da19c7166b60e7558dc335bccfb21..43cf929661266c5dd8f0e639bf5c7aaa4a879407 100644
--- a/Post/OctreePost.cpp
+++ b/Post/OctreePost.cpp
@@ -10,7 +10,7 @@
 #include "PViewDataList.h"
 #include "PViewDataGModel.h"
 #include "Numeric.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "shapeFunctions.h"
 #include "GModel.h"
 #include "MElement.h"
diff --git a/Post/PView.cpp b/Post/PView.cpp
index 973807209886f34c78b8810b9217ec0e1db1d4af..7a2113424dcba51e0405b4504193f577045b5f3b 100644
--- a/Post/PView.cpp
+++ b/Post/PView.cpp
@@ -12,7 +12,7 @@
 #include "VertexArray.h"
 #include "SmoothData.h"
 #include "adaptiveData.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 int PView::_globalNum = 0;
 std::vector<PView*> PView::list;
diff --git a/Post/PViewData.cpp b/Post/PViewData.cpp
index bedcbe799f7b0e456df7e4a9c62f633506b31d21..73031a391f3b6e14fd0a53fee1f7639667656f93 100644
--- a/Post/PViewData.cpp
+++ b/Post/PViewData.cpp
@@ -7,7 +7,7 @@
 #include "ListUtils.h"
 #include "adaptiveData.h"
 #include "Numeric.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 PViewData::PViewData()
   : _dirty(true), _fileIndex(0), _adaptive(0)
diff --git a/Post/PViewDataGModel.cpp b/Post/PViewDataGModel.cpp
index e57e1e5bc2d4a3cc50a19379c0e9e25f03bd3d52..edaddc36ae6b1e42be8ea4315964a152f8937ed3 100644
--- a/Post/PViewDataGModel.cpp
+++ b/Post/PViewDataGModel.cpp
@@ -6,7 +6,7 @@
 #include "PViewDataGModel.h"
 #include "MElement.h"
 #include "Numeric.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 PViewDataGModel::PViewDataGModel(DataType type) 
   : PViewData(), _min(VAL_INF), _max(-VAL_INF), _type(type)
diff --git a/Post/PViewDataGModelIO.cpp b/Post/PViewDataGModelIO.cpp
index 4be0c13da70be37aaee6b49aaf380a91375d6533..c3d557edb609f53dfeb76a5887d5299eadd24142 100644
--- a/Post/PViewDataGModelIO.cpp
+++ b/Post/PViewDataGModelIO.cpp
@@ -3,7 +3,7 @@
 // See the LICENSE.txt file for license information. Please report all
 // bugs and problems to <gmsh@geuz.org>.
 
-#include "Message.h"
+#include "GmshMessage.h"
 #include "PViewDataGModel.h"
 #include "MVertex.h"
 #include "MElement.h"
diff --git a/Post/PViewDataIO.cpp b/Post/PViewDataIO.cpp
index e7834138ce8df5f2342ca8ea7529bd7503d4f0aa..68d72bad21fcc1069aabd8bef672a5cede4e9b27 100644
--- a/Post/PViewDataIO.cpp
+++ b/Post/PViewDataIO.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include <string.h>
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Numeric.h"
 #include "PViewData.h"
 
diff --git a/Post/PViewDataList.cpp b/Post/PViewDataList.cpp
index d21a975c7a0de74085e79f512ca7407850683ac9..cd70384a5872eb7f332a71aca4752f57432b70c7 100644
--- a/Post/PViewDataList.cpp
+++ b/Post/PViewDataList.cpp
@@ -6,7 +6,7 @@
 #include "PViewDataList.h"
 #include "Numeric.h"
 #include "SmoothData.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Context.h"
 
 extern Context_T CTX;
diff --git a/Post/PViewDataListIO.cpp b/Post/PViewDataListIO.cpp
index 53ff5020221e11a89fee6802daf0eef77bc82eac..6c0935b1d2784440c88c1cff4a4fa72e7cf04fba 100644
--- a/Post/PViewDataListIO.cpp
+++ b/Post/PViewDataListIO.cpp
@@ -7,7 +7,7 @@
 #include <set>
 #include "PViewDataList.h"
 #include "Numeric.h"
-#include "Message.h"
+#include "GmshMessage.h"
 #include "Context.h"
 #include "adaptiveData.h"
 
diff --git a/Post/PViewIO.cpp b/Post/PViewIO.cpp
index 7ae79a56d5d21995538a980b7e44f4d762fa95a1..9628730b95673a143bc6ad1c012623b026893623 100644
--- a/Post/PViewIO.cpp
+++ b/Post/PViewIO.cpp
@@ -7,7 +7,7 @@
 #include "PViewDataList.h"
 #include "PViewDataGModel.h"
 #include "StringUtils.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 bool PView::readPOS(std::string fileName, int fileIndex)
 {
diff --git a/Post/PViewOptions.cpp b/Post/PViewOptions.cpp
index e1289b31e2edfa3e46ab0dcec6a04b85dfd7dd61..66acb7dda23c2039e74946fd675ef2283567c9e0 100644
--- a/Post/PViewOptions.cpp
+++ b/Post/PViewOptions.cpp
@@ -5,7 +5,7 @@
 
 #include <string.h>
 #include "PViewOptions.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #if defined(HAVE_MATH_EVAL)
 #include "matheval.h"
diff --git a/Post/shapeFunctions.h b/Post/shapeFunctions.h
index b7b491ba148a1a20b92faae492a86c4e0c346aa9..4e76cef47fabbcd582afc2f9315b121c13653968 100644
--- a/Post/shapeFunctions.h
+++ b/Post/shapeFunctions.h
@@ -7,7 +7,7 @@
 #define _SHAPE_FUNCTIONS_H_
 
 #include "Numeric.h"
-#include "Message.h"
+#include "GmshMessage.h"
 
 #define ONE     (1. + 1.e-6)
 #define ZERO    (-1.e-6)
diff --git a/contrib/Chaco/main/Gmsh_printf.cpp b/contrib/Chaco/main/Gmsh_printf.cpp
index 516ae649e6e36986188dd2b1112f204f95fb4784..666d2bf66987d3b9f2a459ba37d64e8f695608e7 100644
--- a/contrib/Chaco/main/Gmsh_printf.cpp
+++ b/contrib/Chaco/main/Gmsh_printf.cpp
@@ -4,7 +4,7 @@
 // bugs and problems to <gmsh@geuz.org>.
 
 #include <cstring>
-#include "Message.h"
+#include "GmshMessage.h"
 
 // Overload the printf statements in Chaco to write using Msg::Direct in gmsh
 
diff --git a/contrib/NR/nrutil.cpp b/contrib/NR/nrutil.cpp
index 64bf6eaa8175c635b3cbef28eb91b0581d69aa73..0666bc287a166bbd195ab9724d301a8966e3f1fd 100644
--- a/contrib/NR/nrutil.cpp
+++ b/contrib/NR/nrutil.cpp
@@ -3,7 +3,7 @@
 #include <stdio.h>
 #include <stddef.h>
 #include <stdlib.h>
-#include "Message.h"
+#include "GmshMessage.h"
 
 #define NR_END 1
 #define FREE_ARG char*
diff --git a/contrib/Netgen/nglib_addon.cpp b/contrib/Netgen/nglib_addon.cpp
index d36aef21dfbf1851bf21e3c8387c14350c14b51d..2cca9971f9483c71d937a55f7c1c55196b8c4713 100644
--- a/contrib/Netgen/nglib_addon.cpp
+++ b/contrib/Netgen/nglib_addon.cpp
@@ -10,7 +10,7 @@ namespace nglib {
 using namespace netgen;
 
 #include <iostream>
-#include "Message.h"
+#include "GmshMessage.h"
 
 namespace nglib
 {
diff --git a/doc/TODO.txt b/doc/TODO.txt
index d35b4365922bf00fd9f3f9ac633011a9ebae1ed1..beb80c1ca4f95ce7e77b8fa358893c52c08bfdfe 100644
--- a/doc/TODO.txt
+++ b/doc/TODO.txt
@@ -1,4 +1,11 @@
-$Id: TODO.txt,v 1.9 2008-11-04 18:21:43 geuzaine Exp $
+$Id: TODO.txt,v 1.10 2008-11-14 17:55:18 geuzaine Exp $
+
+********************************************************************
+
+clarify physical names/ids : physical names are directly mapped to
+integers, without the notion of dimension -> hence, some physical are
+impossible to name (e.g. if Physical Line(1)={..} and Physical
+Surface(1)={...});
 
 ********************************************************************