diff -u src/gadgets.h.orig src/gadgets.h
--- src/gadgets.h.orig	2011-03-03 10:15:27.000000000 +0900
+++ src/gadgets.h	2011-03-03 10:16:04.000000000 +0900
@@ -472,28 +472,73 @@
 #ifdef EAM_OBJECTS
 /*       Warning: C89 does not like the union initializers     */
 extern struct object default_rectangle;
+#if 0
 #define DEFAULT_RECTANGLE_STYLE { NULL, -1, 0, OBJ_RECTANGLE,	\
 	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
 	{0, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, BACKGROUND_COLORSPEC}, \
 	{.rectangle = {0, {0,0,0,0.,0.,0.}, {0,0,0,0.,0.,0.}, {0,0,0,0.,0.,0.}, {0,0,0,0.,0.,0.}}} }
+#else
+#define DEFAULT_RECTANGLE_STYLE { NULL, -1, 0, OBJ_RECTANGLE,	\
+	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
+	{1, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, BACKGROUND_COLORSPEC}, \
+	{{0, {0,0,0,0.,0.,0.}, {0,0,0,0.,0.,0.}, {0,0,0,0.,0.,0.}, {0,0,0,0.,0.,0.}}} }
+#define DEFAULT_RECTANGLE_STYLE_M { NULL, -1, 0, OBJ_RECTANGLE,\
+	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
+	{1, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, BACKGROUND_COLORSPEC}}
+#define DEFAULT_RECTANGLE_STYLE_U {0, {0,0,0,0.,0.,0.}, \
+       {0,0,0,0.,0.,0.}, {0,0,0,0.,0.,0.}, {0,0,0,0.,0.,0.}}
+#endif
+
 
 extern struct object default_circle;
+#if 0
 #define DEFAULT_CIRCLE_STYLE { NULL, -1, 0, OBJ_CIRCLE,       \
 	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
 	{0, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, BACKGROUND_COLORSPEC},			\
 	{.circle = {1, {0,0,0,0.,0.,0.}, {graph,0,0,0.02,0.,0.}, 0., 360. }} }
+#else
+#define DEFAULT_CIRCLE_STYLE { NULL, -1, 0, OBJ_CIRCLE,       \
+	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
+	{0, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, BACKGROUND_COLORSPEC},			\
+	{{1, {0,0,0,0.,0.,0.}, {graph,0,0,0.02,0.,0.}, 0., 360. }} }
+#define DEFAULT_CIRCLE_STYLE_M { NULL, -1, 0, OBJ_CIRCLE,       \
+	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
+	{0, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, BACKGROUND_COLORSPEC}}
+#define DEFAULT_CIRCLE_STYLE_U {1, {0,0,0,0.,0.,0.}, {graph,0,0,0.02,0.,0.}, 0., 360. }
+#endif
 
 extern struct object default_ellipse;
+#if 0
 #define DEFAULT_ELLIPSE_STYLE { NULL, -1, 0, OBJ_ELLIPSE,       \
 	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
 	{0, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, BACKGROUND_COLORSPEC}, \
 	{.ellipse = {ELLIPSEAXES_XY, {0,0,0,0.,0.,0.}, {graph,graph,0,0.05,0.03,0.}, 0. }} }
+#else
+#define DEFAULT_ELLIPSE_STYLE { NULL, -1, 0, OBJ_ELLIPSE,       \
+	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
+	{0, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, BACKGROUND_COLORSPEC}, \
+	{{ELLIPSEAXES_XY, {0,0,0,0.,0.,0.}, {graph,graph,0,0.05,0.03,0.}, 0. }} }
+#define DEFAULT_ELLIPSE_STYLE_M { NULL, -1, 0, OBJ_ELLIPSE,       \
+	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
+	{0, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, BACKGROUND_COLORSPEC}}
+#define DEFAULT_ELLIPSE_STYLE_U {ELLIPSEAXES_XY, {0,0,0,0.,0.,0.}, {graph,graph,0,0.05,0.03,0.}, 0. }
+#endif
 
+#if 0
 #define DEFAULT_POLYGON_STYLE { NULL, -1, 0, OBJ_POLYGON,       \
 	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
 	{0, LT_BLACK, 0, 0, 1.0, 0.0, FALSE, BLACK_COLORSPEC}, \
 	{.polygon = {0, NULL} } }
