Index: include/scol_glib_pregex.h
===================================================================
--- include/scol_glib_pregex.h	(revision 2414)
+++ include/scol_glib_pregex.h	(revision 2415)
@@ -44,7 +44,7 @@
 
 #define bullshit int (__cdecl *)(struct Mmachine *)
 
-#define GLIB_PCRE_PKG_NB         30
+#define GLIB_PCRE_PKG_NB         31
 #define DEFAULT_STRING   "Untitle"
 
 
Index: src/scol_glib_pregex.c
===================================================================
--- src/scol_glib_pregex.c	(revision 2414)
+++ src/scol_glib_pregex.c	(revision 2415)
@@ -302,6 +302,56 @@
 
 int SCOL_pcreNormalReplace (mmachine m)
 {
+    int mpattern, mstring, mreplace, mcompile, mstart, mmatch;
+    gchar *pattern, *string, *replace, *result;
+    GRegex *regex;
+    GError *error = NULL;
+
+    MMechostr (MSKDEBUG, "SCOL_pcreNormalReplace : entering\n");
+
+    mmatch = MMpull (m);
+    mstart = MTOI (MMpull (m));
+    mcompile = MMpull (m);
+    mreplace = MTOP (MMpull (m));
+    mstring = MTOP (MMpull (m));
+    mpattern = MTOP (MMpull (m));
+
+    if(mstring == NIL)
+    {
+        MMechostr (0, "SCOL_pcreNormalReplace error : string is nil");
+        MMpush (m, NIL);
+        return 0;
+    }
+    if ((mreplace == NIL) || (mpattern == NIL))
+    {
+        Mpushstrbloc (m, MMstartstr (m, mstring));
+        return 0;
+    }
+
+    if (mstart < 0)
+        mstart = 0;
+    if (mcompile == NIL)
+        mcompile = 0;
+    if (mmatch == NIL)
+        mmatch = 0;
+
+    pattern = SCOLUTF8 (MMstartstr (m, mpattern), MMsizestr (m, mpattern));
+    string = SCOLUTF8 (MMstartstr (m, mstring), MMsizestr (m, mstring));
+    replace = SCOLUTF8 (MMstartstr (m, mreplace), MMsizestr (m, mreplace));
+
+    regex = scol_pcre_regex_new (pattern, mcompile, mmatch);
+    result = g_regex_replace (regex, string, strlen (string), mstart, replace, mmatch, &error);
+    g_regex_unref (regex);
+    if (error != NULL)
+    {
+        MMechostr (0, "SCOL_pcreNormalReplace error : %s\n", error->message);
+        MMpush (m, NIL);
+        g_error_free (error);
+    }
+    Mpushstrbloc (m, UTF8SCOL (result, strlen (result)));
+    g_free (result);
+    g_free (string);
+    g_free (pattern);
     return 0;
 }
 
@@ -440,7 +490,8 @@
     "_pcreEasyReplace",
 
     "_pcreNormalMatch",
-    "_pcreNormalSplit"
+    "_pcreNormalSplit",
+    "_pcreNormalReplace"
 };
 
 int (*glib_pcre_fun[GLIB_PCRE_PKG_NB])(mmachine m)=
@@ -462,7 +513,8 @@
     SCOL_pcreEasyReplace,
 
     SCOL_pcreNormalMatch,
-    SCOL_pcreNormalSplit
+    SCOL_pcreNormalSplit,
+    SCOL_pcreNormalReplace
 };
 
 int glib_pcre_narg[GLIB_PCRE_PKG_NB]=
@@ -484,6 +536,7 @@
     3,
 
     6,
+    6,
     6
 };
 
@@ -506,7 +559,8 @@
     "fun [S S S] S",
 
     "fun [S S I I I I] [[S I I] r1]",
-    "fun [S S I I I I] [S r1]"
+    "fun [S S I I I I] [S r1]",
+    "fun [S S S I I I] S"
 };
 
 /**
Index: bin/libutils_g.dll.a
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: bin/libutils_g.dll.a
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: bin/libutils_g.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: bin/libutils_g.dll
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: bin/libutils_g.dll.def
===================================================================
--- bin/libutils_g.dll.def	(revision 2414)
+++ bin/libutils_g.dll.def	(nonexistent)
@@ -1,10 +0,0 @@
-EXPORTS
-    scol_glib_basename @1
-    scol_glib_dirname_scol @2
-    scol_glib_filename_scol @3
-    scol_glib_get_env @4
-    scol_glib_get_hostname @5
-    scol_glib_get_sizefordisplay @6
-    scol_glib_get_username @7
-    scol_glib_isabsolutepath @8
-    scol_glib_name_scolexe @9
Index: bin/pcre.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
