Index: lib/canna/lisp.c
--- lib/canna/lisp.c.orig
+++ lib/canna/lisp.c
@@ -1707,7 +1707,7 @@ list *addr;
     }
     markcopycell(&newatom->plist);
     if (newatom->ftype == EXPR || newatom->ftype == MACRO) {
-      markcopycell((int *)&newatom->func);
+      markcopycell((list *)&newatom->func);
     }
     addr = &newatom->hlink;
     goto redo;
