(Mdetail_text, minput_get_description, minput_get_commands)
[m17n/m17n-lib.git] / src / input.c
index 9f738ab..928da5b 100644 (file)
@@ -1514,6 +1514,7 @@ reset_ic (MInputContext *ic, MSymbol ignore)
   MLIST_RESET (ic_info);
   ic_info->map = ic_info->state ? ic_info->state->map : NULL;
   ic_info->state_key_head = ic_info->key_head = 0;
+  ic_info->key_unhandled = 0;
   ic->cursor_pos = ic_info->state_pos = 0;
   ic->status = ic_info->state ? ic_info->state->title : NULL;
   if (! ic->status)
@@ -2031,15 +2032,16 @@ MInputDriver minput_default_driver;
     The variable #minput_driver is a pointer to the input method
     driver that is used by internal input methods.  The macro
     M17N_INIT () initializes it to a pointer to #minput_default_driver
-    (if <m17n.h> is included) or to #minput_gui_driver (if
-    <m17n-gui.h> is included).  */ 
+    (if <m17n<EM></EM>.h> is included) or to #minput_gui_driver (if
+    <m17n-gui<EM></EM>.h> is included).  */ 
 /***ja
     @brief ÆâÉôÆþÎϥ᥽¥Ã¥ÉÍѥɥ饤¥Ð.
 
     ÊÑ¿ô #minput_driver ¤ÏÆâÉôÆþÎϥ᥽¥Ã¥É¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ëÆþÎÏ¥á
-    ¥½¥Ã¥É¥É¥é¥¤¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£¥Þ¥¯¥íM17N_INIT () ¤Ï¤³¤Î¥Ý¥¤¥ó
-    ¥¿¤ò #minput_default_driver (<m17n.h> ¤¬´Þ¤Þ¤ì¤ë»þ) ¤Þ¤¿¤Ï 
-    #minput_gui_driver ( <m17n-gui.h> ¤¬´Þ¤Þ¤ì¤ë»þ) ¤Ë½é´ü²½¤¹¤ë¡£  */ 
+    ¥½¥Ã¥É¥É¥é¥¤¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£¥Þ¥¯¥í M17N_INIT () ¤Ï¤³¤Î¥Ý¥¤¥ó
+    ¥¿¤ò #minput_default_driver (<m17n<EM></EM>.h> ¤¬´Þ¤Þ¤ì¤ë»þ) ¤Þ¤¿¤Ï
+    #minput_gui_driver ( <m17n-gui<EM></EM>.h> ¤¬´Þ¤Þ¤ì¤ë»þ) ¤Ë½é´ü²½¤¹
+    ¤ë¡£  */ 
 
 MInputDriver *minput_driver;
 
@@ -2297,7 +2299,6 @@ minput_filter (MInputContext *ic, MSymbol key, void *arg)
       if (ic->candidates_changed)
        minput__callback (ic, Minput_candidates_draw);
     }
-  ic->preedit_changed = ic->status_changed = ic->candidates_changed = 0;
 
   return ret;
 }
@@ -2427,16 +2428,21 @@ minput_toggle (MInputContext *ic)
     @brief Reset an input context.
 
     The minput_reset_ic () function resets the input context $IC by
-    calling a callback functions corresponding to #Minput_reset.  As
-    the current preediting text is committed to $IC->produce, if
-    necessary, a program can extract the text from there.  */
+    calling a callback functions corresponding to #Minput_reset.  It
+    actually shifts the state to the initial one, and thus the current
+    preediting text (if any) is committed.  If necessary, a program
+    can extract that text by calling minput_lookup () just after the
+    call of minput_reset_ic ().  In that case, the arguments @c KEY
+    and @c ARG of minput_lookup () are ignored.  */
 /***ja
     @brief ÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤ò¥ê¥»¥Ã¥È¤¹¤ë.
 
     ´Ø¿ô minput_reset_ic () ¤Ï #Minput_reset ¤ËÂбþ¤¹¤ë¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô
-    ¤ò¸Æ¤Ö¤³¤È¤Ë¤è¤Ã¤ÆÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È $IC ¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£¸½ºßÆþÎÏÃæ¤Î
-    ¥Æ¥­¥¹¥È¤Ï $IC->produced ¤ËÁݤ­½Ð¤µ¤ì¤ë¤Î¤Ç¡¢É¬Íפʤ饢¥×¥ê¥±¡¼¥·¥ç
-    ¥ó¥×¥í¥°¥é¥à¤Ï¤½¤Î¥Æ¥­¥¹¥È¤ò¤½¤³¤«¤é¼è¤ê½Ð¤»¤ë¡£ */
+    ¤ò¸Æ¤Ö¤³¤È¤Ë¤è¤Ã¤ÆÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È $IC ¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£¤³¤ì¤Ï¼ÂºÝ¤Ï
+    ÆþÎϥ᥽¥Ã¥É¤ò½é´ü¾õÂ֤˥·¥Õ¥È¤µ¤»¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤â¤·¸½ºßÆþÎÏÃæ¤Î
+    ¥Æ¥­¥¹¥È¤¬¤¢¤ì¤Ð¡¢¤½¤ì¤Ï¥³¥ß¥Ã¥È¤µ¤ì¤ë¡£É¬Íפʤ饢¥×¥ê¥±¡¼¥·¥ç¥ó¥×
+    ¥í¥°¥é¥à¤Ï minput_lookup () ¤òÆɤó¤Ç¤½¤Î¥Æ¥­¥¹¥È¤ò¼è¤ê½Ð¤»¤ë¡£¤½¤Î
+    ºÝ¡¢minput_lookup () ¤Î°ú¿ô @c KEY ¤È @c ARG ¤Ï̵»ë¤µ¤ì¤ë¡£ */
 void
 minput_reset_ic (MInputContext *ic)
 {