--- ./../../glib/src/glib_enums.defs.orig	2015-07-24 16:56:29.570857821 +0200
+++ ./../../glib/src/glib_enums.defs	2015-07-24 16:56:29.706864274 +0200
@@ -464,20 +464,28 @@
 ;;   G_IO_ERR	GLIB_SYSDEF_POLLERR,
 ;;   G_IO_HUP	GLIB_SYSDEF_POLLHUP,
 ;;   G_IO_NVAL	GLIB_SYSDEF_POLLNVAL
 ;; } GIOCondition;
 
+;; We hand-edit these to use the actual enum values,
+;; because the values are actually defines that contain a =,
+;; which is very bizarre.
+;; We would need to include the header anyway,
+;; because we can't just use numeric values.
+;; If you regenerate this .defs file and forget to make this change
+;; then you will see compiler errors like this:
+;; ../glibmm/iochannel.h:154:12: error: expected primary-expression before '=' token
 (define-flags-extended IOCondition
   (in-module "G")
   (c-name "GIOCondition")
   (values
-    '("in" "G_IO_IN" "GLIB_SYSDEF_POLLIN")
-    '("out" "G_IO_OUT" "GLIB_SYSDEF_POLLOUT")
-    '("pri" "G_IO_PRI" "GLIB_SYSDEF_POLLPRI")
-    '("err" "G_IO_ERR" "GLIB_SYSDEF_POLLERR")
-    '("hup" "G_IO_HUP" "GLIB_SYSDEF_POLLHUP")
-    '("nval" "G_IO_NVAL" "GLIB_SYSDEF_POLLNVAL")
+    '("in" "G_IO_IN" "G_IO_IN")
+    '("out" "G_IO_OUT" "G_IO_OUT")
+    '("pri" "G_IO_PRI" "G_IO_PRI")
+    '("err" "G_IO_ERR" "G_IO_ERR")
+    '("hup" "G_IO_HUP" "G_IO_HUP")
+    '("nval" "G_IO_NVAL" "G_IO_NVAL")
   )
 )
 
 ;; From gmarkup.h
 
