[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

mule-ucs breaks match-data



Signaling: (invalid-argument "last thing matched was not a buffer")
  replace-match("~" nil t)
[...]
  w3m-decode-entities(reserve-prop)
[...]
  w3m-fontify()
[...]
  w3m-exec("http://www.cvshome.org/" nil nil nil nil nil nil)
[...]
  w3m-goto-url("http://www.cvshome.org/")
[...]
  call-interactively(w3m)
  command-execute(w3m t)
  execute-extended-command(nil)
  call-interactively(execute-extended-command)

Mule-UCS を使っている XEmacs で、最初に一回だけ起こるエラーです。
このとき (match-beginning 0) と (match-end 0) の値はともに 0 に
なっていました。

;; 開発版の CVS のソースを USER=guest で checkout できなくなって
;; いるのはなぜだろうと思って調べに行ったら起こりました。

Mule-UCS の中身はわかりませんが、関数 w3m-decode-entities の中か
ら w3m-entity-value を呼んだときに match-data が破壊されてしまう
ようなので、save-match-data で囲んで対策しました。
-- 
Katsumi Yamaoka <yamaoka@jpl.org>