egg-mix with xemacs-21.4.13

Shinichiro HIDA <[email protected]> Wed, 27 Aug 2003 12:08:19 +0900
Newsgroups gmane.emacs.xemacs.user.japanese
Organization petite auberge Stained Glass
Message-ID <87znhver18.wl%[email protected]>
こんにちは、
飛田です。

;; ひょっとすると投稿すべき場所が違うかも知れません。_o_

Debian sid 上で、xemacs-21.4.13 + freewnn jserver + japanese-wnn-egg +
egg-mix で、日本語入力をしています。

egg-mix 0.330.3 (2000.1.27) は自分で導入したものです。

少し前までは、この環境で日常の入力にはほとんど不自由無く使えていました。

所が、最近、何かのパッケージ(辞書?)のアップグレードのためか、XEmacs が
起動して、日本語を入力使用として文字を入力し、egg-mix 起動時に、XEmacs 
が暴走してしまうようになってしまいました。

deb パッケージの XEmcas の問題かとも思い、現在は
xemacs-21.4.13.tar.bz2 からコンパイルしたもので試しているのですが、状
況は同じでした。

症状は、egg-mix 起動時に、

と言うメッセージがミニバッファでフラッシュして cpu 使用率が 100% とな
り、C-g でも止められず、kill pid するしかなくなる、と言う物です。

これは、多分、egg-mix.el の 1015行めあたりからの

(defun mix:make-dict-tag-alist ()
  "`mix:*dict-tag-alist*' を作成する。"
  (goto-char 1)
  (let ((c)
	(case-fold-search t))	; default-case-fold-search が nil の場合に必要
    (while (not (eobp))
      (setq c (downcase (following-char)))
      (message "egg-mix: しばしお待ちを... %c" c)
      (setq mix:*dict-tag-alist* (cons (cons c (point)) mix:*dict-tag-alist*))
      (re-search-forward (format "^[^%c]" c) nil 0)
      (beginning-of-line))
    (message "")		; (引数を nil にすると Emacs18 でエラーになる)
    ))

という部分で引っかかっているのではないかと想像しています。

現在は、(setq mix:*use-dict* nil) を ~/.xemacs/init.el に入れる事で、
これは回避出来て、こうして入力出来ています。

おそらく、辞書の問題なのだろうと想像するのですが、どうすれば辞書を使え
るのかが分かりません。

egg-mix.el の中で、辞書として期待されているのは、

(defvar mix:*dict-file*
  (cond ((file-exists-p "/usr/dict/words") "/usr/dict/words")
	((file-exists-p "/usr/share/dict/words") "/usr/share/dict/words"))
  "egg-mix が使用する英単語辞書のファイル名。nil なら無し。")

という部分だと思うのですが、手元の環境だと、

$ ls -l /usr/share/dict/words
lrwxrwxrwx    1 root     root           30 2003-07-16 09:09 /usr/share/dict/words -> /etc/dictionaries-common/words

$ ls -l /etc/dictionaries-common/words
lrwxrwxrwx    1 root     root           32 2003-08-26 20:52 /etc/dictionaries-common/words -> /usr/share/dict/american-english

$ ls -l /usr/share/dict/american-english
-rw-r--r--    1 root     root       908846 2003-07-30 14:58 /usr/share/dict/american-english

という物で、

$ less /usr/share/dict/words

a
A
Aachen
Aachen's
aardvark
[...]

という感じになっています。

辞書を使い、かつ暴走を回避するには、どうすれば良いのでしょうか?


-- 
  Shinichiro HIDA  mailto:[email protected]
  GPG fingerprint = 5F2D 1656 FFF6 F691 A51C  5E61 E416 D398 470C 1CE9
egg-mix-message.txt (text/plain, 33 B)
しばしお待ちを... ,Me