[prime-dev: 692] Re: prime-elがperl-modeでおかしい

Back to archive index

Hiroyuki Komatsu komat****@taiya*****
2005年 3月 2日 (水) 17:17:21 JST


At Wed, 02 Mar 2005 16:12:47 +0900,
小松 弘幸 wrote:
> > test.plなどのファイルを開くとcperl-mode + font-lock-modeに
> > なるのですがその時にprimeモードに入って日本語を入力しようとすると、
> > エラーが起こります。自分だけでしょうか。
> > XEmacs 21.4.17を使っています。
> 
> こちらでも確認しました。
> 
> PRIME で "a" と入力すると以下のエラーがでました。
> 
> | Debugger entered--Lisp error: (args-out-of-range "ok
> | あ		
> 
> | " 9)
> |   string-match("\n" "ok\nあ		\n\n" 8)
> |   split-string("ok\nあ		\n\n" "\n")
> |   (delete "" (split-string result "\n"))
> |   (cdr (delete "" (split-string result "\n")))
> |   (car (cdr (delete "" ...)))
> |   (or (car (cdr ...)) "")
> |   (mell-string-split (or (car ...) "") "	")
> |   (let ((result ...)) (mell-string-split (or ... "") "	"))
> |   prime-server-send-command2("edit_insert	1	a\n")
> |   prime-server-edit-insert("1" "a")
> |   prime-input-insert-char(?a)
> |   (cond ((prime-enum-keyin char)) ((prime-keyin-kutouten char)) ((prime-keyin-direct char)) (prime-conv-mode (prime-fix prime-curstr) (prime-after-fix char)) ((prime-keyin-capital char)) (t (prime-input-mode-on) (prime-input-insert-char char)))
> |   prime-keyin(nil)
> |   (if arg (self-insert-command (prefix-numeric-value arg)) (prime-keyin arg))
> |   prime-fund-keyin(nil)
> |   call-interactively(prime-fund-keyin)
> 
> 原因等はまだ不明ですが、対応したいと思います。

原因は、
(string-match "\n" "ok\nあ		\n\n" 8)
の挙動が CPerl モードでは、他と異なるからのようです。つまり、
(string-match "a" "あ" 1) が CPerl モードではエラーになり、
通常のモードでは nil が返ります。

これの理由は依然不明です。

-- 
                                                            小松弘幸
                                                -----------------------
                                                   http://taiyaki.org/




Prime-dev メーリングリストの案内
Back to archive index