Develop and Download Open Source Software

[Macuim-dev 100] Re: m17n-libで落ちる

Etsushi Kato ek.kato @ gmail.com
2006年 8月 19日 (土) 02:24:47 JST


On 8/19/06, Etsushi Kato <ek.kato @ gmail.com> wrote:
> On 8/19/06, Masaki Yatsu <yatsu @ yatsu.info> wrote:
> > ところが、今度は、m17n-zh-py, m17n-zh-pinyinで「英数」を押すと
> > クラッシュするようになってしまいました。
> > MacUIMでは「英数」を「Private1」と定義しています。
> >
> > 以下がクラッシュしたときのログです。
> >
> > ERROR: not a symbol or string
> >
> > *backtrace*
> > >>(m17nlib-translate-ukey-to-mkey key key-state) at /Library/Frameworks/UIM.framework/Versions/1.2.1/share/uim/m17nlib.scm:276
>
> すみません。m17lib.scm のバグですね。
> 今ちょっと試す環境がないのですが、m17nlib-key-translation-alist
> に、 (Private1 . "") と (Private2 . "") を追加するとどうなるでしょうか?

以下のように修正して、コミットしておきます。
Index: m17nlib.scm
===================================================================
--- m17nlib.scm (revision 3853)
+++ m17nlib.scm (working copy)
@@ -198,10 +198,13 @@
 (define m17nlib-construct-key
   (lambda (key key-state)
     (if (symbol? key)
-        (cdr (assq key m17nlib-key-translation-alist))
-        (if (control-key-mask key-state)
-            (charcode->string (char-upcase key))
-            (charcode->string key)))))
+       (let ((mkey (assq key m17nlib-key-translation-alist)))
+         (if mkey
+             (cdr mkey)
+             ""))
+       (if (control-key-mask key-state)
+           (charcode->string (char-upcase key))
+           (charcode->string key)))))

 (define m17nlib-proc-direct-state
   (lambda (mc key key-state)


-- 
Etsushi Kato
ek.kato @ gmail.com



Macuim-dev メーリングリストの案内