Index: graphviz-2.30.0/lib/gvpr/actions.h
===================================================================
--- graphviz-2.30.0.orig/lib/gvpr/actions.h	2013-01-13 22:11:21.000000000 -0500
+++ graphviz-2.30.0/lib/gvpr/actions.h	2013-01-18 12:29:24.000000000 -0500
@@ -22,7 +22,7 @@
 #include "expr.h"
 
     extern void nodeInduce(Agraph_t * selected);
-    extern Agobj_t *clone(Agraph_t * g, Agobj_t * obj);
+    extern Agobj_t *ag_clone(Agraph_t * g, Agobj_t * obj);
     extern Agraph_t *cloneG(Agraph_t * g, char* name);
     extern Agobj_t *copy(Agraph_t * g, Agobj_t * obj);
     extern int copyAttr(Agobj_t * obj, Agobj_t * obj1);
Index: graphviz-2.30.0/lib/gvpr/actions.c
===================================================================
--- graphviz-2.30.0.orig/lib/gvpr/actions.c	2013-01-13 22:11:21.000000000 -0500
+++ graphviz-2.30.0/lib/gvpr/actions.c	2013-01-18 12:29:24.000000000 -0500
@@ -372,7 +372,7 @@
     return ng;
 }
 
-/* clone:
+/* ag_clone:
  * Create new object of type AGTYPE(obj) with all of its
  * attributes and substructure.
  * If obj is an edge, end nodes are cloned if necessary.
@@ -380,7 +380,7 @@
  * graph. Otherwise, create a clone subgraph of g.
  * Assume obj != NULL.
  */
-Agobj_t *clone(Agraph_t * g, Agobj_t * obj)
+Agobj_t *ag_clone(Agraph_t * g, Agobj_t * obj)
 {
     Agobj_t *nobj = 0;
     Agedge_t *e;
@@ -390,7 +390,7 @@
     char *name;
 
     if ((kind != AGRAPH) && !g) {
-	exerror("NULL graph with non-graph object in clone()");
+	exerror("NULL graph with non-graph object in ag_clone()");
 	return 0;
     }
 
@@ -415,8 +415,8 @@
     case AGINEDGE:
     case AGOUTEDGE:
 	e = (Agedge_t *) obj;
-	t = (Agnode_t *) clone(g, OBJ(agtail(e)));
-	h = (Agnode_t *) clone(g, OBJ(aghead(e)));
+	t = (Agnode_t *) ag_clone(g, OBJ(agtail(e)));
+	h = (Agnode_t *) ag_clone(g, OBJ(aghead(e)));
 	name = agnameof (AGMKOUT(e));
 	nobj = (Agobj_t *) openEdge(g, t, h, name);
 	if (nobj)
Index: graphviz-2.30.0/lib/gvpr/compile.c
===================================================================
--- graphviz-2.30.0.orig/lib/gvpr/compile.c	2013-01-13 22:11:21.000000000 -0500
+++ graphviz-2.30.0/lib/gvpr/compile.c	2013-01-18 12:29:24.000000000 -0500
@@ -1112,7 +1112,7 @@
 		error(ERROR_WARNING, "NULL object passed to clone()");
 		v.integer = 0;
 	    } else
-		v.integer = PTR2INT(clone(gp, objp));
+		v.integer = PTR2INT(ag_clone(gp, objp));
 	    break;
 	case F_cloneG:
 	    gp = INT2PTR(Agraph_t *, args[0].integer);
Index: graphviz-2.30.0/lib/gvpr/gvpr.c
===================================================================
--- graphviz-2.30.0.orig/lib/gvpr/gvpr.c	2013-01-13 22:11:21.000000000 -0500
+++ graphviz-2.30.0/lib/gvpr/gvpr.c	2013-01-18 12:29:24.000000000 -0500
@@ -844,7 +844,7 @@
     Agraph_t* g = state->outgraph;
 
     if ((agroot(g) == state->curgraph) && !uopts->ingraphs)
-	g = (Agraph_t*)clone (0, (Agobj_t *)g);
+	g = (Agraph_t*)ag_clone (0, (Agobj_t *)g);
 
     uopts->n_outgraphs++;
     uopts->outgraphs = oldof(uopts->outgraphs,Agraph_t*,uopts->n_outgraphs,0);
@@ -1038,7 +1038,7 @@
 
 		/* begin graph */
 		if (incoreGraphs && (opts->compflags & CLONE))
-		    state->curgraph = (Agraph_t*)clone (0, (Agobj_t*)(state->curgraph));
+		    state->curgraph = (Agraph_t*)ag_clone (0, (Agobj_t*)(state->curgraph));
 		state->curobj = (Agobj_t *) state->curgraph;
 		state->tvroot = 0;
 		state->tvt = TV_flat;
