diff -rup gtkada-3.8.2-src-org/testgtk/create_css_editor.adb gtkada-3.8.2-src/testgtk/create_css_editor.adb
--- gtkada-3.8.2-src-org/testgtk/create_css_editor.adb	2014-01-06 18:22:20.000000000 +0800
+++ gtkada-3.8.2-src/testgtk/create_css_editor.adb	2015-11-06 11:13:16.881265500 +0800
@@ -38,28 +38,28 @@ package body Create_Css_Editor is
 
    CSS : constant String :=
       "/* You can edit the text in this window to change the" & ASCII.LF
-     &" * appearance of this Window." & ASCII.LF
-     &" * Be careful, if you screw it up, nothing might be visible" & ASCII.LF
-     &" * anymore. :)" & ASCII.LF
-     &" */" & ASCII.LF & ASCII.LF
+     & " * appearance of this Window." & ASCII.LF
+     & " * Be careful, if you screw it up, nothing might be visible" & ASCII.LF
+     & " * anymore. :)" & ASCII.LF
+     & " */" & ASCII.LF & ASCII.LF
 
-     &"/* This CSS resets all properties to their defaults values" & ASCII.LF
-     &" * and overrides all user settings and the theme in use */" & ASCII.LF
+     & "/* This CSS resets all properties to their defaults values" & ASCII.LF
+     & " * and overrides all user settings and the theme in use */" & ASCII.LF
      & ASCII.LF
 
-     &"/* Set a very futuristic style by default */" & ASCII.LF & ASCII.LF
+     & "/* Set a very futuristic style by default */" & ASCII.LF & ASCII.LF
 
-     &"* {" & ASCII.LF
-     &"  color: green;" & ASCII.LF
-     &"  font-family: Monospace;" & ASCII.LF
-     &"  border: 1px solid;" & ASCII.LF
-     &"}" & ASCII.LF
-
-     &"/* Make sure selections are visible */" & ASCII.LF
-     &":selected {" & ASCII.LF
-     &"  background-color: darkGreen;" & ASCII.LF
-     &"  color: black;" & ASCII.LF
-     &"}";
+     & "* {" & ASCII.LF
+     & "  color: green;" & ASCII.LF
+     & "  font-family: Monospace;" & ASCII.LF
+     & "  border: 1px solid;" & ASCII.LF
+     & "}" & ASCII.LF
+
+     & "/* Make sure selections are visible */" & ASCII.LF
+     & ":selected {" & ASCII.LF
+     & "  background-color: darkGreen;" & ASCII.LF
+     & "  color: black;" & ASCII.LF
+     & "}";
 
    Last_Working_Css : Unbounded_String := To_Unbounded_String (CSS);
    Error : aliased Glib.Error.GError;
diff -rup gtkada-3.8.2-src-org/testgtk/create_print.adb gtkada-3.8.2-src/testgtk/create_print.adb
--- gtkada-3.8.2-src-org/testgtk/create_print.adb	2014-01-06 18:22:20.000000000 +0800
+++ gtkada-3.8.2-src/testgtk/create_print.adb	2015-11-06 11:20:56.435618300 +0800
@@ -127,7 +127,7 @@ package body Create_Print is
       Close_Path (Cr);
 
       Set_Source_Rgb (Cr, 0.0, 0.0, 0.0);
-      Set_Line_Width (Cr, 1.0/16.0);
+      Set_Line_Width (Cr, 1.0 / 16.0);
       Set_Line_Cap (Cr, Cairo_Line_Cap_Round);
       Set_Line_Join (Cr, Cairo_Line_Join_Round);
       Cairo.Stroke (Cr);
