Sync up with egg-980627.
[elisp/egg.git] / egg-cnv.el
index 6045eb2..a996838 100644 (file)
@@ -1,4 +1,4 @@
-;;; egg-cnv.el --- Conversion Backend in Egg Input Method Architecture
+pn;;; egg-cnv.el --- Conversion Backend in Egg Input Method Architecture
 
 ;; Copyright (C) 1997, 1998 Mule Project,
 ;; Powered by Electrotechnical Laboratory, JAPAN.
       (let ((inhibit-read-only t))
        (its-define-select-keys egg-conversion-map)
        (goto-char start)
+       ;; XXX: Why make OPEN&CLOSE string every time when 
+       ;; this function is invoked?  Any Reason?
+       ;; For me it's matter of user costomization
+       ;; of setting egg-conversion-open/egg-conversion-close
+       ;; it can be string of properties at the beginning, isn't it?
        (setq s (copy-sequence egg-conversion-open)
              len (length s))
        (set-text-properties 0 len
              (setq bunsetsu-info-list (egg-start-conversion
                                        (substring no-prop-source i j)
                                        egg-current-language))
-           (error
+           (error                      ; XXX: catching all error is BADBADBAD
             (setq bunsetsu-info-list (egg-start-conversion-other-languages
                                       (substring no-prop-source i j)
                                       egg-current-language))
            i (egg-next-single-property-change i 'egg-lang str len))
       (set-text-properties j i (list 'egg-lang lang) str))))
 
+;;; Should think again the interface to language-info-alist
 (defun egg-charset-to-language (charset)
   (let ((list language-info-alist))
     (while (and list
            bunsetsu (cons (egg-make-bunsetsu bunsetsu-info
                                              (and (null l) last))
                           bunsetsu)))
-    (apply 'insert (nreverse bunsetsu))))
+    (apply 'insert (nreverse bunsetsu)))) ; XXX: Should avoid apply and reverse
 
 (defun egg-beginning-of-conversion-buffer (n)
   (interactive "p")
@@ -676,5 +682,18 @@ Otherwise stop at the last candidate.")
        (insert (egg-make-bunsetsu new last))
        (goto-char p)))))
 
+(defun egg-conversion-mode ()
+  "\\{egg-conversion-map}"
+  ;; dummy function to get docstring
+  )
+
+(defun egg-help-command ()
+  "Display documentation for EGG Conversion mode."
+  (interactive)
+  (with-output-to-temp-buffer "*Help*"
+    (princ "EGG Conversion mode:\n")
+    (princ (documentation 'egg-conversion-mode))
+    (help-setup-xref (cons #'help-xref-mode (current-buffer)) (interactive-p))))
+
 (provide 'egg-cnv)
 ;;; egg-cnv.el ends here.