-
+#else
+#define DEFAULT_POLYGON_STYLE { NULL, -1, 0, OBJ_POLYGON,       \
+	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
+	{0, LT_BLACK, 0, 0, 1.0, 0.0, FALSE, BLACK_COLORSPEC}, \
+	{{0, NULL} } }
+#define DEFAULT_POLYGON_STYLE_M { NULL, -1, 0, OBJ_POLYGON,       \
+	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
+	{0, LT_BLACK, 0, 0, 1.0, 0.0, FALSE, BLACK_COLORSPEC}}
+#define DEFAULT_POLYGON_STYLE_U {0, NULL}
+#endif
 #endif
 
 /* filledcurves style options set by 'set style [data|func] filledcurves opts' */
diff -u src/graphics.c.orig src/graphics.c
--- src/graphics.c.orig	2011-03-03 10:15:43.000000000 +0900
+++ src/graphics.c	2011-03-03 10:16:04.000000000 +0900
@@ -5631,7 +5631,11 @@
 	NULL, 1, 1, OBJ_CIRCLE,	/* link, tag, layer (front), object_type */
 	{FS_SOLID, 100, 0, BLACK_COLORSPEC},
 	{0, LT_BACKGROUND, 0, 0, 0.2, 0.0, FALSE, BACKGROUND_COLORSPEC},
+#if 0
 	{.circle = {1, {0,0,0,0.,0.,0.}, {graph,0,0,0.02,0.,0.}, 0., 360. }}
+#else
+	{{1, {0,0,0,0.,0.,0.}, {graph,0,0,0.02,0.,0.}, 0., 360. }}
+#endif
     };
 #endif
     int x0,y0, xend,yend;
diff -u src/set.c.orig src/set.c
--- src/set.c.orig	2011-03-03 10:15:33.000000000 +0900
+++ src/set.c	2011-03-03 10:16:04.000000000 +0900
@@ -3502,10 +3502,25 @@
 static t_object *
 new_object(int tag, int object_type, t_object *new)
 {
+#if 0
     t_object def_rect = DEFAULT_RECTANGLE_STYLE;
     t_object def_ellipse = DEFAULT_ELLIPSE_STYLE;
     t_object def_circle = DEFAULT_CIRCLE_STYLE;
     t_object def_polygon = DEFAULT_POLYGON_STYLE;
+#else
+    t_object def_rect = DEFAULT_RECTANGLE_STYLE_M;
+    t_object def_ellipse = DEFAULT_ELLIPSE_STYLE_M;
+    t_object def_circle = DEFAULT_CIRCLE_STYLE_M;
+    t_object def_polygon = DEFAULT_POLYGON_STYLE_M;
+    t_rectangle udef_rect = DEFAULT_RECTANGLE_STYLE_U;
+    t_ellipse udef_ellipse = DEFAULT_ELLIPSE_STYLE_U;
+    t_circle udef_circle = DEFAULT_CIRCLE_STYLE_U;
+    t_polygon udef_polygon = DEFAULT_POLYGON_STYLE_U;
+    def_rect.o.rectangle = udef_rect;
+    def_ellipse.o.circle = udef_circle;
+    def_circle.o.ellipse = udef_ellipse;
+    def_polygon.o.polygon = udef_polygon;
+#endif
 
     if (!new)
 	new = gp_alloc(sizeof(struct object), "object");
diff -u src/unset.c.orig src/unset.c
--- src/unset.c.orig	2011-03-03 10:15:36.000000000 +0900
+++ src/unset.c	2011-03-03 10:16:04.000000000 +0900
@@ -1794,7 +1794,14 @@
 static void
 unset_style_rectangle()
 {
+  /* shige for C99 */  
+#if 0
     struct object foo = DEFAULT_RECTANGLE_STYLE;
+#else
+    struct object foo = DEFAULT_RECTANGLE_STYLE_M;
+    t_rectangle ufoo = DEFAULT_RECTANGLE_STYLE_U;
+    foo.o.rectangle = ufoo;
+#endif
     default_rectangle = foo;
     return;
 }
