diff -ru jvim3-2.1b.orig/src/fepcanna.c jvim3-2.1b/src/fepcanna.c
--- jvim3-2.1b.orig/src/fepcanna.c	Mon Dec  8 04:13:01 2003
+++ jvim3-2.1b/src/fepcanna.c	Mon Dec  8 04:16:15 2003
@@ -53,6 +53,7 @@
 #include "param.h"
 #include "kanji.h"
 #ifdef CANNA
+#define CANNA_NEW_WCHAR_AWARE
 #include <canna/jrkanji.h>
 
 /* variables visible to external */
@@ -62,8 +63,10 @@
 /* canna library controls */
 static	jrKanjiStatus		ks;
 static	jrKanjiStatusWithValue	ksv;
-extern	void			(*jrBeepFunc)();
+#ifndef CANNA_JR_BEEP_FUNC_DECLARED
+extern	int			(*jrBeepFunc)();
 extern	char			*jrKanjiError;
+#endif
 
 /* canna inject/result buffer */
 #define MAXBUF		1024
@@ -184,7 +187,7 @@
  * because canna library will not report if the injected key is legal or not.
  */
 static
-void	canna_beep()
+int	canna_beep()
 {
 	DTRC("@canna_beep\n", 0, 0, 0);
 	errorkey = TRUE;
