--- src/gadgets.h.ORG	Mon Jul 27 09:29:30 2009
+++ src/gadgets.h	Sat Nov 28 14:23:12 2009
@@ -451,27 +451,64 @@
 #ifdef EAM_OBJECTS
 /*       Warning: C89 does not like the union initializers     */
 extern struct object default_rectangle;
+/* shige for C99 */
+#if 0
 #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, DEFAULT_COLORSPEC}, \
 	{.rectangle = {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, DEFAULT_COLORSPEC}, \
+	{{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, DEFAULT_COLORSPEC}}
+#define DEFAULT_RECTANGLE_STYLE_U {0, {0,0.,0.,0.}, \
+       {0,0.,0.,0.}, {0,0.,0.,0.}, {0,0.,0.,0.}}
+#endif
+
 
 extern struct object default_circle;
+/* shige for C99 */
+#if 0
 #define DEFAULT_CIRCLE_STYLE { NULL, -1, 0, OBJ_CIRCLE,       \
 	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
 	{1, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, DEFAULT_COLORSPEC},			\
 	{.circle = {1, {0,0.,0.,0.}, {0,0.,0.,0.}, 0., 360. }} }
+#else
+#define DEFAULT_CIRCLE_STYLE_M { NULL, -1, 0, OBJ_CIRCLE,       \
+	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
+	{1, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, DEFAULT_COLORSPEC}}
+#define DEFAULT_CIRCLE_STYLE_U {1, {0,0.,0.,0.}, {0,0.,0.,0.}, 0., 360. }
+#endif
 
+/* shige for C99 */
+#if 0
 #define DEFAULT_ELLIPSE_STYLE { NULL, -1, 0, OBJ_CIRCLE,       \
 	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
 	{1, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, DEFAULT_COLORSPEC},			\
 	{.ellipse = {1, {0,0.,0.,0.}, {0,0.,0.,0.}, 0. }} }
+#else
+#define DEFAULT_ELLIPSE_STYLE_M { NULL, -1, 0, OBJ_CIRCLE,       \
+	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
+	{1, LT_BACKGROUND, 0, 0, 1.0, 0.0, FALSE, DEFAULT_COLORSPEC}}
+#define DEFAULT_ELLIPSE_STYLE_U {1, {0,0.,0.,0.}, {0,0.,0.,0.}, 0. }
+#endif
 
+/* shige for C99 */
+#if 0
 #define DEFAULT_POLYGON_STYLE { NULL, -1, 0, OBJ_POLYGON,       \
 	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
 	{1, LT_BLACK, 0, 0, 1.0, 0.0, FALSE, DEFAULT_COLORSPEC},			\
 	{.polygon = {0, NULL} } }
-
+#else
+#define DEFAULT_POLYGON_STYLE_M { NULL, -1, 0, OBJ_POLYGON,       \
+	{FS_SOLID, 100, 0, BLACK_COLORSPEC},   			\
+	{1, LT_BLACK, 0, 0, 1.0, 0.0, FALSE, DEFAULT_COLORSPEC}}
+#define DEFAULT_POLYGON_STYLE_U {0, NULL}
+#endif
 #endif
 
 /* filledcurves style options set by 'set style [data|func] filledcurves opts' */
--- src/set.c.ORG	Mon Sep 14 09:21:42 2009
+++ src/set.c	Sat Nov 28 14:50:26 2009
@@ -3446,10 +3446,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");
--- src/unset.c.ORG	Mon Apr 13 09:01:56 2009
+++ src/unset.c	Sat Nov 28 14:52:02 2009
@@ -1703,7 +1703,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;
 }
--- src/win/winmain.c.ORG	Mon Nov 02 10:06:48 2009
+++ src/win/winmain.c	Fri Nov 27 21:44:46 2009
@@ -577,6 +577,9 @@
     return count;
 }
 
+/* shige */ 
+#define va_copy(dst,src) ((void)((dst)=(src)))
+
 int
 MyVFPrintF(FILE *file, const char *fmt, va_list args)
 {
