diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index c0b28d54d77a1148f9b7da45433c7620e05433df..fe67e27bce88d7c83bc60059d20409db5807c4ac 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,14 +1,15 @@
 4.7.0 (Work-in-progress): API errors now throw exceptions with the last error
-message (instead of an integer error code); new API to retrieve "homogeneous"
-model-based data (for improved Python performance), to set interpolation
-matrices for high-order datasets, to assign "automatic" transfinite meshing
-constraints and to pass native (C++, C, Python or Julia) mesh size callback;
-added option to save high-order periodic node info; added support for scripted
-window splitting; improved VTK reader; new MatrixOfInertia command; added
-support for Unicode command line arguments on Windows; removed bundled Mmg3D and
-added support for stock Mmg 5; Gmsh now requires C++11 and CMake 3.1, and uses
-Eigen by default instead of Blas/Lapack for dense linear algebra; small bug
-fixes.
+message (instead of an integer error code); API functions now print messages on
+terminal by default, and throw exceptions on all errors; new API functions to
+retrieve "homogeneous" model-based data (for improved Python performance), to
+set interpolation matrices for high-order datasets, to assign "automatic"
+transfinite meshing constraints and to pass native (C++, C, Python or Julia)
+mesh size callback; added option to save high-order periodic node info; added
+support for scripted window splitting; improved VTK reader; new MatrixOfInertia
+command; added support for Unicode command line arguments on Windows; removed
+bundled Mmg3D and added support for stock Mmg 5; Gmsh now requires C++11 and
+CMake 3.1, and uses Eigen by default instead of Blas/Lapack for dense linear
+algebra; small bug fixes.
 
 * Incompatible API changes: new optional argument to geo/addCurveLoop
 
diff --git a/Common/gmsh.cpp b/Common/gmsh.cpp
index 58f716a5ed433461019ab1777d34557fe2c9bef7..816e4189da76b43dc4ab75fa50655ba858b71880 100644
--- a/Common/gmsh.cpp
+++ b/Common/gmsh.cpp
@@ -99,11 +99,9 @@ static int _initialized = 0;
 static int _argc = 0;
 static char **_argv = 0;
 
-static bool _isInit()
+static bool _checkInit()
 {
   if(!_initialized) {
-    // make sure stuff gets printed out
-    CTX::instance()->terminal = 1;
     Msg::Error("Gmsh has not been initialized");
     return false;
   }
@@ -114,11 +112,6 @@ static bool _isInit()
   return true;
 }
 
-static void _checkInit()
-{
-  if(!_isInit()) throw Msg::GetLastError();
-}
-
 // gmsh
 
 GMSH_API void gmsh::initialize(int argc, char **argv, bool readConfigFiles)
@@ -127,6 +120,11 @@ GMSH_API void gmsh::initialize(int argc, char **argv, bool readConfigFiles)
     Msg::Warning("Gmsh has aleady been initialized");
     return;
   }
+  // throw an exception as soon as an error occurs (to keep going after errors
+  // like in the Gmsh app, set "General.AbortOnError" to 0)
+  CTX::instance()->abortOnError = 2;
+  // show messages on the terminal (to disable this set "General.Terminal" to 0)
+  CTX::instance()->terminal = 1;
   if(GmshInitialize(argc, argv, readConfigFiles, false)) {
     _initialized = 1;
     _argc = argc;
@@ -135,12 +133,11 @@ GMSH_API void gmsh::initialize(int argc, char **argv, bool readConfigFiles)
     return;
   }
   Msg::Error("Something went wrong when initializing Gmsh");
-  throw Msg::GetLastError();
 }
 
 GMSH_API void gmsh::finalize()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(GmshFinalize()) {
     _argc = 0;
     if(_argv) delete[] _argv;
@@ -149,43 +146,33 @@ GMSH_API void gmsh::finalize()
     return;
   }
   Msg::Error("Something went wrong when finalizing Gmsh");
-  throw Msg::GetLastError();
 }
 
 GMSH_API void gmsh::open(const std::string &fileName)
 {
-  _checkInit();
-  if(!GmshOpenProject(fileName)) {
+  if(!_checkInit()) return;
+  if(!GmshOpenProject(fileName))
     Msg::Error("Could not open file '%s'", fileName.c_str());
-    throw Msg::GetLastError();
-  }
 }
 
 GMSH_API void gmsh::merge(const std::string &fileName)
 {
-  _checkInit();
-  if(!GmshMergeFile(fileName)) {
+  if(!_checkInit()) return;
+  if(!GmshMergeFile(fileName))
     Msg::Error("Could not merge file '%s'", fileName.c_str());
-    throw Msg::GetLastError();
-  }
 }
 
 GMSH_API void gmsh::write(const std::string &fileName)
 {
-  _checkInit();
-  if(!GmshWriteFile(fileName)) {
+  if(!_checkInit()) return;
+  if(!GmshWriteFile(fileName))
     Msg::Error("Could not write file '%s'", fileName.c_str());
-    throw Msg::GetLastError();
-  }
 }
 
 GMSH_API void gmsh::clear()
 {
-  _checkInit();
-  if(!GmshClearProject()) {
-    Msg::Error("Could not clear project");
-    throw Msg::GetLastError();
-  }
+  if(!_checkInit()) return;
+  if(!GmshClearProject()) Msg::Error("Could not clear project");
 }
 
 // gmsh::option
@@ -193,72 +180,62 @@ GMSH_API void gmsh::clear()
 GMSH_API void gmsh::option::setNumber(const std::string &name,
                                       const double value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   std::string c, n;
   int i;
   SplitOptionName(name, c, n, i);
-  if(!GmshSetOption(c, n, value, i)) {
+  if(!GmshSetOption(c, n, value, i))
     Msg::Error("Could not set option '%s'", name.c_str());
-    throw Msg::GetLastError();
-  }
 }
 
 GMSH_API void gmsh::option::getNumber(const std::string &name, double &value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   std::string c, n;
   int i;
   SplitOptionName(name, c, n, i);
-  if(!GmshGetOption(c, n, value, i)) {
+  if(!GmshGetOption(c, n, value, i))
     Msg::Error("Could not get option '%s'", name.c_str());
-    throw Msg::GetLastError();
-  }
 }
 
 GMSH_API void gmsh::option::setString(const std::string &name,
                                       const std::string &value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   std::string c, n;
   int i;
   SplitOptionName(name, c, n, i);
-  if(!GmshSetOption(c, n, value, i)) {
+  if(!GmshSetOption(c, n, value, i))
     Msg::Error("Could not set option '%s'", name.c_str());
-    throw Msg::GetLastError();
-  }
 }
 
 GMSH_API void gmsh::option::getString(const std::string &name,
                                       std::string &value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   std::string c, n;
   int i;
   SplitOptionName(name, c, n, i);
-  if(!GmshGetOption(c, n, value, i)) {
+  if(!GmshGetOption(c, n, value, i))
     Msg::Error("Could not get option '%s'", name.c_str());
-    throw Msg::GetLastError();
-  }
 }
 
 GMSH_API void gmsh::option::setColor(const std::string &name, const int r,
                                      const int g, const int b, const int a)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   std::string c, n;
   int i;
   SplitOptionName(name, c, n, i);
   unsigned int value = CTX::instance()->packColor(r, g, b, a);
-  if(!GmshSetOption(c, n, value, i)) {
+  if(!GmshSetOption(c, n, value, i))
     Msg::Error("Could not set option '%s'", name.c_str());
-    throw Msg::GetLastError();
-  }
 }
 
 GMSH_API void gmsh::option::getColor(const std::string &name, int &r, int &g,
                                      int &b, int &a)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   std::string c, n;
   int i;
   SplitOptionName(name, c, n, i);
@@ -271,7 +248,6 @@ GMSH_API void gmsh::option::getColor(const std::string &name, int &r, int &g,
   }
   else {
     Msg::Error("Could not get option '%s'", name.c_str());
-    throw Msg::GetLastError();
   }
 }
 
@@ -279,45 +255,41 @@ GMSH_API void gmsh::option::getColor(const std::string &name, int &r, int &g,
 
 GMSH_API void gmsh::model::add(const std::string &name)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel *m = new GModel(name);
-  if(!m) {
-    Msg::Error("Could not add model '%s'", name.c_str());
-    throw Msg::GetLastError();
-  }
+  if(!m) Msg::Error("Could not add model '%s'", name.c_str());
 }
 
 GMSH_API void gmsh::model::remove()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel *m = GModel::current();
-  if(!m) {
+  if(m)
+    delete m;
+  else
     Msg::Error("Could not remove current model");
-    throw Msg::GetLastError();
-  }
-  delete m;
 }
 
 GMSH_API void gmsh::model::list(std::vector<std::string> &names)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   for(std::size_t i = 0; i < GModel::list.size(); i++)
     names.push_back(GModel::list[i]->getName());
 }
 
 GMSH_API void gmsh::model::getCurrent(std::string &name)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   name = GModel::current()->getName();
 }
 
 GMSH_API void gmsh::model::setCurrent(const std::string &name)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel *m = GModel::findByName(name);
   if(!m) {
     Msg::Error("Could find model '%s'", name.c_str());
-    throw Msg::GetLastError();
+    return;
   }
   GModel::setCurrent(m);
   for(std::size_t i = 0; i < GModel::list.size(); i++)
@@ -328,7 +300,7 @@ GMSH_API void gmsh::model::setCurrent(const std::string &name)
 
 GMSH_API void gmsh::model::getEntities(vectorpair &dimTags, const int dim)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   dimTags.clear();
   std::vector<GEntity *> entities;
   GModel::current()->getEntities(entities, dim);
@@ -340,20 +312,20 @@ GMSH_API void gmsh::model::getEntities(vectorpair &dimTags, const int dim)
 GMSH_API void gmsh::model::setEntityName(const int dim, const int tag,
                                          const std::string &name)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->setElementaryName(dim, tag, name);
 }
 
 GMSH_API void gmsh::model::getEntityName(const int dim, const int tag,
                                          std::string &name)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   name = GModel::current()->getElementaryName(dim, tag);
 }
 
 GMSH_API void gmsh::model::getPhysicalGroups(vectorpair &dimTags, const int dim)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   dimTags.clear();
   std::map<int, std::vector<GEntity *> > groups[4];
   GModel::current()->getPhysicalGroups(groups);
