*** empty log message ***
[m17n/m17n-lib.git] / example / medit.c
index e1477df..cb24dda 100644 (file)
 #include <m17n-misc.h>
 #include <m17n-X.h>
 
-#define VERSION "1.1"
+#define VERSION "1.2"
 
 /* Global variables.  */
 
@@ -1592,7 +1592,8 @@ KeyProc (Widget w, XEvent *event, String *str, Cardinal *num)
            {
              MText *temp = mtext ();
 
-             mtext_cat_char (temp, buf[0] == '\r' ? '\n' : buf[0]);
+             mtext_cat_char (temp, buf[0] == '\r' ? '\n'
+                             : ((unsigned char *) buf)[0]);
              if (current_input_context)
                mtext_put_prop (temp, 0, 1, Mlanguage,
                                current_input_context->im->language);
@@ -1633,7 +1634,7 @@ SaveProc (Widget w, XtPointer client_data, XtPointer call_data)
       mtext_detach_property (selection);
     }
 
-  mconv_encode_stream (Mcoding_utf_8, mt, fp);
+  mconv_encode_stream (Mcoding_utf_8_full, mt, fp);
   fclose (fp);
   if (from >= 0)
     select_region (from, to);
@@ -1684,7 +1685,7 @@ read_file ()
 
   if (! fp)
     FATAL_ERROR ("Can't read \"%s\"!\n", filename);
-  mt = mconv_decode_stream (Mcoding_utf_8, fp);
+  mt = mconv_decode_stream (Mcoding_utf_8_full, fp);
   fclose (fp);
   if (! mt)
     FATAL_ERROR ("Can't decode \"%s\" by UTF-8!\n", filename);
@@ -1843,6 +1844,7 @@ FaceProc (Widget w, XtPointer client_data, XtPointer call_data)
   int from, to;
   int old_y1;
 
+  hide_cursor ();
   if (! SELECTEDP ())
     {
       MPlist *plist;
@@ -1967,7 +1969,7 @@ DumpImageProc (Widget w, XtPointer client_data, XtPointer call_data)
     mdump = popen ("mdump -q", "w");
   if (! mdump)
     return;
-  converter = mconv_stream_converter (Mcoding_utf_8, mdump);
+  converter = mconv_stream_converter (Mcoding_utf_8_full, mdump);
   mconv_encode_range (converter, mt, from, to);
   mconv_free_converter (converter);
   fclose (mdump);
@@ -2198,7 +2200,7 @@ FileDialogProc (Widget w, XtPointer client_data, XtPointer call_data)
       m17n_object_unref (mt);
       if (fp)
        {
-         mt = mconv_decode_stream (Mcoding_utf_8, fp);
+         mt = mconv_decode_stream (Mcoding_utf_8_full, fp);
          fclose (fp);
          if (! mt)
            mt = mtext ();
@@ -2373,7 +2375,7 @@ main (int argc, char **argv)
 {
   Widget form, BodyWidget, w;
   char *fontset_name = NULL;
-  int fontsize = 120;
+  int fontsize = 0;
   char *initial_input_method = NULL;
   int col = 80, row = 32;
   /* Translation table for TextWidget.  */
@@ -2460,7 +2462,7 @@ main (int argc, char **argv)
        }
     }
   if (! filename)
-    help_exit (argv[0], 1);
+    filename = "/dev/null";
 
   mdatabase_dir = ".";
   /* Initialize the m17n library.  */
@@ -2499,7 +2501,7 @@ main (int argc, char **argv)
     MFont *font;
 
     mplist_put (plist, msymbol ("widget"), ShellWidget);
-    if (fontset_name || fontsize != 120)
+    if (fontset_name || fontsize > 0)
       {
        MFontset *fontset = mfontset (fontset_name);