egg-980315.
[elisp/egg.git] / ChangeLog
index 68acbc2..e0b6d47 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,467 @@
+1998-03-15  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * Makefile: Add dependencies for its-keydef.elc.
+       * egg/sj3rpc.el (sj3-open): Don't support list of hosts.
+       * its.el (its-exit-mode, its-kick-convert-region): Bug fix.  Call
+       its-input-end and its-put-cursor.
+       (its-exit-mode-off-input-method): Removed. 
+
+1998-03-14  KATAYAMA Yoshio <kate@pfu.co.jp>
+
+       * docomp.el (its-keydef): Undo the changes of 03-09.  its.el
+       is fixed.
+
+       * egg-cnv.el (egg-current-language): New valiable.
+       (egg-bunsetsu-info): Separate bunsetsu-info and lunguage.
+       (egg-conversion-backend-other-languages
+       egg-init-other-languages
+       egg-start-conversion-other-languages
+       egg-get-bunsetsu-converted-other-languages
+       egg-get-bunsetsu-source-other-languages
+       egg-list-candidates-other-languages
+       egg-get-number-of-candidates-other-languages
+       egg-get-current-candidate-number-other-languages
+       egg-get-all-candidates-other-languages
+       egg-decide-candidate-other-languages
+       egg-change-bunsetsu-length-other-languages
+       egg-end-conversion-other-languages
+       egg-fini-other-languages): New valiable and functions for
+       handling unknown language.
+       (egg-set-current-backend): Set egg-conversion-backend-other-languages
+       when backend for specified language isn't found.
+       (egg-start-reverse-conversion): New function for reverse conversion.
+       (egg-set-conversion-backend-internal): Removed.
+       (egg-set-conversion-backend): Args are changed.
+       (egg-get-conversion-face): New function for different face for
+       every language.
+       (egg-convert-region): Make converting text read-only. Handle
+       unknown laguages and backend opening error. Rename its-lang to
+       egg-lang.
+       (egg-separate-languages): Argument use-context is added to
+       utilize context when called by its-yank. Rename its-lang to
+       egg-lang Improve speed.
+       (egg-charset-to-language): Renamed from egg-char-to-language.
+       (egg-next-part-lang egg-next-chinese-lang): Rename its-lang to
+       egg-lang.
+       (egg-conversion-map): Unbind C-\ and /. Bind C-X RET XXX to
+       its-select-XXX.
+       (egg-insert-bunsetsu): Make conversion text read-only. Separate
+       bunsetsu-info and conversion-backend. 
+       (egg-insert-bunsetsu-list): Remove redundant variables.
+       (egg-beginning-of-conversion-buffer): New function.
+       (egg-end-of-conversion-buffer): New function.
+       (egg-enlarge-bunsetsu): Handle read-only text.
+       (egg-next-candidate): Handle read-only text. Bug on no candidate
+       bunsetsu is fiexed.
+       (egg-reconvert-bunsetsu-internal egg-reverse-convert-bunsetu
+       egg-reconvert-bunsetsu): New functions for reverse conversion and
+       re-conversion.
+       (egg-decide-before-point egg-abort-conversion): Handle read-only
+       text. Bug on pinyin and zhuyin mixed conversion is fixed. Allow
+       long fence.
+       (egg-select-candidate): Handle read-only text. Bug on no candidate
+       bunsetsu is fiexed.
+
+       * egg-com.el: Change coding-system from internal to iso-2022-7bit.
+
+       * egg-mlh.el (mlh-space-bar-backward-henkan): Disable temporally
+       mode selection.
+
+       * egg.el (egg-mode): Set cureent lang to conversion backend.
+       (egg-set-mode-line-title): Renamed to its-set-mode-line-title
+       and moved to its.el.
+       (egg-check-language): Removed.
+
+       * egg/sj3.el (sj3-server-port): Change from defconst to defver for
+       user customization.
+       (sj3-open sj3-get-environment): Try opening alternate servers.
+       (sj3-start-conversion): Make second argument LANGUAGE optional.
+       (egg-activate-sj3): Parameters of egg-set-conversion-backend is
+       changed.
+
+       * egg/sj3rpc.el (sj3rpc-error-message): New constant (Not yet
+       completed).
+       (sj3rpc-get-error-message): Check range of errno to avoid
+       args-out-ou-range error.
+
+       * egg/wnn.el (wnn-jport wnn-cport wnn-tport wnn-kport): New
+       variables for user customization.
+       (wnn-server-info-list wnn-server-port): Type of fourth element
+       is changed from integer to symbol.
+       (wnn-start-reverse-conversion): New function.
+       (wnn-open wnn-get-environment): Try opening alternate servers.
+       (egg-activate-wnn): Parameters of egg-set-conversion-backend is
+       changed.
+
+       * its-keydef.el (its-current-language): Moved to its.el.
+       (its-make-select-func): Remove language check (egg-check-language).
+       Add temporally mode selection.
+       (its-do-list-make-select-func): Binding of zhuyin-tw is changed to
+       `C' because conflicting zenkaku-upcase.
+
+       * its.el (its-current-select-func its-previous-select-func): New
+       variables for temporally mode selection.
+       (its-keydef requiring): Use eval-when to avoid error on using
+       compiled file.
+       (its-get-fence-face): New function for different face for
+       every language.
+       (its-put-cursor its-setup-fence-mode): Make fence read-only.
+       (its-start): Remove force-mode-line-update calling.
+       (its-restart): Add optional argument set-prop.
+       (its-self-insert-char its-backward-SYL its-forward-SYL
+       its-delete-SYL its-delete-backward-SYL its-exit-mode
+       its-delete-backward-SYL-by-keystroke its-transpose-chars
+       its-kick-convert-region its-end-of-input-buffer): Handle read-only
+       fence.
+       (its-state-machine): Accept special actions to handle temporally
+       mode selection.
+       (its-buffer-ins/del-SYL its-ins/del-SYL-batch): Handle read-only
+       fence. Property its-lang is renamed to egg-lang.
+       (its-get-next-state its-make-next-state): Add type check to avoid
+       wrong-type-argument error.
+       (its-keyseq-acceptable-p): Save informations of its-map to avoid
+       confusing on temporally mode selection.
+       (its-defrule-select-mode-temporally): New macro.
+       (its-kill-line its-cancel-input): New function.
+       (its-delete-backward-within-SYL): Bind its-current-language to
+       avoid confusing when undo is done beyond language change.
+       (its-yank its-yank-pop its-setup-yanked-portion): New functions.
+       (its-exit-mode-internal): Reset temporally selected mode. Allow
+       long fence.
+       (its-kick-convert-region-or-self-insert): New function.
+       (its-translate-region): Remove text properties completly.
+       (its-set-mode-line-title): Moved from egg.el and renamed.
+       (its-select-mode-temporally its-select-previous-mode): New functions
+       for temporally mode selection.
+
+       * leim-list-egg.el: Secondary argument for egg-activate-sj3/wnn
+       is no longer needed.
+
+       * its/hira.el: Remove the rule for "~" which destroies the rules
+       with its-hankaku-escape.
+
+       * its/pinyin.el: Implement its-pinyin-cn-enable-quanjioao-alphabet
+       and its-pinyin-tw-enable-quanjioao-alphabet.
+
+       * its/hangul.el: Implement its-hangul-enable-quanjioao-alphabet.
+
+       * its/ascii.el: New file.
+       * its/erpin.el: New file.
+       * its/hankata.el: New file.
+       * its/jeonkak.el: New file.
+       * its/kata.el: New file.
+       * its/quanjiao.el: New file.
+       * its/zenkaku.el: New file.
+       * its/zhuyin.el: New file.
+
+1998-03-14  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * egg/sj3rpc.el (sj3rpc-close): New function.
+
+       * egg/sj3.el (sj3bunsetsu-[sg]et-kugiri-changed): Rename from
+       sj3bunsetsu-get-stdy-down.
+       (sj3-end-conversion): Implement CLSTDY.
+       (sj3-fini): Implemented.
+
+1998-03-10  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * egg/sj3.el (sj3-end-conversion): Implement bunsetsu study.
+       CLSTDY not yet.
+
+       * egg/sj3rpc.el (sj3rpc-get-bunsetsu-candidates-sub): Bug fix.
+       Always add hiragana and katakana candidates.
+       (sj3-const: CLSTDY, CLSTDY_EUC): Renamed from END and END_EUC
+       according to "sj3cmd.h" of SJ3 distribution.
+       (sj3rpc-bunsetsu-stdy, sj3rpc-kugiri-stdy): New functions.
+
+       * egg-com.el (comm-format-u8-vector): New substitution.
+       (comm-format): New format 'v'.
+
+1998-03-09  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * docomp.el (its-keydef): Require its-keydef when compile.
+       Not so good.  Just a work around.
+       (its-mode-map): Undo the changes of 03-04.
+       
+1998-03-09  KATAYAMA Yoshio <kate@pfu.co.jp>
+
+       * its.el (its-translate-region): Make it command.
+       (its-translate-region-internal): Make it function.
+
+1998-03-04  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * its.el (its-define-select-keys of its-mode-map): Comment it out.
+       * its-keydef.el (its-make-select-func): Add eval-when to compile this.
+
+       * egg-cnv.el (egg-decide-bunsetsu): Deleted.
+       * its.el (its-restart): Call its-setup-fence-mode with no argument.
+
+       * its.el (its-keyseq-acceptable-p): Bug fix.
+
+1998-03-03  KATAYAMA Yoshio <kate@pfu.co.jp>
+
+       *its.el (its-get-keyseq-syl): Compensate when DSYL has back.
+       (its-DSYL-with-back-p): New function. Return t when DSYL has back.
+       (its-concrete-DSYL-p): New function. Return t when DSYL is cons
+       form which means input is not continued after DSYL was created.
+       (its-make-concrete-DSYL): New function.
+       (its-self-insert-char): Make DSYL to ``concrete-DSYL'' if cursor
+       is t which means input is not continued.
+       (its-input): Test input key is whether acceptable or not when
+       its-barf-on-invalid-keyseq is non-nil.
+       (its-input-to-vsyl): Set cursor status, not just returning it.
+       (its-state-machine its-state-machine-keyseq): Make sure to issue
+       ``DSYL-with-back'' when syllable is decided by the rule with back.
+       ``test mode'' is added.
+       (its-keyseq-acceptable-p): New function.
+       (its-forward-SYL): The args order of put-text-property was wrong.
+       (its-delete-backward-SYL-by-keystroke): New function.
+       (its-delete-backward-within-SYL): ``delete-by-keystroke'' mode
+       did not work when syllable is decided by the rule with back.
+       Deletion limit is extended to outside of SYL (meaning of
+       ``within-SYL'' is changed to ``deletion starts within SYL).
+       (its-transpose-chars): Fixed up.
+       (its-in-fence-p): Confuse at openning fence.
+
+1998-02-25  KATAYAMA Yoshio <kate@pfu.co.jp>
+
+       * its.el (its-put-cursor): Enable its-map change in fence mode.
+
+       * its-keydef.el (its-make-select-func): Same as above.
+
+1998-02-25  KATAYAMA Yoshio <kate@pfu.co.jp>
+
+       * its.el (its-set-cursor-status): New function.
+       (its-setup-fence-mode): New function.
+       (its-insert-fence-open its-insert-fence-close): Deleted.
+       (its-start, its-restart, its-self-insert-char): Avoid fence
+       destruction on its-barf.
+       (its-input-to-vsyl, its-state-machine, its-state-machine-keyseq,
+       its-buffer-ins/del-SYL, its-ins/del-SYL-batch): Update cursor
+       status on updating syllables.
+       (its-input-error): New function to realize doc-string of
+       its-barf-on-invalid-keyseq.
+
+       * egg.el (egg-mode): Don't use egg-mode-line-title which cause
+       wrong-type-argument at isearch.  Bind its-select-XXX to key only
+       when modefull is select.
+
+       * egg-mlh.el (mlh-hangul, mlh-zhongwen, mlh-zhongwen-tw): Same
+       as above.
+
+       * its-keydef.el (its-make-select-func): Same as above.
+
+       * leim-list-egg.el: Same as above.
+
+1998-02-24  KATAYAMA Yoshio <kate@pfu.co.jp>
+
+       * its.el (its-state-machine-keyseq): Remove binding
+       its-barf-on-invalid-keyseq to nil.
+       (its-ins/del-SYL-batch): Avoide altering its-XXX-map.
+       (its-translate-region-internal): its-translation-result's data
+       type is changed to string.
+
+       * egg-cnv.el (egg-convert-region): Gather contiguous same
+       language part.
+
+1998-02-21  KATAYAMA Yoshio <kate@pfu.co.jp>
+
+       * its.el (its-ins/del-SYL-batch): Set its-lang property.
+       (its-translate-region): Remove its-lang property from translated
+       text.
+       (its-translate-region-internal): New function.  Retain its-lang
+       property on translated text.
+
+       * egg-mlh.el (mlh-space-bar-backward-henkan): Force base language
+       to Japanese.
+
+       (mlh-hangul mlh-zhongwen-tw mlh-zhongwen): New functions for
+       conversion functions.
+
+1998-02-20  KATAYAMA Yoshio <kate@pfu.co.jp>
+
+       * its.el (its-restart): New function.
+       (its-insert-fence-open, its-insert-fence-close): New function.
+       (its-start): Rewritten.  Use its-insert-fence-open and
+       its-insert-fence-close.
+       (its-exit-mode-internal): Leave its-syl property.
+       (its-exit-mode-internal): Delete the property in this case.
+       (its-keydef): Require it.
+
+       * its-keydef.el: Provide the feature.
+
+       * egg-cnv.el (egg-convert-region): Add egg-source property to save 
+       the source string.
+       (egg-conversion-map, \C-c): New keybind.
+       (egg-get-previous-bunsetsu): Bug fix.
+       (egg-decide-before-point): New implementation.
+       (egg-exit-conversion): Use gg-decide-before-point.
+       (egg-abort-conversion): New command.
+
+1998-02-20  NIIBE Yutaka  <gniibe@akebono>
+
+       * Makefile (SRCS), Egg.prj: Remove euc-china.el.
+       * egg-com.el: Include egg-china.el.
+       * egg-china.el: Removed.
+
+1998-02-18  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * Egg.prj: Use PRCS.
+
+       * Makefile (SRCS): Rename euc-cn.el to euc-china.el
+       * egg-mlh.el (mlh-space-bar-backward-henkan): Put "Japanese"
+       language property for text.
+
+1998-02-18  KATAYAMA Yoshio <kate@pfu.co.jp>
+
+       * euc-china.el: Rename from euc-cn.el.  Update.
+
+       * egg.el (egg-mode): Bug fix.  Call get-exit-conversion.
+       * leim-list-egg.el ("japanese-egg-wnn", "japanese-egg-sj3"): 
+       Use new definition (with language argument).
+       * egg/wnn.el (egg-activate-wnn): 
+       * egg/sj3.el (egg-activate-sj3): 
+       
+1998-02-17  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * Makefile (SRCS): Add its/pinyin.el, its/hangul.el and
+       its-keydef.el.
+
+       * egg-com.el (ccl-encode-fixed-euc-kr): Fixed the name.
+       
+1998-02-17  KATAYAMA Yoshio <kate@pfu.co.jp>
+       
+       * its-keydef.el: New file.
+       * its/hangul.el, its/pinyin.el: New version.
+
+       * egg/wnnrpc.el (load-library "egg/wnn"): Comment it out.
+       (wnnrpc-get-error-message): Support multiple languages.
+       (wnnrpc-call-with-environment): Chinese support.
+
+       * egg/wnn.el (wnn-support-languages): New const.
+       (<env>): Add <server-type>, <dic-set>, and <rev-flag>.
+       (wnnenv-get-server-type, wnnenv-get-dictionary-set,
+        wnnenv-get-reverse-flag): New substs.
+       (wnnenv-get-daibunsetsu-info, wnnenv-set-daibunsetsu-info): Changed.
+       (wnn-server): Removed.
+       (wnn-jserver, wnn-cserver, wnn-tserver, wnn-kserver): New custom.
+       (wnn-server-info-list): New const.
+       (wnn-get-server-info): New function.
+       (wnn-server-locale, wnn-server-type, wnn-server-port,
+        wnn-server-stream-name, wnn-server-buffer-name,
+        wnn-server-coding-system, wnn-server-hostname): New substs.
+       (wnn-start-conversion): Add new arguments.
+       (wnn-uniq-candidates): Initialize 'n'.
+       (wnn-change-bunsetsu-length): Simplefied.
+       (wnn-change-bunsetsu-length): Call renbunsetsu-conversion,
+       instead.
+       (wnn-fini, wnn-comm-sentinel): back to 971009 version.
+       (wnn-jserver-port): Removed.
+       (wnn-open): Argument change.  Support languages.
+
+       (wnn-dictionary-specification): Removed.
+       (wnn-dictionary-specification-list): New variable.
+       (wnn-get-dic-spec, wnn-dic-spec-dic-set, wnn-dic-spec-reverse,
+       wnn-dic-spec-name, wnn-dic-spec-param, wnn-dic-spec-fuzokugo,
+        wnn-dic-spec-dic-list): New substs.
+       (wnn-get-environment): Rewrite.
+       (wnn-create-environment): Rewrite.
+
+       (egg-activate-wnn): Support languages.
+
+       * egg/sj3rpc.el (load-library "egg/sj3"): Don't load it.
+
+       * egg/sj3.el (sj3-support-languages): New const.
+       (sj3-start-conversion, sj3-fini): Add lang.
+       (sj3-change-bunsetsu-length): Simplified.
+       (egg-activate-sj3): Support language.
+
+       * its/hira.el (its/hira): Packagefy. (?)
+       (its-hira-map): Add language spec.  Move here the escape keys
+       ("Z", "~").
+
+       * leim-list-egg.el ("chinese-gb-egg-wnn-py", "chinese-gb-egg-wnn-zy",
+        "chinese-cns-egg-wnn-py", "chinese-cns-egg-wnn-zy",
+        "korean-egg-wnn"): New input methods.
+
+       * its.el (its-current-language): New Local Variables.
+       <map>: Change the structure.  Add <language>.
+       (its-get-language): New substitution.
+       (its-set-indicator): Removed.
+       (its-get-indicator, its-get-start-state): New implementation.
+       (its-reset-start-state): Removed.
+       (its-buffer-ins/del-SYL): Add new properties, its-map and its-lang.
+       (its-exit-mode-internal): Change for its-map and its-lang.
+       (its-in-fence-p): New function.
+
+       ("its-keydef.el"): Load it.
+
+       (its-select-map-menu): Removed.
+       (its-select-map-from-menu): Removed.
+       (its-select-hiragana, its-select-katakana, its-select-downcase,
+       its-select-upcase, its-select-zenkaku-downcase,
+       its-select-zenkaku-upcase, its-select-map, its-zenkaku-escape,
+       its-hankaku-escape): Removed.
+
+       (define-its-state-machine): Rewrite.
+       (define-its-compiled-map): New macro.
+       (its-define-state-machine): Removed.
+
+       (its-forward-SYL): Cleanup.
+
+       (its-beginning-of-input-buffer): Fix.
+       (its-end-of-input-buffer): Likewise.
+
+       * egg-com.el (egg-fixed-euc, egg-mb-euc): New Local Variables.
+       (ccl-decode-fixed-euc-kr, ccl-encode-fixed-euc-kr): New CCLs.
+       (fixed-euc-kr): New coding system.
+       (comm-format-mb-string, comm-format-u16-string): Support EUC-KR.
+       (comm-unpack-u16-string, comm-unpack-mb-string): Likewise.
+
+       * egg-cnv.el (egg-get-bunsetsu-info): New function.
+       (egg-conversion-backend-alist, egg-finalize-backend-alist): 
+       New Variables.
+       Make egg-conversion-backend buffer local.
+       (egg-set-current-backend): New function.
+       (egg-initialize-backend): Call egg-set-current-backend.
+       (egg-start-conversion): Add new argument LANGUAGE.
+       (egg-finalize-backend): Finalize for all backend(s).
+       (egg-set-conversion-backend-internal): New Macro.
+       (egg-convert-region): Support multiple languages in the region.
+       (egg-separate-languages, egg-char-to-language, egg-next-part-lang,
+       egg-next-chinese-lang): New functions.
+       (egg-insert-bunsetsu-list): Change the meaning of last argument.
+       (egg-shrink-bunsetsu): Simplified.  Just call egg-enlarge-bunsetsu.
+       (egg-enlarge-bunsetsu): Support shrink.
+
+       (egg-decide-bunsetsu, egg-next-candidate, egg-select-candidate): 
+       Use egg-get-bunsetsu-info.
+
+       (egg-insert-bunsetsu): The property now includes
+       egg-conversion-backend.
+
+       * egg.el: Don't load its/hira and don't set its-current-map.
+
+       * egg.el (egg-default-language, egg-support-languages): New Variables.
+       (egg-last-method-name, egg-mode-line-title): New Local Variables.
+       (egg-set-mode-line-title, egg-check-language): New functions.
+       (egg-set-support-languages): New function.
+       (egg-mode): Final processing: call its-exit-mode, call
+       egg-exit-conversion.
+       Changing the arguments, remember last input method.
+
+       Bug fix. Don't set its-hira-period and its-hira-comma.
+
+1998-02-17  KAWABATA, Taichi
+
+       * menudiag.el (menudiag-mode-map): New binds for new commands.
+       (menudiag-beginning-of-items, menudiag-end-of-items): New commands.
+       (menudiag-make-menu-formatted-string): Bug fix.  Use 
+       menudiag-item-num-to-char.
+       (menudiag-goto-item): Rewrite.  Better user interface.
+       (menudiag-char-to-item-num, menudiag-item-num-to-char): New
+       functions.
+
 1998-02-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * leim-list-egg.el: Delete autoload setting for `egg-mode'.
        * leim-list-egg.el (japanese-egg-wnn): New input method.
        (japanese-egg-sj3): New input method.
 
-       * egg/sj3rpc.el: Add `(provide 'egg/sj3rpc)'.
-
-       * egg/sj3.el: Add `(provide 'egg/sj3)'.
-
-       * egg/wnnrpc.el: Add `(provide 'egg/wnnrpc)'.
-
-       * egg/wnn.el: Add `(provide 'egg/wnn)'.
-
 1997-11-20  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * leim-list-egg.el: Rename `egg-ja' -> `japanese-egg'.