diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0b9aabcff5dcf9a9426197deec67fa92ce13a319..744fe3695db19c4c91f4891cee5df5389bd0703a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1183,3 +1183,4 @@ message("")
 
 mark_as_advanced(BISON FLEX GMP_LIB GMSH_EXTRA_VERSION HDF5_LIB MAKEINFO 
                  MED_LIB OCC_INC SZ_LIB TAUCS_LIB ACIS_LIB TEXI2PDF)
+
diff --git a/Common/gmshpy.i b/Common/gmshpy.i
index 871c892a9cec220bd682180137df00beb7ea104b..f54d09e2d3afbb3b4e89bc647005ed380935340c 100644
--- a/Common/gmshpy.i
+++ b/Common/gmshpy.i
@@ -3,6 +3,7 @@
 %include std_string.i
 %include std_vector.i
 %include std_list.i
+%include cpointer.i 
 
 %{
   #include "GmshConfig.h"
@@ -72,6 +73,8 @@
   GmshInitialize();
 %}
 
+%pointer_functions(double,doublep)
+%pointer_functions(int,intp)
 namespace std {
    %template(IntVector) vector<int>;
    %template(DoubleVector) vector<double, std::allocator<double> >;
diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index fa0a02771c21e61e60527729706ddd0085e006ed..089d39d2766fde7ca6ef792ad536a5bb5c0a0c1b 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -266,7 +266,7 @@ std::vector<int> GModel::getEdgesByStringTag(const std::string tag)
     nums.push_back(ge->tag());
   }
 
-  printf("edges size = %d \n", nums.size());
+  return nums;
 }
 
 void GModel::remove(GRegion *r)
diff --git a/benchmarks/2d/square.geo b/benchmarks/2d/square.geo
index 6fd3ccf5268d4931882c009d4809fbe51c1401f4..048c15c3f246689c8ef812d10d32b8b8ac4ed98f 100644
--- a/benchmarks/2d/square.geo
+++ b/benchmarks/2d/square.geo
@@ -28,7 +28,7 @@ Plane Surface(10) = {5};
 //Compound Surface(100)={10};
 
 Physical Surface(100)={10};
-//Physical Line(200)={10};
+Physical Line(200)={1,2,3,4};