@@ -384,7 +356,7 @@ GMSH_API void gmsh::model::getEntitiesForPhysicalGroup(const int dim,
                                                        const int tag,
                                                        std::vector<int> &tags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   tags.clear();
   std::map<int, std::vector<GEntity *> > groups;
   GModel::current()->getPhysicalGroups(dim, groups);
@@ -395,7 +367,6 @@ GMSH_API void gmsh::model::getEntitiesForPhysicalGroup(const int dim,
   }
   else {
     Msg::Error("Physical %s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
   }
 }
 
@@ -403,12 +374,12 @@ GMSH_API void
 gmsh::model::getPhysicalGroupsForEntity(const int dim, const int tag,
                                         std::vector<int> &physicalTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   physicalTags.clear();
   GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
   if(!ge) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   std::vector<int> phy = ge->getPhysicalEntities();
   physicalTags.resize(phy.size());
@@ -425,7 +396,7 @@ GMSH_API int gmsh::model::addPhysicalGroup(const int dim,
   // kernel triggers a reset of physical groups in GModel, followed by a
   // copy. So we currently need to maintain both copies when playing with
   // physical groups in the api at the model level.
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
   if(outTag < 0) {
     outTag =
@@ -436,7 +407,7 @@ GMSH_API int gmsh::model::addPhysicalGroup(const int dim,
   if(!GModel::current()->getGEOInternals()->modifyPhysicalGroup(dim, outTag, 0,
                                                                 tags)) {
     Msg::Error("Could not add physical group");
-    throw Msg::GetLastError();
+    return -1;
   }
   GModel::current()->addPhysicalGroup(dim, outTag, tags);
   return outTag;
@@ -444,7 +415,7 @@ GMSH_API int gmsh::model::addPhysicalGroup(const int dim,
 
 GMSH_API void gmsh::model::removePhysicalGroups(const vectorpair &dimTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(dimTags.empty()) {
     GModel::current()->getGEOInternals()->resetPhysicalGroups();
     GModel::current()->removePhysicalGroups();
@@ -464,20 +435,20 @@ GMSH_API void gmsh::model::removePhysicalGroups(const vectorpair &dimTags)
 GMSH_API void gmsh::model::setPhysicalName(const int dim, const int tag,
                                            const std::string &name)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->setPhysicalName(name, dim, tag);
 }
 
 GMSH_API void gmsh::model::removePhysicalName(const std::string &name)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->removePhysicalName(name);
 }
 
 GMSH_API void gmsh::model::getPhysicalName(const int dim, const int tag,
                                            std::string &name)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   name = GModel::current()->getPhysicalName(dim, tag);
 }
 
@@ -486,12 +457,11 @@ GMSH_API void gmsh::model::getBoundary(const vectorpair &dimTags,
                                        const bool combined, const bool oriented,
                                        const bool recursive)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   outDimTags.clear();
   if(!GModel::current()->getBoundaryTags(dimTags, outDimTags, combined,
                                          oriented, recursive)) {
     Msg::Error("Could not get boundary");
-    throw Msg::GetLastError();
   }
 }
 
@@ -499,7 +469,7 @@ GMSH_API void gmsh::model::getEntitiesInBoundingBox(
   const double xmin, const double ymin, const double zmin, const double xmax,
   const double ymax, const double zmax, vectorpair &dimTags, const int dim)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   dimTags.clear();
   SBoundingBox3d box(xmin, ymin, zmin, xmax, ymax, zmax);
   std::vector<GEntity *> entities;
@@ -514,27 +484,27 @@ GMSH_API void gmsh::model::getBoundingBox(const int dim, const int tag,
                                           double &zmin, double &xmax,
                                           double &ymax, double &zmax)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 
   SBoundingBox3d box;
   if(dim < 0 && tag < 0) {
     box = GModel::current()->bounds();
     if(box.empty()) {
       Msg::Error("Empty bounding box");
-      throw Msg::GetLastError();
+      return;
     }
   }
   else {
     GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
     if(!ge) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     box = ge->bounds();
   }
   if(box.empty()) {
     Msg::Error("Empty bounding box");
-    throw Msg::GetLastError();
+    return;
   }
   xmin = box.min().x();
   ymin = box.min().y();
@@ -546,15 +516,14 @@ GMSH_API void gmsh::model::getBoundingBox(const int dim, const int tag,
 
 GMSH_API int gmsh::model::getDimension()
 {
-  _checkInit();
-
+  if(!_checkInit()) return -1;
   return GModel::current()->getDim();
 }
 
 GMSH_API int gmsh::model::addDiscreteEntity(const int dim, const int tag,
                                             const std::vector<int> &boundary)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
   if(outTag < 0) {
     outTag = GModel::current()->getMaxElementaryNumber(dim) + 1;
@@ -562,7 +531,7 @@ GMSH_API int gmsh::model::addDiscreteEntity(const int dim, const int tag,
   GEntity *e = GModel::current()->getEntityByTag(dim, outTag);
   if(e) {
     Msg::Error("%s already exists", _getEntityName(dim, outTag).c_str());
-    throw Msg::GetLastError();
+    return -1;
   }
   switch(dim) {
   case 0: {
@@ -609,24 +578,24 @@ GMSH_API int gmsh::model::addDiscreteEntity(const int dim, const int tag,
 GMSH_API void gmsh::model::removeEntities(const vectorpair &dimTags,
                                           const bool recursive)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->remove(dimTags, recursive);
 }
 
 GMSH_API void gmsh::model::removeEntityName(const std::string &name)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->removeElementaryName(name);
 }
 
 GMSH_API void gmsh::model::getType(const int dim, const int tag,
                                    std::string &entityType)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
   if(!ge) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   entityType = ge->getTypeString();
 }
@@ -634,13 +603,13 @@ GMSH_API void gmsh::model::getType(const int dim, const int tag,
 GMSH_API void gmsh::model::getParent(const int dim, const int tag,
                                      int &parentDim, int &parentTag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   parentDim = -1;
   parentTag = -1;
   GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
   if(!ge) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   GEntity *parent = ge->getParentEntity();
   if(parent) {
@@ -652,12 +621,12 @@ GMSH_API void gmsh::model::getParent(const int dim, const int tag,
 GMSH_API void gmsh::model::getPartitions(const int dim, const int tag,
                                          std::vector<int> &partitions)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   partitions.clear();
   GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
   if(!ge) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   std::vector<int> p;
   if(ge->geomType() == GEntity::PartitionPoint)
@@ -682,12 +651,12 @@ GMSH_API void gmsh::model::getValue(const int dim, const int tag,
                                     const std::vector<double> &parametricCoord,
                                     std::vector<double> &coord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   coord.clear();
   GEntity *entity = GModel::current()->getEntityByTag(dim, tag);
   if(!entity) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   if(dim == 0) {
     coord.push_back(static_cast<GVertex *>(entity)->x());
@@ -721,12 +690,12 @@ gmsh::model::getDerivative(const int dim, const int tag,
                            const std::vector<double> &parametricCoord,
                            std::vector<double> &deriv)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   deriv.clear();
   GEntity *entity = GModel::current()->getEntityByTag(dim, tag);
   if(!entity) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   if(dim == 1) {
     GEdge *ge = static_cast<GEdge *>(entity);
@@ -758,12 +727,12 @@ gmsh::model::getCurvature(const int dim, const int tag,
                           const std::vector<double> &parametricCoord,
                           std::vector<double> &curvatures)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   curvatures.clear();
   GEntity *entity = GModel::current()->getEntityByTag(dim, tag);
   if(!entity) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   if(dim == 1) {
     GEdge *ge = static_cast<GEdge *>(entity);
@@ -785,11 +754,11 @@ GMSH_API void gmsh::model::getPrincipalCurvatures(
   std::vector<double> &curvaturesMax, std::vector<double> &curvaturesMin,
   std::vector<double> &directionsMax, std::vector<double> &directionsMin)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GFace *gf = GModel::current()->getFaceByTag(tag);
   if(!gf) {
     Msg::Error("%s does not exist", _getEntityName(2, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   curvaturesMax.clear();
   curvaturesMin.clear();
@@ -816,11 +785,11 @@ GMSH_API void gmsh::model::getNormal(const int tag,
                                      const std::vector<double> &parametricCoord,
                                      std::vector<double> &normals)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GFace *gf = GModel::current()->getFaceByTag(tag);
   if(!gf) {
     Msg::Error("%s does not exist", _getEntityName(2, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   normals.clear();
   if(parametricCoord.size() % 2) return;
@@ -838,12 +807,12 @@ gmsh::model::getParametrization(const int dim, const int tag,
                                 const std::vector<double> &coord,
                                 std::vector<double> &parametricCoord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   parametricCoord.clear();
   GEntity *entity = GModel::current()->getEntityByTag(dim, tag);
   if(!entity) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   if(coord.size() % 3) return;
   if(dim == 1) {
@@ -870,13 +839,13 @@ GMSH_API void gmsh::model::getParametrizationBounds(const int dim,
                                                     std::vector<double> &min,
                                                     std::vector<double> &max)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   min.clear();
   max.clear();
   GEntity *entity = GModel::current()->getEntityByTag(dim, tag);
   if(!entity) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   for(int dim = 0; dim < entity->dim(); dim++) {
     Range<double> r = entity->parBounds(dim);
@@ -888,11 +857,11 @@ GMSH_API void gmsh::model::getParametrizationBounds(const int dim,
 GMSH_API int gmsh::model::isInside(const int dim, const int tag,
                                    const std::vector<double> &parametricCoord)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   GEntity *entity = GModel::current()->getEntityByTag(dim, tag);
   if(!entity) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return 0;
   }
   int num = 0;
   if(dim == 1) {
@@ -917,17 +886,17 @@ GMSH_API void gmsh::model::reparametrizeOnSurface(
   const int surfaceTag, std::vector<double> &surfaceParametricCoord,
   const int which)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   surfaceParametricCoord.clear();
   GEntity *entity = GModel::current()->getEntityByTag(dim, tag);
   if(!entity) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   GFace *gf = GModel::current()->getFaceByTag(surfaceTag);
   if(!gf) {
     Msg::Error("%s does not exist", _getEntityName(2, surfaceTag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   if(dim == 0) {
     GVertex *gv = static_cast<GVertex *>(entity);
@@ -950,13 +919,13 @@ GMSH_API void gmsh::model::getClosestPoint(const int dim, const int tag,
                                            std::vector<double> &closestCoord,
                                            std::vector<double> &parametricCoord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   closestCoord.clear();
   parametricCoord.clear();
   GEntity *entity = GModel::current()->getEntityByTag(dim, tag);
   if(!entity) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   if(coord.size() % 3) return;
   if(dim == 1) {
@@ -989,7 +958,7 @@ GMSH_API void gmsh::model::getClosestPoint(const int dim, const int tag,
 GMSH_API void gmsh::model::setVisibility(const vectorpair &dimTags,
                                          const int value, const bool recursive)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   for(std::size_t i = 0; i < dimTags.size(); i++) {
     GEntity *ge = GModel::current()->getEntityByTag(
       dimTags[i].first, std::abs(dimTags[i].second));
@@ -1000,11 +969,11 @@ GMSH_API void gmsh::model::setVisibility(const vectorpair &dimTags,
 GMSH_API void gmsh::model::getVisibility(const int dim, const int tag,
                                          int &value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
   if(!ge) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   value = ge->getVisibility();
 }
@@ -1012,7 +981,7 @@ GMSH_API void gmsh::model::getVisibility(const int dim, const int tag,
 GMSH_API void gmsh::model::setVisibilityPerWindow(const int value,
                                                   const int windowIndex)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_FLTK)
   FlGui::instance()->setCurrentOpenglWindow(windowIndex);
   drawContext *ctx =
@@ -1029,7 +998,7 @@ GMSH_API void gmsh::model::setColor(const vectorpair &dimTags, const int r,
                                     const int g, const int b, const int a,
                                     const bool recursive)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   for(std::size_t i = 0; i < dimTags.size(); i++) {
     GEntity *ge = GModel::current()->getEntityByTag(
       dimTags[i].first, std::abs(dimTags[i].second));
@@ -1043,11 +1012,11 @@ GMSH_API void gmsh::model::setColor(const vectorpair &dimTags, const int r,
 GMSH_API void gmsh::model::getColor(const int dim, const int tag, int &r,
                                     int &g, int &b, int &a)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
   if(!ge) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   unsigned int value = ge->getColor();
   r = CTX::instance()->unpackRed(value);
@@ -1059,11 +1028,11 @@ GMSH_API void gmsh::model::getColor(const int dim, const int tag, int &r,
 GMSH_API void gmsh::model::setCoordinates(const int tag, const double x,
                                           const double y, const double z)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GVertex *gv = GModel::current()->getVertexByTag(tag);
   if(!gv) {
     Msg::Error("%s does not exist", _getEntityName(0, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   GPoint p(x, y, z);
   gv->setPosition(p);
@@ -1073,14 +1042,14 @@ GMSH_API void gmsh::model::setCoordinates(const int tag, const double x,
 
 GMSH_API void gmsh::model::mesh::generate(const int dim)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->mesh(dim);
   CTX::instance()->mesh.changed = ENT_ALL;
 }
 
 GMSH_API void gmsh::model::mesh::partition(const int numPart)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->partitionMesh(
     numPart >= 0 ? numPart : CTX::instance()->mesh.numPartitions);
   CTX::instance()->mesh.changed = ENT_ALL;
@@ -1088,14 +1057,14 @@ GMSH_API void gmsh::model::mesh::partition(const int numPart)
 
 GMSH_API void gmsh::model::mesh::unpartition()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->unpartitionMesh();
   CTX::instance()->mesh.changed = ENT_ALL;
 }
 
 GMSH_API void gmsh::model::mesh::refine()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->refineMesh(CTX::instance()->mesh.secondOrderLinear,
                                 CTX::instance()->mesh.algoSubdivide == 1,
                                 CTX::instance()->mesh.algoSubdivide == 2,
@@ -1105,7 +1074,7 @@ GMSH_API void gmsh::model::mesh::refine()
 
 GMSH_API void gmsh::model::mesh::recombine()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->recombineMesh();
   CTX::instance()->mesh.changed = ENT_ALL;
 }
@@ -1114,7 +1083,7 @@ GMSH_API void gmsh::model::mesh::optimize(const std::string &how,
                                           const bool force, const int niter,
                                           const vectorpair &dimTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(dimTags.size()) {
     Msg::Warning(
       "Optimization of specified model entities is not interfaced yet");
@@ -1125,22 +1094,21 @@ GMSH_API void gmsh::model::mesh::optimize(const std::string &how,
 
 GMSH_API void gmsh::model::mesh::computeCrossField(std::vector<int> &tags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_MESH)
   if(computeCrossField(GModel::current(), tags)) {
     Msg::Error("Could not compute cross field");
-    throw Msg::GetLastError();
+    return;
   }
 #else
   Msg::Error("computeCrossField requires the mesh module");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::model::mesh::splitQuadrangles(const double quality,
                                                   const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_MESH)
   std::vector<GEntity *> entities;
   if(tag < 0) { GModel::current()->getEntities(entities, 2); }
@@ -1148,7 +1116,7 @@ GMSH_API void gmsh::model::mesh::splitQuadrangles(const double quality,
     GEntity *ge = GModel::current()->getEntityByTag(2, tag);
     if(!ge) {
       Msg::Error("%s does not exist", _getEntityName(2, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     entities.push_back(ge);
   }
@@ -1159,13 +1127,12 @@ GMSH_API void gmsh::model::mesh::splitQuadrangles(const double quality,
   CTX::instance()->mesh.changed = ENT_ALL;
 #else
   Msg::Error("splitQuadrangles requires the mesh module");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::model::mesh::setOrder(const int order)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->setOrderN(order, CTX::instance()->mesh.secondOrderLinear,
                                CTX::instance()->mesh.secondOrderIncomplete);
   CTX::instance()->mesh.changed = ENT_ALL;
@@ -1173,7 +1140,7 @@ GMSH_API void gmsh::model::mesh::setOrder(const int order)
 
 GMSH_API void gmsh::model::mesh::getLastEntityError(vectorpair &dimTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   std::vector<GEntity *> e = GModel::current()->getLastMeshEntityError();
   dimTags.clear();
   for(std::size_t i = 0; i < e.size(); i++)
@@ -1183,7 +1150,7 @@ GMSH_API void gmsh::model::mesh::getLastEntityError(vectorpair &dimTags)
 GMSH_API void
 gmsh::model::mesh::getLastNodeError(std::vector<std::size_t> &nodeTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   std::vector<MVertex *> v = GModel::current()->getLastMeshVertexError();
   nodeTags.clear();
   for(std::size_t i = 0; i < v.size(); i++) nodeTags.push_back(v[i]->getNum());
@@ -1191,7 +1158,7 @@ gmsh::model::mesh::getLastNodeError(std::vector<std::size_t> &nodeTags)
 
 GMSH_API void gmsh::model::mesh::clear(const vectorpair &dimTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   std::vector<GEntity *> entities;
   for(std::size_t i = 0; i < dimTags.size(); i++) {
     int dim = dimTags[i].first;
@@ -1199,7 +1166,7 @@ GMSH_API void gmsh::model::mesh::clear(const vectorpair &dimTags)
     GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
     if(!ge) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     entities.push_back(ge);
   }
@@ -1280,7 +1247,7 @@ GMSH_API void gmsh::model::mesh::getNodes(std::vector<std::size_t> &nodeTags,
                                           const bool includeBoundary,
                                           const bool returnParametricCoord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   nodeTags.clear();
   coord.clear();
   parametricCoord.clear();
@@ -1289,7 +1256,7 @@ GMSH_API void gmsh::model::mesh::getNodes(std::vector<std::size_t> &nodeTags,
     GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
     if(!ge) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     entities.push_back(ge);
   }
@@ -1322,7 +1289,7 @@ GMSH_API void gmsh::model::mesh::getNodesByElementType(
   std::vector<double> &coord, std::vector<double> &parametricCoord,
   const int tag, const bool returnParametricCoord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   nodeTags.clear();
   coord.clear();
   parametricCoord.clear();
@@ -1332,7 +1299,7 @@ GMSH_API void gmsh::model::mesh::getNodesByElementType(
     GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
     if(!ge) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     entities.push_back(ge);
   }
@@ -1378,11 +1345,11 @@ GMSH_API void gmsh::model::mesh::getNode(const std::size_t nodeTag,
                                          std::vector<double> &coord,
                                          std::vector<double> &parametricCoord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   MVertex *v = GModel::current()->getMeshVertexByTag(nodeTag);
   if(!v) {
     Msg::Error("Unknown node %d", nodeTag);
-    throw Msg::GetLastError();
+    return;
   }
   coord.resize(3);
   coord[0] = v->x();
@@ -1399,15 +1366,15 @@ gmsh::model::mesh::setNode(const std::size_t nodeTag,
                            const std::vector<double> &coord,
                            const std::vector<double> &parametricCoord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   MVertex *v = GModel::current()->getMeshVertexByTag(nodeTag);
   if(!v) {
     Msg::Error("Unknown node %d", nodeTag);
-    throw Msg::GetLastError();
+    return;
   }
   if(coord.size() < 3) {
     Msg::Error("Less than three coordinates provided for node %d", nodeTag);
-    throw Msg::GetLastError();
+    return;
   }
   v->setXYZ(coord[0], coord[1], coord[2]);
   if(parametricCoord.size() >= 1) v->setParameter(0, parametricCoord[0]);
@@ -1416,13 +1383,13 @@ gmsh::model::mesh::setNode(const std::size_t nodeTag,
 
 GMSH_API void gmsh::model::mesh::rebuildNodeCache(bool onlyIfNecessary)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->rebuildMeshVertexCache(onlyIfNecessary);
 }
 
 GMSH_API void gmsh::model::mesh::rebuildElementCache(bool onlyIfNecessary)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->rebuildMeshElementCache(onlyIfNecessary);
 }
 
@@ -1431,7 +1398,7 @@ gmsh::model::mesh::getNodesForPhysicalGroup(const int dim, const int tag,
                                             std::vector<std::size_t> &nodeTags,
                                             std::vector<double> &coord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   nodeTags.clear();
   coord.clear();
   std::vector<MVertex *> v;
@@ -1451,11 +1418,11 @@ GMSH_API void gmsh::model::mesh::addNodes(
   const int dim, const int tag, const std::vector<std::size_t> &nodeTags,
   const std::vector<double> &coord, const std::vector<double> &parametricCoord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
   if(!ge) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   int numNodeTags = nodeTags.size(), numNodes = nodeTags.size();
   if(!numNodeTags) { // this is allowed: we will assign new tags
@@ -1463,13 +1430,13 @@ GMSH_API void gmsh::model::mesh::addNodes(
   }
   if((int)coord.size() != 3 * numNodes) {
     Msg::Error("Wrong number of coordinates");
-    throw Msg::GetLastError();
+    return;
   }
   bool param = false;
   if(parametricCoord.size()) {
     if((int)parametricCoord.size() != dim * numNodes) {
       Msg::Error("Wrong number of parametric coordinates");
-      throw Msg::GetLastError();
+      return;
     }
     param = true;
   }
@@ -1497,19 +1464,19 @@ GMSH_API void gmsh::model::mesh::addNodes(
 
 GMSH_API void gmsh::model::mesh::reclassifyNodes()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->pruneMeshVertexAssociations();
 }
 
 GMSH_API void gmsh::model::mesh::relocateNodes(const int dim, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   std::vector<GEntity *> entities;
   if(dim >= 0 && tag >= 0) {
     GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
     if(!ge) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     entities.push_back(ge);
   }
@@ -1529,7 +1496,7 @@ _getEntitiesForElementTypes(int dim, int tag,
     GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
     if(!ge) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     entities.push_back(ge);
   }
@@ -1581,7 +1548,7 @@ GMSH_API void gmsh::model::mesh::getElements(
   std::vector<std::vector<std::size_t> > &nodeTags, const int dim,
   const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   elementTypes.clear();
   elementTags.clear();
   nodeTags.clear();
@@ -1613,11 +1580,11 @@ GMSH_API void gmsh::model::mesh::getElement(const std::size_t elementTag,
                                             int &elementType,
                                             std::vector<std::size_t> &nodeTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   MElement *e = GModel::current()->getMeshElementByTag(elementTag);
   if(!e) {
     Msg::Error("Unknown element %d", elementTag);
-    throw Msg::GetLastError();
+    return;
   }
   elementType = e->getTypeForMSH();
   nodeTags.clear();
@@ -1625,7 +1592,7 @@ GMSH_API void gmsh::model::mesh::getElement(const std::size_t elementTag,
     MVertex *v = e->getVertex(i);
     if(!v) {
       Msg::Error("Unknown node in element %d", elementTag);
-      throw Msg::GetLastError();
+      return;
     }
     nodeTags.push_back(v->getNum());
   }
@@ -1636,12 +1603,12 @@ GMSH_API void gmsh::model::mesh::getElementByCoordinates(
   int &elementType, std::vector<std::size_t> &nodeTags, double &u, double &v,
   double &w, const int dim, const bool strict)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   SPoint3 xyz(x, y, z), uvw;
   MElement *e = GModel::current()->getMeshElementByCoord(xyz, uvw, dim, strict);
   if(!e) {
     Msg::Error("No element found at (%g, %g, %g)", x, y, z);
-    throw Msg::GetLastError();
+    return;
   }
   elementTag = e->getNum();
   elementType = e->getTypeForMSH();
@@ -1650,7 +1617,7 @@ GMSH_API void gmsh::model::mesh::getElementByCoordinates(
     MVertex *v = e->getVertex(i);
     if(!v) {
       Msg::Error("Unknown node in element %d", elementTag);
-      throw Msg::GetLastError();
+      return;
     }
     nodeTags.push_back(v->getNum());
   }
@@ -1663,14 +1630,14 @@ GMSH_API void gmsh::model::mesh::getElementsByCoordinates(
   const double x, const double y, const double z,
   std::vector<std::size_t> &elementTags, const int dim, const bool strict)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   SPoint3 xyz(x, y, z), uvw;
   elementTags.clear();
   std::vector<MElement *> e =
     GModel::current()->getMeshElementsByCoord(xyz, dim, strict);
   if(e.empty()) {
     Msg::Error("No element found at (%g, %g, %g)", x, y, z);
-    throw Msg::GetLastError();
+    return;
   }
   for(std::size_t i = 0; i < e.size(); i++) {
     elementTags.push_back(e[i]->getNum());
@@ -1681,11 +1648,11 @@ GMSH_API void gmsh::model::mesh::getLocalCoordinatesInElement(
   const std::size_t elementTag, const double x, const double y, const double z,
   double &u, double &v, double &w)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   MElement *e = GModel::current()->getMeshElementByTag(elementTag);
   if(!e) {
     Msg::Error("Unknown element %d", elementTag);
-    throw Msg::GetLastError();
+    return;
   }
   double xyz[3] = {x, y, z}, uvw[3];
   e->xyz2uvw(xyz, uvw);
@@ -1714,7 +1681,7 @@ static void _addElements(int dim, int tag, GEntity *ge, int type,
   if(!numEle) return;
   if(numEle * numNodesPerEle != nodeTags.size()) {
     Msg::Error("Wrong number of node tags for element type %d", type);
-    throw Msg::GetLastError();
+    return;
   }
   std::vector<MElement *> elements(numEle);
   std::vector<MVertex *> nodes(numNodesPerEle);
@@ -1727,7 +1694,7 @@ static void _addElements(int dim, int tag, GEntity *ge, int type,
       nodes[k] = GModel::current()->getMeshVertexByTag(vtag);
       if(!nodes[k]) {
         Msg::Error("Unknown node %d", vtag);
-        throw Msg::GetLastError();
+        return;
       }
     }
     elements[j] = f.create(type, nodes, etag);
@@ -1767,11 +1734,9 @@ static void _addElements(int dim, int tag, GEntity *ge, int type,
       ok = false;
     break;
   }
-  if(!ok) {
+  if(!ok)
     Msg::Error("Wrong type of element for %s",
                _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
-  }
 }
 
 GMSH_API void gmsh::model::mesh::addElements(
@@ -1779,19 +1744,19 @@ GMSH_API void gmsh::model::mesh::addElements(
   const std::vector<std::vector<std::size_t> > &elementTags,
   const std::vector<std::vector<std::size_t> > &nodeTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
   if(!ge) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   if(elementTypes.size() != elementTags.size()) {
     Msg::Error("Wrong number of element tags");
-    throw Msg::GetLastError();
+    return;
   }
   if(elementTypes.size() != nodeTags.size()) {
     Msg::Error("Wrong number of node tags");
-    throw Msg::GetLastError();
+    return;
   }
 
   for(std::size_t i = 0; i < elementTypes.size(); i++)
@@ -1804,12 +1769,12 @@ GMSH_API void gmsh::model::mesh::addElementsByType(
   const std::vector<std::size_t> &elementTags,
   const std::vector<std::size_t> &nodeTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int dim = ElementType::getDimension(elementType);
   GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
   if(!ge) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   _addElements(dim, tag, ge, elementType, elementTags, nodeTags);
   GModel::current()->destroyMeshCaches();
@@ -1818,7 +1783,7 @@ GMSH_API void gmsh::model::mesh::addElementsByType(
 GMSH_API void gmsh::model::mesh::getElementTypes(std::vector<int> &elementTypes,
                                                  const int dim, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   elementTypes.clear();
   std::map<int, std::vector<GEntity *> > typeEnt;
   _getEntitiesForElementTypes(dim, tag, typeEnt);
@@ -1833,7 +1798,7 @@ GMSH_API int gmsh::model::mesh::getElementType(const std::string &family,
                                                const int order,
                                                const bool serendip)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int familyType =
     (family == "Point" || family == "point") ?
       TYPE_PNT :
@@ -1863,7 +1828,7 @@ GMSH_API void gmsh::model::mesh::getElementProperties(
   const int elementType, std::string &name, int &dim, int &order, int &numNodes,
   std::vector<double> &localNodeCoord, int &numPrimaryNodes)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   const char *n;
   MElement::getInfoMSH(elementType, &n);
   name = n;
@@ -1878,7 +1843,7 @@ GMSH_API void gmsh::model::mesh::getElementProperties(
   numNodes = basis->points.size1();
   if(numNodes != ElementType::getNumVertices(elementType)) {
     Msg::Error("Size of basis incompatible with element type");
-    throw Msg::GetLastError();
+    return;
   }
   for(int i = 0; i < basis->points.size1(); i++)
     for(int j = 0; j < basis->points.size2(); j++)
@@ -1893,7 +1858,7 @@ GMSH_API void gmsh::model::mesh::getElementsByType(
   std::vector<std::size_t> &nodeTags, const int tag, const std::size_t task,
   const std::size_t numTasks)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int dim = ElementType::getDimension(elementType);
   std::map<int, std::vector<GEntity *> > typeEnt;
   _getEntitiesForElementTypes(dim, tag, typeEnt);
@@ -1905,7 +1870,7 @@ GMSH_API void gmsh::model::mesh::getElementsByType(
   const int numNodes = ElementType::getNumVertices(elementType);
   if(!numTasks) {
     Msg::Error("Number of tasks should be > 0");
-    throw Msg::GetLastError();
+    return;
   }
   const std::size_t begin = (task * numElements) / numTasks;
   const std::size_t end = ((task + 1) * numElements) / numTasks;
@@ -1923,12 +1888,12 @@ GMSH_API void gmsh::model::mesh::getElementsByType(
   if(haveElementTags && (elementTags.size() < numElements)) {
     Msg::Error("Wrong size of elementTags array (%d < %d)", elementTags.size(),
                numElements);
-    throw Msg::GetLastError();
+    return;
   }
   if(haveNodeTags && (nodeTags.size() < numElements * numNodes)) {
     Msg::Error("Wrong size of nodeTags array (%d < %d)", nodeTags.size(),
                numElements * numNodes);
-    throw Msg::GetLastError();
+    return;
   }
   size_t o = 0;
   size_t idx = begin * numNodes;
@@ -1954,7 +1919,7 @@ GMSH_API void gmsh::model::mesh::preallocateElementsByType(
   std::vector<std::size_t> &elementTags, std::vector<std::size_t> &nodeTags,
   const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int dim = ElementType::getDimension(elementType);
   std::map<int, std::vector<GEntity *> > typeEnt;
   _getEntitiesForElementTypes(dim, tag, typeEnt);
@@ -2030,7 +1995,7 @@ GMSH_API void gmsh::model::mesh::getJacobians(
   std::vector<double> &coord, const int tag, const std::size_t task,
   const std::size_t numTasks)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int dim = ElementType::getDimension(elementType);
   std::map<int, std::vector<GEntity *> > typeEnt;
   _getEntitiesForElementTypes(dim, tag, typeEnt);
@@ -2064,24 +2029,24 @@ GMSH_API void gmsh::model::mesh::getJacobians(
     }
     if(!numTasks) {
       Msg::Error("Number of tasks should be > 0");
-      throw Msg::GetLastError();
+      return;
     }
     const size_t begin = (task * numElements) / numTasks;
     const size_t end = ((task + 1) * numElements) / numTasks;
     if(haveDeterminants && (end * numPoints > determinants.size())) {
       Msg::Error("Wrong size of determinants array (%d < %d)",
                  determinants.size(), end * numPoints);
-      throw Msg::GetLastError();
+      return;
     }
     if(haveJacobians && (9 * end * numPoints > jacobians.size())) {
       Msg::Error("Wrong size of jacobians array (%d < %d)", jacobians.size(),
                  9 * end * numPoints);
-      throw Msg::GetLastError();
+      return;
     }
     if(havePoints && (3 * end * numPoints > coord.size())) {
       Msg::Error("Wrong size of points array (%d < %d)", coord.size(),
                  3 * end * numPoints);
-      throw Msg::GetLastError();
+      return;
     }
     if(haveDeterminants && haveJacobians && havePoints) {
       std::vector<std::vector<SVector3> > gsf;
@@ -2265,7 +2230,7 @@ GMSH_API void gmsh::model::mesh::getJacobians(
                  (haveDeterminants ? "true" : "false"),
                  (haveJacobians ? "true" : "false"),
                  (havePoints ? "true" : "false"));
-      throw Msg::GetLastError();
+      return;
     }
     // Add other combinaisons if necessary
   }
@@ -2277,7 +2242,7 @@ GMSH_API void gmsh::model::mesh::preallocateJacobians(
   std::vector<double> &jacobians, std::vector<double> &determinants,
   std::vector<double> &coord, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int dim = ElementType::getDimension(elementType);
   BasisFactory::getNodalBasis(elementType);
   std::map<int, std::vector<GEntity *> > typeEnt;
@@ -2307,11 +2272,11 @@ GMSH_API void gmsh::model::mesh::getJacobian(
   std::vector<double> &jacobians, std::vector<double> &determinants,
   std::vector<double> &coord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   MElement *e = GModel::current()->getMeshElementByTag(elementTag);
   if(!e) {
     Msg::Error("Unknown element %d", elementTag);
-    throw Msg::GetLastError();
+    return;
   }
   int numPoints = localCoord.size() / 3;
   if(!numPoints) {
@@ -2347,7 +2312,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctions(
   std::vector<double> &basisFunctions, int &numOrientations,
   const std::vector<int> &wantedOrientations)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   numComponents = 0;
   basisFunctions.clear();
   std::string fsName = "";
@@ -2355,7 +2320,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctions(
   if(!_getFunctionSpaceInfo(functionSpaceType, fsName, fsOrder,
                             numComponents)) {
     Msg::Error("Unknown function space type '%s'", functionSpaceType.c_str());
-    throw Msg::GetLastError();
+    return;
   }
 
   const std::size_t numberOfGaussPoints = localCoord.size() / 3;
@@ -2366,7 +2331,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctions(
     if(wantedOrientations.size() != 0) {
       if(wantedOrientations.size() > 1) {
         Msg::Error("Asking for more orientation that there exist");
-        throw Msg::GetLastError();
+        return;
       }
 
       if(wantedOrientations[0] != 0) {
@@ -2374,7 +2339,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctions(
           "Orientation %i does not exist for function stace named '%s' on %s",
           wantedOrientations[0], fsName.c_str(),
           ElementType::nameOfParentType(familyType, true).c_str());
-        throw Msg::GetLastError();
+        return;
       }
     }
 
@@ -2442,7 +2407,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctions(
       default:
         Msg::Error("Unknown familyType %i for basis function type %s",
                    familyType, fsName.c_str());
-        throw Msg::GetLastError();
+        return;
       }
     }
     else if(fsName == "HcurlLegendre" || fsName == "CurlHcurlLegendre") {
@@ -2468,12 +2433,12 @@ GMSH_API void gmsh::model::mesh::getBasisFunctions(
       default:
         Msg::Error("Unknown familyType %i for basis function type %s",
                    familyType, fsName.c_str());
-        throw Msg::GetLastError();
+        return;
       }
     }
     else {
       Msg::Error("Unknown function space named '%s'", fsName.c_str());
-      throw Msg::GetLastError();
+      return;
     }
 
     const std::size_t vSize = basis->getnVertexFunction();
@@ -2496,7 +2461,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctions(
     if(wantedOrientations.size() != 0) {
       if(wantedOrientations.size() > maxOrientation) {
         Msg::Error("Asking for more orientation that there exist");
-        throw Msg::GetLastError();
+        return;
       }
       for(unsigned int i = 0; i < wantedOrientations.size(); ++i) {
         if(wantedOrientations[i] >= static_cast<int>(maxOrientation) ||
@@ -2505,7 +2470,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctions(
                      "'%s' on %s",
                      wantedOrientations[i], fsName.c_str(),
                      ElementType::nameOfParentType(familyType, true).c_str());
-          throw Msg::GetLastError();
+          return;
         }
       }
       std::vector<int> sortedWantedOrientations = wantedOrientations;
@@ -2515,7 +2480,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctions(
       for(unsigned int i = 1; i < sortedWantedOrientations.size(); ++i) {
         if(previousInt == sortedWantedOrientations[i]) {
           Msg::Error("Duplicate wanted orientation found");
-          throw Msg::GetLastError();
+          return;
         }
         previousInt = sortedWantedOrientations[i];
       }
@@ -2551,7 +2516,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctions(
     default:
       Msg::Error("Unknown familyType %i for basis function type %s", familyType,
                  fsName.c_str());
-      throw Msg::GetLastError();
+      return;
     }
 
     switch(numComponents) {
@@ -2892,7 +2857,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctionsOrientationForElements(
   std::vector<int> &basisFunctionsOrientation, const int tag,
   const std::size_t task, const std::size_t numTasks)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 
   if(!basisFunctionsOrientation.size()) {
     if(numTasks > 1) {
@@ -2911,7 +2876,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctionsOrientationForElements(
   if(!_getFunctionSpaceInfo(functionSpaceType, fsName, basisOrder,
                             numComponents)) {
     Msg::Error("Unknown function space type '%s'", functionSpaceType.c_str());
-    throw Msg::GetLastError();
+    return;
   }
 
   const int dim = ElementType::getDimension(elementType);
@@ -2928,7 +2893,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctionsOrientationForElements(
   if(numElements != basisFunctionsOrientation.size()) {
     Msg::Error("Wrong size of 'basisFunctionsOrientation' vector (%i != %i)",
                numElements, basisFunctionsOrientation.size());
-    throw Msg::GetLastError();
+    return;
   }
 
   if(fsName == "Lagrange" || fsName == "GradLagrange") { // Lagrange type
@@ -2999,7 +2964,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctionsOrientationForElement(
   const std::size_t elementTag, const std::string &functionSpaceType,
   int &basisFunctionsOrientation)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 
   MElement *e = GModel::current()->getMeshElementByTag(elementTag);
   int elementType = e->getTypeForMSH();
@@ -3011,7 +2976,7 @@ GMSH_API void gmsh::model::mesh::getBasisFunctionsOrientationForElement(
   if(!_getFunctionSpaceInfo(functionSpaceType, fsName, basisOrder,
                             numComponents)) {
     Msg::Error("Unknown function space type '%s'", functionSpaceType.c_str());
-    throw Msg::GetLastError();
+    return;
   }
 
   if(fsName == "Lagrange" || fsName == "GradLagrange") { // Lagrange type
@@ -3060,7 +3025,7 @@ GMSH_API int
 gmsh::model::mesh::getNumberOfOrientations(const int elementType,
                                            const std::string &functionSpaceType)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
 
   int basisOrder = 0;
   std::string fsName = "";
@@ -3068,7 +3033,7 @@ gmsh::model::mesh::getNumberOfOrientations(const int elementType,
   if(!_getFunctionSpaceInfo(functionSpaceType, fsName, basisOrder,
                             numComponents)) {
     Msg::Error("Unknown function space type '%s'", functionSpaceType.c_str());
-    throw Msg::GetLastError();
+    return 0;
   }
 
   if(fsName == "Lagrange" || fsName == "GradLagrange") { // Lagrange type
@@ -3090,7 +3055,7 @@ gmsh::model::mesh::preallocateBasisFunctionsOrientationForElements(
   const int elementType, std::vector<int> &basisFunctionsOrientation,
   const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 
   const int dim = ElementType::getDimension(elementType);
   std::map<int, std::vector<GEntity *> > typeEnt;
@@ -3157,7 +3122,7 @@ GMSH_API void gmsh::model::mesh::getLocalMultipliersForHcurl0(
   default:
     Msg::Error("Unknown familyType %i for basis function type %s", familyType,
                fsName.c_str());
-    throw Msg::GetLastError();
+    return;
   }
   // compute the number of Element :
   std::size_t numElements = 0;
@@ -3192,7 +3157,7 @@ GMSH_API void gmsh::model::mesh::getKeysForElements(
   gmsh::vectorpair &keys, std::vector<double> &coord, const int tag,
   const bool generateCoord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   coord.clear();
   keys.clear();
   int order = 0;
@@ -3200,7 +3165,7 @@ GMSH_API void gmsh::model::mesh::getKeysForElements(
   std::string fsName = "";
   if(!_getFunctionSpaceInfo(functionSpaceType, fsName, order, numComponents)) {
     Msg::Error("Unknown function space type '%s'", functionSpaceType.c_str());
-    throw Msg::GetLastError();
+    return;
   }
   int dim = ElementType::getDimension(elementType);
   std::map<int, std::vector<GEntity *> > typeEnt;
@@ -3235,7 +3200,7 @@ GMSH_API void gmsh::model::mesh::getKeysForElements(
     default:
       Msg::Error("Unknown familyType %i for basis function type %s", familyType,
                  fsName.c_str());
-      throw Msg::GetLastError();
+      return;
     }
   }
   else if(fsName == "HcurlLegendre" || fsName == "CurlHcurlLegendre") {
@@ -3261,7 +3226,7 @@ GMSH_API void gmsh::model::mesh::getKeysForElements(
     default:
       Msg::Error("Unknown familyType %i for basis function type %s", familyType,
                  fsName.c_str());
-      throw Msg::GetLastError();
+      return;
     }
   }
   else if(fsName == "IsoParametric" || fsName == "Lagrange" ||
@@ -3304,7 +3269,7 @@ GMSH_API void gmsh::model::mesh::getKeysForElements(
   }
   else {
     Msg::Error("Unknown function space named '%s'", fsName.c_str());
-    throw Msg::GetLastError();
+    return;
   }
 
   int vSize = basis->getnVertexFunction();
@@ -3444,7 +3409,7 @@ GMSH_API void gmsh::model::mesh::getKeysForElement(
   const std::size_t elementTag, const std::string &functionSpaceType,
   gmsh::vectorpair &keys, std::vector<double> &coord, const bool generateCoord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   coord.clear();
   keys.clear();
   int order = 0;
@@ -3452,7 +3417,7 @@ GMSH_API void gmsh::model::mesh::getKeysForElement(
   std::string fsName = "";
   if(!_getFunctionSpaceInfo(functionSpaceType, fsName, order, numComponents)) {
     Msg::Error("Unknown function space type '%s'", functionSpaceType.c_str());
-    throw Msg::GetLastError();
+    return;
   }
   MElement *e = GModel::current()->getMeshElementByTag(elementTag);
   int elementType = e->getTypeForMSH();
@@ -3485,7 +3450,7 @@ GMSH_API void gmsh::model::mesh::getKeysForElement(
     default:
       Msg::Error("Unknown familyType %i for basis function type %s", familyType,
                  fsName.c_str());
-      throw Msg::GetLastError();
+      return;
     }
   }
   else if(fsName == "HcurlLegendre" || fsName == "CurlHcurlLegendre") {
@@ -3511,7 +3476,7 @@ GMSH_API void gmsh::model::mesh::getKeysForElement(
     default:
       Msg::Error("Unknown familyType %i for basis function type %s", familyType,
                  fsName.c_str());
-      throw Msg::GetLastError();
+      return;
     }
   }
   else if(fsName == "IsoParametric" || fsName == "Lagrange" ||
@@ -3530,7 +3495,7 @@ GMSH_API void gmsh::model::mesh::getKeysForElement(
   }
   else {
     Msg::Error("Unknown function space named '%s'", fsName.c_str());
-    throw Msg::GetLastError();
+    return;
   }
 
   int vSize = basis->getnVertexFunction();
@@ -3664,7 +3629,7 @@ GMSH_API int gmsh::model::mesh::getNumberOfKeysForElements(
   if(!_getFunctionSpaceInfo(functionSpaceType, fsName, basisOrder,
                             numComponents)) {
     Msg::Error("Unknown function space type '%s'", functionSpaceType.c_str());
-    throw Msg::GetLastError();
+    return 0;
   }
   int familyType = ElementType::getParentType(elementType);
   if(fsName == "H1Legendre" || fsName == "GradH1Legendre") {
@@ -3694,7 +3659,7 @@ GMSH_API int gmsh::model::mesh::getNumberOfKeysForElements(
     default:
       Msg::Error("Unknown familyType %i for basis function type %s", familyType,
                  fsName.c_str());
-      throw Msg::GetLastError();
+      return 0;
     }
     int vSize = basis->getnVertexFunction();
     int bSize = basis->getnBubbleFunction();
@@ -3728,7 +3693,7 @@ GMSH_API int gmsh::model::mesh::getNumberOfKeysForElements(
     default:
       Msg::Error("Unknown familyType %i for basis function type %s", familyType,
                  fsName.c_str());
-      throw Msg::GetLastError();
+      return 0;
     }
     int vSize = basis->getnVertexFunction();
     int bSize = basis->getnBubbleFunction();
@@ -3753,7 +3718,7 @@ GMSH_API int gmsh::model::mesh::getNumberOfKeysForElements(
   }
   else {
     Msg::Error("Unknown function space named '%s'", fsName.c_str());
-    throw Msg::GetLastError();
+    return 0;
   }
 
   return numberOfKeys;
@@ -3770,7 +3735,7 @@ GMSH_API void gmsh::model::mesh::getInformationForElements(
   if(!_getFunctionSpaceInfo(functionSpaceType, fsName, basisOrder,
                             numComponents)) {
     Msg::Error("Unknown function space type '%s'", functionSpaceType.c_str());
-    throw Msg::GetLastError();
+    return;
   }
   HierarchicalBasis *basis(0);
   int familyType = ElementType::getParentType(elementType);
@@ -3800,7 +3765,7 @@ GMSH_API void gmsh::model::mesh::getInformationForElements(
     default:
       Msg::Error("Unknown familyType %i for basis function type %s", familyType,
                  fsName.c_str());
-      throw Msg::GetLastError();
+      return;
     }
   }
   else if(fsName == "HcurlLegendre" || fsName == "CurlHcurlLegendre") {
@@ -3826,7 +3791,7 @@ GMSH_API void gmsh::model::mesh::getInformationForElements(
     default:
       Msg::Error("Unknown familyType %i for basis function type %s", familyType,
                  fsName.c_str());
-      throw Msg::GetLastError();
+      return;
     }
   }
   else if(fsName == "IsoParametric" || fsName == "Lagrange" ||
@@ -3846,7 +3811,7 @@ GMSH_API void gmsh::model::mesh::getInformationForElements(
 
     if(numberOfBubble > numberOfKeys) {
       Msg::Error("Number of bubble functions greater than number of keys");
-      throw Msg::GetLastError();
+      return;
     }
 
     infoKeys.reserve(keys.size());
@@ -3862,7 +3827,7 @@ GMSH_API void gmsh::model::mesh::getInformationForElements(
   }
   else {
     Msg::Error("Unknown function space named '%s'", fsName.c_str());
-    throw Msg::GetLastError();
+    return;
   }
 
   int vSize = basis->getnVertexFunction();
@@ -3892,7 +3857,7 @@ GMSH_API void gmsh::model::mesh::getBarycenters(
   std::vector<double> &barycenters, const std::size_t task,
   const std::size_t numTasks)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int dim = ElementType::getDimension(elementType);
   std::map<int, std::vector<GEntity *> > typeEnt;
   _getEntitiesForElementTypes(dim, tag, typeEnt);
@@ -3905,7 +3870,7 @@ GMSH_API void gmsh::model::mesh::getBarycenters(
   }
   if(!numTasks) {
     Msg::Error("Number of tasks should be > 0");
-    throw Msg::GetLastError();
+    return;
   }
   const size_t begin = (task * numElements) / numTasks;
   const size_t end = ((task + 1) * numElements) / numTasks;
@@ -3965,14 +3930,14 @@ GMSH_API void gmsh::model::mesh::getIntegrationPoints(
   const int elementType, const std::string &integrationType,
   std::vector<double> &localCoord, std::vector<double> &weigths)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   localCoord.clear();
   weigths.clear();
   std::string intName = "";
   int intOrder = 0;
   if(!_getIntegrationInfo(integrationType, intName, intOrder)) {
     Msg::Error("Unknown quadrature type '%s'", integrationType.c_str());
-    throw Msg::GetLastError();
+    return;
   }
   // get quadrature info
   int familyType = ElementType::getParentType(elementType);
@@ -3981,7 +3946,7 @@ GMSH_API void gmsh::model::mesh::getIntegrationPoints(
   gaussIntegration::get(familyType, intOrder, pts, weights);
   if(pts.size1() != weights.size() || pts.size2() != 3) {
     Msg::Error("Wrong integration point format");
-    throw Msg::GetLastError();
+    return;
   }
   localCoord.resize(3 * pts.size1());
   weigths.resize(pts.size1());
@@ -3996,7 +3961,7 @@ GMSH_API void gmsh::model::mesh::getIntegrationPoints(
 GMSH_API void gmsh::model::mesh::preallocateBarycenters(
   const int elementType, std::vector<double> &barycenters, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int dim = ElementType::getDimension(elementType);
   std::map<int, std::vector<GEntity *> > typeEnt;
   _getEntitiesForElementTypes(dim, tag, typeEnt);
@@ -4013,7 +3978,7 @@ GMSH_API void gmsh::model::mesh::getElementEdgeNodes(
   const int elementType, std::vector<std::size_t> &nodeTags, const int tag,
   const bool primary, const std::size_t task, const std::size_t numTasks)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int dim = ElementType::getDimension(elementType);
   std::map<int, std::vector<GEntity *> > typeEnt;
   _getEntitiesForElementTypes(dim, tag, typeEnt);
@@ -4040,7 +4005,7 @@ GMSH_API void gmsh::model::mesh::getElementEdgeNodes(
   }
   if(!numTasks) {
     Msg::Error("Number of tasks should be > 0");
-    throw Msg::GetLastError();
+    return;
   }
   const size_t begin = (task * numElements) / numTasks;
   const size_t end = ((task + 1) * numElements) / numTasks;
@@ -4077,7 +4042,7 @@ GMSH_API void gmsh::model::mesh::getElementFaceNodes(
   const int tag, const bool primary, const std::size_t task,
   const std::size_t numTasks)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int dim = ElementType::getDimension(elementType);
   std::map<int, std::vector<GEntity *> > typeEnt;
   _getEntitiesForElementTypes(dim, tag, typeEnt);
@@ -4109,7 +4074,7 @@ GMSH_API void gmsh::model::mesh::getElementFaceNodes(
   }
   if(!numTasks) {
     Msg::Error("Number of tasks should be > 0");
-    throw Msg::GetLastError();
+    return;
   }
   const size_t begin = (task * numElements) / numTasks;
   const size_t end = ((task + 1) * numElements) / numTasks;
@@ -4149,13 +4114,13 @@ gmsh::model::mesh::getGhostElements(const int dim, const int tag,
                                     std::vector<std::size_t> &elementTags,
                                     std::vector<int> &partitions)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   elementTags.clear();
   partitions.clear();
   GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
   if(!ge) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   std::map<MElement *, int> ghostCells;
   if(ge->geomType() == GEntity::GhostCurve)
@@ -4175,7 +4140,7 @@ gmsh::model::mesh::getGhostElements(const int dim, const int tag,
 GMSH_API void gmsh::model::mesh::setSize(const vectorpair &dimTags,
                                          const double size)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   for(std::size_t i = 0; i < dimTags.size(); i++) {
     int dim = dimTags[i].first, tag = dimTags[i].second;
     if(dim == 0) {
@@ -4189,7 +4154,7 @@ GMSH_API void gmsh::model::mesh::setSizeAtParametricPoints(
   const int dim, const int tag, const std::vector<double> &parametricCoord,
   const std::vector<double> &sizes)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(dim == 1) {
     GEdge *ge = GModel::current()->getEdgeByTag(tag);
     if(ge) ge->setMeshSizeParametric(parametricCoord, sizes);
@@ -4197,15 +4162,15 @@ GMSH_API void gmsh::model::mesh::setSizeAtParametricPoints(
 }
 
 GMSH_API void gmsh::model::mesh::setSizeCallback(
-    std::function<double(int, int, double, double, double)> callback)
+  std::function<double(int, int, double, double, double)> callback)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   CTX::instance()->mesh.lcCallback = callback;
 }
 
 GMSH_API void gmsh::model::mesh::removeSizeCallback()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   CTX::instance()->mesh.lcCallback = nullptr;
 }
 
@@ -4214,7 +4179,7 @@ gmsh::model::mesh::setTransfiniteCurve(const int tag, const int numNodes,
                                        const std::string &meshType,
                                        const double coef)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   // for compatibility with geo files, try both tag and -tag
   for(int sig = -1; sig <= 1; sig += 2) {
     int t = sig * tag;
@@ -4233,7 +4198,7 @@ gmsh::model::mesh::setTransfiniteCurve(const int tag, const int numNodes,
     else {
       if(t > 0) {
         Msg::Error("%s does not exist", _getEntityName(1, t).c_str());
-        throw Msg::GetLastError();
+        return;
       }
     }
   }
@@ -4244,11 +4209,11 @@ gmsh::model::mesh::setTransfiniteSurface(const int tag,
                                          const std::string &arrangement,
                                          const std::vector<int> &cornerTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GFace *gf = GModel::current()->getFaceByTag(tag);
   if(!gf) {
     Msg::Error("%s does not exist", _getEntityName(2, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   gf->meshAttributes.method = MESH_TRANSFINITE;
   gf->meshAttributes.transfiniteArrangement =
@@ -4272,11 +4237,11 @@ GMSH_API void
 gmsh::model::mesh::setTransfiniteVolume(const int tag,
                                         const std::vector<int> &cornerTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GRegion *gr = GModel::current()->getRegionByTag(tag);
   if(!gr) {
     Msg::Error("%s does not exist", _getEntityName(3, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   gr->meshAttributes.method = MESH_TRANSFINITE;
   if(cornerTags.empty() || cornerTags.size() == 6 || cornerTags.size() == 8) {
@@ -4308,7 +4273,7 @@ GMSH_API void gmsh::model::mesh::setTransfiniteAutomatic(
   const vectorpair &dimTags, const double cornerAngle, const bool recombine)
 {
 #if defined(HAVE_MESH)
-  _checkInit();
+  if(!_checkInit()) return;
   Msg::Debug("setTransfiniteAutomatic() with cornerAngle=%.3f, recombine=%i",
              cornerAngle, int(recombine));
 
@@ -4329,7 +4294,7 @@ GMSH_API void gmsh::model::mesh::setTransfiniteAutomatic(
         GFace *gf = GModel::current()->getFaceByTag(tag);
         if(!gf) {
           Msg::Error("%s does not exist", _getEntityName(2, tag).c_str());
-          throw Msg::GetLastError();
+          return;
         }
         if(gf->edges().size() == 4) { faces.insert(gf); }
       }
@@ -4338,9 +4303,9 @@ GMSH_API void gmsh::model::mesh::setTransfiniteAutomatic(
         GRegion *gr = GModel::current()->getRegionByTag(tag);
         if(!gr) {
           Msg::Error("%s does not exist", _getEntityName(3, tag).c_str());
-          throw Msg::GetLastError();
+          return;
         }
-        for(GFace* gf: gr->faces()) {
+        for(GFace *gf : gr->faces()) {
           if(gf->edges().size() == 4) { faces.insert(gf); }
         }
       }
@@ -4375,7 +4340,7 @@ GMSH_API void gmsh::model::mesh::setTransfiniteAutomatic(
         GRegion *gr = GModel::current()->getRegionByTag(tag);
         if(!gr) {
           Msg::Error("%s does not exist", _getEntityName(3, tag).c_str());
-          throw Msg::GetLastError();
+          return;
         }
         if(gr->faces().size() == 6 && _eulerCharacteristic(gr) == 2) {
           regions.insert(gr);
@@ -4385,9 +4350,9 @@ GMSH_API void gmsh::model::mesh::setTransfiniteAutomatic(
   }
 
   std::size_t nr = 0;
-  for (GRegion* gr: regions) {
+  for(GRegion *gr : regions) {
     bool transfinite = true;
-    for(GFace* gf: gr->faces()) {
+    for(GFace *gf : gr->faces()) {
       if(gf->meshAttributes.method != MESH_TRANSFINITE) {
         transfinite = false;
         break;
@@ -4402,18 +4367,17 @@ GMSH_API void gmsh::model::mesh::setTransfiniteAutomatic(
     Msg::Debug("transfinite automatic: transfinite set on %li volumes", nr);
 #else
   Msg::Error("setTransfiniteAutomatic requires the MESH module");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::model::mesh::setRecombine(const int dim, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(dim == 2) {
     GFace *gf = GModel::current()->getFaceByTag(tag);
     if(!gf) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     gf->meshAttributes.recombine = 1;
     gf->meshAttributes.recombineAngle = 45.;
@@ -4423,12 +4387,12 @@ GMSH_API void gmsh::model::mesh::setRecombine(const int dim, const int tag)
 GMSH_API void gmsh::model::mesh::setSmoothing(const int dim, const int tag,
                                               const int val)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(dim == 2) {
     GFace *gf = GModel::current()->getFaceByTag(tag);
     if(!gf) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     gf->meshAttributes.transfiniteSmoothing = val;
   }
@@ -4437,12 +4401,12 @@ GMSH_API void gmsh::model::mesh::setSmoothing(const int dim, const int tag,
 GMSH_API void gmsh::model::mesh::setReverse(const int dim, const int tag,
                                             const bool val)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(dim == 1) {
     GEdge *ge = GModel::current()->getEdgeByTag(tag);
     if(!ge) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     ge->meshAttributes.reverseMesh = val;
   }
@@ -4450,7 +4414,7 @@ GMSH_API void gmsh::model::mesh::setReverse(const int dim, const int tag,
     GFace *gf = GModel::current()->getFaceByTag(tag);
     if(!gf) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     gf->meshAttributes.reverseMesh = val;
   }
@@ -4459,12 +4423,12 @@ GMSH_API void gmsh::model::mesh::setReverse(const int dim, const int tag,
 GMSH_API void gmsh::model::mesh::setAlgorithm(const int dim, const int tag,
                                               const int val)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(dim == 2) {
     GFace *gf = GModel::current()->getFaceByTag(tag);
     if(!gf) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     gf->meshAttributes.algorithm = val;
   }
@@ -4474,12 +4438,12 @@ GMSH_API void gmsh::model::mesh::setSizeFromBoundary(const int dim,
                                                      const int tag,
                                                      const int val)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(dim == 2) {
     GFace *gf = GModel::current()->getFaceByTag(tag);
     if(!gf) {
       Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     gf->meshAttributes.meshSizeFromBoundary = val;
   }
@@ -4488,7 +4452,7 @@ GMSH_API void gmsh::model::mesh::setSizeFromBoundary(const int dim,
 GMSH_API void gmsh::model::mesh::setCompound(const int dim,
                                              const std::vector<int> &tags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   std::vector<GEntity *> ents;
   for(std::size_t i = 0; i < tags.size(); i++) {
     GEntity *ent = GModel::current()->getEntityByTag(dim, tags[i]);
@@ -4502,11 +4466,11 @@ GMSH_API void gmsh::model::mesh::setCompound(const int dim,
 
 GMSH_API void gmsh::model::mesh::setOutwardOrientation(const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GRegion *gr = GModel::current()->getRegionByTag(tag);
   if(!gr) {
     Msg::Error("%s does not exist", _getEntityName(3, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   gr->setOutwardOrientationMeshConstraint();
 }
@@ -4515,19 +4479,19 @@ GMSH_API void gmsh::model::mesh::embed(const int dim,
                                        const std::vector<int> &tags,
                                        const int inDim, const int inTag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(inDim == 2) {
     GFace *gf = GModel::current()->getFaceByTag(inTag);
     if(!gf) {
       Msg::Error("%s does not exist", _getEntityName(2, inTag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     for(std::size_t i = 0; i < tags.size(); i++) {
       if(dim == 0) {
         GVertex *gv = GModel::current()->getVertexByTag(tags[i]);
         if(!gv) {
           Msg::Error("%s does not exist", _getEntityName(0, tags[i]).c_str());
-          throw Msg::GetLastError();
+          return;
         }
         gf->addEmbeddedVertex(gv);
       }
@@ -4535,7 +4499,7 @@ GMSH_API void gmsh::model::mesh::embed(const int dim,
         GEdge *ge = GModel::current()->getEdgeByTag(tags[i]);
         if(!ge) {
           Msg::Error("%s does not exist", _getEntityName(1, tags[i]).c_str());
-          throw Msg::GetLastError();
+          return;
         }
         gf->addEmbeddedEdge(ge);
       }
@@ -4545,14 +4509,14 @@ GMSH_API void gmsh::model::mesh::embed(const int dim,
     GRegion *gr = GModel::current()->getRegionByTag(inTag);
     if(!gr) {
       Msg::Error("%s does not exist", _getEntityName(3, inTag).c_str());
-      throw Msg::GetLastError();
+      return;
     }
     for(std::size_t i = 0; i < tags.size(); i++) {
       if(dim == 0) {
         GVertex *gv = GModel::current()->getVertexByTag(tags[i]);
         if(!gv) {
           Msg::Error("%s does not exist", _getEntityName(0, tags[i]).c_str());
-          throw Msg::GetLastError();
+          return;
         }
         gr->addEmbeddedVertex(gv);
       }
@@ -4560,7 +4524,7 @@ GMSH_API void gmsh::model::mesh::embed(const int dim,
         GEdge *ge = GModel::current()->getEdgeByTag(tags[i]);
         if(!ge) {
           Msg::Error("%s does not exist", _getEntityName(1, tags[i]).c_str());
-          throw Msg::GetLastError();
+          return;
         }
         gr->addEmbeddedEdge(ge);
       }
@@ -4568,7 +4532,7 @@ GMSH_API void gmsh::model::mesh::embed(const int dim,
         GFace *gf = GModel::current()->getFaceByTag(tags[i]);
         if(!gf) {
           Msg::Error("%s does not exist", _getEntityName(2, tags[i]).c_str());
-          throw Msg::GetLastError();
+          return;
         }
         gr->addEmbeddedFace(gf);
       }
@@ -4579,14 +4543,14 @@ GMSH_API void gmsh::model::mesh::embed(const int dim,
 GMSH_API void gmsh::model::mesh::removeEmbedded(const vectorpair &dimTags,
                                                 const int rdim)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   for(std::size_t i = 0; i < dimTags.size(); i++) {
     int dim = dimTags[i].first, tag = dimTags[i].second;
     if(dim == 2) {
       GFace *gf = GModel::current()->getFaceByTag(tag);
       if(!gf) {
         Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-        throw Msg::GetLastError();
+        return;
       }
       if(rdim < 0 || rdim == 1) gf->embeddedEdges().clear();
       if(rdim < 0 || rdim == 0) gf->embeddedVertices().clear();
@@ -4595,7 +4559,7 @@ GMSH_API void gmsh::model::mesh::removeEmbedded(const vectorpair &dimTags,
       GRegion *gr = GModel::current()->getRegionByTag(tag);
       if(!gr) {
         Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-        throw Msg::GetLastError();
+        return;
       }
       if(rdim < 0 || rdim == 2) gr->embeddedFaces().clear();
       if(rdim < 0 || rdim == 1) gr->embeddedEdges().clear();
@@ -4608,32 +4572,32 @@ GMSH_API void
 gmsh::model::mesh::reorderElements(const int elementType, const int tag,
                                    const std::vector<std::size_t> &ordering)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int dim = ElementType::getDimension(elementType);
   std::map<int, std::vector<GEntity *> > typeEnt;
   _getEntitiesForElementTypes(dim, tag, typeEnt);
   const std::vector<GEntity *> &entities(typeEnt[elementType]);
   if(entities.empty()) {
     Msg::Error("No elements to reorder");
-    throw Msg::GetLastError();
+    return;
   }
   for(std::size_t i = 0; i < entities.size(); i++) {
     if(!entities[i]->reorder(elementType, ordering)) {
       Msg::Error("Could not reorder elements");
-      throw Msg::GetLastError();
+      return;
     }
   }
 }
 
 GMSH_API void gmsh::model::mesh::renumberNodes()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->renumberMeshVertices();
 }
 
 GMSH_API void gmsh::model::mesh::renumberElements()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->renumberMeshElements();
 }
 
@@ -4642,28 +4606,28 @@ gmsh::model::mesh::setPeriodic(const int dim, const std::vector<int> &tags,
                                const std::vector<int> &tagsMaster,
                                const std::vector<double> &affineTransform)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(tags.size() != tagsMaster.size()) {
     Msg::Error("Incompatible number of tags and master tags for periodic mesh");
-    throw Msg::GetLastError();
+    return;
   }
   if(affineTransform.size() != 16) {
     Msg::Error("Wrong number of elements in affine transformation (%d != 16)",
                (int)affineTransform.size());
-    throw Msg::GetLastError();
+    return;
   }
   for(std::size_t i = 0; i < tags.size(); i++) {
     if(dim == 1) {
       GEdge *target = GModel::current()->getEdgeByTag(tags[i]);
       if(!target) {
         Msg::Error("%s does not exist", _getEntityName(dim, tags[i]).c_str());
-        throw Msg::GetLastError();
+        return;
       }
       GEdge *source = GModel::current()->getEdgeByTag(tagsMaster[i]);
       if(!source) {
         Msg::Error("%s does not exist",
                    _getEntityName(dim, tagsMaster[i]).c_str());
-        throw Msg::GetLastError();
+        return;
       }
       target->setMeshMaster(source, affineTransform);
     }
@@ -4671,13 +4635,13 @@ gmsh::model::mesh::setPeriodic(const int dim, const std::vector<int> &tags,
       GFace *target = GModel::current()->getFaceByTag(tags[i]);
       if(!target) {
         Msg::Error("%s does not exist", _getEntityName(dim, tags[i]).c_str());
-        throw Msg::GetLastError();
+        return;
       }
       GFace *source = GModel::current()->getFaceByTag(tagsMaster[i]);
       if(!source) {
         Msg::Error("%s does not exist",
                    _getEntityName(dim, tagsMaster[i]).c_str());
-        throw Msg::GetLastError();
+        return;
       }
       target->setMeshMaster(source, affineTransform);
     }
@@ -4689,11 +4653,11 @@ GMSH_API void gmsh::model::mesh::getPeriodicNodes(
   std::vector<std::size_t> &nodeTags, std::vector<std::size_t> &nodeTagsMaster,
   std::vector<double> &affineTransform, const bool includeHighOrderNodes)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GEntity *ge = GModel::current()->getEntityByTag(dim, tag);
   if(!ge) {
     Msg::Error("%s does not exist", _getEntityName(dim, tag).c_str());
-    throw Msg::GetLastError();
+    return;
   }
   if(ge->getMeshMaster() != ge) {
     tagMaster = ge->getMeshMaster()->tag();
@@ -4723,7 +4687,7 @@ GMSH_API void gmsh::model::mesh::getPeriodicNodes(
 
 GMSH_API void gmsh::model::mesh::removeDuplicateNodes()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->removeDuplicateMeshVertices(
     CTX::instance()->geom.tolerance);
   CTX::instance()->mesh.changed = ENT_ALL;
@@ -4734,21 +4698,21 @@ gmsh::model::mesh::classifySurfaces(const double angle, const bool boundary,
                                     const bool forReparametrization,
                                     const double curveAngle)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->classifySurfaces(angle, boundary, forReparametrization,
                                       curveAngle);
 }
 
 GMSH_API void gmsh::model::mesh::createGeometry(const vectorpair &dimTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->createGeometryOfDiscreteEntities(dimTags);
 }
 
 GMSH_API void gmsh::model::mesh::createTopology(const bool makeSimplyConnected,
                                                 const bool exportDiscrete)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 
   if(makeSimplyConnected) {
     GModel::current()->makeDiscreteRegionsSimplyConnected();
@@ -4766,7 +4730,7 @@ gmsh::model::mesh::computeHomology(const std::vector<int> &domainTags,
                                    const std::vector<int> &subdomainTags,
                                    const std::vector<int> &dims)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->addHomologyRequest("Homology", domainTags, subdomainTags,
                                         dims);
 }
@@ -4776,7 +4740,7 @@ gmsh::model::mesh::computeCohomology(const std::vector<int> &domainTags,
                                      const std::vector<int> &subdomainTags,
                                      const std::vector<int> &dims)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->addHomologyRequest("Cohomology", domainTags, subdomainTags,
                                         dims);
 }
@@ -4786,27 +4750,26 @@ gmsh::model::mesh::computeCohomology(const std::vector<int> &domainTags,
 GMSH_API int gmsh::model::mesh::field::add(const std::string &fieldType,
                                            const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
 #if defined(HAVE_MESH)
   if(outTag < 0) { outTag = GModel::current()->getFields()->newId(); }
   if(!GModel::current()->getFields()->newField(outTag, fieldType)) {
     Msg::Error("Cannot add Field %i of type '%s'", outTag, fieldType.c_str());
-    throw Msg::GetLastError();
+    return -1;
   }
 #if defined(HAVE_FLTK)
   if(FlGui::available()) FlGui::instance()->updateFields();
 #endif
 #else
   Msg::Error("Fields require the mesh module");
-  throw Msg::GetLastError();
 #endif
   return outTag;
 }
 
 GMSH_API void gmsh::model::mesh::field::remove(const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_MESH)
   GModel::current()->getFields()->deleteField(tag);
 #if defined(HAVE_FLTK)
@@ -4814,7 +4777,6 @@ GMSH_API void gmsh::model::mesh::field::remove(const int tag)
 #endif
 #else
   Msg::Error("Fields require the mesh module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -4840,20 +4802,19 @@ GMSH_API void gmsh::model::mesh::field::setNumber(const int tag,
                                                   const std::string &option,
                                                   const double value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_MESH)
   FieldOption *o = _getFieldOption(tag, option);
-  if(!o) { throw Msg::GetLastError(); }
+  if(!o) { return; }
   try {
     o->numericalValue(value);
   } catch(...) {
     Msg::Error("Cannot set numerical value to option '%s' in field %i",
                option.c_str(), tag);
-    throw Msg::GetLastError();
+    return;
   }
 #else
   Msg::Error("Fields require the mesh module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -4861,20 +4822,19 @@ GMSH_API void gmsh::model::mesh::field::setString(const int tag,
                                                   const std::string &option,
                                                   const std::string &value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_MESH)
   FieldOption *o = _getFieldOption(tag, option);
-  if(!o) { throw Msg::GetLastError(); }
+  if(!o) { return; }
   try {
     o->string(value);
   } catch(...) {
     Msg::Error("Cannot set string value to option '%s' in field %i",
                option.c_str(), tag);
-    throw Msg::GetLastError();
+    return;
   }
 #else
   Msg::Error("Fields require the mesh module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -4882,10 +4842,10 @@ GMSH_API void
 gmsh::model::mesh::field::setNumbers(const int tag, const std::string &option,
                                      const std::vector<double> &value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_MESH)
   FieldOption *o = _getFieldOption(tag, option);
-  if(!o) { throw Msg::GetLastError(); }
+  if(!o) { return; }
   try {
     if(o->getType() == FIELD_OPTION_LIST) {
       std::list<int> vl;
@@ -4900,33 +4860,30 @@ gmsh::model::mesh::field::setNumbers(const int tag, const std::string &option,
   } catch(...) {
     Msg::Error("Cannot set numeric values to option '%s' in field %i",
                option.c_str(), tag);
-    throw Msg::GetLastError();
+    return;
   }
 #else
   Msg::Error("Fields require the mesh module");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::model::mesh::field::setAsBackgroundMesh(const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_MESH)
   GModel::current()->getFields()->setBackgroundFieldId(tag);
 #else
   Msg::Error("Fields require the mesh module");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::model::mesh::field::setAsBoundaryLayer(const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_MESH)
   GModel::current()->getFields()->addBoundaryLayerFieldId(tag);
 #else
   Msg::Error("Fields require the mesh module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -4936,26 +4893,22 @@ GMSH_API int gmsh::model::geo::addPoint(const double x, const double y,
                                         const double z, const double meshSize,
                                         const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
   double xx = CTX::instance()->geom.scalingFactor * x;
   double yy = CTX::instance()->geom.scalingFactor * y;
   double zz = CTX::instance()->geom.scalingFactor * z;
   double lc = CTX::instance()->geom.scalingFactor * meshSize;
-  if(!GModel::current()->getGEOInternals()->addVertex(outTag, xx, yy, zz, lc)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addVertex(outTag, xx, yy, zz, lc);
   return outTag;
 }
 
 GMSH_API int gmsh::model::geo::addLine(const int startTag, const int endTag,
                                        const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addLine(outTag, startTag, endTag)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addLine(outTag, startTag, endTag);
   return outTag;
 }
 
@@ -4965,12 +4918,10 @@ GMSH_API int gmsh::model::geo::addCircleArc(const int startTag,
                                             const double nx, const double ny,
                                             const double nz)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addCircleArc(
-       outTag, startTag, centerTag, endTag, nx, ny, nz)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addCircleArc(
+    outTag, startTag, centerTag, endTag, nx, ny, nz);
   return outTag;
 }
 
@@ -4978,56 +4929,46 @@ GMSH_API int gmsh::model::geo::addEllipseArc(
   const int startTag, const int centerTag, const int majorTag, const int endTag,
   const int tag, const double nx, const double ny, const double nz)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addEllipseArc(
-       outTag, startTag, centerTag, majorTag, endTag, nx, ny, nz)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addEllipseArc(
+    outTag, startTag, centerTag, majorTag, endTag, nx, ny, nz);
   return outTag;
 }
 
 GMSH_API int gmsh::model::geo::addSpline(const std::vector<int> &pointTags,
                                          const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addSpline(outTag, pointTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addSpline(outTag, pointTags);
   return outTag;
 }
 
 GMSH_API int gmsh::model::geo::addBSpline(const std::vector<int> &pointTags,
                                           const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addBSpline(outTag, pointTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addBSpline(outTag, pointTags);
   return outTag;
 }
 
 GMSH_API int gmsh::model::geo::addBezier(const std::vector<int> &pointTags,
                                          const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addBezier(outTag, pointTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addBezier(outTag, pointTags);
   return outTag;
 }
 
 GMSH_API int gmsh::model::geo::addPolyline(const std::vector<int> &pointTags,
                                            const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addLine(outTag, pointTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addLine(outTag, pointTags);
   return outTag;
 }
 
@@ -5035,12 +4976,10 @@ GMSH_API int
 gmsh::model::geo::addCompoundSpline(const std::vector<int> &curveTags,
                                     const int numIntervals, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addCompoundSpline(outTag, curveTags,
-                                                              numIntervals)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addCompoundSpline(outTag, curveTags,
+                                                          numIntervals);
   return outTag;
 }
 
@@ -5048,35 +4987,29 @@ GMSH_API int
 gmsh::model::geo::addCompoundBSpline(const std::vector<int> &curveTags,
                                      const int numIntervals, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addCompoundBSpline(
-       outTag, curveTags, numIntervals)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addCompoundBSpline(outTag, curveTags,
+                                                           numIntervals);
   return outTag;
 }
 
 GMSH_API int gmsh::model::geo::addCurveLoop(const std::vector<int> &curveTags,
                                             const int tag, const bool reorient)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addLineLoop(outTag, curveTags,
-                                                        reorient)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addLineLoop(outTag, curveTags,
+                                                    reorient);
   return outTag;
 }
 
 GMSH_API int gmsh::model::geo::addPlaneSurface(const std::vector<int> &wireTags,
                                                const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addPlaneSurface(outTag, wireTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addPlaneSurface(outTag, wireTags);
   return outTag;
 }
 
@@ -5084,12 +5017,10 @@ GMSH_API int
 gmsh::model::geo::addSurfaceFilling(const std::vector<int> &wireTags,
                                     const int tag, const int sphereCenterTag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addSurfaceFilling(
-       outTag, wireTags, sphereCenterTag)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addSurfaceFilling(outTag, wireTags,
+                                                          sphereCenterTag);
   return outTag;
 }
 
@@ -5097,23 +5028,18 @@ GMSH_API int
 gmsh::model::geo::addSurfaceLoop(const std::vector<int> &surfaceTags,
                                  const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addSurfaceLoop(outTag,
-                                                           surfaceTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addSurfaceLoop(outTag, surfaceTags);
   return outTag;
 }
 
 GMSH_API int gmsh::model::geo::addVolume(const std::vector<int> &shellTags,
                                          const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getGEOInternals()->addVolume(outTag, shellTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->addVolume(outTag, shellTags);
   return outTag;
 }
 
@@ -5148,21 +5074,16 @@ GMSH_API void gmsh::model::geo::extrude(const vectorpair &dimTags,
                                         const std::vector<double> &heights,
                                         const bool recombine)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   outDimTags.clear();
   if(dx || dy || dz) {
-    if(!GModel::current()->getGEOInternals()->extrude(
-         dimTags, dx, dy, dz, outDimTags,
-         _getExtrudeParams(numElements, heights, recombine))) {
-      throw Msg::GetLastError();
-    }
+    GModel::current()->getGEOInternals()->extrude(
+      dimTags, dx, dy, dz, outDimTags,
+      _getExtrudeParams(numElements, heights, recombine));
   }
   else {
-    if(!GModel::current()->getGEOInternals()->boundaryLayer(
-         dimTags, outDimTags,
-         _getExtrudeParams(numElements, heights, recombine))) {
-      throw Msg::GetLastError();
-    }
+    GModel::current()->getGEOInternals()->boundaryLayer(
+      dimTags, outDimTags, _getExtrudeParams(numElements, heights, recombine));
   }
 }
 
@@ -5172,13 +5093,11 @@ GMSH_API void gmsh::model::geo::revolve(
   vectorpair &outDimTags, const std::vector<int> &numElements,
   const std::vector<double> &heights, const bool recombine)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   outDimTags.clear();
-  if(!GModel::current()->getGEOInternals()->revolve(
-       dimTags, x, y, z, ax, ay, az, angle, outDimTags,
-       _getExtrudeParams(numElements, heights, recombine))) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->revolve(
+    dimTags, x, y, z, ax, ay, az, angle, outDimTags,
+    _getExtrudeParams(numElements, heights, recombine));
 }
 
 GMSH_API void gmsh::model::geo::twist(
@@ -5190,21 +5109,17 @@ GMSH_API void gmsh::model::geo::twist(
 {
   _checkInit();
   outDimTags.clear();
-  if(!GModel::current()->getGEOInternals()->twist(
-       dimTags, x, y, z, dx, dy, dz, ax, ay, az, angle, outDimTags,
-       _getExtrudeParams(numElements, heights, recombine))) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->twist(
+    dimTags, x, y, z, dx, dy, dz, ax, ay, az, angle, outDimTags,
+    _getExtrudeParams(numElements, heights, recombine));
 }
 
 GMSH_API void gmsh::model::geo::translate(const vectorpair &dimTags,
                                           const double dx, const double dy,
                                           const double dz)
 {
-  _checkInit();
-  if(!GModel::current()->getGEOInternals()->translate(dimTags, dx, dy, dz)) {
-    throw Msg::GetLastError();
-  }
+  if(!_checkInit()) return;
+  GModel::current()->getGEOInternals()->translate(dimTags, dx, dy, dz);
 }
 
 GMSH_API void gmsh::model::geo::rotate(const vectorpair &dimTags,
@@ -5213,11 +5128,9 @@ GMSH_API void gmsh::model::geo::rotate(const vectorpair &dimTags,
                                        const double ay, const double az,
                                        const double angle)
 {
-  _checkInit();
-  if(!GModel::current()->getGEOInternals()->rotate(dimTags, x, y, z, ax, ay, az,
-                                                   angle)) {
-    throw Msg::GetLastError();
-  }
+  if(!_checkInit()) return;
+  GModel::current()->getGEOInternals()->rotate(dimTags, x, y, z, ax, ay, az,
+                                               angle);
 }
 
 GMSH_API void gmsh::model::geo::dilate(const vectorpair &dimTags,
@@ -5225,20 +5138,16 @@ GMSH_API void gmsh::model::geo::dilate(const vectorpair &dimTags,
                                        const double z, const double a,
                                        const double b, const double c)
 {
-  _checkInit();
-  if(!GModel::current()->getGEOInternals()->dilate(dimTags, x, y, z, a, b, c)) {
-    throw Msg::GetLastError();
-  }
+  if(!_checkInit()) return;
+  GModel::current()->getGEOInternals()->dilate(dimTags, x, y, z, a, b, c);
 }
 
 GMSH_API void gmsh::model::geo::mirror(const vectorpair &dimTags,
                                        const double a, const double b,
                                        const double c, const double d)
 {
-  _checkInit();
-  if(!GModel::current()->getGEOInternals()->symmetry(dimTags, a, b, c, d)) {
-    throw Msg::GetLastError();
-  }
+  if(!_checkInit()) return;
+  GModel::current()->getGEOInternals()->symmetry(dimTags, a, b, c, d);
 }
 
 // will be deprecated
@@ -5252,25 +5161,21 @@ GMSH_API void gmsh::model::geo::symmetrize(const vectorpair &dimTags,
 GMSH_API void gmsh::model::geo::copy(const vectorpair &dimTags,
                                      vectorpair &outDimTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   outDimTags.clear();
-  if(!GModel::current()->getGEOInternals()->copy(dimTags, outDimTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->copy(dimTags, outDimTags);
 }
 
 GMSH_API void gmsh::model::geo::remove(const vectorpair &dimTags,
                                        const bool recursive)
 {
-  _checkInit();
-  if(!GModel::current()->getGEOInternals()->remove(dimTags, recursive)) {
-    throw Msg::GetLastError();
-  }
+  if(!_checkInit()) return;
+  GModel::current()->getGEOInternals()->remove(dimTags, recursive);
 }
 
 GMSH_API void gmsh::model::geo::removeAllDuplicates()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->getGEOInternals()->removeAllDuplicates();
 }
 
@@ -5278,22 +5183,19 @@ GMSH_API void gmsh::model::geo::splitCurve(const int tag,
                                            const std::vector<int> &pointTags,
                                            std::vector<int> &curveTags)
 {
-  _checkInit();
-  if(!GModel::current()->getGEOInternals()->splitCurve(tag, pointTags,
-                                                       curveTags)) {
-    throw Msg::GetLastError();
-  }
+  if(!_checkInit()) return;
+  GModel::current()->getGEOInternals()->splitCurve(tag, pointTags, curveTags);
 }
 
 GMSH_API int gmsh::model::geo::getMaxTag(const int dim)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   return GModel::current()->getGEOInternals()->getMaxTag(dim);
 }
 
 GMSH_API void gmsh::model::geo::setMaxTag(const int dim, const int maxTag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->getGEOInternals()->setMaxTag(dim, maxTag);
 }
 
@@ -5301,21 +5203,18 @@ GMSH_API int gmsh::model::geo::addPhysicalGroup(const int dim,
                                                 const std::vector<int> &tags,
                                                 const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
   if(outTag < 0)
     outTag = GModel::current()->getGEOInternals()->getMaxPhysicalTag() + 1;
-  if(!GModel::current()->getGEOInternals()->modifyPhysicalGroup(dim, outTag, 0,
-                                                                tags)) {
-    Msg::Error("Could not add physical group");
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getGEOInternals()->modifyPhysicalGroup(dim, outTag, 0,
+                                                            tags);
   return outTag;
 }
 
 GMSH_API void gmsh::model::geo::removePhysicalGroups(const vectorpair &dimTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(dimTags.empty()) {
     GModel::current()->getGEOInternals()->resetPhysicalGroups();
   }
@@ -5330,7 +5229,7 @@ GMSH_API void gmsh::model::geo::removePhysicalGroups(const vectorpair &dimTags)
 
 GMSH_API void gmsh::model::geo::synchronize()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->getGEOInternals()->synchronize(GModel::current());
 }
 
@@ -5341,7 +5240,7 @@ gmsh::model::geo::mesh::setTransfiniteCurve(const int tag, const int nPoints,
                                             const std::string &meshType,
                                             const double coef)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int type = (meshType == "Progression" || meshType == "Power") ?
                1 :
                (meshType == "Bump") ? 2 : 1;
@@ -5359,7 +5258,7 @@ GMSH_API void gmsh::model::geo::mesh::setTransfiniteSurface(
   const int tag, const std::string &arrangement,
   const std::vector<int> &cornerTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   int t = (arrangement == "Right") ?
             1 :
             (arrangement == "Left") ? -1 :
@@ -5376,35 +5275,35 @@ GMSH_API void
 gmsh::model::geo::mesh::setTransfiniteVolume(const int tag,
                                              const std::vector<int> &cornerTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->getGEOInternals()->setTransfiniteVolume(tag, cornerTags);
 }
 
 GMSH_API void gmsh::model::geo::mesh::setRecombine(const int dim, const int tag,
                                                    const double angle)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->getGEOInternals()->setRecombine(dim, tag, angle);
 }
 
 GMSH_API void gmsh::model::geo::mesh::setSmoothing(const int dim, const int tag,
                                                    const int val)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(dim == 2) { GModel::current()->getGEOInternals()->setSmoothing(tag, val); }
 }
 
 GMSH_API void gmsh::model::geo::mesh::setReverse(const int dim, const int tag,
                                                  const bool val)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->getGEOInternals()->setReverseMesh(dim, tag, val);
 }
 
 GMSH_API void gmsh::model::geo::mesh::setAlgorithm(const int dim, const int tag,
                                                    const int val)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->getGEOInternals()->setMeshAlgorithm(dim, tag, val);
 }
 
@@ -5412,14 +5311,14 @@ GMSH_API void gmsh::model::geo::mesh::setSizeFromBoundary(const int dim,
                                                           const int tag,
                                                           const int val)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->getGEOInternals()->setMeshSizeFromBoundary(dim, tag, val);
 }
 
 GMSH_API void gmsh::model::geo::mesh::setSize(const vectorpair &dimTags,
                                               const double size)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   for(std::size_t i = 0; i < dimTags.size(); i++) {
     int dim = dimTags[i].first, tag = dimTags[i].second;
     GModel::current()->getGEOInternals()->setMeshSize(dim, tag, size);
@@ -5438,25 +5337,20 @@ GMSH_API int gmsh::model::occ::addPoint(const double x, const double y,
                                         const double z, const double meshSize,
                                         const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addVertex(outTag, x, y, z,
-                                                      meshSize)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addVertex(outTag, x, y, z, meshSize);
   return outTag;
 }
 
 GMSH_API int gmsh::model::occ::addLine(const int startTag, const int endTag,
                                        const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addLine(outTag, startTag, endTag)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addLine(outTag, startTag, endTag);
   return outTag;
 }
 
@@ -5464,13 +5358,11 @@ GMSH_API int gmsh::model::occ::addCircleArc(const int startTag,
                                             const int centerTag,
                                             const int endTag, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addCircleArc(outTag, startTag,
-                                                         centerTag, endTag)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addCircleArc(outTag, startTag,
+                                                     centerTag, endTag);
   return outTag;
 }
 
@@ -5479,13 +5371,11 @@ GMSH_API int gmsh::model::occ::addCircle(const double x, const double y,
                                          const int tag, const double angle1,
                                          const double angle2)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addCircle(outTag, x, y, z, r,
-                                                      angle1, angle2)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addCircle(outTag, x, y, z, r, angle1,
+                                                  angle2);
   return outTag;
 }
 
@@ -5494,13 +5384,11 @@ GMSH_API int gmsh::model::occ::addEllipseArc(const int startTag,
                                              const int majorTag,
                                              const int endTag, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addEllipseArc(
-       outTag, startTag, centerTag, majorTag, endTag)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addEllipseArc(
+    outTag, startTag, centerTag, majorTag, endTag);
   return outTag;
 }
 
@@ -5510,25 +5398,21 @@ GMSH_API int gmsh::model::occ::addEllipse(const double x, const double y,
                                           const double angle1,
                                           const double angle2)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addEllipse(outTag, x, y, z, r1, r2,
-                                                       angle1, angle2)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addEllipse(outTag, x, y, z, r1, r2,
+                                                   angle1, angle2);
   return outTag;
 }
 
 GMSH_API int gmsh::model::occ::addSpline(const std::vector<int> &pointTags,
                                          const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addSpline(outTag, pointTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addSpline(outTag, pointTags);
   return outTag;
 }
 
@@ -5537,49 +5421,40 @@ GMSH_API int gmsh::model::occ::addBSpline(
   const std::vector<double> &weights, const std::vector<double> &knots,
   const std::vector<int> &multiplicities)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addBSpline(
-       outTag, pointTags, degree, weights, knots, multiplicities)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addBSpline(
+    outTag, pointTags, degree, weights, knots, multiplicities);
   return outTag;
 }
 
 GMSH_API int gmsh::model::occ::addBezier(const std::vector<int> &pointTags,
                                          const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addBezier(outTag, pointTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addBezier(outTag, pointTags);
   return outTag;
 }
 
 GMSH_API int gmsh::model::occ::addWire(const std::vector<int> &curveTags,
                                        const int tag, const bool checkClosed)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addWire(outTag, curveTags,
-                                                    checkClosed)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addWire(outTag, curveTags, checkClosed);
   return outTag;
 }
 
 GMSH_API int gmsh::model::occ::addCurveLoop(const std::vector<int> &curveTags,
                                             const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addLineLoop(outTag, curveTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addLineLoop(outTag, curveTags);
   return outTag;
 }
 
@@ -5588,13 +5463,11 @@ GMSH_API int gmsh::model::occ::addRectangle(const double x, const double y,
                                             const double dy, const int tag,
                                             const double roundedRadius)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addRectangle(outTag, x, y, z, dx,
-                                                         dy, roundedRadius)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addRectangle(outTag, x, y, z, dx, dy,
+                                                     roundedRadius);
   return outTag;
 }
 
@@ -5602,25 +5475,20 @@ GMSH_API int gmsh::model::occ::addDisk(const double xc, const double yc,
                                        const double zc, const double rx,
                                        const double ry, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addDisk(outTag, xc, yc, zc, rx,
-                                                    ry)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addDisk(outTag, xc, yc, zc, rx, ry);
   return outTag;
 }
 
 GMSH_API int gmsh::model::occ::addPlaneSurface(const std::vector<int> &wireTags,
                                                const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addPlaneSurface(outTag, wireTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addPlaneSurface(outTag, wireTags);
   return outTag;
 }
 
@@ -5628,13 +5496,11 @@ GMSH_API int
 gmsh::model::occ::addSurfaceFilling(const int wireTag, const int tag,
                                     const std::vector<int> &pointTags)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addSurfaceFilling(outTag, wireTag,
-                                                              pointTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addSurfaceFilling(outTag, wireTag,
+                                                          pointTags);
   return outTag;
 }
 
@@ -5642,13 +5508,11 @@ GMSH_API int gmsh::model::occ::addBSplineFilling(const int wireTag,
                                                  const int tag,
                                                  const std::string &type)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addBSplineFilling(outTag, wireTag,
-                                                              type)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addBSplineFilling(outTag, wireTag,
+                                                          type);
   return outTag;
 }
 
@@ -5656,13 +5520,10 @@ GMSH_API int gmsh::model::occ::addBezierFilling(const int wireTag,
                                                 const int tag,
                                                 const std::string &type)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addBezierFilling(outTag, wireTag,
-                                                             type)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addBezierFilling(outTag, wireTag, type);
   return outTag;
 }
 
@@ -5673,13 +5534,11 @@ GMSH_API int gmsh::model::occ::addBSplineSurface(
   const std::vector<int> &multiplicitiesU,
   const std::vector<int> &multiplicitiesV)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addBSplineSurface(
-       outTag, pointTags, numPointsU, degreeU, degreeV, weights, knotsU, knotsV,
-       multiplicitiesU, multiplicitiesV)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addBSplineSurface(
+    outTag, pointTags, numPointsU, degreeU, degreeV, weights, knotsU, knotsV,
+    multiplicitiesU, multiplicitiesV);
   return outTag;
 }
 
@@ -5687,12 +5546,10 @@ GMSH_API int
 gmsh::model::occ::addBezierSurface(const std::vector<int> &pointTags,
                                    const int numPointsU, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addBezierSurface(outTag, pointTags,
-                                                             numPointsU)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addBezierSurface(outTag, pointTags,
+                                                         numPointsU);
   return outTag;
 }
 
@@ -5700,25 +5557,21 @@ GMSH_API int
 gmsh::model::occ::addSurfaceLoop(const std::vector<int> &surfaceTags,
                                  const int tag, const bool sewing)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addSurfaceLoop(outTag, surfaceTags,
-                                                           sewing)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addSurfaceLoop(outTag, surfaceTags,
+                                                       sewing);
   return outTag;
 }
 
 GMSH_API int gmsh::model::occ::addVolume(const std::vector<int> &shellTags,
                                          const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addVolume(outTag, shellTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addVolume(outTag, shellTags);
   return outTag;
 }
 
@@ -5728,13 +5581,11 @@ GMSH_API int gmsh::model::occ::addSphere(const double xc, const double yc,
                                          const double angle2,
                                          const double angle3)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addSphere(
-       outTag, xc, yc, zc, radius, angle1, angle2, angle3)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addSphere(outTag, xc, yc, zc, radius,
+                                                  angle1, angle2, angle3);
   return outTag;
 }
 
@@ -5743,13 +5594,10 @@ GMSH_API int gmsh::model::occ::addBox(const double x, const double y,
                                       const double dy, const double dz,
                                       const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addBox(outTag, x, y, z, dx, dy,
-                                                   dz)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addBox(outTag, x, y, z, dx, dy, dz);
   return outTag;
 }
 
@@ -5759,13 +5607,11 @@ GMSH_API int gmsh::model::occ::addCylinder(const double x, const double y,
                                            const double r, const int tag,
                                            const double angle)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addCylinder(outTag, x, y, z, dx, dy,
-                                                        dz, r, angle)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addCylinder(outTag, x, y, z, dx, dy, dz,
+                                                    r, angle);
   return outTag;
 }
 
@@ -5775,13 +5621,11 @@ GMSH_API int gmsh::model::occ::addCone(const double x, const double y,
                                        const double r1, const double r2,
                                        const int tag, const double angle)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addCone(outTag, x, y, z, dx, dy, dz,
-                                                    r1, r2, angle)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addCone(outTag, x, y, z, dx, dy, dz, r1,
+                                                r2, angle);
   return outTag;
 }
 
@@ -5790,13 +5634,11 @@ GMSH_API int gmsh::model::occ::addWedge(const double x, const double y,
                                         const double dy, const double dz,
                                         const int tag, const double ltx)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addWedge(outTag, x, y, z, dx, dy,
-                                                     dz, ltx)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addWedge(outTag, x, y, z, dx, dy, dz,
+                                                 ltx);
   return outTag;
 }
 
@@ -5805,13 +5647,11 @@ GMSH_API int gmsh::model::occ::addTorus(const double x, const double y,
                                         const double r2, const int tag,
                                         const double angle)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   _createOcc();
   int outTag = tag;
-  if(!GModel::current()->getOCCInternals()->addTorus(outTag, x, y, z, r1, r2,
-                                                     angle)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addTorus(outTag, x, y, z, r1, r2,
+                                                 angle);
   return outTag;
 }
 
@@ -5819,26 +5659,22 @@ GMSH_API void gmsh::model::occ::addThruSections(
   const std::vector<int> &wireTags, vectorpair &outDimTags, const int tag,
   const bool makeSolid, const bool makeRuled, const int maxDegree)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
-  if(!GModel::current()->getOCCInternals()->addThruSections(
-       tag, wireTags, makeSolid, makeRuled, outDimTags, maxDegree)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addThruSections(
+    tag, wireTags, makeSolid, makeRuled, outDimTags, maxDegree);
 }
 
 GMSH_API void gmsh::model::occ::addThickSolid(
   const int volumeTag, const std::vector<int> &excludeSurfaceTags,
   const double offset, vectorpair &outDimTags, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
-  if(!GModel::current()->getOCCInternals()->addThickSolid(
-       tag, volumeTag, excludeSurfaceTags, offset, outDimTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addThickSolid(
+    tag, volumeTag, excludeSurfaceTags, offset, outDimTags);
 }
 
 GMSH_API void gmsh::model::occ::extrude(const vectorpair &dimTags,
@@ -5848,14 +5684,12 @@ GMSH_API void gmsh::model::occ::extrude(const vectorpair &dimTags,
                                         const std::vector<double> &heights,
                                         const bool recombine)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
-  if(!GModel::current()->getOCCInternals()->extrude(
-       dimTags, dx, dy, dz, outDimTags,
-       _getExtrudeParams(numElements, heights, recombine))) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->extrude(
+    dimTags, dx, dy, dz, outDimTags,
+    _getExtrudeParams(numElements, heights, recombine));
 }
 
 GMSH_API void gmsh::model::occ::revolve(
@@ -5864,27 +5698,22 @@ GMSH_API void gmsh::model::occ::revolve(
   vectorpair &outDimTags, const std::vector<int> &numElements,
   const std::vector<double> &heights, const bool recombine)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
-  if(!GModel::current()->getOCCInternals()->revolve(
-       dimTags, x, y, z, ax, ay, az, angle, outDimTags,
-       _getExtrudeParams(numElements, heights, recombine))) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->revolve(
+    dimTags, x, y, z, ax, ay, az, angle, outDimTags,
+    _getExtrudeParams(numElements, heights, recombine));
 }
 
 GMSH_API void gmsh::model::occ::addPipe(const vectorpair &dimTags,
                                         const int wireTag,
                                         vectorpair &outDimTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
-  if(!GModel::current()->getOCCInternals()->addPipe(dimTags, wireTag,
-                                                    outDimTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->addPipe(dimTags, wireTag, outDimTags);
 }
 
 GMSH_API void gmsh::model::occ::fillet(const std::vector<int> &volumeTags,
@@ -5893,13 +5722,11 @@ GMSH_API void gmsh::model::occ::fillet(const std::vector<int> &volumeTags,
                                        vectorpair &outDimTags,
                                        const bool removeVolume)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
-  if(!GModel::current()->getOCCInternals()->fillet(volumeTags, curveTags, radii,
-                                                   outDimTags, removeVolume)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->fillet(volumeTags, curveTags, radii,
+                                               outDimTags, removeVolume);
 }
 
 GMSH_API void gmsh::model::occ::chamfer(const std::vector<int> &volumeTags,
@@ -5909,14 +5736,11 @@ GMSH_API void gmsh::model::occ::chamfer(const std::vector<int> &volumeTags,
                                         vectorpair &outDimTags,
                                         const bool removeVolume)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
-  if(!GModel::current()->getOCCInternals()->chamfer(volumeTags, curveTags,
-                                                    surfaceTags, distances,
-                                                    outDimTags, removeVolume)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->chamfer(
+    volumeTags, curveTags, surfaceTags, distances, outDimTags, removeVolume);
 }
 
 GMSH_API void gmsh::model::occ::fuse(const vectorpair &objectDimTags,
@@ -5926,15 +5750,13 @@ GMSH_API void gmsh::model::occ::fuse(const vectorpair &objectDimTags,
                                      const int tag, const bool removeObject,
                                      const bool removeTool)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
   outDimTagsMap.clear();
-  if(!GModel::current()->getOCCInternals()->booleanUnion(
-       tag, objectDimTags, toolDimTags, outDimTags, outDimTagsMap, removeObject,
-       removeTool)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->booleanUnion(
+    tag, objectDimTags, toolDimTags, outDimTags, outDimTagsMap, removeObject,
+    removeTool);
 }
 
 GMSH_API void gmsh::model::occ::intersect(
@@ -5942,15 +5764,13 @@ GMSH_API void gmsh::model::occ::intersect(
   vectorpair &outDimTags, std::vector<vectorpair> &outDimTagsMap, const int tag,
   const bool removeObject, const bool removeTool)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
   outDimTagsMap.clear();
-  if(!GModel::current()->getOCCInternals()->booleanIntersection(
-       tag, objectDimTags, toolDimTags, outDimTags, outDimTagsMap, removeObject,
-       removeTool)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->booleanIntersection(
+    tag, objectDimTags, toolDimTags, outDimTags, outDimTagsMap, removeObject,
+    removeTool);
 }
 
 GMSH_API void gmsh::model::occ::cut(const vectorpair &objectDimTags,
@@ -5960,15 +5780,13 @@ GMSH_API void gmsh::model::occ::cut(const vectorpair &objectDimTags,
                                     const int tag, const bool removeObject,
                                     const bool removeTool)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
   outDimTagsMap.clear();
-  if(!GModel::current()->getOCCInternals()->booleanDifference(
-       tag, objectDimTags, toolDimTags, outDimTags, outDimTagsMap, removeObject,
-       removeTool)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->booleanDifference(
+    tag, objectDimTags, toolDimTags, outDimTags, outDimTagsMap, removeObject,
+    removeTool);
 }
 
 GMSH_API void gmsh::model::occ::fragment(const vectorpair &objectDimTags,
@@ -5978,26 +5796,22 @@ GMSH_API void gmsh::model::occ::fragment(const vectorpair &objectDimTags,
                                          const int tag, const bool removeObject,
                                          const bool removeTool)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
   outDimTagsMap.clear();
-  if(!GModel::current()->getOCCInternals()->booleanFragments(
-       tag, objectDimTags, toolDimTags, outDimTags, outDimTagsMap, removeObject,
-       removeTool)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->booleanFragments(
+    tag, objectDimTags, toolDimTags, outDimTags, outDimTagsMap, removeObject,
+    removeTool);
 }
 
 GMSH_API void gmsh::model::occ::translate(const vectorpair &dimTags,
                                           const double dx, const double dy,
                                           const double dz)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
-  if(!GModel::current()->getOCCInternals()->translate(dimTags, dx, dy, dz)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->translate(dimTags, dx, dy, dz);
 }
 
 GMSH_API void gmsh::model::occ::rotate(const vectorpair &dimTags,
@@ -6006,12 +5820,10 @@ GMSH_API void gmsh::model::occ::rotate(const vectorpair &dimTags,
                                        const double ay, const double az,
                                        const double angle)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
-  if(!GModel::current()->getOCCInternals()->rotate(dimTags, x, y, z, ax, ay, az,
-                                                   angle)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->rotate(dimTags, x, y, z, ax, ay, az,
+                                               angle);
 }
 
 GMSH_API void gmsh::model::occ::dilate(const vectorpair &dimTags,
@@ -6019,22 +5831,18 @@ GMSH_API void gmsh::model::occ::dilate(const vectorpair &dimTags,
                                        const double z, const double a,
                                        const double b, const double c)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
-  if(!GModel::current()->getOCCInternals()->dilate(dimTags, x, y, z, a, b, c)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->dilate(dimTags, x, y, z, a, b, c);
 }
 
 GMSH_API void gmsh::model::occ::mirror(const vectorpair &dimTags,
                                        const double a, const double b,
                                        const double c, const double d)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
-  if(!GModel::current()->getOCCInternals()->symmetry(dimTags, a, b, c, d)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->symmetry(dimTags, a, b, c, d);
 }
 
 GMSH_API void gmsh::model::occ::symmetrize(const vectorpair &dimTags,
@@ -6047,37 +5855,31 @@ GMSH_API void gmsh::model::occ::symmetrize(const vectorpair &dimTags,
 GMSH_API void gmsh::model::occ::affineTransform(const vectorpair &dimTags,
                                                 const std::vector<double> &a)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
-  if(!GModel::current()->getOCCInternals()->affine(dimTags, a)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->affine(dimTags, a);
 }
 
 GMSH_API void gmsh::model::occ::copy(const vectorpair &dimTags,
                                      vectorpair &outDimTags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
-  if(!GModel::current()->getOCCInternals()->copy(dimTags, outDimTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->copy(dimTags, outDimTags);
 }
 
 GMSH_API void gmsh::model::occ::remove(const vectorpair &dimTags,
                                        const bool recursive)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
-  if(!GModel::current()->getOCCInternals()->remove(dimTags, recursive)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->remove(dimTags, recursive);
 }
 
 GMSH_API void gmsh::model::occ::removeAllDuplicates()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   GModel::current()->getOCCInternals()->removeAllDuplicates();
 }
@@ -6087,14 +5889,12 @@ GMSH_API void gmsh::model::occ::healShapes(
   const bool fixDegenerated, const bool fixSmallEdges, const bool fixSmallFaces,
   const bool sewFaces, const bool makeSolids)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
-  if(!GModel::current()->getOCCInternals()->healShapes(
-       inDimTags, outDimTags, tolerance, fixDegenerated, fixSmallEdges,
-       fixSmallFaces, sewFaces, makeSolids)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->healShapes(
+    inDimTags, outDimTags, tolerance, fixDegenerated, fixSmallEdges,
+    fixSmallFaces, sewFaces, makeSolids);
 }
 
 GMSH_API void gmsh::model::occ::importShapes(const std::string &fileName,
@@ -6102,51 +5902,42 @@ GMSH_API void gmsh::model::occ::importShapes(const std::string &fileName,
                                              const bool highestDimOnly,
                                              const std::string &format)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
-  if(!GModel::current()->getOCCInternals()->importShapes(
-       fileName, highestDimOnly, outDimTags, format)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->importShapes(fileName, highestDimOnly,
+                                                     outDimTags, format);
 }
 
 GMSH_API void gmsh::model::occ::importShapesNativePointer(
   const void *shape, vectorpair &outDimTags, const bool highestDimOnly)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   outDimTags.clear();
 #if defined(HAVE_OCC)
-  if(!GModel::current()->getOCCInternals()->importShapes(
-       static_cast<const TopoDS_Shape *>(shape), highestDimOnly, outDimTags)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->importShapes(
+    static_cast<const TopoDS_Shape *>(shape), highestDimOnly, outDimTags);
 #else
   Msg::Error("Gmsh requires OpenCASCADE to import native shape");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::model::occ::getEntities(vectorpair &dimTags, const int dim)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
-  if(!GModel::current()->getOCCInternals()->getEntities(dimTags, dim)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->getEntities(dimTags, dim);
 }
 
 GMSH_API void gmsh::model::occ::getEntitiesInBoundingBox(
   const double xmin, const double ymin, const double zmin, const double xmax,
   const double ymax, const double zmax, vectorpair &dimTags, const int dim)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   dimTags.clear();
-  if(!GModel::current()->getOCCInternals()->getEntitiesInBoundingBox(
-       xmin, ymin, zmin, xmax, ymax, zmax, dimTags, dim)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->getEntitiesInBoundingBox(
+    xmin, ymin, zmin, xmax, ymax, zmax, dimTags, dim);
 }
 
 GMSH_API void gmsh::model::occ::getBoundingBox(const int dim, const int tag,
@@ -6154,60 +5945,51 @@ GMSH_API void gmsh::model::occ::getBoundingBox(const int dim, const int tag,
                                                double &zmin, double &xmax,
                                                double &ymax, double &zmax)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
-  if(!GModel::current()->getOCCInternals()->getBoundingBox(
-       dim, tag, xmin, ymin, zmin, xmax, ymax, zmax)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->getBoundingBox(dim, tag, xmin, ymin,
+                                                       zmin, xmax, ymax, zmax);
 }
 
 GMSH_API void gmsh::model::occ::getMass(const int dim, const int tag,
                                         double &mass)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
-  if(!GModel::current()->getOCCInternals()->getMass(dim, tag, mass)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->getMass(dim, tag, mass);
 }
 
 GMSH_API void gmsh::model::occ::getCenterOfMass(const int dim, const int tag,
                                                 double &x, double &y, double &z)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
-  if(!GModel::current()->getOCCInternals()->getCenterOfMass(dim, tag, x, y,
-                                                            z)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->getCenterOfMass(dim, tag, x, y, z);
 }
 
 GMSH_API void gmsh::model::occ::getMatrixOfInertia(const int dim, const int tag,
                                                    std::vector<double> &m)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
-  if(!GModel::current()->getOCCInternals()->getMatrixOfInertia(dim, tag, m)) {
-    throw Msg::GetLastError();
-  }
+  GModel::current()->getOCCInternals()->getMatrixOfInertia(dim, tag, m);
 }
 
 GMSH_API int gmsh::model::occ::getMaxTag(const int dim)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   return GModel::current()->getOCCInternals()->getMaxTag(dim);
 }
 
 GMSH_API void gmsh::model::occ::setMaxTag(const int dim, const int maxTag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GModel::current()->getOCCInternals()->setMaxTag(dim, maxTag);
 }
 
 GMSH_API void gmsh::model::occ::synchronize()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   GModel::current()->getOCCInternals()->synchronize(GModel::current());
 }
@@ -6217,7 +5999,7 @@ GMSH_API void gmsh::model::occ::synchronize()
 GMSH_API void gmsh::model::occ::mesh::setSize(const vectorpair &dimTags,
                                               const double size)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _createOcc();
   for(std::size_t i = 0; i < dimTags.size(); i++) {
     int dim = dimTags[i].first, tag = dimTags[i].second;
@@ -6229,7 +6011,7 @@ GMSH_API void gmsh::model::occ::mesh::setSize(const vectorpair &dimTags,
 
 GMSH_API int gmsh::view::add(const std::string &name, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
 #if defined(HAVE_POST)
   PView *view = new PView(tag);
   view->getData()->setName(name);
@@ -6239,18 +6021,17 @@ GMSH_API int gmsh::view::add(const std::string &name, const int tag)
   return view->getTag();
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::view::remove(const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
   delete view;
 #if defined(HAVE_FLTK)
@@ -6258,36 +6039,33 @@ GMSH_API void gmsh::view::remove(const int tag)
 #endif
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API int gmsh::view::getIndex(const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
 #if defined(HAVE_POST)
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return -1;
   }
   return view->getIndex();
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::view::getTags(std::vector<int> &tags)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   tags.clear();
   for(std::size_t i = 0; i < PView::list.size(); i++)
     tags.push_back(PView::list[i]->getTag());
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -6302,14 +6080,14 @@ _addModelData(const int tag, const int step, const std::string &modelName,
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
   GModel *model = GModel::current();
   if(modelName.size()) {
     model = GModel::findByName(modelName);
     if(!model) {
       Msg::Error("Unknown model '%s'", modelName.c_str());
-      throw Msg::GetLastError();
+      return;
     }
   }
   PViewDataGModel::DataType type;
@@ -6325,7 +6103,7 @@ _addModelData(const int tag, const int step, const std::string &modelName,
     type = PViewDataGModel::BeamData;
   else {
     Msg::Error("Unknown type of view to add '%s'", dataType.c_str());
-    throw Msg::GetLastError();
+    return;
   }
 
   PViewDataGModel *d = dynamic_cast<PViewDataGModel *>(view->getData());
@@ -6344,7 +6122,7 @@ _addModelData(const int tag, const int step, const std::string &modelName,
   }
   if(!d->addData(model, tags, data, step, time, partition, numComponents)) {
     Msg::Error("Could not add model data");
-    throw Msg::GetLastError();
+    return;
   }
   if(view->getOptions()->adaptVisualizationGrid)
     d->initAdaptiveData(view->getOptions()->timeStep,
@@ -6352,7 +6130,6 @@ _addModelData(const int tag, const int step, const std::string &modelName,
                         view->getOptions()->targetError);
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -6362,10 +6139,10 @@ GMSH_API void gmsh::view::addModelData(
   const std::vector<std::vector<double> > &data, const double time,
   const int numComponents, const int partition)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(tags.size() != data.size()) {
     Msg::Error("Incompatible number of tags and data");
-    throw Msg::GetLastError();
+    return;
   }
   _addModelData(tag, step, modelName, dataType, tags, data, time, numComponents,
                 partition);
@@ -6377,7 +6154,7 @@ GMSH_API void gmsh::view::addHomogeneousModelData(
   const std::vector<double> &data, const double time, const int numComponents,
   const int partition)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   _addModelData(tag, step, modelName, dataType, tags, data, time, numComponents,
                 partition);
 }
@@ -6388,11 +6165,11 @@ static stepData<double> *_getModelData(const int tag, const int step,
                                        int &numComponents, int &numEnt,
                                        int &maxMult)
 {
-  _checkInit();
+  if(!_checkInit()) return 0;
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return 0;
   }
   PViewDataGModel *d = dynamic_cast<PViewDataGModel *>(view->getData());
   if(!d) {
@@ -6415,7 +6192,7 @@ static stepData<double> *_getModelData(const int tag, const int step,
   if(!s) {
     Msg::Error("View with tag %d does not contain model data for step %d", tag,
                step);
-    throw Msg::GetLastError();
+    return 0;
   }
   time = s->getTime();
   numComponents = s->getNumComponents();
@@ -6437,7 +6214,7 @@ GMSH_API void gmsh::view::getModelData(const int tag, const int step,
                                        std::vector<std::vector<double> > &data,
                                        double &time, int &numComponents)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   tags.clear();
   data.clear();
 #if defined(HAVE_POST)
@@ -6460,7 +6237,6 @@ GMSH_API void gmsh::view::getModelData(const int tag, const int step,
   }
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -6469,7 +6245,7 @@ GMSH_API void gmsh::view::getHomogeneousModelData(
   std::vector<std::size_t> &tags, std::vector<double> &data, double &time,
   int &numComponents)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   tags.clear();
   data.clear();
 #if defined(HAVE_POST)
@@ -6493,7 +6269,6 @@ GMSH_API void gmsh::view::getHomogeneousModelData(
   }
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -6504,7 +6279,7 @@ GMSH_API void gmshViewGetModelData(const int tag, const int step,
                                    size_t **data_n, size_t *data_nn,
                                    double *time, int *numComponents, int *ierr)
 {
-  if(!_isInit()) {
+  if(!_checkInit()) {
     if(ierr) *ierr = -1;
     return;
   }
@@ -6577,12 +6352,12 @@ GMSH_API void gmsh::view::addListData(const int tag,
                                       const int numElements,
                                       const std::vector<double> &data)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
   PViewDataList *d = dynamic_cast<PViewDataList *>(view->getData());
   if(!d) { // change the view type
@@ -6603,10 +6378,8 @@ GMSH_API void gmsh::view::addListData(const int tag,
     }
   }
   Msg::Error("Unknown data type for list import");
-  throw Msg::GetLastError();
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -6615,12 +6388,12 @@ GMSH_API void gmsh::view::getListData(const int tag,
                                       std::vector<int> &numElements,
                                       std::vector<std::vector<double> > &data)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
   PViewDataList *d = dynamic_cast<PViewDataList *>(view->getData());
   if(!d) {
@@ -6642,7 +6415,6 @@ GMSH_API void gmsh::view::getListData(const int tag,
   }
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -6674,12 +6446,12 @@ gmsh::view::addListDataString(const int tag, const std::vector<double> &coord,
                               const std::vector<std::string> &data,
                               const std::vector<std::string> &style)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
   PViewDataList *d = dynamic_cast<PViewDataList *>(view->getData());
   if(!d) { // change the view type
@@ -6718,7 +6490,6 @@ gmsh::view::addListDataString(const int tag, const std::vector<double> &coord,
   d->finalize();
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -6727,12 +6498,12 @@ GMSH_API void gmsh::view::getListDataStrings(const int tag, const int dim,
                                              std::vector<std::string> &data,
                                              std::vector<std::string> &style)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
   PViewDataList *d = dynamic_cast<PViewDataList *>(view->getData());
   if(!d) {
@@ -6779,7 +6550,6 @@ GMSH_API void gmsh::view::getListDataStrings(const int tag, const int dim,
   }
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -6789,17 +6559,17 @@ GMSH_API void gmsh::view::setInterpolationMatrices(
   const int dGeo, const std::vector<double> &coefGeo,
   const std::vector<double> &expGeo)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
   PViewData *data = view->getData();
   if(!data) {
     Msg::Error("View with tag %d does not contain any data", tag);
-    throw Msg::GetLastError();
+    return;
   }
 
   int itype = 0;
@@ -6819,7 +6589,7 @@ GMSH_API void gmsh::view::setInterpolationMatrices(
     itype = TYPE_HEX;
   else {
     Msg::Error("Unknown element family type '%s'", type.c_str());
-    throw Msg::GetLastError();
+    return;
   }
 
   if(data->haveInterpolationMatrices(itype))
@@ -6831,12 +6601,11 @@ GMSH_API void gmsh::view::setInterpolationMatrices(
   if((int)coef.size() != d * d) {
     Msg::Error("Wrong number of coefficients (%d != %d x %d)", (int)coef.size(),
                d, d);
-    throw Msg::GetLastError();
+    return;
   }
   if((int)exp.size() != d * 3) {
-    Msg::Error("Wrong number of exponents (%d != %d x 3)", (int)exp.size(),
-               d);
-    throw Msg::GetLastError();
+    Msg::Error("Wrong number of exponents (%d != %d x 3)", (int)exp.size(), d);
+    return;
   }
   fullMatrix<double> F(d, d), P(d, 3);
   for(int i = 0; i < d; i++) {
@@ -6853,12 +6622,12 @@ GMSH_API void gmsh::view::setInterpolationMatrices(
   if((int)coefGeo.size() != dGeo * dGeo) {
     Msg::Error("Wrong number of coefficients (%d != %d x %d)",
                (int)coefGeo.size(), dGeo, dGeo);
-    throw Msg::GetLastError();
+    return;
   }
   if((int)expGeo.size() != dGeo * 3) {
     Msg::Error("Wrong number of exponents (%d != %d x 3)", (int)expGeo.size(),
                dGeo);
-    throw Msg::GetLastError();
+    return;
   }
   fullMatrix<double> Fg(dGeo, dGeo), Pg(dGeo, 3);
   for(int i = 0; i < dGeo; i++) {
@@ -6868,19 +6637,18 @@ GMSH_API void gmsh::view::setInterpolationMatrices(
   data->setInterpolationMatrices(itype, F, P, Fg, Pg);
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API int gmsh::view::addAlias(const int refTag, const bool copyOptions,
                                   const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
 #if defined(HAVE_POST)
   PView *ref = PView::getViewByTag(refTag);
   if(!ref) {
     Msg::Error("Unknown view with tag %d", refTag);
-    throw Msg::GetLastError();
+    return -1;
   }
   PView *view = new PView(ref, copyOptions, tag);
 #if defined(HAVE_FLTK)
@@ -6889,23 +6657,22 @@ GMSH_API int gmsh::view::addAlias(const int refTag, const bool copyOptions,
   return view->getTag();
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::view::copyOptions(const int refTag, const int tag)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   PView *ref = PView::getViewByTag(refTag);
   if(!ref) {
     Msg::Error("Unknown view with tag %d", refTag);
-    throw Msg::GetLastError();
+    return;
   }
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
   view->setOptions(ref->getOptions());
 #if defined(HAVE_FLTK)
@@ -6913,7 +6680,6 @@ GMSH_API void gmsh::view::copyOptions(const int refTag, const int tag)
 #endif
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -6921,7 +6687,7 @@ GMSH_API void gmsh::view::combine(const std::string &what,
                                   const std::string &how, const bool remove,
                                   const bool copyOptions)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   bool time = (what == "steps") ? true : false; // "elements"
   int ihow = (how == "all") ? 1 : (how == "name") ? 2 : 0; // "visible"
@@ -6931,7 +6697,6 @@ GMSH_API void gmsh::view::combine(const std::string &what,
 #endif
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -6943,17 +6708,17 @@ GMSH_API void gmsh::view::probe(const int tag, const double x, const double y,
                                 const std::vector<double> &yElemCoord,
                                 const std::vector<double> &zElemCoord)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
   PViewData *data = view->getData();
   if(!data) {
     Msg::Error("No data in view %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
   value.clear();
   std::vector<double> val(9 * data->getNumTimeSteps() * 3);
@@ -6972,34 +6737,34 @@ GMSH_API void gmsh::view::probe(const int tag, const double x, const double y,
   int numVal = 0;
   switch(numComp) {
   case 1:
-    if(data->searchScalarWithTol(x, y, z, &val[0], step, 0, tolerance, qn,
-                                 qx, qy, qz, gradient)) {
+    if(data->searchScalarWithTol(x, y, z, &val[0], step, 0, tolerance, qn, qx,
+                                 qy, qz, gradient)) {
       numVal = numSteps * mult * 1;
     }
     break;
   case 3:
-    if(data->searchVectorWithTol(x, y, z, &val[0], step, 0, tolerance, qn,
-                                 qx, qy, qz, gradient)) {
+    if(data->searchVectorWithTol(x, y, z, &val[0], step, 0, tolerance, qn, qx,
+                                 qy, qz, gradient)) {
       numVal = numSteps * mult * 3;
     }
     break;
   case 9:
-    if(data->searchTensorWithTol(x, y, z, &val[0], step, 0, tolerance, qn,
-                                 qx, qy, qz, gradient)) {
+    if(data->searchTensorWithTol(x, y, z, &val[0], step, 0, tolerance, qn, qx,
+                                 qy, qz, gradient)) {
       numVal = numSteps * mult * 9;
     }
     break;
   default:
-    if(data->searchScalarWithTol(x, y, z, &val[0], step, 0, tolerance, qn,
-                                 qx, qy, qz, gradient)) {
+    if(data->searchScalarWithTol(x, y, z, &val[0], step, 0, tolerance, qn, qx,
+                                 qy, qz, gradient)) {
       numVal = numSteps * mult * 1;
     }
-    else if(data->searchVectorWithTol(x, y, z, &val[0], step, 0, tolerance,
-                                      qn, qx, qy, qz, gradient)) {
+    else if(data->searchVectorWithTol(x, y, z, &val[0], step, 0, tolerance, qn,
+                                      qx, qy, qz, gradient)) {
       numVal = numSteps * mult * 3;
     }
-    else if(data->searchTensorWithTol(x, y, z, &val[0], step, 0, tolerance,
-                                      qn, qx, qy, qz, gradient)) {
+    else if(data->searchTensorWithTol(x, y, z, &val[0], step, 0, tolerance, qn,
+                                      qx, qy, qz, gradient)) {
       numVal = numSteps * mult * 9;
     }
     break;
@@ -7007,37 +6772,34 @@ GMSH_API void gmsh::view::probe(const int tag, const double x, const double y,
   for(int i = 0; i < numVal; i++) value.push_back(val[i]);
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::view::write(const int tag, const std::string &fileName,
                                 const bool append)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
   view->write(fileName, 10, append);
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
-GMSH_API void gmsh::view::setVisibilityPerWindow(const int tag,
-                                                 const int value,
+GMSH_API void gmsh::view::setVisibilityPerWindow(const int tag, const int value,
                                                  const int windowIndex)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_POST)
   PView *view = PView::getViewByTag(tag);
   if(!view) {
     Msg::Error("Unknown view with tag %d", tag);
-    throw Msg::GetLastError();
+    return;
   }
 #if defined(HAVE_FLTK)
   FlGui::instance()->setCurrentOpenglWindow(windowIndex);
@@ -7050,7 +6812,6 @@ GMSH_API void gmsh::view::setVisibilityPerWindow(const int tag,
 #endif
 #else
   Msg::Error("Views require the post-processing module");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -7060,17 +6821,15 @@ GMSH_API void gmsh::plugin::setNumber(const std::string &name,
                                       const std::string &option,
                                       const double value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_PLUGINS)
   try {
     PluginManager::instance()->setPluginOption(name, option, value);
   } catch(...) {
     Msg::Error("Unknown plugin or plugin option");
-    throw Msg::GetLastError();
   }
 #else
   Msg::Error("Views require the post-processing and plugin modules");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -7078,33 +6837,29 @@ GMSH_API void gmsh::plugin::setString(const std::string &name,
                                       const std::string &option,
                                       const std::string &value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_PLUGINS)
   try {
     PluginManager::instance()->setPluginOption(name, option, value);
   } catch(...) {
     Msg::Error("Unknown plugin or plugin option");
-    throw Msg::GetLastError();
   }
 #else
   Msg::Error("Views require the post-processing and plugin modules");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::plugin::run(const std::string &name)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_PLUGINS)
   try {
     PluginManager::instance()->action(name, "Run", 0);
   } catch(...) {
     Msg::Error("Unknown plugin or plugin action");
-    throw Msg::GetLastError();
   }
 #else
   Msg::Error("Views require the post-processing and plugin modules");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -7127,25 +6882,23 @@ static void error_handler(const char *fmt, ...)
   vsnprintf(str, sizeof(str), fmt, args);
   va_end(args);
   Msg::Error("%s (FLTK internal error)", str);
-  throw Msg::GetLastError();
 }
 
 GMSH_API void gmsh::fltk::initialize()
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_FLTK)
   FlGui::instance(_argc, _argv, false, error_handler);
   FlGui::setFinishedProcessingCommandLine();
   FlGui::check(true);
 #else
   Msg::Error("Fltk not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API int gmsh::fltk::isAvailable()
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
 #if defined(HAVE_FLTK)
   return FlGui::available() ? 1 : 0;
 #else
@@ -7155,7 +6908,7 @@ GMSH_API int gmsh::fltk::isAvailable()
 
 GMSH_API void gmsh::fltk::wait(const double time)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_FLTK)
   if(!FlGui::available()) FlGui::instance(_argc, _argv, false, error_handler);
   if(time >= 0)
@@ -7164,64 +6917,58 @@ GMSH_API void gmsh::fltk::wait(const double time)
     FlGui::wait(true);
 #else
   Msg::Error("Fltk not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::fltk::lock()
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_FLTK)
   FlGui::lock();
 #else
   Msg::Error("Fltk not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::fltk::unlock()
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_FLTK)
   FlGui::unlock();
 #else
   Msg::Error("Fltk not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::fltk::update()
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_FLTK)
   if(!FlGui::available()) FlGui::instance(_argc, _argv, false, error_handler);
   FlGui::instance()->updateViews(true, true);
 #else
   Msg::Error("Fltk not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::fltk::awake(const std::string &action)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_FLTK)
   FlGui::awake(action);
 #else
   Msg::Error("Fltk not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::fltk::run()
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_FLTK)
   if(!FlGui::available()) FlGui::instance(_argc, _argv, false, error_handler);
   FlGui::instance()->run(); // this calls draw() once
 #else
   Msg::Error("Fltk not available");
-  throw Msg::GetLastError();
 #endif
 }
 
@@ -7241,7 +6988,7 @@ static int selectionCode(char val)
 
 GMSH_API int gmsh::fltk::selectEntities(vectorpair &dimTags, const int dim)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   dimTags.clear();
 #if defined(HAVE_FLTK)
   if(!FlGui::available()) FlGui::instance(_argc, _argv, false, error_handler);
@@ -7273,7 +7020,7 @@ GMSH_API int gmsh::fltk::selectEntities(vectorpair &dimTags, const int dim)
 
 GMSH_API int gmsh::fltk::selectElements(std::vector<std::size_t> &elementTags)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   elementTags.clear();
 #if defined(HAVE_FLTK)
   if(!FlGui::available()) FlGui::instance(_argc, _argv, false, error_handler);
@@ -7292,7 +7039,7 @@ GMSH_API int gmsh::fltk::selectElements(std::vector<std::size_t> &elementTags)
 
 GMSH_API int gmsh::fltk::selectViews(std::vector<int> &viewTags)
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   viewTags.clear();
 #if defined(HAVE_FLTK)
   if(!FlGui::available()) FlGui::instance(_argc, _argv, false, error_handler);
@@ -7305,11 +7052,12 @@ GMSH_API int gmsh::fltk::selectViews(std::vector<int> &viewTags)
 #endif
 }
 
-GMSH_API void gmsh::fltk::splitCurrentWindow(const std::string & how,
+GMSH_API void gmsh::fltk::splitCurrentWindow(const std::string &how,
                                              const double ratio)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_FLTK)
+  if(!FlGui::available()) FlGui::instance(_argc, _argv, false, error_handler);
   if(how == "h")
     FlGui::instance()->splitCurrentOpenglWindow('h', ratio);
   else if(how == "v")
@@ -7318,15 +7066,15 @@ GMSH_API void gmsh::fltk::splitCurrentWindow(const std::string & how,
     FlGui::instance()->splitCurrentOpenglWindow('u');
   else {
     Msg::Error("Unknown window splitting method '%s'", how.c_str());
-    throw Msg::GetLastError();
   }
 #endif
 }
 
 GMSH_API void gmsh::fltk::setCurrentWindow(const int windowIndex)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_FLTK)
+  if(!FlGui::available()) FlGui::instance(_argc, _argv, false, error_handler);
   FlGui::instance()->setCurrentOpenglWindow(windowIndex);
 #endif
 }
@@ -7336,7 +7084,7 @@ GMSH_API void gmsh::fltk::setCurrentWindow(const int windowIndex)
 GMSH_API void gmsh::onelab::set(const std::string &data,
                                 const std::string &format)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_ONELAB)
   if(format == "json") {
     if(!::onelab::server::instance()->fromJSON(data))
@@ -7346,14 +7094,13 @@ GMSH_API void gmsh::onelab::set(const std::string &data,
     Msg::Error("Unknown data format");
 #else
   Msg::Error("ONELAB not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::onelab::get(std::string &data, const std::string &name,
                                 const std::string &format)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_ONELAB)
   data.clear();
   if(name.empty()) {
@@ -7384,14 +7131,13 @@ GMSH_API void gmsh::onelab::get(std::string &data, const std::string &name,
   }
 #else
   Msg::Error("ONELAB not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::onelab::setNumber(const std::string &name,
                                       const std::vector<double> &value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_ONELAB)
   ::onelab::number p(name);
   std::vector< ::onelab::number> ps;
@@ -7401,14 +7147,13 @@ GMSH_API void gmsh::onelab::setNumber(const std::string &name,
   ::onelab::server::instance()->set(p);
 #else
   Msg::Error("ONELAB not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::onelab::getNumber(const std::string &name,
                                       std::vector<double> &value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_ONELAB)
   value.clear();
   std::vector< ::onelab::number> ps;
@@ -7416,14 +7161,13 @@ GMSH_API void gmsh::onelab::getNumber(const std::string &name,
   if(ps.size()) value = ps[0].getValues();
 #else
   Msg::Error("ONELAB not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::onelab::setString(const std::string &name,
                                       const std::vector<std::string> &value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_ONELAB)
   ::onelab::string p(name);
   std::vector< ::onelab::string> ps;
@@ -7433,14 +7177,13 @@ GMSH_API void gmsh::onelab::setString(const std::string &name,
   ::onelab::server::instance()->set(p);
 #else
   Msg::Error("ONELAB not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::onelab::getString(const std::string &name,
                                       std::vector<std::string> &value)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_ONELAB)
   value.clear();
   std::vector< ::onelab::string> ps;
@@ -7448,25 +7191,23 @@ GMSH_API void gmsh::onelab::getString(const std::string &name,
   if(ps.size()) value = ps[0].getValues();
 #else
   Msg::Error("ONELAB not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::onelab::clear(const std::string &name)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_ONELAB)
   ::onelab::server::instance()->clear(name);
 #else
   Msg::Error("ONELAB not available");
-  throw Msg::GetLastError();
 #endif
 }
 
 GMSH_API void gmsh::onelab::run(const std::string &name,
                                 const std::string &command)
 {
-  _checkInit();
+  if(!_checkInit()) return;
 #if defined(HAVE_ONELAB)
   onelabUtils::runClient(name, command);
 #endif
@@ -7477,7 +7218,7 @@ GMSH_API void gmsh::onelab::run(const std::string &name,
 GMSH_API void gmsh::logger::write(const std::string &message,
                                   const std::string &level)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   if(level == "error")
     Msg::Error("%s", message.c_str());
   else if(level == "warning")
@@ -7501,7 +7242,7 @@ public:
 
 GMSH_API void gmsh::logger::start()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GmshMessage *msg = Msg::GetCallback();
   if(msg) { Msg::Warning("Logger already started - ignoring"); }
   else {
@@ -7512,7 +7253,7 @@ GMSH_API void gmsh::logger::start()
 
 GMSH_API void gmsh::logger::get(std::vector<std::string> &log)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   apiMsg *msg = dynamic_cast<apiMsg *>(Msg::GetCallback());
   if(msg) { msg->get(log); }
   else {
@@ -7522,7 +7263,7 @@ GMSH_API void gmsh::logger::get(std::vector<std::string> &log)
 
 GMSH_API void gmsh::logger::stop()
 {
-  _checkInit();
+  if(!_checkInit()) return;
   GmshMessage *msg = Msg::GetCallback();
   if(msg) {
     delete msg;
@@ -7535,18 +7276,18 @@ GMSH_API void gmsh::logger::stop()
 
 GMSH_API double gmsh::logger::getWallTime()
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   return TimeOfDay();
 }
 
 GMSH_API double gmsh::logger::getCpuTime()
 {
-  _checkInit();
+  if(!_checkInit()) return -1;
   return Cpu();
 }
 
 GMSH_API void gmsh::logger::getLastError(std::string &error)
 {
-  _checkInit();
+  if(!_checkInit()) return;
   error = Msg::GetLastError();
 }
diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index ec8662d0cfbf7cca98508834a71da58fa90ffd83..6909d129c89958feffe2aa8cff0554bd2d94c035 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -1475,8 +1475,8 @@ int GModel::getEdgeNumber(const MEdge &edge)
   hashmapMEdge::iterator it = _mapEdgeNum.find(edge);
   if(it != _mapEdgeNum.end()) { return _mapEdgeNum.find(edge)->second; }
   else {
-    Msg::Error("this edge does not exist in the mapEdgeNum");
-    throw 2;
+    Msg::Error("This edge does not exist in the mapEdgeNum");
+    return -1;
   }
 }
 int GModel::addMFace(const MFace &face)
@@ -2670,8 +2670,11 @@ void GModel::alignPeriodicBoundaries()
           MElement *srcElmt = mIter->second;
           std::vector<MVertex *> srcVtcs;
 
-          if(tgtTri && !dynamic_cast<MTriangle *>(srcElmt)) throw;
-          if(tgtQua && !dynamic_cast<MQuadrangle *>(srcElmt)) throw;
+          if((tgtTri && !dynamic_cast<MTriangle *>(srcElmt)) ||
+             (tgtQua && !dynamic_cast<MQuadrangle *>(srcElmt))) {
+            Msg::Error("Invalid source/target elements");
+            return;
+          }
 
           int rotation = 0;
           bool swap = false;
diff --git a/Geo/intersectCurveSurface.h b/Geo/intersectCurveSurface.h
index 1168b51b37a1b25b549bce2b6816f978b98aceb0..90063b73f6d9b984b79599130d7ebfd540235d92 100644
--- a/Geo/intersectCurveSurface.h
+++ b/Geo/intersectCurveSurface.h
@@ -34,7 +34,6 @@ public:
   virtual SPoint3 operator()(double u, double v) const
   {
     GPoint gp = gf->point(u, v);
-    if(!gp.succeeded()) throw gf;
     return SPoint3(gp.x(), gp.y(), gp.z());
   }
 };
diff --git a/api/gen.py b/api/gen.py
index 73d3224e26d6b33812c9dc0178ddb8836ca3b1dd..505d07c51d73b02f39aca01cf767abe69266db51 100644
--- a/api/gen.py
+++ b/api/gen.py
@@ -44,10 +44,10 @@ api = API(version_major, version_minor, version_patch)
 
 gmsh = api.add_module('gmsh', 'top-level functions')
 
-doc = '''Initialize Gmsh. This must be called before any call to the other functions in the API. If `argc' and `argv' (or just `argv' in Python or Julia) are provided, they will be handled in the same way as the command line arguments in the Gmsh app. If `readConfigFiles' is set, read system Gmsh configuration files (gmshrc and gmsh-options).'''
+doc = '''Initialize Gmsh API. This must be called before any call to the other functions in the API. If `argc' and `argv' (or just `argv' in Python or Julia) are provided, they will be handled in the same way as the command line arguments in the Gmsh app. If `readConfigFiles' is set, read system Gmsh configuration files (gmshrc and gmsh-options). Initializing the API sets the options "General.Terminal" to 1 and "General.AbortOnError" to 2.'''
 gmsh.add('initialize', doc, None, iargcargv(), ibool('readConfigFiles', 'true', 'True', 'true'))
 
-doc = '''Finalize Gmsh. This must be called when you are done using the Gmsh API.'''
+doc = '''Finalize the Gmsh API. This must be called when you are done using the Gmsh API.'''
 gmsh.add('finalize', doc, None)
 
 doc = '''Open a file. Equivalent to the `File->Open' menu in the Gmsh app. Handling of the file depends on its extension and/or its contents: opening a file with model data will create a new model.'''
diff --git a/api/gmsh.h b/api/gmsh.h
index d0e682b6598e2d8a38e1e3f70f1935426b21c7be..cb1827135bb3110f40b49813a866b34fc9917681 100644
--- a/api/gmsh.h
+++ b/api/gmsh.h
@@ -54,17 +54,19 @@ namespace gmsh { // Top-level functions
 
   // gmsh::initialize
   //
-  // Initialize Gmsh. This must be called before any call to the other functions in
-  // the API. If `argc' and `argv' (or just `argv' in Python or Julia) are
-  // provided, they will be handled in the same way as the command line arguments
-  // in the Gmsh app. If `readConfigFiles' is set, read system Gmsh configuration
-  // files (gmshrc and gmsh-options).
+  // Initialize Gmsh API. This must be called before any call to the other
+  // functions in the API. If `argc' and `argv' (or just `argv' in Python or Julia)
+  // are provided, they will be handled in the same way as the command line
+  // arguments in the Gmsh app. If `readConfigFiles' is set, read system Gmsh
+  // configuration files (gmshrc and gmsh-options). Initializing the API sets the
+  // options "General.Terminal" to 1 and "General.AbortOnError" to 2.
   GMSH_API void initialize(int argc = 0, char ** argv = 0,
                            const bool readConfigFiles = true);
 
   // gmsh::finalize
   //
-  // Finalize Gmsh. This must be called when you are done using the Gmsh API.
+  // Finalize the Gmsh API. This must be called when you are done using the Gmsh
+  // API.
   GMSH_API void finalize();
 
   // gmsh::open
diff --git a/api/gmsh.h_cwrap b/api/gmsh.h_cwrap
index bd34874e42da97e10c71fa493851baf8fb1d9fc1..bdaef85f608bb2e9ae424ccb4fd24c5aede6e871 100644
--- a/api/gmsh.h_cwrap
+++ b/api/gmsh.h_cwrap
@@ -103,11 +103,12 @@ namespace gmsh {
 
 namespace gmsh { // Top-level functions
 
-  // Initialize Gmsh. This must be called before any call to the other functions in
-  // the API. If `argc' and `argv' (or just `argv' in Python or Julia) are
-  // provided, they will be handled in the same way as the command line arguments
-  // in the Gmsh app. If `readConfigFiles' is set, read system Gmsh configuration
-  // files (gmshrc and gmsh-options).
+  // Initialize Gmsh API. This must be called before any call to the other
+  // functions in the API. If `argc' and `argv' (or just `argv' in Python or Julia)
+  // are provided, they will be handled in the same way as the command line
+  // arguments in the Gmsh app. If `readConfigFiles' is set, read system Gmsh
+  // configuration files (gmshrc and gmsh-options). Initializing the API sets the
+  // options "General.Terminal" to 1 and "General.AbortOnError" to 2.
   inline void initialize(int argc = 0, char ** argv = 0,
                          const bool readConfigFiles = true)
   {
@@ -116,7 +117,8 @@ namespace gmsh { // Top-level functions
     if(ierr) throwLastError();
   }
 
-  // Finalize Gmsh. This must be called when you are done using the Gmsh API.
+  // Finalize the Gmsh API. This must be called when you are done using the Gmsh
+  // API.
   inline void finalize()
   {
     int ierr = 0;
diff --git a/api/gmsh.jl b/api/gmsh.jl
index 851cb48f9feb54fa2fa03bf62d5c12f9999c8883..a213d5e0d7a5ff40a840531a96dd9e727b14bc5b 100644
--- a/api/gmsh.jl
+++ b/api/gmsh.jl
@@ -29,11 +29,12 @@ const lib = Libdl.find_library([libname], [libdir])
 """
     gmsh.initialize(argv = Vector{String}(), readConfigFiles = true)
 
-Initialize Gmsh. This must be called before any call to the other functions in
-the API. If `argc` and `argv` (or just `argv` in Python or Julia) are provided,
-they will be handled in the same way as the command line arguments in the Gmsh
-app. If `readConfigFiles` is set, read system Gmsh configuration files (gmshrc
-and gmsh-options).
+Initialize Gmsh API. This must be called before any call to the other functions
+in the API. If `argc` and `argv` (or just `argv` in Python or Julia) are
+provided, they will be handled in the same way as the command line arguments in
+the Gmsh app. If `readConfigFiles` is set, read system Gmsh configuration files
+(gmshrc and gmsh-options). Initializing the API sets the options
+"General.Terminal" to 1 and "General.AbortOnError" to 2.
 """
 function initialize(argv = Vector{String}(), readConfigFiles = true)
     ierr = Ref{Cint}()
@@ -47,7 +48,7 @@ end
 """
     gmsh.finalize()
 
-Finalize Gmsh. This must be called when you are done using the Gmsh API.
+Finalize the Gmsh API. This must be called when you are done using the Gmsh API.
 """
 function finalize()
     ierr = Ref{Cint}()
diff --git a/api/gmsh.py b/api/gmsh.py
index 6177a4e0fe1884327ab21a6760142a3ab718f7ea..7b6b84cce93c4d1b04ad7075d579e6b84ada7aa2 100644
--- a/api/gmsh.py
+++ b/api/gmsh.py
@@ -212,11 +212,12 @@ def initialize(argv=[], readConfigFiles=True):
     """
     gmsh.initialize(argv=[], readConfigFiles=True)
 
-    Initialize Gmsh. This must be called before any call to the other functions
-    in the API. If `argc' and `argv' (or just `argv' in Python or Julia) are
-    provided, they will be handled in the same way as the command line
-    arguments in the Gmsh app. If `readConfigFiles' is set, read system Gmsh
-    configuration files (gmshrc and gmsh-options).
+    Initialize Gmsh API. This must be called before any call to the other
+    functions in the API. If `argc' and `argv' (or just `argv' in Python or
+    Julia) are provided, they will be handled in the same way as the command
+    line arguments in the Gmsh app. If `readConfigFiles' is set, read system
+    Gmsh configuration files (gmshrc and gmsh-options). Initializing the API
+    sets the options "General.Terminal" to 1 and "General.AbortOnError" to 2.
     """
     api_argc_, api_argv_ = _iargcargv(argv)
     ierr = c_int()
@@ -231,7 +232,8 @@ def finalize():
     """
     gmsh.finalize()
 
-    Finalize Gmsh. This must be called when you are done using the Gmsh API.
+    Finalize the Gmsh API. This must be called when you are done using the Gmsh
+    API.
     """
     ierr = c_int()
     lib.gmshFinalize(
diff --git a/api/gmshc.h b/api/gmshc.h
index 384cee4755a05f077b49cc25639f86466ecadc3f..4246b76dcf38b9dbdf8922379d7cce510b5ca267 100644
--- a/api/gmshc.h
+++ b/api/gmshc.h
@@ -37,16 +37,18 @@
 GMSH_API void gmshFree(void *p);
 GMSH_API void *gmshMalloc(size_t n);
 
-/* Initialize Gmsh. This must be called before any call to the other functions
- * in the API. If `argc' and `argv' (or just `argv' in Python or Julia) are
- * provided, they will be handled in the same way as the command line
- * arguments in the Gmsh app. If `readConfigFiles' is set, read system Gmsh
- * configuration files (gmshrc and gmsh-options). */
+/* Initialize Gmsh API. This must be called before any call to the other
+ * functions in the API. If `argc' and `argv' (or just `argv' in Python or
+ * Julia) are provided, they will be handled in the same way as the command
+ * line arguments in the Gmsh app. If `readConfigFiles' is set, read system
+ * Gmsh configuration files (gmshrc and gmsh-options). Initializing the API
+ * sets the options "General.Terminal" to 1 and "General.AbortOnError" to 2. */
 GMSH_API void gmshInitialize(int argc, char ** argv,
                              const int readConfigFiles,
                              int * ierr);
 
-/* Finalize Gmsh. This must be called when you are done using the Gmsh API. */
+/* Finalize the Gmsh API. This must be called when you are done using the Gmsh
+ * API. */
 GMSH_API void gmshFinalize(int * ierr);
 
 /* Open a file. Equivalent to the `File->Open' menu in the Gmsh app. Handling
diff --git a/demos/api/adapt_mesh.cpp b/demos/api/adapt_mesh.cpp
index 4b893b40c9736d8055e918762b342d82c85f51b1..2c1d18f1417b488b05cc7899585ef4280349505f 100644
--- a/demos/api/adapt_mesh.cpp
+++ b/demos/api/adapt_mesh.cpp
@@ -222,7 +222,6 @@ int main(int argc, char **argv)
   if(argc > 3) dumpfiles = atoi(argv[3]);
 
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   // create a geometrical model
   gmsh::model::add("square");
diff --git a/demos/api/adapt_mesh.py b/demos/api/adapt_mesh.py
index d5c0fb89fbb357b5ea399ec6cb66aed2a051d8f8..947dece7d183e5e0eec04a3992b4f0d4dff6c184 100644
--- a/demos/api/adapt_mesh.py
+++ b/demos/api/adapt_mesh.py
@@ -70,7 +70,6 @@ if len(argv) > 2: N = int(sys.argv[2])
 if len(argv) > 3: dumpfiles = int(sys.argv[3])
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # create a geometrical gmsh.model
 gmsh.model.add("square")
diff --git a/demos/api/boolean.cpp b/demos/api/boolean.cpp
index 32d92b33d563decb2f04c377f00b8bdcf1883e5d..adf20ea73338d3ddd42aa134e5f45f886db7cf7f 100644
--- a/demos/api/boolean.cpp
+++ b/demos/api/boolean.cpp
@@ -5,7 +5,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("boolean");
 
diff --git a/demos/api/boolean.py b/demos/api/boolean.py
index 847c2fa7213c4e09dc69c484a91cdccbd1990038..751578a79f98f890655883d2f66a0703f2ffc5d4 100644
--- a/demos/api/boolean.py
+++ b/demos/api/boolean.py
@@ -5,8 +5,6 @@ import sys
 
 gmsh.initialize(sys.argv)
 
-gmsh.option.setNumber("General.Terminal", 1)
-
 gmsh.model.add("boolean")
 
 # from http://en.wikipedia.org/wiki/Constructive_solid_geometry
diff --git a/demos/api/bspline_bezier_patches.py b/demos/api/bspline_bezier_patches.py
index 2f6e13193b04d2ff1ac5ed2b1fe8c4e1e4fc3ed2..cac63ce449bee88c5890d8aa70b3e566259d224c 100644
--- a/demos/api/bspline_bezier_patches.py
+++ b/demos/api/bspline_bezier_patches.py
@@ -2,7 +2,6 @@ import gmsh
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.occ.addPoint(0.1,0,-0.1)
 gmsh.model.occ.addPoint(1,0,0)
diff --git a/demos/api/bspline_filling.py b/demos/api/bspline_filling.py
index 3a89f8ec748d2f972593ad967496a2645f0e21bd..5483389d2fce7de31116eb138f11b5728e37a164 100644
--- a/demos/api/bspline_filling.py
+++ b/demos/api/bspline_filling.py
@@ -6,8 +6,6 @@ import numpy as np
 
 gmsh.initialize()
 
-gmsh.option.setNumber("General.Terminal", 1)
-
 # Set a target mesh size
 lc = 2e-2
 
diff --git a/demos/api/closest_point.py b/demos/api/closest_point.py
index 59b1a3c77865b9469180a5036eb4defc2ba5ec61..94c3fe559a96f13545738a9b94636ce703fb1190 100644
--- a/demos/api/closest_point.py
+++ b/demos/api/closest_point.py
@@ -2,7 +2,6 @@ import gmsh
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # add a circle
 c = gmsh.model.occ.addCircle(0, 0, 0, 1)
diff --git a/demos/api/copy_mesh.py b/demos/api/copy_mesh.py
index d33596ce1fe41c9a1b4ccb4d236a4f96f9723dc2..8e315e796a47fb278fb7c39cef5f1d55795c640f 100644
--- a/demos/api/copy_mesh.py
+++ b/demos/api/copy_mesh.py
@@ -1,7 +1,6 @@
 import gmsh
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # create a model with OCC and mesh it
 gmsh.model.add('model1')
diff --git a/demos/api/crack.py b/demos/api/crack.py
index 3d82f1b439081b0984dfd4e82d7982aaf8a0d53e..7a3cab9f4576ee689d183db2e70800a83fdd45ae 100644
--- a/demos/api/crack.py
+++ b/demos/api/crack.py
@@ -3,8 +3,6 @@ import sys
 
 gmsh.initialize(sys.argv)
 
-gmsh.option.setNumber("General.Terminal", 1)
-
 gmsh.model.add("square with cracks")
 
 surf1 = 1
diff --git a/demos/api/crack3d.py b/demos/api/crack3d.py
index beedf32dd825f57dd8fa9b0bcb6f553c7b366b6b..2f997e5b8930f2499146e7f347abe9688ee8f934 100644
--- a/demos/api/crack3d.py
+++ b/demos/api/crack3d.py
@@ -3,8 +3,6 @@ import sys
 
 gmsh.initialize(sys.argv)
 
-gmsh.option.setNumber("General.Terminal", 1)
-
 # create 2 adjacent boxes + a smaller surface on the interface
 v1 = gmsh.model.occ.addBox(0, 0, 0, 1, 1, 1)
 v2 = gmsh.model.occ.addBox(0, 0, -1, 1, 1, 1)
diff --git a/demos/api/custom_gui.py b/demos/api/custom_gui.py
index 6bb55fc2bd975ac0d832d1d3f69dab01c99f179b..df5232e8bdda0a0d548b6138bc7a7a2e6b2c13da 100644
--- a/demos/api/custom_gui.py
+++ b/demos/api/custom_gui.py
@@ -13,6 +13,9 @@ gmsh.initialize()
 # hide the standard Gmsh modules
 gmsh.option.setNumber("General.ShowModuleMenu", 0)
 
+# don't print messages on the terminal
+gmsh.option.setNumber("General.Terminal", 0)
+
 # create some ONELAB parameters to control the number of iterations and
 # threads, the progress display and the custom ONELAB button (when pressed,
 # it will set the "ONELAB/Action" parameter to "should compute")
diff --git a/demos/api/discrete.cpp b/demos/api/discrete.cpp
index f465026e72c2bd1fafd1888e06bd93e70554ebd8..9dc69cd82d2b642f078efb248a132ab5150ac3e0 100644
--- a/demos/api/discrete.cpp
+++ b/demos/api/discrete.cpp
@@ -3,7 +3,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("test");
 
diff --git a/demos/api/discrete.jl b/demos/api/discrete.jl
index 5103052946e16e8834da9a3c36e39fb596895a28..650d3ce7aebc2059e66463e1cefa461b2bf226fb 100644
--- a/demos/api/discrete.jl
+++ b/demos/api/discrete.jl
@@ -1,7 +1,6 @@
 import gmsh
 
 gmsh.initialize(append!(["gmsh"], ARGS))
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("test");
 
diff --git a/demos/api/discrete.py b/demos/api/discrete.py
index 2c89b1ff5092a3c9be6619af799f8030133b44c5..01e0ec3cb85f4d009dab6abf4a0f6136c04fb122 100644
--- a/demos/api/discrete.py
+++ b/demos/api/discrete.py
@@ -2,7 +2,6 @@ import gmsh
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("test")
 
diff --git a/demos/api/edges.cpp b/demos/api/edges.cpp
index 3c88517636a38f9f31a0cba9ff55fd8545cf9548..af29210e47067bb2b62e5b87395c70aecc5a663f 100644
--- a/demos/api/edges.cpp
+++ b/demos/api/edges.cpp
@@ -6,9 +6,6 @@ int main(int argc, char **argv)
   // initialize Gmsh
   gmsh::initialize(argc, argv);
 
-  // print messages on the terminal
-  gmsh::option::setNumber("General.Terminal", 1);
-
   // create a new Gmsh model
   gmsh::model::add("my test model");
 
diff --git a/demos/api/explore.cpp b/demos/api/explore.cpp
index c345ee5702162c8fd06bfdffb93dcca73fab1e34..f116d09e178ae2054eb7fa370e81af3709d92ede 100644
--- a/demos/api/explore.cpp
+++ b/demos/api/explore.cpp
@@ -9,7 +9,7 @@ int main(int argc, char **argv)
   }
 
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
+
   gmsh::open(argv[1]);
 
   // get all elementary entities in the model
diff --git a/demos/api/explore.jl b/demos/api/explore.jl
index 050704c82e1dd6285dc670bc4e16e85a3e58b381..6e0ac69415b3c5ad9bb4604d01d0034496fd3f43 100644
--- a/demos/api/explore.jl
+++ b/demos/api/explore.jl
@@ -6,7 +6,6 @@ if length(ARGS) < 1
 end
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 gmsh.open(ARGS[1])
 
 # get all elementary entities in the model
diff --git a/demos/api/explore.py b/demos/api/explore.py
index badd7ae73e9f2c013a6db0de6a3fc4aee1195b4a..ca9cafed45f19bb78eaceecf6015c19623940982 100644
--- a/demos/api/explore.py
+++ b/demos/api/explore.py
@@ -6,7 +6,6 @@ if len(sys.argv) < 2:
     exit(0)
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 gmsh.open(sys.argv[1])
 
 print("Model name: " + gmsh.model.getCurrent())
diff --git a/demos/api/faces.cpp b/demos/api/faces.cpp
index e61e93522630c6145f5be3a07b4a163109d3b12d..ef21c8f6e113a234c1fd23eeb1e5c2ecb79a46ab 100644
--- a/demos/api/faces.cpp
+++ b/demos/api/faces.cpp
@@ -6,9 +6,6 @@ int main(int argc, char **argv)
   // initialize Gmsh
   gmsh::initialize(argc, argv);
 
-  // print messages on the terminal
-  gmsh::option::setNumber("General.Terminal", 1);
-
   // create a new Gmsh model
   gmsh::model::add("my test model");
 
diff --git a/demos/api/flatten.py b/demos/api/flatten.py
index 5c50821955487468b89e45010dc9b131458cd9b4..a18fe87f779574ad13a2396969f7c1f835d89d2b 100644
--- a/demos/api/flatten.py
+++ b/demos/api/flatten.py
@@ -10,7 +10,6 @@ if len(sys.argv) < 2:
     exit(0)
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 gmsh.open(sys.argv[1])
 
 nodeTags = {}
diff --git a/demos/api/get_data_perf.cpp b/demos/api/get_data_perf.cpp
index 5c05b2587c6e61878621638cc0f6f48c20ac37e7..5f46e56c49dfc7071a2072dad90acdbb10d143d6 100644
--- a/demos/api/get_data_perf.cpp
+++ b/demos/api/get_data_perf.cpp
@@ -4,7 +4,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   // create a simple cartesian grid (you can make it finer e.g. by passing
   // "-clscale 0.01" on the command line)
diff --git a/demos/api/get_data_perf.py b/demos/api/get_data_perf.py
index e899a7011b2eb307063e79de42a78d57cdc6bf62..c3c96a172a076828c5ca6ca9aec7d5aa01b42386 100644
--- a/demos/api/get_data_perf.py
+++ b/demos/api/get_data_perf.py
@@ -2,7 +2,6 @@ import gmsh
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 # create a simple cartesian grid (you can make it finer e.g. by passing
 # "-clscale 0.01" on the command line)
diff --git a/demos/api/glue_and_remesh_stl.py b/demos/api/glue_and_remesh_stl.py
index ec002eaae0cd3f078a7b4c039d9000c89e072f1a..9294239156f8ee42344b72d6b3901b5109ccb472 100644
--- a/demos/api/glue_and_remesh_stl.py
+++ b/demos/api/glue_and_remesh_stl.py
@@ -4,7 +4,6 @@ import os
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber('General.Terminal', 1)
 
 # load two STL surfaces
 path = os.path.dirname(os.path.abspath(__file__))
diff --git a/demos/api/heal.py b/demos/api/heal.py
index b9c0f26ca6acca84b3d181e3a79eca868df26b06..cfe6357b1bd271e6b37998f7826e8b354bfe2eb8 100644
--- a/demos/api/heal.py
+++ b/demos/api/heal.py
@@ -1,7 +1,7 @@
 import gmsh
 
 gmsh.initialize()
-gmsh.option.setNumber('General.Terminal', 1)
+
 # load step file
 gmsh.open('as1-tu-203.stp')
 
diff --git a/demos/api/mesh_from_discrete_curve.py b/demos/api/mesh_from_discrete_curve.py
index 2e14d296a637e3f2dabc7aabc6506ca3205bc6b7..3d7a135feebfdae1ba4dcd07eba49e3f1e6a61fe 100644
--- a/demos/api/mesh_from_discrete_curve.py
+++ b/demos/api/mesh_from_discrete_curve.py
@@ -3,7 +3,6 @@ import sys
 import math
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("2d surface mesh with purely discrete boundary")
 
diff --git a/demos/api/neighbors.py b/demos/api/neighbors.py
index abc392277e4f4de73a44912cf73ded2e91c05eb8..975bebf3ade2db5ff0c08ac5721fa056db01b67b 100644
--- a/demos/api/neighbors.py
+++ b/demos/api/neighbors.py
@@ -5,7 +5,6 @@ import sys
 # face) of all tets in the mesh
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("my test model")
 gmsh.model.occ.addBox(0, 0, 0, 1, 1, 1)
diff --git a/demos/api/onelab_data.c b/demos/api/onelab_data.c
index 96564cd975d0426c2696dbe8c02f2454b87f1c7a..068108327837e108e72920f58371c548a29fc428 100644
--- a/demos/api/onelab_data.c
+++ b/demos/api/onelab_data.c
@@ -22,7 +22,6 @@ int main(int argc, char **argv)
   }
 
   gmshInitialize(0, 0, 1, &ierr); chk(ierr);
-  gmshOptionSetNumber("General.Terminal", 1, &ierr); chk(ierr);
 
   gmshOpen(argv[1], &ierr); chk(ierr);
 
diff --git a/demos/api/onelab_data.cpp b/demos/api/onelab_data.cpp
index c86de3f7dd15143fb6f712f37e6a3dee9093e588..0bb41a9cc3a193fe469612d7cd7eda453400b405 100644
--- a/demos/api/onelab_data.cpp
+++ b/demos/api/onelab_data.cpp
@@ -9,7 +9,6 @@ int main(int argc, char **argv)
   }
 
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::open(argv[1]);
 
diff --git a/demos/api/onelab_data.py b/demos/api/onelab_data.py
index 4bfc9ee97de845757c6405ea3917f554d17f9f34..4279a7fc70f2c819682b1d6b1adf2842c238b994 100644
--- a/demos/api/onelab_data.py
+++ b/demos/api/onelab_data.py
@@ -6,7 +6,6 @@ if len(sys.argv) < 2:
     exit(0)
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.open(sys.argv[1])
 
diff --git a/demos/api/onelab_test.jl b/demos/api/onelab_test.jl
index 92b5ce2102a1dedc0c0ac55bb20e0c085079e2e6..6803f698d6d92c08d855104c4fff78fab047c2bd 100644
--- a/demos/api/onelab_test.jl
+++ b/demos/api/onelab_test.jl
@@ -2,7 +2,6 @@ import gmsh
 using JSON
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # set a full onelab db
 gmsh.onelab.set("""
diff --git a/demos/api/onelab_test.py b/demos/api/onelab_test.py
index 62499c34a5f3373f8f4e837d35c5e1f5a28bc966..b4f4be129aa5886c91f1a9010a201dd10f053c45 100644
--- a/demos/api/onelab_test.py
+++ b/demos/api/onelab_test.py
@@ -5,7 +5,6 @@ import math
 import thread
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # set a full onelab db
 gmsh.onelab.set("""
diff --git a/demos/api/open.cpp b/demos/api/open.cpp
index a8298e9d4ec270e1955a9d42fed8d96a76fffd69..711072b09b865740a2359eaab32a4775ed8f4eba 100644
--- a/demos/api/open.cpp
+++ b/demos/api/open.cpp
@@ -9,7 +9,6 @@ int main(int argc, char **argv)
   }
 
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
   gmsh::open(argv[1]);
   gmsh::model::mesh::generate(3);
   gmsh::write("test.msh");
diff --git a/demos/api/open.py b/demos/api/open.py
index e1d5ec1ab0ac61ca019cbc2f2a92829bcb4b6b95..2f844482c6dcf6d55cafcead4163504af59a6c06 100644
--- a/demos/api/open.py
+++ b/demos/api/open.py
@@ -6,7 +6,6 @@ if len(sys.argv) < 2:
     exit(0)
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 gmsh.open(sys.argv[1])
 gmsh.model.mesh.generate(3)
 gmsh.write("test.msh")
diff --git a/demos/api/opt.py b/demos/api/opt.py
index 41d35969ba343a16de23b9df340b8d081be175d1..ac1bfd86fbf54c9f9b067e95f00f09a877185b94 100644
--- a/demos/api/opt.py
+++ b/demos/api/opt.py
@@ -6,7 +6,6 @@ if len(sys.argv) < 2:
     exit(0)
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 gmsh.open(sys.argv[1])
 
 # Second arg force optimization of discrete volumes
diff --git a/demos/api/partition.cpp b/demos/api/partition.cpp
index 8575462455efb5c43f3003d705ec0270b0afb1b2..39c7090f75c5bc2edc0eda4d24ee26723d70a8e2 100644
--- a/demos/api/partition.cpp
+++ b/demos/api/partition.cpp
@@ -9,8 +9,6 @@ int main(int argc, char **argv)
 
   gmsh::initialize();
 
-  gmsh::option::setNumber("General.Terminal", 1);
-
   // create a simple geometry and mesh it
   gmsh::model::add("test");
   gmsh::model::occ::addRectangle(0, 0, 0, 1, 1);
diff --git a/demos/api/partition.py b/demos/api/partition.py
index ffea54c3ed1f89761d06ff8500256ba2662237a3..03818208056f401ff7bbda48ef0c8f0d73f13921 100644
--- a/demos/api/partition.py
+++ b/demos/api/partition.py
@@ -6,7 +6,6 @@ write_one_file_per_partition = False
 partition_using_metis = False
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # create a simple geometry and mesh it
 gmsh.model.add("test")
diff --git a/demos/api/periodic.py b/demos/api/periodic.py
index c9d2ac94fcb95fffcc699bbcc14a864bffddee83..e9ac7c1a9783a02699ec62655114346d7d0eb753 100644
--- a/demos/api/periodic.py
+++ b/demos/api/periodic.py
@@ -1,7 +1,6 @@
 import gmsh
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("periodic")
 R = 2
diff --git a/demos/api/plugin.cpp b/demos/api/plugin.cpp
index 3c37d8111318c2f7dbd400ac8547181007c8dc28..4f1583d2ca83c3e3e9dbdec9a11ba50850074433 100644
--- a/demos/api/plugin.cpp
+++ b/demos/api/plugin.cpp
@@ -4,7 +4,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   // Copied from discrete.cpp...
   gmsh::model::add("test");
diff --git a/demos/api/plugin.py b/demos/api/plugin.py
index 99d2c41389e1e50c8daa098c1cb147a178195685..df9f0810e273d6fc54a7cdfe34f596dcddb544f5 100644
--- a/demos/api/plugin.py
+++ b/demos/api/plugin.py
@@ -2,7 +2,6 @@ import gmsh
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 # Copied from discrete.py...
 gmsh.model.add("test")
diff --git a/demos/api/remesh_stl.py b/demos/api/remesh_stl.py
index ffacbf9de3269bff9aef739bf9b4f776e3abd4ad..194f53b59c78ca0ed6768fe4879dac9f6bb7c0d6 100644
--- a/demos/api/remesh_stl.py
+++ b/demos/api/remesh_stl.py
@@ -5,7 +5,6 @@ import sys
 
 gmsh.initialize()
 
-gmsh.option.setNumber("General.Terminal", 1)
 gmsh.option.setNumber("Mesh.Algorithm", 6)
 gmsh.option.setNumber("Mesh.CharacteristicLengthMin", 0.75)
 gmsh.option.setNumber("Mesh.CharacteristicLengthMax", 0.75)
diff --git a/demos/api/reparamOnFace.py b/demos/api/reparamOnFace.py
index d8287fd1c671d7cefa47763857576eedab5c795a..0c94f555d62c7d5c9a155a4eb016ba7e28735ee5 100644
--- a/demos/api/reparamOnFace.py
+++ b/demos/api/reparamOnFace.py
@@ -2,7 +2,6 @@ import gmsh
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber('General.Terminal', 1)
 gmsh.model.occ.addSphere(0,0,0,1, 10)
 gmsh.model.occ.addBox(0.5,0,0,1.3,2,4, 11)
 gmsh.model.occ.fragment([(3,10)], [(3,11)])
diff --git a/demos/api/spline.cpp b/demos/api/spline.cpp
index 79e83f568484b0785ddc148793a6d00bf3956525..0e37b3b93fbd1b082b69450c67ff06ed87a20141 100644
--- a/demos/api/spline.cpp
+++ b/demos/api/spline.cpp
@@ -3,7 +3,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("spline");
 
diff --git a/demos/api/spline.py b/demos/api/spline.py
index d382404655f62658ee7e63722b45912515eb9005..d009ac816275c49b0c5fc92213c51c2958c3df83 100644
--- a/demos/api/spline.py
+++ b/demos/api/spline.py
@@ -3,7 +3,6 @@ import math
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("spline")
 
diff --git a/demos/api/split_window.py b/demos/api/split_window.py
index 664907fdf33b7f715df5385db178e2a43a6d799e..8137c964c4cc116d1c1821bfe96df742ec2fbed5 100644
--- a/demos/api/split_window.py
+++ b/demos/api/split_window.py
@@ -3,8 +3,6 @@ import sys
 
 gmsh.initialize(sys.argv)
 
-gmsh.option.setNumber("General.Terminal", 1)
-
 # create simple geometry
 gmsh.model.occ.addBox(-3, -2, -1, 6, 4, 2)
 gmsh.model.occ.synchronize()
diff --git a/demos/api/step_boundary_colors.py b/demos/api/step_boundary_colors.py
index 0e17001c0275f393540a94022844ab7941657b6e..fc2fb03f768d680a2d5455f31871cc524bf165fb 100644
--- a/demos/api/step_boundary_colors.py
+++ b/demos/api/step_boundary_colors.py
@@ -3,8 +3,6 @@ import os
 
 gmsh.initialize()
 
-gmsh.option.setNumber("General.Terminal", 1)
-
 path = os.path.dirname(os.path.abspath(__file__))
 gmsh.merge(os.path.join(path, 'step_boundary_colors.stp'))
 
diff --git a/demos/api/terrain.py b/demos/api/terrain.py
index d4c4ae85955fd0496a5352606b3794ddc7ef1246..202e8dc7a5f515d00a81fc9781a0e95cdbf9cb2d 100644
--- a/demos/api/terrain.py
+++ b/demos/api/terrain.py
@@ -3,7 +3,6 @@ import math
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber('General.Terminal', 1)
 
 gmsh.model.add("terrain")
 
diff --git a/demos/api/terrain_stl.py b/demos/api/terrain_stl.py
index c5afbcfe7dd9855a68a320e4e273480859930ae7..6512b1c9822478df25de40e4cee5c771d237bc63 100644
--- a/demos/api/terrain_stl.py
+++ b/demos/api/terrain_stl.py
@@ -4,7 +4,6 @@ import os
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber('General.Terminal', 1)
 
 path = os.path.dirname(os.path.abspath(__file__))
 
diff --git a/demos/api/test.py b/demos/api/test.py
index 89767d3fad2cbc8867be8c1ed49afefda37988e5..a773849edec08d2632d289e62217f8aee6458193 100644
--- a/demos/api/test.py
+++ b/demos/api/test.py
@@ -2,7 +2,6 @@ import gmsh
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 print(gmsh.option.getNumber("Mesh.Algorithm"))
 
 gmsh.open("square.msh")
diff --git a/demos/api/view.cpp b/demos/api/view.cpp
index 57681ee458ef7c18d540854e4c52be252a00d949..6b43fdc89aefbb8ee708712276d157c2925a7fd3 100644
--- a/demos/api/view.cpp
+++ b/demos/api/view.cpp
@@ -3,7 +3,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   // Copied from discrete.cpp...
   gmsh::model::add("test");
diff --git a/demos/api/view.py b/demos/api/view.py
index e7c75d34174148ac9c99f6b72d32af7af736da6d..294fdcbe8f6988d359a9379be2180d8690b72b40 100644
--- a/demos/api/view.py
+++ b/demos/api/view.py
@@ -2,7 +2,6 @@ import gmsh
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 # Copied from discrete.py...
 gmsh.model.add("test")
diff --git a/demos/api/view_combine.py b/demos/api/view_combine.py
index 3c142c2aca707e20e4a650e01b407d2b3ab2df57..048c67b48f7f39d9fe8057392238a4f1d7355073 100644
--- a/demos/api/view_combine.py
+++ b/demos/api/view_combine.py
@@ -2,7 +2,6 @@ import gmsh
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 tri1 = [0., 1., 1., 0., 0., 1., 0., 0., 0.]
 tri2 = [0., 1., 0., 0., 1., 1., 0., 0., 0.]
diff --git a/demos/api/viewlist.cpp b/demos/api/viewlist.cpp
index e64c5de50aae21a6428eea2660d44b3d290ec458..3a415beab49b587427cbb539fc38de9508ae5549 100644
--- a/demos/api/viewlist.cpp
+++ b/demos/api/viewlist.cpp
@@ -3,7 +3,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   std::vector<double> tri1 = {0., 1., 1., 0., 0., 1., 0., 0., 0.};
   std::vector<double> tri2 = {0., 1., 0., 0., 1., 1., 0., 0., 0.};
diff --git a/demos/api/viewlist.py b/demos/api/viewlist.py
index 6ec6bbc1f065045dd76dea69d829fb0f1e64981d..6a590d1823f875f59cd7ea1ad43cb53b5b90e48b 100644
--- a/demos/api/viewlist.py
+++ b/demos/api/viewlist.py
@@ -2,7 +2,6 @@ import gmsh
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 tri1 = [0., 1., 1., 0., 0., 1., 0., 0., 0.]
 tri2 = [0., 1., 0., 0., 1., 1., 0., 0., 0.]
diff --git a/demos/api/volume.py b/demos/api/volume.py
index 3311c2c898b1b98a263dd65066adde689c8be2f8..3e2c88d9901c22648a42fce8a6a9438405c29b77 100644
--- a/demos/api/volume.py
+++ b/demos/api/volume.py
@@ -2,7 +2,6 @@ import gmsh
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 s = gmsh.model.occ.addRectangle(0, 0, 0, 3, 2)
 gmsh.model.occ.synchronize()
diff --git a/doc/texinfo/api.texi b/doc/texinfo/api.texi
index 750802787901f74afa9eb53d0766f1f94e281da6..2e8da9bf74c103ca15f4607ebf1f210c699a91e7 100644
--- a/doc/texinfo/api.texi
+++ b/doc/texinfo/api.texi
@@ -23,11 +23,12 @@
 
 @ftable @code
 @item gmsh/initialize
-Initialize Gmsh. This must be called before any call to the other functions in
-the API. If @code{argc} and @code{argv} (or just @code{argv} in Python or Julia)
-are provided, they will be handled in the same way as the command line arguments
-in the Gmsh app. If @code{readConfigFiles} is set, read system Gmsh
-configuration files (gmshrc and gmsh-options).
+Initialize Gmsh API. This must be called before any call to the other functions
+in the API. If @code{argc} and @code{argv} (or just @code{argv} in Python or
+Julia) are provided, they will be handled in the same way as the command line
+arguments in the Gmsh app. If @code{readConfigFiles} is set, read system Gmsh
+configuration files (gmshrc and gmsh-options). Initializing the API sets the
+options "General.Terminal" to 1 and "General.AbortOnError" to 2.
 
 @table @asis
 @item Input:
@@ -37,13 +38,13 @@ configuration files (gmshrc and gmsh-options).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L62,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L45,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L211,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L38,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L63,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L46,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L211,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L39,Julia}
 @item Examples:
 C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L18,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L17,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L15,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L17,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L78,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L15,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L15,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L13,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L13,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L13,t5.py}, ...)
 @end table
 
 @item gmsh/finalize
-Finalize Gmsh. This must be called when you are done using the Gmsh API.
+Finalize the Gmsh API. This must be called when you are done using the Gmsh API.
 
 @table @asis
 @item Input:
@@ -53,9 +54,9 @@ Finalize Gmsh. This must be called when you are done using the Gmsh API.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L68,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L50,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L230,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L52,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L70,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L52,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L231,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L53,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L181,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L173,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L106,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L174,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L231,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L174,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L166,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L102,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L181,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L226,t5.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L177,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L172,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L106,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L173,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L230,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L170,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L165,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L102,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L180,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L225,t5.py}, ...)
 @end table
 
 @item gmsh/open
@@ -71,9 +72,9 @@ model data will create a new model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L75,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L55,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L244,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L68,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L77,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L57,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L246,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L69,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L31,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L13,explore.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_data.cpp#L14,onelab_data.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/open.cpp#L13,open.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L29,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L10,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/flatten.py#L14,flatten.py}, @url{@value{GITLAB-PREFIX}/demos/api/heal.py#L6,heal.py}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_data.py#L11,onelab_data.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L30,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L13,explore.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_data.cpp#L13,onelab_data.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/open.cpp#L12,open.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L28,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L9,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/flatten.py#L13,flatten.py}, @url{@value{GITLAB-PREFIX}/demos/api/heal.py#L6,heal.py}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_data.py#L10,onelab_data.py}, ...)
 @end table
 
 @item gmsh/merge
@@ -89,9 +90,9 @@ file with model data will add the data to the current model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L82,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L61,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L259,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L84,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L84,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L63,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L261,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L85,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t7.cpp#L22,t7.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L38,t8.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t9.cpp#L30,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L23,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t17.cpp#L34,t17.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t7.py#L21,t7.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L36,t8.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t9.py#L27,t9.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L21,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t17.py#L33,t17.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t7.cpp#L21,t7.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L37,t8.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t9.cpp#L29,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L22,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t17.cpp#L33,t17.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t7.py#L20,t7.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L35,t8.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t9.py#L26,t9.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L19,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t17.py#L32,t17.py}, ...)
 @end table
 
 @item gmsh/write
@@ -105,9 +106,9 @@ Write a file. The export format is determined by the file extension.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L87,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L65,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L274,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L98,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L89,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L67,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L276,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L99,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L130,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L145,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L78,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L168,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L225,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L123,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L138,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L75,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L175,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L220,t5.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L126,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L144,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L78,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L167,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L224,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L119,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L137,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L75,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L174,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L219,t5.py}, ...)
 @end table
 
 @item gmsh/clear
@@ -121,9 +122,9 @@ Clear all loaded models and post-processing data, and add a new empty model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L92,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L70,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L287,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L112,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L94,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L72,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L289,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L113,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L157,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L121,x1.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L156,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L120,x1.py})
 @end table
 
 @end ftable
@@ -145,9 +146,9 @@ are listed in the Gmsh reference manual.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L101,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L75,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L307,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L137,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L103,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L77,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L309,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L138,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L22,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L19,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L16,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L18,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L79,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L19,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L17,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L14,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L14,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L14,t5.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L84,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L206,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L97,t6.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t7.cpp#L56,t7.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L54,t8.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L81,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L201,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L98,t6.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t7.py#L50,t7.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L47,t8.py}, ...)
 @end table
 
 @item gmsh/option/getNumber
@@ -163,9 +164,9 @@ are listed in the Gmsh reference manual.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L109,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L82,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L324,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L155,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L111,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L84,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L326,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L156,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L119,t8.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L96,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L153,t8.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L85,x3.py}, @url{@value{GITLAB-PREFIX}/demos/api/test.py#L6,test.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L118,t8.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L95,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L152,t8.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L84,x3.py}, @url{@value{GITLAB-PREFIX}/demos/api/test.py#L5,test.py})
 @end table
 
 @item gmsh/option/setString
@@ -181,9 +182,9 @@ are listed in the Gmsh reference manual.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L117,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L89,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L345,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L172,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L119,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L91,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L347,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L173,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L152,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L93,t8.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L160,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L90,t8.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L151,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L92,t8.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L159,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L89,t8.py})
 @end table
 
 @item gmsh/option/getString
@@ -199,9 +200,9 @@ are listed in the Gmsh reference manual.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L125,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L96,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L362,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L190,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L127,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L98,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L364,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L191,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/test.py#L30,test.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/test.py#L29,test.py})
 @end table
 
 @item gmsh/option/setColor
@@ -219,9 +220,9 @@ reference manual, with the "Color." middle string removed.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L135,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L105,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L383,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L210,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L137,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L107,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L385,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L211,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L85,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L62,t8.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L82,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L59,t8.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L85,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L61,t8.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L82,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L58,t8.py})
 @end table
 
 @item gmsh/option/getColor
@@ -238,7 +239,7 @@ the "Color." middle string removed.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L147,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L116,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L405,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L229,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L149,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L118,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L407,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L230,Julia}
 @item Examples:
 C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L93,t3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L89,t3.py})
 @end table
@@ -260,9 +261,9 @@ Add a new model, with name @code{name}, and set it as the current model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L160,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L124,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L443,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L258,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L162,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L126,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L445,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L259,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L26,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L21,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L18,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L20,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L17,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L23,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L19,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L16,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L16,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L16,t5.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L22,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L19,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L17,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L19,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L16,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L19,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L17,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L15,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L15,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L15,t5.py}, ...)
 @end table
 
 @item gmsh/model/remove
@@ -276,7 +277,7 @@ Remove the current model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L165,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L128,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L457,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L272,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L167,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L130,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L459,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L273,Julia}
 @end table
 
 @item gmsh/model/list
@@ -290,7 +291,7 @@ List the names of all models.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L170,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L131,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L470,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L288,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L172,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L133,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L472,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L289,Julia}
 @end table
 
 @item gmsh/model/getCurrent
@@ -304,9 +305,9 @@ Get the name of the current model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L175,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L135,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L488,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L308,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L177,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L137,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L490,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L309,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L35,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L32,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L12,explore.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L34,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L31,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L11,explore.py})
 @end table
 
 @item gmsh/model/setCurrent
@@ -321,9 +322,9 @@ the same name, select the one that was added first.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L181,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L140,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L506,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L325,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L183,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L142,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L508,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L326,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L45,copy_mesh.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L44,copy_mesh.py})
 @end table
 
 @item gmsh/model/getEntities
@@ -339,9 +340,9 @@ entities are returned as a vector of (dim, tag) integer pairs.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L188,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L146,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L521,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L343,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L190,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L148,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L523,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L344,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L59,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L115,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L32,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L97,t20.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L48,t21.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L50,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L98,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L30,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L79,t20.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L37,t21.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L58,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L114,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L31,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L96,t20.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L47,t21.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L48,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L97,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L29,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L78,t20.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L36,t21.py}, ...)
 @end table
 
 @item gmsh/model/setEntityName
@@ -355,7 +356,7 @@ Set the name of the entity of dimension @code{dim} and tag @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L194,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L151,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L542,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L361,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L196,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L153,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L544,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L362,Julia}
 @end table
 
 @item gmsh/model/getEntityName
@@ -369,9 +370,9 @@ Get the name of the entity of dimension @code{dim} and tag @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L201,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L157,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L558,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L377,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L203,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L159,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L560,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L378,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L93,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L83,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/step_assembly.py#L14,step_assembly.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L92,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L82,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/step_assembly.py#L14,step_assembly.py})
 @end table
 
 @item gmsh/model/getPhysicalGroups
@@ -387,7 +388,7 @@ only the entities of the specified dimension (e.g. physical points if @code{dim}
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L210,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L165,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L578,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L397,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L212,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L167,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L580,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L398,Julia}
 @item Examples:
 Python (@url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L83,poisson.py})
 @end table
@@ -404,9 +405,9 @@ Get the tags of the model entities making up the physical group of dimension
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L217,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L171,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L599,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L418,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L219,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L173,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L601,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L419,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L88,poisson.py}, @url{@value{GITLAB-PREFIX}/demos/api/test.py#L25,test.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L88,poisson.py}, @url{@value{GITLAB-PREFIX}/demos/api/test.py#L24,test.py})
 @end table
 
 @item gmsh/model/getPhysicalGroupsForEntity
@@ -421,9 +422,9 @@ dimension @code{dim} and tag @code{tag} belongs.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L225,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L178,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L620,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L438,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L227,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L180,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L622,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L439,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L117,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L98,x1.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L116,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L97,x1.py})
 @end table
 
 @item gmsh/model/addPhysicalGroup
@@ -439,9 +440,9 @@ tags @code{tags}. Return the tag of the physical group, equal to @code{tag} if
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L234,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L186,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L641,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L459,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L236,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L188,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L643,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L460,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L122,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L35,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L32,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L179,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L77,t14.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L115,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L33,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L30,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L178,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L72,t14.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L118,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L34,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L32,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L196,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L76,t14.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L111,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L32,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L30,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L192,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L70,t14.py}, ...)
 @end table
 
 @item gmsh/model/removePhysicalGroups
@@ -456,7 +457,7 @@ Remove the physical groups @code{dimTags} from the current model. If
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L242,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L193,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L663,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L474,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L244,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L195,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L665,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L475,Julia}
 @end table
 
 @item gmsh/model/setPhysicalName
@@ -470,9 +471,9 @@ Set the name of the physical group of dimension @code{dim} and tag @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L247,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L197,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L679,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L490,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L249,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L199,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L681,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L491,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L124,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L37,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L34,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L78,t14.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L54,t21.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L117,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L35,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L32,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L73,t14.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L42,t21.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L120,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L36,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L34,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L77,t14.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L53,t21.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L113,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L34,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L32,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L71,t14.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L41,t21.py}, ...)
 @end table
 
 @item gmsh/model/removePhysicalName
@@ -486,7 +487,7 @@ Remove the physical name @code{name} from the current model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L254,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L203,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L695,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L504,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L256,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L205,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L697,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L505,Julia}
 @end table
 
 @item gmsh/model/getPhysicalName
@@ -500,9 +501,9 @@ Get the name of the physical group of dimension @code{dim} and tag @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L259,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L207,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L709,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L520,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L261,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L209,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L711,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L521,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L122,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L102,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L87,poisson.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L121,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L101,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L87,poisson.py})
 @end table
 
 @item gmsh/model/getBoundary
@@ -521,9 +522,9 @@ recursively down to dimension 0 (i.e. to points) if @code{recursive} is true.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L271,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L218,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L729,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L543,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L273,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L220,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L731,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L544,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L89,t14.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L119,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L98,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L51,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L125,t21.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L84,t14.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L101,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L89,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L47,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L100,t21.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L88,t14.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L118,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L97,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L50,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L124,t21.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L82,t14.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L100,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L88,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L46,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L99,t21.py}, ...)
 @end table
 
 @item gmsh/model/getEntitiesInBoundingBox
@@ -540,9 +541,9 @@ dimension (e.g. points if @code{dim} == 0).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L283,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L229,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L757,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L567,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L285,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L231,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L759,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L568,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L124,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L87,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L115,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L106,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L81,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L95,t20.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L123,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L86,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L114,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L105,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L80,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L94,t20.py})
 @end table
 
 @item gmsh/model/getBoundingBox
@@ -559,9 +560,9 @@ the whole model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L297,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L242,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L785,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L589,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L299,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L244,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L787,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L590,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L114,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L46,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L104,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L36,t20.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L113,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L45,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L103,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L35,t20.py})
 @end table
 
 @item gmsh/model/getDimension
@@ -575,9 +576,9 @@ Get the geometrical dimension of the current model.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L309,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L253,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L823,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L611,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L311,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L255,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L825,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L612,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L36,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L33,x1.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L35,x1.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L32,x1.py})
 @end table
 
 @item gmsh/model/addDiscreteEntity
@@ -596,9 +597,9 @@ overall model.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L318,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L260,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L839,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L631,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L320,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L262,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L841,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L632,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L78,x2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L25,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.cpp#L11,discrete.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L63,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L63,faces.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L74,x2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L23,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L28,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.py#L10,discrete.py}, @url{@value{GITLAB-PREFIX}/demos/api/mesh_from_discrete_curve.py#L11,mesh_from_discrete_curve.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L78,x2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L24,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.cpp#L10,discrete.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L60,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L60,faces.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L74,x2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L22,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L27,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.py#L9,discrete.py}, @url{@value{GITLAB-PREFIX}/demos/api/mesh_from_discrete_curve.py#L10,mesh_from_discrete_curve.py}, ...)
 @end table
 
 @item gmsh/model/removeEntities
@@ -613,9 +614,9 @@ true, remove all the entities on their boundaries, down to dimension 0.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L326,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L267,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L863,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L646,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L328,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L269,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L865,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L647,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L93,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L129,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L85,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L103,t20.py}, @url{@value{GITLAB-PREFIX}/demos/api/spherical_surf.py#L16,spherical_surf.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L92,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L128,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L84,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L102,t20.py}, @url{@value{GITLAB-PREFIX}/demos/api/spherical_surf.py#L16,spherical_surf.py})
 @end table
 
 @item gmsh/model/removeEntityName
@@ -629,7 +630,7 @@ Remove the entity name @code{name} from the current model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L332,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L272,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L880,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L662,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L334,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L274,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L882,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L663,Julia}
 @end table
 
 @item gmsh/model/getType
@@ -643,9 +644,9 @@ Get the type of the entity of dimension @code{dim} and tag @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L337,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L276,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L894,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L678,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L339,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L278,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L896,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L679,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L115,t21.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L91,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L36,explore.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L55,partition.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L97,t21.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L82,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L18,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/partition.py#L45,partition.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L114,t21.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L90,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L36,explore.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L53,partition.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L96,t21.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L81,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L17,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/partition.py#L44,partition.py})
 @end table
 
 @item gmsh/model/getParent
@@ -661,9 +662,9 @@ tag @code{tag}, i.e. from which the entity is a part of, if any.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L346,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L284,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L914,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L698,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L348,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L286,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L916,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L699,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L122,t21.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L137,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L47,explore.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L63,partition.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L99,t21.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L111,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L32,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/partition.py#L47,partition.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L121,t21.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L136,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L47,explore.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L61,partition.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L98,t21.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L110,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L31,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/partition.py#L46,partition.py})
 @end table
 
 @item gmsh/model/getPartitions
@@ -678,9 +679,9 @@ belongs.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L355,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L292,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L940,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L717,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L357,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L294,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L942,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L718,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L112,t21.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L131,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L41,explore.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L52,partition.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L94,t21.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L108,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L29,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/partition.py#L42,partition.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L111,t21.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L130,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L41,explore.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L50,partition.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L93,t21.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L107,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L28,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/partition.py#L41,partition.py})
 @end table
 
 @item gmsh/model/getValue
@@ -700,9 +701,9 @@ coordinates in @code{coord}, concatenated: [p1x, p1y, p1z, p2x, ...].
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L368,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L304,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L961,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L742,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L370,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L306,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L963,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L743,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L92,t2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L87,t2.py}, @url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L21,reparamOnFace.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L36,terrain_stl.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L91,t2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L86,t2.py}, @url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L20,reparamOnFace.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L35,terrain_stl.py})
 @end table
 
 @item gmsh/model/getDerivative
@@ -725,7 +726,7 @@ derivate with respect to u and v: [d1ux, d1uy, d1uz, d1vx, d1vy, d1vz, d2ux,
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L384,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L319,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L989,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L769,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L386,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L321,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L991,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L770,Julia}
 @end table
 
 @item gmsh/model/getCurvature
@@ -743,7 +744,7 @@ u, v parametric coordinates on the surface, concatenated: [p1u, p1v, p2u, ...]).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L396,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L330,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1019,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L792,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L398,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L332,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1021,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L793,Julia}
 @item Examples:
 Python (@url{@value{GITLAB-PREFIX}/demos/api/normals.py#L28,normals.py})
 @end table
@@ -762,7 +763,7 @@ concatenated: [p1u, p1v, p2u, ...].
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L407,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L340,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1045,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L814,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L409,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L342,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1047,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L815,Julia}
 @end table
 
 @item gmsh/model/getNormal
@@ -779,7 +780,7 @@ triplets of x, y, z components, concatenated: [n1x, n1y, n1z, n2x, ...].
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L420,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L352,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1079,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L845,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L422,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L354,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1081,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L846,Julia}
 @item Examples:
 Python (@url{@value{GITLAB-PREFIX}/demos/api/normals.py#L26,normals.py})
 @end table
@@ -800,7 +801,7 @@ the surface (if @code{dim} = 2), i.e. [p1t, p2t, ...] or [p1u, p1v, p2u, ...].
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L432,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L363,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1103,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L869,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L434,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L365,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1105,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L870,Julia}
 @end table
 
 @item gmsh/model/getParametrizationBounds
@@ -815,9 +816,9 @@ entity of dimension @code{dim} and tag @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L441,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L371,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1130,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L889,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L443,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L373,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1132,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L890,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L18,reparamOnFace.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L17,reparamOnFace.py})
 @end table
 
 @item gmsh/model/isInside
@@ -835,7 +836,7 @@ geometrical representation.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L452,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L382,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1155,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L914,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L454,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L384,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1157,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L915,Julia}
 @end table
 
 @item gmsh/model/getClosestPoint
@@ -855,9 +856,9 @@ coordinates concatenated on the surface (if @code{dim} = 2), i.e. [p1t, p2t,
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L464,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L394,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1179,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L935,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L466,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L396,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1181,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L936,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/closest_point.py#L12,closest_point.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/closest_point.py#L11,closest_point.py})
 @end table
 
 @item gmsh/model/reparametrizeOnSurface
@@ -876,9 +877,9 @@ subset of entities, depending on the underyling geometrical representation.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L478,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L407,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1211,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L962,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L480,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L409,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1213,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L963,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L20,reparamOnFace.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L19,reparamOnFace.py})
 @end table
 
 @item gmsh/model/setVisibility
@@ -893,7 +894,7 @@ the visibility setting recursively if @code{recursive} is true.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L489,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L417,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1240,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L980,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L491,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L419,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1242,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L981,Julia}
 @item Examples:
 Python (@url{@value{GITLAB-PREFIX}/demos/api/gui.py#L31,gui.py})
 @end table
@@ -910,7 +911,7 @@ Get the visibility of the model entity of dimension @code{dim} and tag
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L496,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L423,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1258,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L998,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L498,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L425,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1260,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L999,Julia}
 @end table
 
 @item gmsh/model/setVisibilityPerWindow
@@ -925,7 +926,7 @@ Set the global visibility of the model per window to @code{value}, where
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L504,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L430,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1278,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1014,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L506,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L432,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1280,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1015,Julia}
 @end table
 
 @item gmsh/model/setColor
@@ -942,9 +943,9 @@ should be integers between 0 and 255. Apply the color setting recursively if
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L512,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L437,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1294,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1030,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L514,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L439,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1296,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1031,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L159,t4.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L168,t4.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L33,gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L158,t4.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L167,t4.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L33,gui.py})
 @end table
 
 @item gmsh/model/getColor
@@ -958,9 +959,9 @@ Get the color of the model entity of dimension @code{dim} and tag @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L522,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L446,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1316,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1048,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L524,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L448,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1318,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1049,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/step_boundary_colors.py#L12,step_boundary_colors.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/step_boundary_colors.py#L10,step_boundary_colors.py})
 @end table
 
 @item gmsh/model/setCoordinates
@@ -974,9 +975,9 @@ Set the @code{x}, @code{y}, @code{z} coordinates of a geometrical point.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L532,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L455,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1346,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1066,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L534,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L457,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1348,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1067,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L79,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L75,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L24,reparamOnFace.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L79,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L75,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L23,reparamOnFace.py})
 @end table
 
 @end ftable
@@ -996,9 +997,9 @@ Generate a mesh of the current model, up to dimension @code{dim} (0, 1, 2 or 3).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L543,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L462,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1369,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1089,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L545,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L464,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1371,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1090,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L127,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L144,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L77,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L166,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L224,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L120,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L137,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L74,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L173,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L219,t5.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L123,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L143,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L77,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L165,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L223,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L116,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L136,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L74,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L172,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L218,t5.py}, ...)
 @end table
 
 @item gmsh/model/mesh/partition
@@ -1012,9 +1013,9 @@ Partition the mesh of the current model into @code{numPart} partitions.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L548,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L466,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1383,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1103,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L550,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L468,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1385,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1104,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L88,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L30,partition.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L74,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/partition.py#L27,partition.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L87,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L28,partition.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L73,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/partition.py#L26,partition.py})
 @end table
 
 @item gmsh/model/mesh/unpartition
@@ -1028,7 +1029,7 @@ Unpartition the mesh of the current model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L553,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L470,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1397,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1117,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L555,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L472,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1399,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1118,Julia}
 @end table
 
 @item gmsh/model/mesh/optimize
@@ -1048,9 +1049,9 @@ Laplace smoothing, "Relocate2D" and "Relocate3D" for node relocation). If
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L565,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L479,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1410,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1137,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L567,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L481,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1412,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1138,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/opt.py#L13,opt.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/opt.py#L12,opt.py})
 @end table
 
 @item gmsh/model/mesh/recombine
@@ -1064,7 +1065,7 @@ Recombine the mesh of the current model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L573,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L486,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1434,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1153,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L575,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L488,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1436,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1154,Julia}
 @end table
 
 @item gmsh/model/mesh/refine
@@ -1078,7 +1079,7 @@ Refine the mesh of the current model by uniformly splitting the elements.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L578,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L489,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1447,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1167,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L580,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L491,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1449,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1168,Julia}
 @end table
 
 @item gmsh/model/mesh/setOrder
@@ -1092,9 +1093,9 @@ Set the order of the elements in the mesh of the current model to @code{order}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L583,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L492,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1460,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1181,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L585,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L494,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1462,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1182,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/periodic.py#L18,periodic.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/periodic.py#L17,periodic.py})
 @end table
 
 @item gmsh/model/mesh/getLastEntityError
@@ -1109,7 +1110,7 @@ populated by the new 3D meshing algorithms.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L589,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L497,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1474,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1198,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L591,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L499,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1476,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1199,Julia}
 @end table
 
 @item gmsh/model/mesh/getLastNodeError
@@ -1124,7 +1125,7 @@ populated by the new 3D meshing algorithms.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L595,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L502,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1493,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1219,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L597,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L504,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1495,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1220,Julia}
 @end table
 
 @item gmsh/model/mesh/clear
@@ -1141,9 +1142,9 @@ another entity with a non-empty mesh.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L603,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L509,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1512,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1239,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L605,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L511,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1514,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1240,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L53,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/flatten.py#L31,flatten.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L52,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/flatten.py#L30,flatten.py})
 @end table
 
 @item gmsh/model/mesh/getNodes
@@ -1169,9 +1170,9 @@ the entity if @code{dim} >= 0 in order to compute their parametric coordinates).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L620,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L525,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1530,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1268,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L622,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L527,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1532,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1269,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L76,x1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L68,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L80,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L24,explore.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L70,x1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L62,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L15,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L20,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L20,explore.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L75,x1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L67,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L80,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L24,explore.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L69,x1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L61,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L15,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L19,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L19,explore.py}, ...)
 @end table
 
 @item gmsh/model/mesh/getNodesByElementType
@@ -1187,7 +1188,7 @@ of type @code{elementType}. The other arguments are treated as in
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L632,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L536,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1571,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1294,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L634,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L538,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1573,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1295,Julia}
 @end table
 
 @item gmsh/model/mesh/getNode
@@ -1204,7 +1205,7 @@ often preferable.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L645,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L548,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1600,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1322,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L647,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L550,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1602,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1323,Julia}
 @end table
 
 @item gmsh/model/mesh/setNode
@@ -1221,7 +1222,7 @@ often preferable.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L655,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L557,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1626,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1345,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L657,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L559,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1628,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1346,Julia}
 @end table
 
 @item gmsh/model/mesh/rebuildNodeCache
@@ -1235,7 +1236,7 @@ Rebuild the node cache.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L662,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L563,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1647,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1359,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L664,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L565,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1649,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1360,Julia}
 @end table
 
 @item gmsh/model/mesh/rebuildElementCache
@@ -1249,7 +1250,7 @@ Rebuild the element cache.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L667,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L567,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1661,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1373,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L669,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L569,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1663,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1374,Julia}
 @end table
 
 @item gmsh/model/mesh/getNodesForPhysicalGroup
@@ -1267,7 +1268,7 @@ n2x, ...].
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L675,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L574,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1675,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1392,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L677,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L576,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1677,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1393,Julia}
 @end table
 
 @item gmsh/model/mesh/addNodes
@@ -1289,9 +1290,9 @@ automatically assigned to the nodes.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L691,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L589,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1702,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1419,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L693,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L591,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1704,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1420,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L92,x2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L28,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.cpp#L14,discrete.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L12,plugin.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/view.cpp#L11,view.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L88,x2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L26,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L29,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.py#L13,discrete.py}, @url{@value{GITLAB-PREFIX}/demos/api/flatten.py#L37,flatten.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L92,x2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L27,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.cpp#L13,discrete.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L11,plugin.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/view.cpp#L10,view.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L88,x2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L25,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L28,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.py#L12,discrete.py}, @url{@value{GITLAB-PREFIX}/demos/api/flatten.py#L36,flatten.py}, ...)
 @end table
 
 @item gmsh/model/mesh/reclassifyNodes
@@ -1308,9 +1309,9 @@ after the elements have been set.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L703,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L600,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1731,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1436,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L705,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L602,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1733,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1437,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L107,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L102,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L67,terrain.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L107,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L102,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L66,terrain.py})
 @end table
 
 @item gmsh/model/mesh/relocateNodes
@@ -1327,7 +1328,7 @@ negative, relocate all the nodes in the mesh.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L711,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L606,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1747,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1453,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L713,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L608,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1749,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1454,Julia}
 @end table
 
 @item gmsh/model/mesh/getElements
@@ -1353,9 +1354,9 @@ that contains the node tags of all the elements of the given type, concatenated:
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L729,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L623,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1765,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1480,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L731,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L625,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1767,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1481,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L81,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L83,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L29,explore.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L73,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L21,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L22,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/flatten.py#L28,flatten.py}, @url{@value{GITLAB-PREFIX}/demos/api/test.py#L42,test.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L80,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L83,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L29,explore.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L72,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L20,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L21,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/flatten.py#L27,flatten.py}, @url{@value{GITLAB-PREFIX}/demos/api/test.py#L41,test.py})
 @end table
 
 @item gmsh/model/mesh/getElement
@@ -1371,7 +1372,7 @@ otherwise); for large meshes accessing elements in bulk is often preferable.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L741,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L634,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1804,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1513,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L743,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L636,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1806,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1514,Julia}
 @end table
 
 @item gmsh/model/mesh/getElementByCoordinates
@@ -1391,7 +1392,7 @@ the search location.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L754,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L645,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1830,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1538,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L756,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L647,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1832,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1539,Julia}
 @end table
 
 @item gmsh/model/mesh/getElementsByCoordinates
@@ -1411,7 +1412,7 @@ find elements near the search location.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L775,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L664,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1874,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1567,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L777,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L666,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1876,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1568,Julia}
 @end table
 
 @item gmsh/model/mesh/getLocalCoordinatesInElement
@@ -1429,7 +1430,7 @@ is often preferable.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L789,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L677,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1902,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1589,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L791,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L679,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1904,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1590,Julia}
 @end table
 
 @item gmsh/model/mesh/getElementTypes
@@ -1446,9 +1447,9 @@ mesh.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L802,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L689,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1935,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1610,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L804,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L691,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1937,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1611,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L33,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L33,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L92,poisson.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L30,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L30,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L92,poisson.py})
 @end table
 
 @item gmsh/model/mesh/getElementType
@@ -1465,9 +1466,9 @@ corresponding serendip element type (element without interior nodes).
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L812,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L698,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1957,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1632,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L814,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L700,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1959,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1633,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L66,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L66,faces.cpp})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L63,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L63,faces.cpp})
 @end table
 
 @item gmsh/model/mesh/getElementProperties
@@ -1485,9 +1486,9 @@ number of primary (first order) nodes (@code{numPrimaryNodes}).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L823,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L708,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1979,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1652,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L825,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L710,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1981,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1653,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L147,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L42,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L55,explore.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L42,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L115,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L34,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L111,poisson.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L146,x1.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L39,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L55,explore.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L39,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L114,x1.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L33,explore.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L111,poisson.py})
 @end table
 
 @item gmsh/model/mesh/getElementsByType
@@ -1509,9 +1510,9 @@ indexed by @code{task}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L842,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L726,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2018,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1684,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L844,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L728,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2020,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1685,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L54,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L54,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L18,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/neighbors.py#L16,neighbors.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L95,poisson.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L51,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L51,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L18,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/neighbors.py#L15,neighbors.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L95,poisson.py})
 @end table
 
 @item gmsh/model/mesh/preallocateElementsByType
@@ -1526,7 +1527,7 @@ Preallocate data before calling @code{getElementsByType} with @code{numTasks} >
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L853,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L736,C}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L855,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L738,C}
 @end table
 
 @item gmsh/model/mesh/addElements
@@ -1549,9 +1550,9 @@ e1nN, e2n1, ...].
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L872,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L754,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2052,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1712,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L874,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L756,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2054,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1713,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/discrete.cpp#L21,discrete.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L14,plugin.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/view.cpp#L13,view.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L30,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.py#L33,discrete.py}, @url{@value{GITLAB-PREFIX}/demos/api/flatten.py#L38,flatten.py}, @url{@value{GITLAB-PREFIX}/demos/api/mesh_from_discrete_curve.py#L22,mesh_from_discrete_curve.py}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L12,plugin.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/discrete.cpp#L20,discrete.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L13,plugin.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/view.cpp#L12,view.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L29,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.py#L32,discrete.py}, @url{@value{GITLAB-PREFIX}/demos/api/flatten.py#L37,flatten.py}, @url{@value{GITLAB-PREFIX}/demos/api/mesh_from_discrete_curve.py#L21,mesh_from_discrete_curve.py}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L11,plugin.py}, ...)
 @end table
 
 @item gmsh/model/mesh/addElementsByType
@@ -1571,9 +1572,9 @@ are automatically assigned to the elements.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L887,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L768,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2082,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1734,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L889,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L770,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2084,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1735,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L98,x2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L30,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L67,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L67,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L94,x2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L28,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L59,terrain.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L98,x2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L29,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L64,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L64,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L94,x2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L27,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L58,terrain.py})
 @end table
 
 @item gmsh/model/mesh/getIntegrationPoints
@@ -1592,9 +1593,9 @@ contains the associated weights: [g1q, ..., gGq].
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L900,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L780,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2107,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1755,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L902,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L782,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2109,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1756,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L90,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L87,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L87,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L30,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L112,poisson.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L90,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L84,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L84,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L30,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L112,poisson.py})
 @end table
 
 @item gmsh/model/mesh/getJacobians
@@ -1621,9 +1622,9 @@ points. If @code{tag} < 0, get the Jacobian data for all entities. If
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L921,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L800,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2136,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1789,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L923,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L802,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2138,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1790,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L93,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L100,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L100,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L31,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L131,poisson.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L93,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L97,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L97,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L31,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L131,poisson.py})
 @end table
 
 @item gmsh/model/mesh/preallocateJacobians
@@ -1638,7 +1639,7 @@ For C and C++ only.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L934,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L812,C}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L936,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L814,C}
 @end table
 
 @item gmsh/model/mesh/getJacobian
@@ -1662,7 +1663,7 @@ often preferable.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L957,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L834,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2180,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1823,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L959,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L836,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2182,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1824,Julia}
 @end table
 
 @item gmsh/model/mesh/getBasisFunctions
@@ -1690,9 +1691,9 @@ for the desired orientation indices.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L981,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L857,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2218,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1862,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L983,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L859,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2220,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1863,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L90,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L90,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L32,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L114,poisson.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L87,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L87,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L32,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L114,poisson.py})
 @end table
 
 @item gmsh/model/mesh/getBasisFunctionsOrientation@-ForElements
@@ -1711,7 +1712,7 @@ as it will return a vector of zeros.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L997,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L872,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2264,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1887,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L999,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L874,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2266,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1888,Julia}
 @end table
 
 @item gmsh/model/mesh/getBasisFunctionsOrientation@-ForElement
@@ -1725,7 +1726,7 @@ Get the orientation of a single element @code{elementTag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1007,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L881,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2292,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1906,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1009,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L883,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2294,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1907,Julia}
 @end table
 
 @item gmsh/model/mesh/getNumberOfOrientations
@@ -1740,7 +1741,7 @@ and function space named @code{functionSpaceType}.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1015,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L888,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2312,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1924,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1017,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L890,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2314,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1925,Julia}
 @end table
 
 @item gmsh/model/mesh/preallocateBasisFunctions@-OrientationForElements
@@ -1755,7 +1756,7 @@ with @code{numTasks} > 1. For C and C++ only.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1022,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L894,C}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1024,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L896,C}
 @end table
 
 @item gmsh/model/mesh/getEdgeNumber
@@ -1771,7 +1772,7 @@ feature and will probably change in a future release.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1031,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L902,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2331,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1942,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1033,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L904,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2333,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1943,Julia}
 @end table
 
 @item gmsh/model/mesh/getLocalMultipliersForHcurl0
@@ -1787,7 +1788,7 @@ probably change in a future release.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1039,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L909,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2353,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1963,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1041,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L911,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2355,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1964,Julia}
 @end table
 
 @item gmsh/model/mesh/getKeysForElements
@@ -1806,7 +1807,7 @@ experimental feature and will probably change in a future release.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1051,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L920,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2375,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1987,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1053,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L922,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2377,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1988,Julia}
 @end table
 
 @item gmsh/model/mesh/getKeysForElement
@@ -1820,7 +1821,7 @@ Get the keys for a single element @code{elementTag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1061,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L929,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2406,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2010,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1063,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L931,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2408,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2011,Julia}
 @end table
 
 @item gmsh/model/mesh/getNumberOfKeysForElements
@@ -1835,7 +1836,7 @@ named @code{functionSpaceType}.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1071,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L938,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2431,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2034,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1073,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L940,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2433,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2035,Julia}
 @end table
 
 @item gmsh/model/mesh/getInformationForElements
@@ -1854,7 +1855,7 @@ experimental feature and will probably change in a future release.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1082,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L948,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2450,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2055,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1084,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L950,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2452,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2056,Julia}
 @end table
 
 @item gmsh/model/mesh/getBarycenters
@@ -1874,7 +1875,7 @@ the part of the data indexed by @code{task}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1096,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L961,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2477,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2082,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1098,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L963,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2479,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2083,Julia}
 @end table
 
 @item gmsh/model/mesh/preallocateBarycenters
@@ -1889,7 +1890,7 @@ For C and C++ only.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1108,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L972,C}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1110,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L974,C}
 @end table
 
 @item gmsh/model/mesh/getElementEdgeNodes
@@ -1910,9 +1911,9 @@ indexed by @code{task}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1122,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L985,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2507,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2107,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1124,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L987,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2509,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2108,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L60,edges.cpp})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L57,edges.cpp})
 @end table
 
 @item gmsh/model/mesh/getElementFaceNodes
@@ -1934,9 +1935,9 @@ the data indexed by @code{task}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1140,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1002,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2537,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2133,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1142,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1004,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2539,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2134,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L60,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/neighbors.py#L17,neighbors.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L57,faces.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/neighbors.py#L16,neighbors.py})
 @end table
 
 @item gmsh/model/mesh/getGhostElements
@@ -1951,7 +1952,7 @@ stored in the ghost entity of dimension @code{dim} and tag @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1152,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1013,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2569,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2153,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1154,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1015,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2571,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2154,Julia}
 @end table
 
 @item gmsh/model/mesh/setSize
@@ -1966,9 +1967,9 @@ entities of dimension 0 (points) are handled.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1161,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1021,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2594,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2174,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1163,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1023,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2596,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2175,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L116,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L33,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L49,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L235,adapt_mesh.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L98,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L30,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L37,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L82,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/periodic.py#L12,periodic.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L115,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L32,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L48,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L234,adapt_mesh.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L97,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L29,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L36,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L81,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/periodic.py#L11,periodic.py}, ...)
 @end table
 
 @item gmsh/model/mesh/setSizeAtParametricPoints
@@ -1984,7 +1985,7 @@ entities of dimension 1 (lines) are handled.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1169,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1028,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2611,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2192,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1171,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1030,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2613,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2193,Julia}
 @end table
 
 @item gmsh/model/mesh/setSizeCallback
@@ -2000,9 +2001,9 @@ of the mesh size at coordinates (@code{x}, @code{y}, @code{z}).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1179,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1037,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2632,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2208,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1181,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1039,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2634,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2209,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L116,t10.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L108,t10.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L115,t10.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L107,t10.py})
 @end table
 
 @item gmsh/model/mesh/removeSizeCallback
@@ -2016,7 +2017,7 @@ Remove the global mesh size callback.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1184,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1041,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2652,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2224,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1186,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1043,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2654,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2225,Julia}
 @end table
 
 @item gmsh/model/mesh/setTransfiniteCurve
@@ -2033,9 +2034,9 @@ Currently supported types are "Progression" (geometrical progression with power
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1192,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1047,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2665,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2241,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1194,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1049,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2667,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2242,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L154,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L148,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L148,terrain.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L77,terrain_stl.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L154,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L148,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L147,terrain.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L76,terrain_stl.py})
 @end table
 
 @item gmsh/model/mesh/setTransfiniteSurface
@@ -2055,9 +2056,9 @@ its boundary.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1206,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1060,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2685,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2260,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1208,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1062,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2687,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2261,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L158,x2.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.cpp#L14,get_data_perf.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/square.cpp#L7,square.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L150,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.py#L12,get_data_perf.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L150,terrain.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L79,terrain_stl.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L158,x2.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.cpp#L13,get_data_perf.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/square.cpp#L7,square.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L150,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.py#L11,get_data_perf.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L149,terrain.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L78,terrain_stl.py})
 @end table
 
 @item gmsh/model/mesh/setTransfiniteVolume
@@ -2073,9 +2074,9 @@ interpolation explicitly.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1215,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1068,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2708,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2276,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1217,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1070,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2710,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2277,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L162,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L153,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L153,terrain.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L82,terrain_stl.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L162,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L153,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L152,terrain.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L81,terrain_stl.py})
 @end table
 
 @item gmsh/model/mesh/setTransfiniteAutomatic
@@ -2096,7 +2097,7 @@ transfinite surfaces.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1228,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1080,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2726,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2296,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1230,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1082,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2728,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2297,Julia}
 @item Examples:
 C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L169,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L159,x2.py})
 @end table
@@ -2114,9 +2115,9 @@ recombine triangles into quadrangles) are supported.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1237,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1088,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2750,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2314,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1239,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1090,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2752,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2315,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t11.cpp#L45,t11.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L159,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t11.py#L43,t11.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L151,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L238,poisson.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L151,terrain.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L80,terrain_stl.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t11.cpp#L44,t11.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L159,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t11.py#L42,t11.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L151,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L238,poisson.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L150,terrain.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L79,terrain_stl.py})
 @end table
 
 @item gmsh/model/mesh/setSmoothing
@@ -2131,9 +2132,9 @@ and tag @code{tag}. @code{val} iterations of a Laplace smoother are applied.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1244,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1094,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2767,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2329,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1246,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1096,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2769,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2330,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L160,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L152,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L152,terrain.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L81,terrain_stl.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L160,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L152,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L151,terrain.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L80,terrain_stl.py})
 @end table
 
 @item gmsh/model/mesh/setReverse
@@ -2151,7 +2152,7 @@ as-is.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1255,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1104,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2784,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2346,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1257,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1106,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2786,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2347,Julia}
 @end table
 
 @item gmsh/model/mesh/setAlgorithm
@@ -2166,9 +2167,9 @@ Set the meshing algorithm on the model entity of dimension @code{dim} and tag
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1263,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1111,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2804,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2361,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1265,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1113,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2806,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2362,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L211,t5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L206,t5.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L210,t5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L205,t5.py})
 @end table
 
 @item gmsh/model/mesh/setSizeFromBoundary
@@ -2184,7 +2185,7 @@ entity of dimension @code{dim} and tag @code{tag}. Currently only supported for
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1272,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1119,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2821,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2377,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1274,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1121,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2823,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2378,Julia}
 @end table
 
 @item gmsh/model/mesh/setCompound
@@ -2200,9 +2201,9 @@ discrete entity, which is automatically reparametrized.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1281,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1127,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2839,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2393,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1283,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1129,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2841,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2394,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t12.cpp#L84,t12.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t12.py#L80,t12.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t12.cpp#L83,t12.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t12.py#L79,t12.py})
 @end table
 
 @item gmsh/model/mesh/setOutwardOrientation
@@ -2218,7 +2219,7 @@ available with the OpenCASCADE kernel, as it relies on the STL triangulation.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1290,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1135,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2857,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2409,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1292,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1137,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2859,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2410,Julia}
 @end table
 
 @item gmsh/model/mesh/embed
@@ -2236,9 +2237,9 @@ The embedded entities should not be part of the boundary of the entity
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1299,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1143,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2874,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2427,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1301,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1145,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2876,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2428,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t15.cpp#L52,t15.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t15.py#L48,t15.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t15.cpp#L51,t15.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t15.py#L47,t15.py})
 @end table
 
 @item gmsh/model/mesh/removeEmbedded
@@ -2254,7 +2255,7 @@ points if @code{dim} == 0).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1309,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1152,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2896,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2443,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1311,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1154,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2898,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2444,Julia}
 @end table
 
 @item gmsh/model/mesh/reorderElements
@@ -2269,7 +2270,7 @@ Reorder the elements of type @code{elementType} classified on the entity of tag
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1316,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1158,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2914,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2460,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1318,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1160,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2916,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2461,Julia}
 @end table
 
 @item gmsh/model/mesh/renumberNodes
@@ -2283,7 +2284,7 @@ Renumber the node tags in a continuous sequence.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1323,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1164,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2932,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2474,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1325,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1166,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2934,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2475,Julia}
 @end table
 
 @item gmsh/model/mesh/renumberElements
@@ -2297,7 +2298,7 @@ Renumber the element tags in a continuous sequence.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1328,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1167,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2945,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2488,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1330,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1169,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2947,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2489,Julia}
 @end table
 
 @item gmsh/model/mesh/setPeriodic
@@ -2318,9 +2319,9 @@ and @code{dim} == 2.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1340,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1177,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2958,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2508,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1342,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1179,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2960,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2509,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L41,t18.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L37,t18.py}, @url{@value{GITLAB-PREFIX}/demos/api/periodic.py#L14,periodic.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L40,t18.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L36,t18.py}, @url{@value{GITLAB-PREFIX}/demos/api/periodic.py#L13,periodic.py})
 @end table
 
 @item gmsh/model/mesh/getPeriodicNodes
@@ -2338,9 +2339,9 @@ the returned data.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1352,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1188,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2985,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2527,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1354,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1190,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L2987,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2528,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/periodic.py#L20,periodic.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/periodic.py#L19,periodic.py})
 @end table
 
 @item gmsh/model/mesh/removeDuplicateNodes
@@ -2354,9 +2355,9 @@ Remove duplicate nodes in the mesh of the current model.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1363,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1198,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3020,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2551,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1365,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1200,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3022,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2552,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/glue_and_remesh_stl.py#L16,glue_and_remesh_stl.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/glue_and_remesh_stl.py#L15,glue_and_remesh_stl.py})
 @end table
 
 @item gmsh/model/mesh/splitQuadrangles
@@ -2372,7 +2373,7 @@ surfaces.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1369,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1202,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3033,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2566,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1371,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1204,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3035,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2567,Julia}
 @end table
 
 @item gmsh/model/mesh/classifySurfaces
@@ -2391,9 +2392,9 @@ less than Pi, also force curves to be split according to @code{curveAngle}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1381,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1213,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3049,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2585,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1383,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1215,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3051,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2586,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L49,t13.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L41,t13.py}, @url{@value{GITLAB-PREFIX}/demos/api/glue_and_remesh_stl.py#L20,glue_and_remesh_stl.py}, @url{@value{GITLAB-PREFIX}/demos/api/remesh_stl.py#L19,remesh_stl.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L17,terrain_stl.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L48,t13.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L39,t13.py}, @url{@value{GITLAB-PREFIX}/demos/api/glue_and_remesh_stl.py#L19,glue_and_remesh_stl.py}, @url{@value{GITLAB-PREFIX}/demos/api/remesh_stl.py#L18,remesh_stl.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L16,terrain_stl.py})
 @end table
 
 @item gmsh/model/mesh/createGeometry
@@ -2411,9 +2412,9 @@ entities.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1393,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1224,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3072,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2603,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1395,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1226,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3074,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2604,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L55,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L111,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L47,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L106,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/glue_and_remesh_stl.py#L33,glue_and_remesh_stl.py}, @url{@value{GITLAB-PREFIX}/demos/api/remesh_stl.py#L23,remesh_stl.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L76,terrain.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L54,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L111,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L45,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L106,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/glue_and_remesh_stl.py#L32,glue_and_remesh_stl.py}, @url{@value{GITLAB-PREFIX}/demos/api/remesh_stl.py#L22,remesh_stl.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain.py#L75,terrain.py}, ...)
 @end table
 
 @item gmsh/model/mesh/createTopology
@@ -2432,7 +2433,7 @@ in CAD kernel.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1403,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1233,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3091,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2623,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1405,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1235,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3093,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2624,Julia}
 @end table
 
 @item gmsh/model/mesh/computeHomology
@@ -2453,9 +2454,9 @@ as physical groups in the mesh.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1416,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1245,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3111,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2644,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1418,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1247,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3113,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2645,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L113,t14.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L112,t14.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L112,t14.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L110,t14.py})
 @end table
 
 @item gmsh/model/mesh/computeCohomology
@@ -2476,9 +2477,9 @@ stored as physical groups in the mesh.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1430,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1258,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3137,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2665,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1432,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1260,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3139,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2666,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L123,t14.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L124,t14.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L122,t14.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L122,t14.py})
 @end table
 
 @item gmsh/model/mesh/computeCrossField
@@ -2493,7 +2494,7 @@ function, the Theta function and cross directions. Return the tags of the views
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1439,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1266,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3163,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2682,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1441,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1268,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3165,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2683,Julia}
 @end table
 
 @end ftable
@@ -2515,9 +2516,9 @@ the field tag.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1448,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1272,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3189,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2712,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1450,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1274,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3191,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2713,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t7.cpp#L50,t7.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L47,t10.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t11.cpp#L39,t11.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L69,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t17.cpp#L42,t17.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t7.py#L44,t7.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L44,t10.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L58,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t17.py#L36,t17.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L113,adapt_mesh.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t7.cpp#L49,t7.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L46,t10.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t11.cpp#L38,t11.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L68,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t17.cpp#L41,t17.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t7.py#L43,t7.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L43,t10.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L56,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t17.py#L35,t17.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L112,adapt_mesh.py}, ...)
 @end table
 
 @item gmsh/model/mesh/field/remove
@@ -2531,7 +2532,7 @@ Remove the field with tag @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1454,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1277,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3209,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2726,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1456,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1279,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3211,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2727,Julia}
 @end table
 
 @item gmsh/model/mesh/field/setNumber
@@ -2546,9 +2547,9 @@ Set the numerical option @code{option} to value @code{value} for field
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1459,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1281,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3223,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2740,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1461,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1283,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3225,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2741,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L49,t10.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L271,adapt_mesh.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L46,t10.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L114,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L47,copy_mesh.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L48,t10.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L270,adapt_mesh.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L45,t10.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L113,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L46,copy_mesh.py})
 @end table
 
 @item gmsh/model/mesh/field/setString
@@ -2562,9 +2563,9 @@ Set the string option @code{option} to value @code{value} for field @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1466,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1287,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3239,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2754,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1468,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1289,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3241,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2755,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L74,t10.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t11.cpp#L40,t11.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L71,t13.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L70,t10.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L60,t13.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L73,t10.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t11.cpp#L39,t11.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L70,t13.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L69,t10.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L58,t13.py})
 @end table
 
 @item gmsh/model/mesh/field/setNumbers
@@ -2579,9 +2580,9 @@ Set the numerical list option @code{option} to value @code{value} for field
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1473,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1293,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3255,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2768,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1475,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1295,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3257,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2769,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L48,t10.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L45,t10.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L47,t10.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L44,t10.py})
 @end table
 
 @item gmsh/model/mesh/field/setAsBackgroundMesh
@@ -2595,9 +2596,9 @@ Set the field @code{tag} as the background mesh size field.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1480,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1299,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3272,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2782,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1482,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1301,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3274,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2783,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t7.cpp#L53,t7.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L109,t10.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t11.cpp#L42,t11.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L74,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t17.cpp#L43,t17.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t7.py#L47,t7.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L102,t10.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L63,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t17.py#L37,t17.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L115,adapt_mesh.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t7.cpp#L52,t7.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t10.cpp#L108,t10.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t11.cpp#L41,t11.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L73,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t17.cpp#L42,t17.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t7.py#L46,t7.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t10.py#L101,t10.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L61,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t17.py#L36,t17.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L114,adapt_mesh.py}, ...)
 @end table
 
 @item gmsh/model/mesh/field/setAsBoundaryLayer
@@ -2611,7 +2612,7 @@ Set the field @code{tag} as a boundary layer size field.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1485,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1303,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3286,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2796,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1487,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1305,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3288,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2797,Julia}
 @end table
 
 @end ftable
@@ -2637,9 +2638,9 @@ the geo module.)
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1501,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1312,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3306,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2830,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1503,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1314,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3308,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2831,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L41,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L25,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L22,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L19,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L21,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L38,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L23,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L20,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L46,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L20,t6.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L37,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L23,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L21,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L19,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L20,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L34,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L21,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L19,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L45,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L19,t6.py}, ...)
 @end table
 
 @item gmsh/model/geo/addLine
@@ -2656,9 +2657,9 @@ the tag of the line.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1513,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1323,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3332,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2849,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1515,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1325,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3334,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2850,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L73,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L29,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L26,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L126,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L25,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L69,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L27,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L24,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L61,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L24,t6.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L69,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L27,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L25,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L125,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L24,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L65,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L25,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L23,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L60,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L23,t6.py}, ...)
 @end table
 
 @item gmsh/model/geo/addCircleArc
@@ -2677,9 +2678,9 @@ tag of the circle arc.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1525,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1334,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3354,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2869,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1527,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1336,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3356,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2870,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L27,t5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L120,t5.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L27,t5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L119,t5.py})
 @end table
 
 @item gmsh/model/geo/addEllipseArc
@@ -2698,7 +2699,7 @@ the plane of the circle arc. Return the tag of the ellipse arc.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1541,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1349,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3382,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2890,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1543,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1351,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3384,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2891,Julia}
 @end table
 
 @item gmsh/model/geo/addSpline
@@ -2716,9 +2717,9 @@ curve.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1557,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1364,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3411,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2909,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1559,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1366,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3413,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2910,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t12.cpp#L68,t12.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t12.py#L64,t12.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t12.cpp#L67,t12.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t12.py#L63,t12.py})
 @end table
 
 @item gmsh/model/geo/addBSpline
@@ -2736,7 +2737,7 @@ curve.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1567,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1373,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3434,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2928,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1569,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1375,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3436,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2929,Julia}
 @end table
 
 @item gmsh/model/geo/addBezier
@@ -2752,7 +2753,7 @@ new tag is selected automatically.  Return the tag of the Bezier curve.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1575,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1380,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3457,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2946,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1577,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1382,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3459,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2947,Julia}
 @end table
 
 @item gmsh/model/geo/addPolyline
@@ -2769,7 +2770,7 @@ first and last points are the same. Return the tag of the polyline curve.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1585,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1388,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3478,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2965,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1587,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1390,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3480,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2966,Julia}
 @end table
 
 @item gmsh/model/geo/addCompoundSpline
@@ -2787,7 +2788,7 @@ Return the tag of the spline.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1595,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1397,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3500,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2985,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1597,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1399,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3502,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L2986,Julia}
 @end table
 
 @item gmsh/model/geo/addCompoundBSpline
@@ -2805,7 +2806,7 @@ b-spline.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1606,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1407,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3524,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3004,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1608,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1409,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3526,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3005,Julia}
 @end table
 
 @item gmsh/model/geo/addCurveLoop
@@ -2825,9 +2826,9 @@ necessary. Return the tag of the curve loop.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1619,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1419,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3548,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3026,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1621,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1421,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3550,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3027,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L86,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L33,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L30,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L40,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L29,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L81,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L31,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L28,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L83,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L28,t6.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L82,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L31,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L29,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L40,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L28,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L77,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L29,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L27,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L82,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L27,t6.py}, ...)
 @end table
 
 @item gmsh/model/geo/addPlaneSurface
@@ -2845,9 +2846,9 @@ surface.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1630,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1429,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3574,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3046,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1632,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1431,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3576,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3047,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L91,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L34,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L31,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L149,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L30,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L86,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L32,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L29,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L84,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L29,t6.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L87,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L32,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L30,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L148,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L29,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L82,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L30,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L28,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L83,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L28,t6.py}, ...)
 @end table
 
 @item gmsh/model/geo/addSurfaceFilling
@@ -2865,9 +2866,9 @@ automatically. Return the tag of the surface.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1640,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1438,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3597,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3066,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1642,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1440,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3599,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3067,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L61,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t12.cpp#L72,t12.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L154,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t12.py#L68,t12.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L61,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t12.cpp#L71,t12.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L153,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t12.py#L67,t12.py})
 @end table
 
 @item gmsh/model/geo/addSurfaceLoop
@@ -2883,9 +2884,9 @@ otherwise a new tag is selected automatically. Return the tag of the shell.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1650,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1446,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3621,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3084,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1652,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1448,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3623,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3085,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L115,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L70,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L62,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L141,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L110,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L104,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L51,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L136,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/glue_and_remesh_stl.py#L39,glue_and_remesh_stl.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L114,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L70,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L61,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L141,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L109,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L103,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L49,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L136,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/glue_and_remesh_stl.py#L38,glue_and_remesh_stl.py}, ...)
 @end table
 
 @item gmsh/model/geo/addVolume
@@ -2903,9 +2904,9 @@ tag of the volume.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1660,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1455,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3642,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3104,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1662,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1457,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3644,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3105,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L116,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L71,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L63,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L142,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L111,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L164,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L52,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L137,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/glue_and_remesh_stl.py#L40,glue_and_remesh_stl.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L115,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L71,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L62,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L142,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L110,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L163,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t13.py#L50,t13.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L137,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/glue_and_remesh_stl.py#L39,glue_and_remesh_stl.py}, ...)
 @end table
 
 @item gmsh/model/geo/extrude
@@ -2925,9 +2926,9 @@ entities are extruded along their normal.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1672,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1466,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3665,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3126,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1674,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1468,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3667,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3127,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L126,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L46,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L66,t14.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t15.cpp#L64,t15.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L120,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L44,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L61,t14.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t15.py#L60,t15.py}, @url{@value{GITLAB-PREFIX}/demos/api/hex.py#L8,hex.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L125,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L46,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t14.cpp#L65,t14.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t15.cpp#L63,t15.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L119,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L44,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t14.py#L59,t14.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t15.py#L59,t15.py}, @url{@value{GITLAB-PREFIX}/demos/api/hex.py#L8,hex.py})
 @end table
 
 @item gmsh/model/geo/revolve
@@ -2948,7 +2949,7 @@ different layers, normalized to 1.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1691,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1484,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3699,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3154,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1693,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1486,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3701,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3155,Julia}
 @item Examples:
 C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L53,t3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L50,t3.py})
 @end table
@@ -2972,7 +2973,7 @@ different layers, normalized to 1.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1715,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1506,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3738,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3183,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1717,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1508,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3740,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3184,Julia}
 @item Examples:
 C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L64,t3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L61,t3.py})
 @end table
@@ -2989,9 +2990,9 @@ Translate the entities @code{dimTags} in the built-in CAD representation along
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1735,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1525,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3780,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3204,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1737,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1527,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3782,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3205,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L50,t2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L47,t2.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L49,t2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L46,t2.py})
 @end table
 
 @item gmsh/model/geo/rotate
@@ -3008,9 +3009,9 @@ Rotate the entities @code{dimTags} in the built-in CAD representation by
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1745,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1534,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3799,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3222,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1747,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1536,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3801,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3223,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L54,t2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L51,t2.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L53,t2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L50,t2.py})
 @end table
 
 @item gmsh/model/geo/dilate
@@ -3026,7 +3027,7 @@ Scale the entities @code{dimTag} in the built-in CAD representation by factors
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1759,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1547,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3823,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3240,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1761,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1549,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3825,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3241,Julia}
 @end table
 
 @item gmsh/model/geo/mirror
@@ -3042,7 +3043,7 @@ respect to the plane of equation @code{a} * x + @code{b} * y + @code{c} * z +
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1771,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1558,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3846,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3257,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1773,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1560,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3848,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3258,Julia}
 @end table
 
 @item gmsh/model/geo/symmetrize
@@ -3059,7 +3060,7 @@ a future release.)
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1783,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1569,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3866,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3275,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1785,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1571,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3868,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3276,Julia}
 @end table
 
 @item gmsh/model/geo/copy
@@ -3074,9 +3075,9 @@ entities are returned in @code{outDimTags}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1793,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1578,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3888,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3294,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1795,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1580,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3890,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3295,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L63,t2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L59,t2.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L62,t2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L58,t2.py})
 @end table
 
 @item gmsh/model/geo/remove
@@ -3092,9 +3093,9 @@ dimension 0.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1801,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1585,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3909,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3315,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1803,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1587,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3911,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3316,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L33,t6.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L32,t6.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L32,t6.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L31,t6.py})
 @end table
 
 @item gmsh/model/geo/removeAllDuplicates
@@ -3109,7 +3110,7 @@ entities at the same geometrical location).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1808,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1591,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3927,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3332,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1810,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1593,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3929,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3333,Julia}
 @end table
 
 @item gmsh/model/geo/splitCurve
@@ -3125,7 +3126,7 @@ created curves.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1815,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1596,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3941,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3349,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1817,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1598,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3943,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3350,Julia}
 @end table
 
 @item gmsh/model/geo/getMaxTag
@@ -3140,7 +3141,7 @@ representation.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1823,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1603,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3964,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3369,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1825,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1605,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3966,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3370,Julia}
 @end table
 
 @item gmsh/model/geo/setMaxTag
@@ -3155,7 +3156,7 @@ built-in CAD representation.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1829,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1608,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3982,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3384,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1831,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1610,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3984,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3385,Julia}
 @end table
 
 @item gmsh/model/geo/addPhysicalGroup
@@ -3172,7 +3173,9 @@ group, equal to @code{tag} if @code{tag} is positive, or a new tag if @code{tag}
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1837,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1615,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L3998,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3402,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1839,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1617,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4000,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3403,Julia}
+@item Examples:
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L178,t5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L177,t5.py})
 @end table
 
 @item gmsh/model/geo/removePhysicalGroups
@@ -3187,7 +3190,7 @@ If @code{dimTags} is empty, remove all groups.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1845,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1622,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4020,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3417,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1847,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1624,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4022,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3418,Julia}
 @end table
 
 @item gmsh/model/geo/synchronize
@@ -3205,9 +3208,9 @@ available to any function outside of the built-in CAD kernel functions.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1855,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1631,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4036,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3437,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1857,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1633,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4038,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3438,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L102,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L90,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L67,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L189,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L100,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L96,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L86,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L64,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L185,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L95,t6.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L98,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L33,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L31,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L188,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L99,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L92,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L31,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L29,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L184,t5.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L94,t6.py}, ...)
 @end table
 
 @end ftable
@@ -3229,9 +3232,9 @@ handled.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1864,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1636,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4060,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3461,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1866,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1638,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4062,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3462,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L130,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t15.cpp#L42,t15.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L124,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t15.py#L38,t15.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L129,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t15.cpp#L41,t15.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L123,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t15.py#L37,t15.py})
 @end table
 
 @item gmsh/model/geo/mesh/setTransfiniteCurve
@@ -3249,9 +3252,9 @@ both extremities of the curve).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1874,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1645,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4078,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3480,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1876,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1647,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4080,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3481,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L49,t6.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L48,t6.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L48,t6.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L47,t6.py})
 @end table
 
 @item gmsh/model/geo/mesh/setTransfiniteSurface
@@ -3271,9 +3274,9 @@ surface has more that 3 or 4 points on its boundary.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1889,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1658,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4099,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3500,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1891,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1660,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4101,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3501,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L68,t6.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L67,t6.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L67,t6.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L66,t6.py})
 @end table
 
 @item gmsh/model/geo/mesh/setTransfiniteVolume
@@ -3289,7 +3292,7 @@ corners of the transfinite interpolation explicitly.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1898,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1666,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4122,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3516,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1900,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1668,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4124,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3517,Julia}
 @end table
 
 @item gmsh/model/geo/mesh/setRecombine
@@ -3305,9 +3308,9 @@ entities of dimension 2 (to recombine triangles into quadrangles) are supported.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1907,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1674,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4140,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3532,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1909,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1676,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4142,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3533,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L72,t6.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L71,t6.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t6.cpp#L71,t6.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t6.py#L70,t6.py})
 @end table
 
 @item gmsh/model/geo/mesh/setSmoothing
@@ -3323,7 +3326,7 @@ Laplace smoother are applied.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1916,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1682,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4159,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3548,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1918,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1684,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4161,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3549,Julia}
 @end table
 
 @item gmsh/model/geo/mesh/setReverse
@@ -3341,7 +3344,7 @@ mesh orientation will be reversed with respect to the natural mesh orientation
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1927,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1692,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4177,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3566,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1929,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1694,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4179,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3567,Julia}
 @end table
 
 @item gmsh/model/geo/mesh/setAlgorithm
@@ -3357,7 +3360,7 @@ for @code{dim} == 2.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1936,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1700,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4197,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3581,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1938,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1702,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4199,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3582,Julia}
 @end table
 
 @item gmsh/model/geo/mesh/setSizeFromBoundary
@@ -3373,7 +3376,7 @@ representation. Currently only supported for @code{dim} == 2.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1945,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1708,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4215,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3597,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1947,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1710,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4217,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3598,Julia}
 @end table
 
 @end ftable
@@ -3399,9 +3402,9 @@ the occ module.)
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1964,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1719,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4239,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3631,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1966,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1721,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4241,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3632,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L68,t19.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/spline.cpp#L11,spline.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L60,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L7,bspline_bezier_patches.py}, @url{@value{GITLAB-PREFIX}/demos/api/bspline_filling.py#L16,bspline_filling.py}, @url{@value{GITLAB-PREFIX}/demos/api/closest_point.py#L15,closest_point.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack.py#L13,crack.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L67,t19.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/spline.cpp#L10,spline.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L59,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L6,bspline_bezier_patches.py}, @url{@value{GITLAB-PREFIX}/demos/api/bspline_filling.py#L14,bspline_filling.py}, @url{@value{GITLAB-PREFIX}/demos/api/closest_point.py#L14,closest_point.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack.py#L11,crack.py}, ...)
 @end table
 
 @item gmsh/model/occ/addLine
@@ -3418,9 +3421,9 @@ Return the tag of the line.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1976,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1730,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4265,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3650,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1978,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1732,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4267,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3651,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/crack.py#L15,crack.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/crack.py#L13,crack.py})
 @end table
 
 @item gmsh/model/occ/addCircleArc
@@ -3437,7 +3440,7 @@ automatically. Return the tag of the circle arc.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1986,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1739,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4287,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3669,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1988,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1741,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4289,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3670,Julia}
 @end table
 
 @item gmsh/model/occ/addCircle
@@ -3455,9 +3458,9 @@ the tag of the circle.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L1998,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1750,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4310,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3688,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2000,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1752,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4312,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3689,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L26,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L24,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/closest_point.py#L8,closest_point.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L25,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L23,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/closest_point.py#L7,closest_point.py})
 @end table
 
 @item gmsh/model/occ/addEllipseArc
@@ -3476,7 +3479,7 @@ radius smaller than the minor radius.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2014,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1765,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4337,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3709,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2016,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1767,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4339,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3710,Julia}
 @end table
 
 @item gmsh/model/occ/addEllipse
@@ -3497,7 +3500,7 @@ y-axis): rotate the shape or use @code{addCircle} in such cases.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2030,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1780,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4363,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3732,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2032,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1782,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4365,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3733,Julia}
 @end table
 
 @item gmsh/model/occ/addSpline
@@ -3515,9 +3518,9 @@ curve.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2046,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1795,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4394,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3751,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2048,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1797,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4396,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3752,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L72,t19.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/spline.cpp#L13,spline.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L63,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/spline.py#L13,spline.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L71,t19.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/spline.cpp#L12,spline.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L62,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/spline.py#L12,spline.py})
 @end table
 
 @item gmsh/model/occ/addBSpline
@@ -3536,9 +3539,9 @@ first and last points are the same. Return the tag of the b-spline curve.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2057,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1805,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4417,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3772,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2059,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1807,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4419,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3773,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/spline.cpp#L14,spline.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_filling.py#L20,bspline_filling.py}, @url{@value{GITLAB-PREFIX}/demos/api/spline.py#L14,spline.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/spline.cpp#L13,spline.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_filling.py#L18,bspline_filling.py}, @url{@value{GITLAB-PREFIX}/demos/api/spline.py#L13,spline.py})
 @end table
 
 @item gmsh/model/occ/addBezier
@@ -3554,9 +3557,9 @@ new tag is selected automatically. Return the tag of the Bezier curve.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2069,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1816,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4448,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3790,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2071,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1818,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4450,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3791,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/spline.cpp#L15,spline.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/spline.py#L15,spline.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/spline.cpp#L14,spline.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/spline.py#L14,spline.py})
 @end table
 
 @item gmsh/model/occ/addWire
@@ -3574,9 +3577,9 @@ automatically. Return the tag of the wire.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2079,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1825,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4469,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3810,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2081,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1827,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4471,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3811,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L75,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L66,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/bspline_filling.py#L38,bspline_filling.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L74,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L65,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/bspline_filling.py#L36,bspline_filling.py})
 @end table
 
 @item gmsh/model/occ/addCurveLoop
@@ -3595,9 +3598,9 @@ automatically. Return the tag of the curve loop.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2091,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1836,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4493,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3831,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2093,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1838,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4495,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3832,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L27,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L25,t19.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L26,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L24,t19.py})
 @end table
 
 @item gmsh/model/occ/addRectangle
@@ -3615,9 +3618,9 @@ explicitly; otherwise a new tag is selected automatically. Round the corners if
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2101,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1845,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4517,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3851,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2103,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1847,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4519,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3852,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t17.cpp#L29,t17.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L68,t20.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L41,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L229,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L16,edges.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t17.py#L28,t17.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L57,t20.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L33,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L77,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack3d.py#L11,crack3d.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t17.cpp#L28,t17.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L67,t20.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L40,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L228,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L13,edges.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t17.py#L27,t17.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L56,t20.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L32,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L76,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack3d.py#L9,crack3d.py}, ...)
 @end table
 
 @item gmsh/model/occ/addDisk
@@ -3634,9 +3637,9 @@ tag is selected automatically. Return the tag of the disk.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2115,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1858,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4544,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3870,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2117,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1860,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4546,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3871,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L78,t19.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L18,edges.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L69,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L37,poisson.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L77,t19.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L15,edges.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L68,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L37,poisson.py})
 @end table
 
 @item gmsh/model/occ/addPlaneSurface
@@ -3654,7 +3657,7 @@ Return the tag of the surface.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2129,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1871,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4569,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3890,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2131,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1873,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4571,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3891,Julia}
 @end table
 
 @item gmsh/model/occ/addSurfaceFilling
@@ -3672,7 +3675,7 @@ points.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2139,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1880,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4592,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3909,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2141,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1882,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4594,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3910,Julia}
 @end table
 
 @item gmsh/model/occ/addBSplineFilling
@@ -3692,9 +3695,9 @@ automatically. Return the tag of the surface.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2152,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1892,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4616,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3931,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2154,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1894,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4618,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3932,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_filling.py#L41,bspline_filling.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_filling.py#L39,bspline_filling.py})
 @end table
 
 @item gmsh/model/occ/addBezierFilling
@@ -3714,7 +3717,7 @@ automatically. Return the tag of the surface.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2165,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1904,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4641,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3953,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2167,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1906,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4643,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3954,Julia}
 @end table
 
 @item gmsh/model/occ/addBSplineSurface
@@ -3734,9 +3737,9 @@ automatically. Return the tag of the b-spline surface.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2178,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1916,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4666,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3974,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2180,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1918,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4668,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3975,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L56,bspline_bezier_patches.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L55,bspline_bezier_patches.py})
 @end table
 
 @item gmsh/model/occ/addBezierSurface
@@ -3754,9 +3757,9 @@ b-spline surface.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2196,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1933,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4704,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3993,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2198,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1935,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4706,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3994,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L53,bspline_bezier_patches.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L52,bspline_bezier_patches.py})
 @end table
 
 @item gmsh/model/occ/addSurfaceLoop
@@ -3774,7 +3777,7 @@ that share geometrically identical (but topologically different) curves.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2207,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1943,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4728,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4013,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2209,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1945,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4730,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4014,Julia}
 @end table
 
 @item gmsh/model/occ/addVolume
@@ -3792,7 +3795,7 @@ tag of the volume.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2218,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1953,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4752,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4033,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2220,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1955,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4754,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4034,Julia}
 @end table
 
 @item gmsh/model/occ/addSphere
@@ -3811,9 +3814,9 @@ automatically. Return the tag of the sphere.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2229,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1963,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4775,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4054,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2231,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1965,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4777,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4055,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L54,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L62,t18.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L23,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L18,faces.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L21,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L48,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L60,t18.py}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L23,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L20,gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L6,normals.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L53,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L61,t18.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L22,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L15,faces.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L21,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L47,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L59,t18.py}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L21,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L20,gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L6,normals.py}, ...)
 @end table
 
 @item gmsh/model/occ/addBox
@@ -3830,9 +3833,9 @@ is selected automatically. Return the tag of the box.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2244,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1977,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4804,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4073,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2246,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1979,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4806,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4074,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L32,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L28,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L61,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L22,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L16,faces.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L29,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L27,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L57,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L22,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L8,copy_mesh.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L31,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L27,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L60,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L21,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L13,faces.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L28,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L26,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L56,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L20,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L7,copy_mesh.py}, ...)
 @end table
 
 @item gmsh/model/occ/addCylinder
@@ -3851,9 +3854,9 @@ is selected automatically. Return the tag of the cylinder.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2260,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1992,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4830,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4094,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2262,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1994,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4832,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4095,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L25,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L23,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L25,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L22,gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L24,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L23,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L23,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L22,gui.py})
 @end table
 
 @item gmsh/model/occ/addCone
@@ -3873,7 +3876,7 @@ tag of the cone.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2278,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2009,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4860,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4115,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2280,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2011,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4862,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4116,Julia}
 @end table
 
 @item gmsh/model/occ/addWedge
@@ -3892,7 +3895,7 @@ the wedge.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2297,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2027,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4891,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4135,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2299,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2029,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4893,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4136,Julia}
 @end table
 
 @item gmsh/model/occ/addTorus
@@ -3910,7 +3913,7 @@ automatically. The optional argument @code{angle} defines the angular opening
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2313,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2042,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4920,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4155,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2315,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2044,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4922,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4156,Julia}
 @end table
 
 @item gmsh/model/occ/addThruSections
@@ -3930,9 +3933,9 @@ surfaces created on the boundary are forced to be ruled surfaces. If
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2330,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2058,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4947,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4177,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2332,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2060,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4949,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4178,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L33,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L30,t19.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L32,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L29,t19.py})
 @end table
 
 @item gmsh/model/occ/addThickSolid
@@ -3951,7 +3954,7 @@ automatically.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2345,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2072,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4977,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4201,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2347,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2074,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4979,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4202,Julia}
 @end table
 
 @item gmsh/model/occ/extrude
@@ -3970,7 +3973,7 @@ layers, normalized to 1.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2359,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2085,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5005,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4226,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2361,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2087,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5007,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4227,Julia}
 @end table
 
 @item gmsh/model/occ/revolve
@@ -3991,7 +3994,7 @@ extruded the angle should be strictly smaller than 2*Pi.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2378,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2103,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5038,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4255,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2380,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2105,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5040,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4256,Julia}
 @end table
 
 @item gmsh/model/occ/addPipe
@@ -4007,9 +4010,9 @@ Add a pipe in the OpenCASCADE CAD representation, by extruding the entities
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2396,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2119,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5077,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4278,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2398,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2121,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5079,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4279,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L82,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L73,t19.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L81,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L72,t19.py})
 @end table
 
 @item gmsh/model/occ/fillet
@@ -4028,9 +4031,9 @@ Return the filleted entities in @code{outDimTags}. Remove the original volume if
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2408,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2130,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5099,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4304,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2410,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2132,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5101,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4305,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L56,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L48,t19.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L55,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L47,t19.py})
 @end table
 
 @item gmsh/model/occ/chamfer
@@ -4051,7 +4054,7 @@ original volume if @code{removeVolume} is set.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2424,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2145,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5129,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4330,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2426,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2147,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5131,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4331,Julia}
 @end table
 
 @item gmsh/model/occ/fuse
@@ -4070,9 +4073,9 @@ Remove the object if @code{removeObject} is set. Remove the tool if
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2439,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2159,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5163,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4354,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2441,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2161,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5165,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4355,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L28,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L26,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L28,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L25,gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L27,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L26,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L26,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L25,gui.py})
 @end table
 
 @item gmsh/model/occ/intersect
@@ -4091,9 +4094,9 @@ is set. Remove the tool if @code{removeTool} is set.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2455,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2174,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5197,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4394,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2457,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2176,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5199,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4395,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L24,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L22,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L24,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L21,gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L23,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L22,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L22,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L21,gui.py})
 @end table
 
 @item gmsh/model/occ/cut
@@ -4112,9 +4115,9 @@ Remove the object if @code{removeObject} is set. Remove the tool if
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2471,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2189,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5231,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4433,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2473,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2191,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5233,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4434,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L42,t16.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L29,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L27,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L33,t16.py}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L29,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L26,gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/spherical_surf.py#L13,spherical_surf.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L41,t16.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L28,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L27,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L32,t16.py}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L27,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L26,gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/spherical_surf.py#L13,spherical_surf.py})
 @end table
 
 @item gmsh/model/occ/fragment
@@ -4133,9 +4136,9 @@ is set. Remove the tool if @code{removeTool} is set.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2487,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2204,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5265,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4472,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2489,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2206,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5267,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4473,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L62,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L76,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L91,t20.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L45,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L23,edges.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L55,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L71,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L73,t20.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L35,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L71,bspline_bezier_patches.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L61,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L75,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L90,t20.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L44,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L20,edges.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L54,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L70,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L72,t20.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L34,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L70,bspline_bezier_patches.py}, ...)
 @end table
 
 @item gmsh/model/occ/translate
@@ -4150,9 +4153,9 @@ along (@code{dx}, @code{dy}, @code{dz}).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2499,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2215,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5299,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4506,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2501,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2217,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5301,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4507,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L48,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L78,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L45,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L65,t20.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L47,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L77,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L44,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L64,t20.py})
 @end table
 
 @item gmsh/model/occ/rotate
@@ -4169,9 +4172,9 @@ Rotate the entities @code{dimTags} in the OpenCASCADE CAD representation by
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2509,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2224,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5318,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4524,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2511,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2226,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5320,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4525,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L79,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L70,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L70,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L59,t20.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L78,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L69,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L69,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L58,t20.py})
 @end table
 
 @item gmsh/model/occ/dilate
@@ -4187,7 +4190,7 @@ factors @code{a}, @code{b} and @code{c} along the three coordinate axes; use
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2523,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2237,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5342,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4542,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2525,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2239,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5344,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4543,Julia}
 @end table
 
 @item gmsh/model/occ/mirror
@@ -4203,7 +4206,7 @@ respect to the plane of equation @code{a} * x + @code{b} * y + @code{c} * z +
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2535,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2248,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5365,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4559,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2537,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2250,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5367,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4560,Julia}
 @end table
 
 @item gmsh/model/occ/symmetrize
@@ -4220,7 +4223,7 @@ a future release.)
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2547,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2259,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5385,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4577,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2549,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2261,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5387,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4578,Julia}
 @end table
 
 @item gmsh/model/occ/affineTransform
@@ -4236,7 +4239,7 @@ entities @code{dimTags} in the OpenCASCADE CAD representation.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2558,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2269,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5407,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4595,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2560,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2271,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5409,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4596,Julia}
 @end table
 
 @item gmsh/model/occ/copy
@@ -4251,9 +4254,9 @@ entities are returned in @code{outDimTags}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2565,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2275,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5426,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4614,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2567,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2277,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5428,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4615,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L47,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L83,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L44,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L69,t20.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L46,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L82,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L43,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L68,t20.py})
 @end table
 
 @item gmsh/model/occ/remove
@@ -4269,9 +4272,9 @@ dimension 0.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2573,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2282,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5447,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4636,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2575,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2284,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5449,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4637,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L86,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L98,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L77,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L79,t20.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L85,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L97,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L76,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L78,t20.py})
 @end table
 
 @item gmsh/model/occ/removeAllDuplicates
@@ -4287,9 +4290,9 @@ fragments) all highest dimensional entities.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2581,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2289,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5465,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4654,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2583,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2291,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5467,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4655,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L76,bspline_bezier_patches.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L75,bspline_bezier_patches.py})
 @end table
 
 @item gmsh/model/occ/healShapes
@@ -4306,9 +4309,9 @@ healing options are listed in the Gmsh reference manual.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2589,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2295,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5480,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4673,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2591,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2297,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5482,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4674,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L66,bspline_bezier_patches.py}, @url{@value{GITLAB-PREFIX}/demos/api/heal.py#L11,heal.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L65,bspline_bezier_patches.py}, @url{@value{GITLAB-PREFIX}/demos/api/heal.py#L11,heal.py})
 @end table
 
 @item gmsh/model/occ/importShapes
@@ -4327,9 +4330,9 @@ import the highest dimensional entities in the file. The optional argument
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2606,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2311,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5509,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4699,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2608,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2313,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5511,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4700,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L29,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L25,t20.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L28,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L24,t20.py})
 @end table
 
 @item gmsh/model/occ/importShapesNativePointer
@@ -4348,7 +4351,7 @@ an invalid pointer will lead to undefined behavior.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2619,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2323,C}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2621,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2325,C}
 @end table
 
 @item gmsh/model/occ/getEntities
@@ -4364,9 +4367,9 @@ entities are returned as a vector of (dim, tag) integer pairs.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2628,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2331,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5535,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4721,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2630,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2333,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5537,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4722,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L71,bspline_bezier_patches.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L70,bspline_bezier_patches.py})
 @end table
 
 @item gmsh/model/occ/getEntitiesInBoundingBox
@@ -4383,7 +4386,7 @@ dimension (e.g. points if @code{dim} == 0).
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2637,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2339,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5556,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4743,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2639,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2341,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5558,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4744,Julia}
 @end table
 
 @item gmsh/model/occ/getBoundingBox
@@ -4399,7 +4402,7 @@ tag @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2650,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2351,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5584,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4764,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2652,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2353,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5586,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4765,Julia}
 @end table
 
 @item gmsh/model/occ/getMass
@@ -4414,9 +4417,9 @@ Get the mass of the OpenCASCADE entity of dimension @code{dim} and tag
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2662,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2362,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5621,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4786,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2664,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2364,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5623,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4787,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/step_assembly.py#L19,step_assembly.py}, @url{@value{GITLAB-PREFIX}/demos/api/volume.py#L10,volume.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/step_assembly.py#L19,step_assembly.py}, @url{@value{GITLAB-PREFIX}/demos/api/volume.py#L9,volume.py})
 @end table
 
 @item gmsh/model/occ/getCenterOfMass
@@ -4431,7 +4434,7 @@ Get the center of mass of the OpenCASCADE entity of dimension @code{dim} and tag
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2670,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2369,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5641,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4804,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2672,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2371,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5643,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4805,Julia}
 @end table
 
 @item gmsh/model/occ/getMatrixOfInertia
@@ -4446,7 +4449,7 @@ Get the matrix of inertia (by row) of the OpenCASCADE entity of dimension
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2680,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2378,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5669,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4824,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2682,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2380,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5671,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4825,Julia}
 @end table
 
 @item gmsh/model/occ/getMaxTag
@@ -4461,7 +4464,7 @@ representation.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2688,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2385,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5690,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4844,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2690,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2387,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5692,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4845,Julia}
 @end table
 
 @item gmsh/model/occ/setMaxTag
@@ -4476,7 +4479,7 @@ OpenCASCADE CAD representation.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2694,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2390,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5708,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4859,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2696,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2392,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5710,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4860,Julia}
 @end table
 
 @item gmsh/model/occ/synchronize
@@ -4494,9 +4497,9 @@ not available to any function outside of the OpenCASCADE CAD kernel functions.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2705,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2400,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5724,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4877,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2707,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2402,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5726,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4878,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L85,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t17.cpp#L30,t17.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L29,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L34,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L44,t20.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L68,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t17.py#L29,t17.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L28,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L31,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L35,t20.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L84,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t17.cpp#L29,t17.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L28,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L33,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L43,t20.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L67,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t17.py#L28,t17.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L27,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L30,t19.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L34,t20.py}, ...)
 @end table
 
 @end ftable
@@ -4517,7 +4520,7 @@ representation. Currently only entities of dimension 0 (points) are handled.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2714,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2405,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5748,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4901,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2716,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2407,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5750,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4902,Julia}
 @end table
 
 @end ftable
@@ -4539,9 +4542,9 @@ associate a new tag. Return the view tag.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2730,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2412,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5772,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4936,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2732,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2414,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5774,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4937,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L112,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L29,x3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L34,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L246,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L18,plugin.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L119,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L26,x3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L32,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L90,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L39,copy_mesh.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L111,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L28,x3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L33,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L245,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L17,plugin.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L118,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L25,x3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L31,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L89,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L38,copy_mesh.py}, ...)
 @end table
 
 @item gmsh/view/remove
@@ -4555,9 +4558,9 @@ Remove the view with tag @code{tag}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2736,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2417,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5792,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4950,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2738,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2419,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5794,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4951,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L38,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L29,plugin.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L37,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L28,plugin.py})
 @end table
 
 @item gmsh/view/getIndex
@@ -4573,9 +4576,9 @@ access view options.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2743,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2423,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5806,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4968,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2745,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2425,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5808,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4969,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L92,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L82,t8.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L82,x3.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L91,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L81,t8.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L81,x3.py})
 @end table
 
 @item gmsh/view/getTags
@@ -4589,9 +4592,9 @@ Get the tags of all views.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2748,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2427,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5825,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4984,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2750,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2429,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5827,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4985,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L42,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L79,t8.py}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L32,plugin.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L41,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L78,t8.py}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L31,plugin.py})
 @end table
 
 @item gmsh/view/addModelData
@@ -4616,9 +4619,9 @@ data. @code{partition} allows to specify data in several sub-sets.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2764,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2442,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5843,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5012,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2766,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2444,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5845,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5013,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L248,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L19,plugin.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/view.cpp#L21,view.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L91,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L17,plugin.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L229,poisson.py}, @url{@value{GITLAB-PREFIX}/demos/api/view.py#L20,view.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L247,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L18,plugin.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/view.cpp#L20,view.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L90,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L16,plugin.py}, @url{@value{GITLAB-PREFIX}/demos/api/poisson.py#L229,poisson.py}, @url{@value{GITLAB-PREFIX}/demos/api/view.py#L19,view.py})
 @end table
 
 @item gmsh/view/addHomogeneousModelData
@@ -4636,9 +4639,9 @@ single vector. For data types that can lead to different data sizes per tag
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2781,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2458,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5878,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5031,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2783,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2460,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5880,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5032,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L47,x4.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L34,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L41,copy_mesh.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L46,x4.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L33,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/copy_mesh.py#L40,copy_mesh.py})
 @end table
 
 @item gmsh/view/getModelData
@@ -4655,9 +4658,9 @@ tags @code{tags}, as well as the @code{dataType} and the number of components
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2797,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2473,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5906,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5049,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2799,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2475,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5908,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5050,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.cpp#L28,get_data_perf.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L28,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.py#L21,get_data_perf.py}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L21,plugin.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.cpp#L27,get_data_perf.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L27,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.py#L20,get_data_perf.py}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L20,plugin.py})
 @end table
 
 @item gmsh/view/getHomogeneousModelData
@@ -4674,9 +4677,9 @@ vector, with the appropriate padding if necessary.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2811,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2486,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5942,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5081,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2813,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2488,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5944,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5082,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.cpp#L34,get_data_perf.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.py#L26,get_data_perf.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.cpp#L33,get_data_perf.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.py#L25,get_data_perf.py})
 @end table
 
 @item gmsh/view/addListData
@@ -4699,9 +4702,9 @@ followed by values per node, repeated for each step: [e1x1, ..., e1xn, e1y1,
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2831,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2505,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5978,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5114,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2833,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2507,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5980,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5115,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L57,x3.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/viewlist.cpp#L25,viewlist.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L48,x3.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L42,normals.py}, @url{@value{GITLAB-PREFIX}/demos/api/view_combine.py#L19,view_combine.py}, @url{@value{GITLAB-PREFIX}/demos/api/viewlist.py#L20,viewlist.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L56,x3.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/viewlist.cpp#L24,viewlist.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L47,x3.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L42,normals.py}, @url{@value{GITLAB-PREFIX}/demos/api/view_combine.py#L18,view_combine.py}, @url{@value{GITLAB-PREFIX}/demos/api/viewlist.py#L19,viewlist.py})
 @end table
 
 @item gmsh/view/getListData
@@ -4717,9 +4720,9 @@ data type and the @code{data} for each data type.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2841,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2514,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6005,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5132,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2843,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2516,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6007,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5133,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L48,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L36,plugin.py}, @url{@value{GITLAB-PREFIX}/demos/api/volume.py#L20,volume.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L47,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L35,plugin.py}, @url{@value{GITLAB-PREFIX}/demos/api/volume.py#L19,volume.py})
 @end table
 
 @item gmsh/view/addListDataString
@@ -4744,9 +4747,9 @@ Bold", "Times-Italic", "Times-BoldItalic", "Helvetica", "Helvetica-Bold",
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2860,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2533,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6033,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5170,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2862,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2535,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6035,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5171,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L116,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L83,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L123,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L73,x3.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L115,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L82,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L122,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L72,x3.py})
 @end table
 
 @item gmsh/view/getListDataStrings
@@ -4763,7 +4766,7 @@ coordinates in @code{coord}, the strings in @code{data} and the styles in
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2870,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2542,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6065,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5188,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2872,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2544,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6067,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5189,Julia}
 @end table
 
 @item gmsh/view/setInterpolationMatrices
@@ -4788,9 +4791,9 @@ matrices.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2889,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2560,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6094,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5222,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2891,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2562,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6096,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5223,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L131,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L114,x3.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L130,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L113,x3.py})
 @end table
 
 @item gmsh/view/addAlias
@@ -4807,9 +4810,9 @@ already exists), otherwise associate a new tag. Return the view tag.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2904,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2574,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6129,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5241,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2906,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2576,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6131,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5242,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/view_combine.py#L28,view_combine.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/view_combine.py#L27,view_combine.py})
 @end table
 
 @item gmsh/view/copyOptions
@@ -4824,7 +4827,7 @@ Copy the options from the view with tag @code{refTag} to the view with tag
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2911,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2581,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6151,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5255,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2913,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2583,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6153,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5256,Julia}
 @end table
 
 @item gmsh/view/combine
@@ -4841,9 +4844,9 @@ original views if @code{remove} is set.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2920,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2589,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6167,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5272,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2922,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2591,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6169,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5273,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/view_combine.py#L24,view_combine.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/view_combine.py#L23,view_combine.py})
 @end table
 
 @item gmsh/view/probe
@@ -4864,9 +4867,9 @@ its coordinates if @code{xElementCoord}, @code{yElementCoord} and
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2934,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2602,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6187,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5294,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2936,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2604,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6189,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5295,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L103,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L90,x3.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L102,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L89,x3.py})
 @end table
 
 @item gmsh/view/write
@@ -4881,9 +4884,9 @@ file extension. Append to the file if @code{append} is set.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2951,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2618,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6225,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5312,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2953,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2620,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6227,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5313,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L109,x3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L91,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L249,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L44,plugin.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/view.cpp#L25,view.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L93,x3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L82,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L93,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L43,normals.py}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L34,plugin.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L108,x3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L90,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L248,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L43,plugin.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/view.cpp#L24,view.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L92,x3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L81,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L92,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L43,normals.py}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L33,plugin.py}, ...)
 @end table
 
 @item gmsh/view/setVisibilityPerWindow
@@ -4898,7 +4901,7 @@ where @code{windowIndex} identifies the window in the window list.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2959,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2625,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6242,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5327,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2961,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2627,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6244,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5328,Julia}
 @end table
 
 @end ftable
@@ -4919,9 +4922,9 @@ Set the numerical option @code{option} to the value @code{value} for plugin
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2970,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2631,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6265,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5352,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2972,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2633,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6267,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5353,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t9.cpp#L39,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L96,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.cpp#L18,get_data_perf.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L32,partition.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L34,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t9.py#L31,t9.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L81,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack3d.py#L31,crack3d.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack.py#L35,crack.py}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.py#L16,get_data_perf.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t9.cpp#L38,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L95,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.cpp#L17,get_data_perf.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L30,partition.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L33,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t9.py#L30,t9.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L80,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack3d.py#L29,crack3d.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack.py#L33,crack.py}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.py#L15,get_data_perf.py}, ...)
 @end table
 
 @item gmsh/plugin/setString
@@ -4936,9 +4939,9 @@ Set the string option @code{option} to the value @code{value} for plugin
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2977,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2637,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6281,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5366,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2979,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2639,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6283,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5367,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t9.cpp#L55,t9.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t9.py#L47,t9.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t9.cpp#L54,t9.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t9.py#L46,t9.py})
 @end table
 
 @item gmsh/plugin/run
@@ -4952,9 +4955,9 @@ Run the plugin @code{name}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2984,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2643,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6297,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5380,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2986,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2645,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6299,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5381,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t9.cpp#L41,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L99,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.cpp#L19,get_data_perf.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L33,partition.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L35,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t9.py#L33,t9.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L84,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack3d.py#L33,crack3d.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack.py#L36,crack.py}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.py#L17,get_data_perf.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t9.cpp#L40,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L98,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.cpp#L18,get_data_perf.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/partition.cpp#L31,partition.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L34,plugin.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t9.py#L32,t9.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L83,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack3d.py#L31,crack3d.py}, @url{@value{GITLAB-PREFIX}/demos/api/crack.py#L34,crack.py}, @url{@value{GITLAB-PREFIX}/demos/api/get_data_perf.py#L16,get_data_perf.py}, ...)
 @end table
 
 @end ftable
@@ -4974,9 +4977,9 @@ Draw all the OpenGL scenes.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2993,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2647,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6317,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5405,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L2995,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2649,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6319,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5406,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L151,t8.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L179,t8.py}, @url{@value{GITLAB-PREFIX}/demos/api/split_window.py#L43,split_window.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L150,t8.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L178,t8.py}, @url{@value{GITLAB-PREFIX}/demos/api/split_window.py#L41,split_window.py})
 @end table
 
 @end ftable
@@ -4996,9 +4999,9 @@ Create the FLTK graphical user interface. Can only be called in the main thread.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3003,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2651,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6336,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5430,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3005,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2653,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6338,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5431,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L77,t8.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L72,custom_gui.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L10,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L72,t8.py}, @url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L72,custom_gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L9,gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/split_window.py#L15,split_window.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L76,t8.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L72,custom_gui.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L10,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t8.py#L71,t8.py}, @url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L75,custom_gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L9,gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/split_window.py#L13,split_window.py})
 @end table
 
 @item gmsh/fltk/wait
@@ -5015,9 +5018,9 @@ thread.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3010,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2656,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6350,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5446,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3012,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2658,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6352,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5447,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L79,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L80,custom_gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L79,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L83,custom_gui.py})
 @end table
 
 @item gmsh/fltk/update
@@ -5034,9 +5037,9 @@ update of the user interface from another thread.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3018,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2663,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6366,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5463,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3020,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2665,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6368,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5464,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L90,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L91,custom_gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L90,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L94,custom_gui.py})
 @end table
 
 @item gmsh/fltk/awake
@@ -5051,9 +5054,9 @@ perform an action (currently the only @code{action} allowed is "update").
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3025,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2668,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6382,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5478,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3027,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2670,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6384,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5479,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L39,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L63,custom_gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L39,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L66,custom_gui.py})
 @end table
 
 @item gmsh/fltk/lock
@@ -5067,9 +5070,9 @@ Block the current thread until it can safely modify the user interface.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3030,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2672,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6398,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5492,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3032,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2674,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6400,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5493,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L32,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L56,custom_gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L32,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L59,custom_gui.py})
 @end table
 
 @item gmsh/fltk/unlock
@@ -5083,9 +5086,9 @@ Release the lock that was set using lock.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3035,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2675,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6411,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5506,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3037,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2677,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6413,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5507,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L34,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L58,custom_gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L34,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L61,custom_gui.py})
 @end table
 
 @item gmsh/fltk/run
@@ -5101,9 +5104,9 @@ been initialized. Can only be called in the main thread.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3042,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2680,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6424,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5522,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3044,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2682,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6426,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5523,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L157,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L171,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L98,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L172,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L229,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L150,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L164,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L94,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L179,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L224,t5.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t1.cpp#L153,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L170,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t3.cpp#L98,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L171,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L228,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t1.py#L146,t1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L163,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t3.py#L94,t3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L178,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L223,t5.py}, ...)
 @end table
 
 @item gmsh/fltk/isAvailable
@@ -5117,9 +5120,9 @@ Check if the user interface is available (e.g. to detect if it has been closed).
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3048,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2684,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6439,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5538,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3050,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2686,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6441,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5539,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L76,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L76,custom_gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L76,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L79,custom_gui.py})
 @end table
 
 @item gmsh/fltk/selectEntities
@@ -5134,7 +5137,7 @@ entities of the specified dimension (e.g. points if @code{dim} == 0).
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3054,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2688,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6456,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5555,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3056,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2690,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6458,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5556,Julia}
 @end table
 
 @item gmsh/fltk/selectElements
@@ -5148,7 +5151,7 @@ Select elements in the user interface.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3060,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2693,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6478,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5575,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3062,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2695,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6480,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5576,Julia}
 @end table
 
 @item gmsh/fltk/selectViews
@@ -5162,7 +5165,7 @@ Select views in the user interface.
 @item Return:
 integer value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3065,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2697,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6498,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5594,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3067,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2699,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6500,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5595,Julia}
 @end table
 
 @item gmsh/fltk/splitCurrentWindow
@@ -5178,9 +5181,9 @@ single window.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3071,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2702,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6518,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5612,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3073,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2704,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6520,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5613,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/split_window.py#L20,split_window.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/split_window.py#L18,split_window.py})
 @end table
 
 @item gmsh/fltk/setCurrentWindow
@@ -5196,9 +5199,9 @@ the end of the list.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3079,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2709,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6534,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5628,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3081,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2711,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6536,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5629,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/split_window.py#L35,split_window.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/split_window.py#L33,split_window.py})
 @end table
 
 @end ftable
@@ -5218,9 +5221,9 @@ Set one or more parameters in the ONELAB database, encoded in @code{format}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3088,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2713,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6556,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5653,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3090,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2715,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6558,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5654,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L69,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L30,custom_gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_test.py#L11,onelab_test.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L69,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L33,custom_gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_test.py#L10,onelab_test.py})
 @end table
 
 @item gmsh/onelab/get
@@ -5235,9 +5238,9 @@ ONELAB database, encoded in @code{format}.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3095,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2719,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6571,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5670,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3097,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2721,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6573,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5671,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/onelab_data.cpp#L20,onelab_data.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/onelab_data.py#L16,onelab_data.py}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_test.py#L37,onelab_test.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/onelab_data.cpp#L19,onelab_data.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/onelab_data.py#L15,onelab_data.py}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_test.py#L36,onelab_test.py})
 @end table
 
 @item gmsh/onelab/setNumber
@@ -5252,9 +5255,9 @@ the parameter if it does not exist; update the value if the parameter exists.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3104,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2727,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6592,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5687,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3106,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2729,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6594,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5688,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L43,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L64,custom_gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_test.py#L42,onelab_test.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L43,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L67,custom_gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_test.py#L41,onelab_test.py})
 @end table
 
 @item gmsh/onelab/setString
@@ -5269,9 +5272,9 @@ the parameter if it does not exist; update the value if the parameter exists.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3112,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2734,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6610,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5702,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3114,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2736,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6612,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5703,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L29,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L53,custom_gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_test.py#L43,onelab_test.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L29,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L56,custom_gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/onelab_test.py#L42,onelab_test.py})
 @end table
 
 @item gmsh/onelab/getNumber
@@ -5286,9 +5289,9 @@ Return an empty vector if the parameter does not exist.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3119,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2740,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6628,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5719,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3121,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2742,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6630,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5720,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L16,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L38,custom_gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L16,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L41,custom_gui.py})
 @end table
 
 @item gmsh/onelab/getString
@@ -5303,9 +5306,9 @@ Return an empty vector if the parameter does not exist.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3126,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2746,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6648,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5739,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3128,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2748,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6650,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5740,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L84,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L84,custom_gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L84,custom_gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L87,custom_gui.py})
 @end table
 
 @item gmsh/onelab/clear
@@ -5319,9 +5322,9 @@ Clear the ONELAB database, or remove a single parameter if @code{name} is given.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3132,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2751,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6668,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5757,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3134,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2753,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6670,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5758,Julia}
 @item Examples:
-Python (@url{@value{GITLAB-PREFIX}/demos/api/onelab_test.py#L46,onelab_test.py})
+Python (@url{@value{GITLAB-PREFIX}/demos/api/onelab_test.py#L45,onelab_test.py})
 @end table
 
 @item gmsh/onelab/run
@@ -5337,9 +5340,9 @@ might be linked to the processed input files.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3139,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2757,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6682,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5773,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3141,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2759,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6684,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5774,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/demos/api/onelab_data.cpp#L17,onelab_data.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/onelab_data.py#L14,onelab_data.py})
+C++ (@url{@value{GITLAB-PREFIX}/demos/api/onelab_data.cpp#L16,onelab_data.cpp}), Python (@url{@value{GITLAB-PREFIX}/demos/api/onelab_data.py#L13,onelab_data.py})
 @end table
 
 @end ftable
@@ -5359,9 +5362,9 @@ Write a @code{message}. @code{level} can be "info", "warning" or "error".
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3149,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2762,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6705,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5798,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3151,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2764,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6707,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5799,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t7.cpp#L24,t7.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L42,t8.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t9.cpp#L32,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L25,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L35,t16.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L57,custom_gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L27,terrain_stl.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t7.cpp#L23,t7.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t8.cpp#L41,t8.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t9.cpp#L31,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t13.cpp#L24,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L34,t16.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.py#L60,custom_gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L26,terrain_stl.py})
 @end table
 
 @item gmsh/logger/start
@@ -5375,9 +5378,9 @@ Start logging messages.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3155,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2767,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6720,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5812,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3157,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2769,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6722,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5813,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L28,t16.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L26,t16.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L27,t16.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L25,t16.py})
 @end table
 
 @item gmsh/logger/get
@@ -5391,9 +5394,9 @@ Get logged messages.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3160,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2770,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6733,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5828,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3162,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2772,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6735,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5829,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L138,t16.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L118,t16.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L137,t16.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L117,t16.py})
 @end table
 
 @item gmsh/logger/stop
@@ -5407,9 +5410,9 @@ Stop logging messages.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3165,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2774,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6751,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5846,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3167,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2776,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6753,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5847,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L140,t16.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L120,t16.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L139,t16.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L119,t16.py})
 @end table
 
 @item gmsh/logger/getWallTime
@@ -5423,7 +5426,7 @@ Return wall clock time.
 @item Return:
 floating point value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3170,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2777,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6764,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5862,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3172,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2779,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6766,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5863,Julia}
 @item Examples:
 C++ (@url{@value{GITLAB-PREFIX}/demos/api/custom_gui.cpp#L37,custom_gui.cpp})
 @end table
@@ -5439,7 +5442,7 @@ Return CPU time.
 @item Return:
 floating point value
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3175,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2780,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6780,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5878,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3177,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2782,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6782,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5879,Julia}
 @end table
 
 @item gmsh/logger/getLastError
@@ -5453,7 +5456,7 @@ Return last error message, if any.
 @item Return:
 -
 @item Language-specific definition:
-@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3180,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2783,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6796,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5894,Julia}
+@url{@value{GITLAB-PREFIX}/api/gmsh.h#L3182,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2785,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6798,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5895,Julia}
 @end table
 
 @end ftable
diff --git a/tutorial/c++/t1.cpp b/tutorial/c++/t1.cpp
index d7536bc32da9a706077abc3e1a97f3afa3b43d3c..a9901f1ed0dcb54bcbf49e734f7a0b602ccf4314 100644
--- a/tutorial/c++/t1.cpp
+++ b/tutorial/c++/t1.cpp
@@ -17,10 +17,6 @@ int main(int argc, char **argv)
   // Before using any functions in the C++ API, Gmsh must be initialized:
   gmsh::initialize();
 
-  // By default Gmsh will not print out any messages: in order to output
-  // messages on the terminal, just set the "General.Terminal" option to 1:
-  gmsh::option::setNumber("General.Terminal", 1);
-
   // We now add a new model, named "t1". If gmsh::model::add() is not called, a
   // new default (unnamed) model will be created on the fly, if necessary.
   gmsh::model::add("t1");
diff --git a/tutorial/c++/t10.cpp b/tutorial/c++/t10.cpp
index 0525b0f4032e4db654f11ac2b25f124537141bf5..9823eafb84627bf7e7cdbca47a5afdc357ec62ec 100644
--- a/tutorial/c++/t10.cpp
+++ b/tutorial/c++/t10.cpp
@@ -17,7 +17,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t10");
 
diff --git a/tutorial/c++/t11.cpp b/tutorial/c++/t11.cpp
index b7c897f0596f6cc6e02021b9744d156fb90cedea..9dd46bb9dfc5e8fa61f70eb2fdb9bc61417d3a7c 100644
--- a/tutorial/c++/t11.cpp
+++ b/tutorial/c++/t11.cpp
@@ -12,7 +12,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t11");
 
diff --git a/tutorial/c++/t12.cpp b/tutorial/c++/t12.cpp
index f41656726fb006e397d7e86c3331eceb738cb0b8..88d65509782b29d278a21434a1ec9c5d895b1943 100644
--- a/tutorial/c++/t12.cpp
+++ b/tutorial/c++/t12.cpp
@@ -41,7 +41,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t12");
 
diff --git a/tutorial/c++/t13.cpp b/tutorial/c++/t13.cpp
index 555f88286fb5234f1cfda1a6b433d8dff8bce038..b98edb27bebf6df0476562363affb8631fc9a12f 100644
--- a/tutorial/c++/t13.cpp
+++ b/tutorial/c++/t13.cpp
@@ -13,7 +13,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t13");
 
diff --git a/tutorial/c++/t14.cpp b/tutorial/c++/t14.cpp
index bb0f8e00d5ba4f276d593ca19783f3a4dc93dcac..228d3c101345cb348820242560de4107aa977fcb 100644
--- a/tutorial/c++/t14.cpp
+++ b/tutorial/c++/t14.cpp
@@ -18,7 +18,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t14");
 
diff --git a/tutorial/c++/t15.cpp b/tutorial/c++/t15.cpp
index 204d30c428c5a40ab053f04f738b6d8769670097..701abe22a94d2ea817f6631347af6bde495ad6fd 100644
--- a/tutorial/c++/t15.cpp
+++ b/tutorial/c++/t15.cpp
@@ -20,7 +20,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t15");
 
diff --git a/tutorial/c++/t16.cpp b/tutorial/c++/t16.cpp
index c258ae40b3a651214a7d5e7665fde14699c451c3..5fc42df4a59a3057cd860eef8d09dafdea52b247 100644
--- a/tutorial/c++/t16.cpp
+++ b/tutorial/c++/t16.cpp
@@ -17,7 +17,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t16");
 
diff --git a/tutorial/c++/t17.cpp b/tutorial/c++/t17.cpp
index 53436db6d7a3bd9bbd4285264ee16a630df7a461..c3ac8534934583dce1de292823ce21835f795320 100644
--- a/tutorial/c++/t17.cpp
+++ b/tutorial/c++/t17.cpp
@@ -21,7 +21,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t17");
 
diff --git a/tutorial/c++/t18.cpp b/tutorial/c++/t18.cpp
index e6c28e5b1a1b920f45538b6c547a6b0ddc7dec14..cc928c093938e937f00a884d4f0ddf8eb9803d6e 100644
--- a/tutorial/c++/t18.cpp
+++ b/tutorial/c++/t18.cpp
@@ -15,7 +15,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t18");
 
diff --git a/tutorial/c++/t19.cpp b/tutorial/c++/t19.cpp
index ee02a783fd1e94b80090880474113cb3dc991dd9..44a95e144675490f21adb2534c8d76f51d3ae6fb 100644
--- a/tutorial/c++/t19.cpp
+++ b/tutorial/c++/t19.cpp
@@ -17,7 +17,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t19");
 
diff --git a/tutorial/c++/t2.cpp b/tutorial/c++/t2.cpp
index 05658c601714f28a764cd6261bd0549d001d18e4..712eb29f28efe6f7edf7892a6ea7e1c994628069 100644
--- a/tutorial/c++/t2.cpp
+++ b/tutorial/c++/t2.cpp
@@ -16,8 +16,6 @@ int main(int argc, char **argv)
   // line in the same way as the standalone Gmsh app:
   gmsh::initialize(argc, argv);
 
-  gmsh::option::setNumber("General.Terminal", 1);
-
   gmsh::model::add("t2");
 
   // Copied from t1.cpp...
diff --git a/tutorial/c++/t20.cpp b/tutorial/c++/t20.cpp
index 6951938d85a03a1d6bcb1cdf3af6cb1482bda671..e0271acdddc709f01445a0b0c57737b30a3c1a3c 100644
--- a/tutorial/c++/t20.cpp
+++ b/tutorial/c++/t20.cpp
@@ -18,7 +18,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t20");
 
diff --git a/tutorial/c++/t21.cpp b/tutorial/c++/t21.cpp
index 36efbf093e3703bd04f79c4fc4eb3061c2a11134..b7186ca8d630a48b9e69bc75968674b958436d7e 100644
--- a/tutorial/c++/t21.cpp
+++ b/tutorial/c++/t21.cpp
@@ -30,7 +30,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t21");
 
diff --git a/tutorial/c++/t3.cpp b/tutorial/c++/t3.cpp
index 016fdfb9b3a8574219b36c0ddc64a13ca68a8206..244aac8911aac5521a34374affc195d97ec258cb 100644
--- a/tutorial/c++/t3.cpp
+++ b/tutorial/c++/t3.cpp
@@ -13,7 +13,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t3");
 
diff --git a/tutorial/c++/t4.cpp b/tutorial/c++/t4.cpp
index f4326008f4f49b025f0a6414462c6b95a13bacfb..2cd77568dac8e7a154353296d558bf0e68ff761e 100644
--- a/tutorial/c++/t4.cpp
+++ b/tutorial/c++/t4.cpp
@@ -15,7 +15,6 @@ double hypoth(double a, double b) { return sqrt(a * a + b * b); }
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t4");
 
diff --git a/tutorial/c++/t5.cpp b/tutorial/c++/t5.cpp
index 301c0c48bfc04032b17d0118505c9cbcea2ddb17..d0d28c1e0f4abc60d3b067f3d5f15cc17d904065 100644
--- a/tutorial/c++/t5.cpp
+++ b/tutorial/c++/t5.cpp
@@ -76,7 +76,6 @@ void cheeseHole(double x, double y, double z, double r, double lc,
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   double lcar1 = .1;
   double lcar2 = .0005;
diff --git a/tutorial/c++/t6.cpp b/tutorial/c++/t6.cpp
index 152bea963b353baa2ed0106a21a21ce9de560b71..55ae9107a33b6ab2621524c563a9ddda1f8466a6 100644
--- a/tutorial/c++/t6.cpp
+++ b/tutorial/c++/t6.cpp
@@ -12,7 +12,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t2");
 
diff --git a/tutorial/c++/t7.cpp b/tutorial/c++/t7.cpp
index efe1f5a9c96e442f69f1747231b2c54bcc256f2b..5df04e77167693536007657261932d0c5d2389c3 100644
--- a/tutorial/c++/t7.cpp
+++ b/tutorial/c++/t7.cpp
@@ -15,7 +15,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   // Merge a list-based post-processing view containing the target mesh sizes:
   try {
diff --git a/tutorial/c++/t8.cpp b/tutorial/c++/t8.cpp
index 9dd443e63c55cfb6253ee57e93371ee068c7ecb2..c4357d57a5f2280f5a1c8533a021e33e43678573 100644
--- a/tutorial/c++/t8.cpp
+++ b/tutorial/c++/t8.cpp
@@ -15,7 +15,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t8");
 
diff --git a/tutorial/c++/t9.cpp b/tutorial/c++/t9.cpp
index bef92ec1e240a2b6a9ca5d9e2f544211404c74cc..37abbe6201037825cc5eb9e45dcf4fd56303a6a6 100644
--- a/tutorial/c++/t9.cpp
+++ b/tutorial/c++/t9.cpp
@@ -21,7 +21,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   gmsh::model::add("t9");
 
diff --git a/tutorial/c++/x1.cpp b/tutorial/c++/x1.cpp
index 8e75e306079b1227aafadaa22a0abb51a975478a..99c79c55f93ef8da29c14fa6fcf0f129bcb70b9d 100644
--- a/tutorial/c++/x1.cpp
+++ b/tutorial/c++/x1.cpp
@@ -24,7 +24,6 @@ int main(int argc, char **argv)
   }
 
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
 
   // You can run this tutorial on any file that Gmsh can read, e.g. a mesh file
   // in the MSH format: `t1.exe file.msh'
diff --git a/tutorial/c++/x2.cpp b/tutorial/c++/x2.cpp
index 5c45ed719ebdf81a942f30d5fcab64299b743bde..fb641dcfccb5add206ae6b06eaf831bd21bc9392 100644
--- a/tutorial/c++/x2.cpp
+++ b/tutorial/c++/x2.cpp
@@ -26,7 +26,7 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize();
-  gmsh::option::setNumber("General.Terminal", 1);
+
   gmsh::model::add("x2");
 
   // We will create the terrain surface mesh from N x N input data points:
diff --git a/tutorial/c++/x3.cpp b/tutorial/c++/x3.cpp
index d7e393acf512d4dfc2cd713e49b93ca184e021e5..452f5783ebfb1cf9c80abb5460c445249a8af031 100644
--- a/tutorial/c++/x3.cpp
+++ b/tutorial/c++/x3.cpp
@@ -13,7 +13,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   // Gmsh supports two types of post-processing data: "list-based" and
   // "model-based". Both types of data are handled through the `view' interface.
diff --git a/tutorial/c++/x4.cpp b/tutorial/c++/x4.cpp
index e5fda981a9e0834812d344ad4a13d6bd35daf595..5a28246c058e20d1d51a9eed5ba69c7405b55ba2 100644
--- a/tutorial/c++/x4.cpp
+++ b/tutorial/c++/x4.cpp
@@ -12,7 +12,6 @@
 int main(int argc, char **argv)
 {
   gmsh::initialize(argc, argv);
-  gmsh::option::setNumber("General.Terminal", 1);
 
   // Contrary to list-based view (see `x3.cpp'), model-based views are based on
   // one or more meshes. Compared to list-based views, they are thus linked to
diff --git a/tutorial/c/t1.c b/tutorial/c/t1.c
index d3d0be191e477097f6c85af10bc200b0199a25da..76e15a8e017621bbe871b6ea8e5742ddf283c5a4 100644
--- a/tutorial/c/t1.c
+++ b/tutorial/c/t1.c
@@ -21,10 +21,6 @@ int main(int argc, char **argv)
      API the last argument of all functions returns the error code, if any. */
   gmshInitialize(argc, argv, 1, &ierr);
 
-  /* By default Gmsh will not print out any messages: in order to output
-     messages on the terminal, just set the "General.Terminal" option to 1: */
-  gmshOptionSetNumber("General.Terminal", 1, &ierr);
-
   /* We now add a new model, named "t1". If gmsh::model::add() is not called, a
      new default (unnamed) model will be created on the fly, if necessary. */
   gmshModelAdd("t1", &ierr);
diff --git a/tutorial/julia/t1.jl b/tutorial/julia/t1.jl
index cac32c501532a057e6decaa5b4eeba8bf00d08af..5fedba2680f203d13dbb3c29a8eb5ccdb1157162 100644
--- a/tutorial/julia/t1.jl
+++ b/tutorial/julia/t1.jl
@@ -4,8 +4,6 @@ import gmsh
 
 gmsh.initialize()
 
-gmsh.option.setNumber("General.Terminal", 1)
-
 gmsh.model.add("t1")
 
 lc = 1e-2
diff --git a/tutorial/julia/t10.jl b/tutorial/julia/t10.jl
index 830d32fad9b144dcb4856c955557918118a991aa..19c8e97f6d1fec8468c7079d099b736775aea382 100644
--- a/tutorial/julia/t10.jl
+++ b/tutorial/julia/t10.jl
@@ -3,7 +3,6 @@
 import gmsh
 
 gmsh.initialize(append!(["gmsh"], ARGS))
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t10")
 
diff --git a/tutorial/julia/t16.jl b/tutorial/julia/t16.jl
index f73e0cc6f78fdd50444ff42b9ccd6cc4ee518785..084aff54e4624d8c7783a41d23238f82aab5ee6c 100644
--- a/tutorial/julia/t16.jl
+++ b/tutorial/julia/t16.jl
@@ -3,7 +3,6 @@
 import gmsh
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t16")
 
diff --git a/tutorial/julia/t2.jl b/tutorial/julia/t2.jl
index 28521b46c55b0f2e80f415c90f53b10706ebb1dc..206fb5e6f4a275d1d258dffe027355f23e1320b8 100644
--- a/tutorial/julia/t2.jl
+++ b/tutorial/julia/t2.jl
@@ -4,8 +4,6 @@ import gmsh
 
 gmsh.initialize(append!(["gmsh"], ARGS))
 
-gmsh.option.setNumber("General.Terminal", 1)
-
 gmsh.model.add("t2")
 
 lc = 1e-2
diff --git a/tutorial/julia/t3.jl b/tutorial/julia/t3.jl
index 6e15a453e7b6fcebfd45bd4ae2c75a4ed7b52e0e..9973a1753a101687cb3fcd99587534245ad9c3c0 100644
--- a/tutorial/julia/t3.jl
+++ b/tutorial/julia/t3.jl
@@ -3,7 +3,6 @@
 import gmsh
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t3")
 
diff --git a/tutorial/julia/t4.jl b/tutorial/julia/t4.jl
index b05bf3ac3d02ef03e7ef21145b77aed46459b235..9290020cf5d48599b0c5bb36ebc11091fda150e1 100644
--- a/tutorial/julia/t4.jl
+++ b/tutorial/julia/t4.jl
@@ -3,7 +3,6 @@
 import gmsh
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t4")
 
diff --git a/tutorial/julia/t5.jl b/tutorial/julia/t5.jl
index 9b4d013085eb631d1d8e44c7f800ef02f47db000..9236d1c109ee1371a9a0f0e1bfd49a491490e5ae 100644
--- a/tutorial/julia/t5.jl
+++ b/tutorial/julia/t5.jl
@@ -3,7 +3,6 @@
 import gmsh
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t5")
 
diff --git a/tutorial/python/t1.py b/tutorial/python/t1.py
index 52448998ad607b7be54328e08e1dc082263ffeea..7b6d657ee01bb8c3a63fd671babe4639114b6d54 100644
--- a/tutorial/python/t1.py
+++ b/tutorial/python/t1.py
@@ -14,10 +14,6 @@ import sys
 # Before using any functions in the Python API, Gmsh must be initialized:
 gmsh.initialize()
 
-# By default Gmsh will not print out any messages: in order to output messages
-# on the terminal, just set the "General.Terminal" option to 1:
-gmsh.option.setNumber("General.Terminal", 1)
-
 # Next we add a new model named "t1" (if gmsh.model.add() is not called a new
 # unnamed model will be created on the fly, if necessary):
 gmsh.model.add("t1")
diff --git a/tutorial/python/t10.py b/tutorial/python/t10.py
index 107e3bdccec7374b7663819a2e24cb27a92abed1..2c8d9baca488c91bb4668c0eb38901f731a27cad 100644
--- a/tutorial/python/t10.py
+++ b/tutorial/python/t10.py
@@ -14,7 +14,6 @@ import gmsh
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t10")
 
diff --git a/tutorial/python/t11.py b/tutorial/python/t11.py
index 5c52c9f0ce7d338c7288e9c8aac076feeb1e5f3c..b1fc530f3c5d3080ef6fb2d894ba62af527e57c2 100644
--- a/tutorial/python/t11.py
+++ b/tutorial/python/t11.py
@@ -10,7 +10,6 @@ import gmsh
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t11")
 
diff --git a/tutorial/python/t12.py b/tutorial/python/t12.py
index 22ed7710db077bc88518c60d82c763a98c6c797a..c55c328a6192f9fb2d943725cb027937a05ae635 100644
--- a/tutorial/python/t12.py
+++ b/tutorial/python/t12.py
@@ -39,7 +39,6 @@ import sys
 # 5. is governed by the `Mesh.CompoundClassify' option.
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 lc = 0.1
 
diff --git a/tutorial/python/t13.py b/tutorial/python/t13.py
index 36fe3fb47742a06708c3fff86d44716e6878776f..cb40215ddf17769af156babc5fa9088982b27cc3 100644
--- a/tutorial/python/t13.py
+++ b/tutorial/python/t13.py
@@ -13,8 +13,6 @@ import sys
 
 gmsh.initialize()
 
-gmsh.option.setNumber("General.Terminal", 1)
-
 # Let's merge an STL mesh that we would like to remesh (from the parent
 # directory):
 path = os.path.dirname(os.path.abspath(__file__))
diff --git a/tutorial/python/t14.py b/tutorial/python/t14.py
index deea3e26430ce6e0b56ea870834ba6956d6e5696..2620b83ab3e7b0cc7d6f0fbf8a2cadc931bbb09d 100644
--- a/tutorial/python/t14.py
+++ b/tutorial/python/t14.py
@@ -15,8 +15,6 @@ import sys
 
 gmsh.initialize(sys.argv)
 
-gmsh.option.setNumber("General.Terminal", 1)
-
 # Create an example geometry
 gmsh.model.add("t14")
 
diff --git a/tutorial/python/t15.py b/tutorial/python/t15.py
index 357d38c912c1806a2d2e3a80e8aeb78d2f32fdad..ad6cbf006f2c0a89ebf36b5e5e53462f642b237d 100644
--- a/tutorial/python/t15.py
+++ b/tutorial/python/t15.py
@@ -18,7 +18,6 @@ import gmsh
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # Copied from t1.py...
 lc = 1e-2
diff --git a/tutorial/python/t16.py b/tutorial/python/t16.py
index b98b689071318b7db536c17a067334853a3d4fa4..4a860975f973872c25068f8b2f4243271463df25 100644
--- a/tutorial/python/t16.py
+++ b/tutorial/python/t16.py
@@ -15,7 +15,6 @@ import math
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t16")
 
diff --git a/tutorial/python/t17.py b/tutorial/python/t17.py
index 0abd78e1002ec2d5f6da58e36920177a8c24e0fa..57b751765601bbb3c9c78cbd78873f434fd6af23 100644
--- a/tutorial/python/t17.py
+++ b/tutorial/python/t17.py
@@ -20,7 +20,6 @@ import os
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t17")
 
diff --git a/tutorial/python/t18.py b/tutorial/python/t18.py
index c7dab984d9ed782e2e40e5337a8b8e0efe8dec9c..0fcb2f4fedfadec8bb665b0abfee01240ec07276 100644
--- a/tutorial/python/t18.py
+++ b/tutorial/python/t18.py
@@ -14,7 +14,6 @@ import os
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t18")
 
diff --git a/tutorial/python/t19.py b/tutorial/python/t19.py
index 35b114769ce738b8d5593fb6d903d98980e0e49d..0c04bb6e16fad7874b9f4c7ee55784b87a68d897 100644
--- a/tutorial/python/t19.py
+++ b/tutorial/python/t19.py
@@ -15,7 +15,6 @@ import os
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t19")
 
diff --git a/tutorial/python/t2.py b/tutorial/python/t2.py
index 6c0d0d6738e059dce32b1dd12ef96852637e9639..dd86075af65e7fbc4aa90390ec5eb4314310a14f 100644
--- a/tutorial/python/t2.py
+++ b/tutorial/python/t2.py
@@ -14,8 +14,6 @@ import math
 # in the same way as the standalone Gmsh app:
 gmsh.initialize(sys.argv)
 
-gmsh.option.setNumber("General.Terminal", 1)
-
 gmsh.model.add("t2")
 
 # Copied from t1.py...
diff --git a/tutorial/python/t20.py b/tutorial/python/t20.py
index 70825d52c8fb801187442879f7be4a2727aa2fa8..296c35894581a22168f62ca9a0c568f7eb7d0d0d 100644
--- a/tutorial/python/t20.py
+++ b/tutorial/python/t20.py
@@ -15,7 +15,6 @@ import os
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t20")
 
diff --git a/tutorial/python/t21.py b/tutorial/python/t21.py
index 04f68f587e9e6497f59204dfa8a3683e608da067..ee9bfc6160dbdbe0cc9e3db9a0742827f167f6ad 100644
--- a/tutorial/python/t21.py
+++ b/tutorial/python/t21.py
@@ -24,7 +24,6 @@ import sys
 # automatically if `Mesh.PartitionCreateTopology' is set.
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # Let us start by creating a simple geometry with two adjacent squares sharing
 # an edge:
diff --git a/tutorial/python/t3.py b/tutorial/python/t3.py
index e05ea89a3b99734781b56bfffee45b51d0911b75..cb6a9866654a5c0613f3ce30552f8026ed0f17e1 100644
--- a/tutorial/python/t3.py
+++ b/tutorial/python/t3.py
@@ -11,7 +11,6 @@ import math
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t3")
 
diff --git a/tutorial/python/t4.py b/tutorial/python/t4.py
index 02c7dc6461d643fb9d3f5b602dd3f6cf68544136..4ed2fbd02b195f429a6ca1e9ff2f66a1f95a976e 100644
--- a/tutorial/python/t4.py
+++ b/tutorial/python/t4.py
@@ -11,7 +11,6 @@ import math
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t4")
 
diff --git a/tutorial/python/t5.py b/tutorial/python/t5.py
index 1e5d60f9cb59bb0d82bb43348b885a308de277dc..23acadd30e99ed4df1bae31631c0cf702af2074d 100644
--- a/tutorial/python/t5.py
+++ b/tutorial/python/t5.py
@@ -11,7 +11,6 @@ import math
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t5")
 
diff --git a/tutorial/python/t6.py b/tutorial/python/t6.py
index 898f9251c37dff57d24d4cf118b8593dcdcf4744..884abba799af98b4a415b0dd0df09e343028a1a2 100644
--- a/tutorial/python/t6.py
+++ b/tutorial/python/t6.py
@@ -11,7 +11,6 @@ import math
 import sys
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 gmsh.model.add("t6")
 
diff --git a/tutorial/python/t7.py b/tutorial/python/t7.py
index 9bf73a62f75b89974a293e6350ed8a5201af7c23..1fd5776952a8a5451879247bf9e60f3444b0548b 100644
--- a/tutorial/python/t7.py
+++ b/tutorial/python/t7.py
@@ -14,7 +14,6 @@ import sys
 # i.e., a post-processing view that contains the target characteristic lengths.
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # Merge a list-based post-processing view containing the target mesh sizes:
 path = os.path.dirname(os.path.abspath(__file__))
diff --git a/tutorial/python/t8.py b/tutorial/python/t8.py
index da2286a2b0cbb032790f51aff17667289a2e605f..ec0222eb9c7daf3c6678ce2e450831e636b67f73 100644
--- a/tutorial/python/t8.py
+++ b/tutorial/python/t8.py
@@ -14,7 +14,6 @@ import sys
 # to manipulate post-processing datasets (called "views" in Gmsh).
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # We first create a simple geometry
 lc = 1e-2
diff --git a/tutorial/python/t9.py b/tutorial/python/t9.py
index 494def879a3e5e4a475153fa00dccbd3ae2b6f58..d125889af571d6e5293f68905e1cc4bda6275d30 100644
--- a/tutorial/python/t9.py
+++ b/tutorial/python/t9.py
@@ -20,7 +20,6 @@ import sys
 # `Plugins').
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # Let us for example include a three-dimensional scalar view:
 path = os.path.dirname(os.path.abspath(__file__))
diff --git a/tutorial/python/x1.py b/tutorial/python/x1.py
index da511495abb7e4350e781ccaf7a06bc1976087da..c7dc1bf057fcd038a8c26fc6ffed1b73557ed2de 100644
--- a/tutorial/python/x1.py
+++ b/tutorial/python/x1.py
@@ -21,7 +21,6 @@ if len(sys.argv) < 2:
     exit
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
 
 # You can run this tutorial on any file that Gmsh can read, e.g. a mesh file in
 # the MSH format: `python t1.py file.msh'
diff --git a/tutorial/python/x2.py b/tutorial/python/x2.py
index b6c79de9a4a6a8d3f30d2698eebc0b46ba273110..96a43fdf02751f10b1378bc33f89a806fcafe9b1 100644
--- a/tutorial/python/x2.py
+++ b/tutorial/python/x2.py
@@ -24,7 +24,7 @@ import math
 # reparametrize) combined with a CAD representation of the underground.
 
 gmsh.initialize()
-gmsh.option.setNumber("General.Terminal", 1)
+
 gmsh.model.add("x2")
 
 # We will create the terrain surface mesh from N x N input data points:
diff --git a/tutorial/python/x3.py b/tutorial/python/x3.py
index b080006f30610a133c6c3f98acca4c6633f75c59..5e743252a664c0488ea0a8e738517fcc3446bcad 100644
--- a/tutorial/python/x3.py
+++ b/tutorial/python/x3.py
@@ -10,7 +10,6 @@ import gmsh
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 # Gmsh supports two types of post-processing data: "list-based" and
 # "model-based". Both types of data are handled through the `view' interface.
diff --git a/tutorial/python/x4.py b/tutorial/python/x4.py
index c0fa3034088dd87134b48ca172d5f9f48bc7c6f3..04f1213230e59d44b08484e44297c12175178b5f 100644
--- a/tutorial/python/x4.py
+++ b/tutorial/python/x4.py
@@ -10,7 +10,6 @@ import gmsh
 import sys
 
 gmsh.initialize(sys.argv)
-gmsh.option.setNumber("General.Terminal", 1)
 
 # Contrary to list-based view (see `x3.py'), model-based views are based on one
 # or more meshes. Compared to list-based views, they are thus linked to one