inline patch で "Args out of range: x, y" エラー
http://blog.y-satou.jp/2012/01/cocoa-emacs-inline-patch-args-out-of.html のパッチ自体は今の inline patch には含まれているようなので、最初のデバッグプリントの部分を参考にして、
(defun ns-insert-marked-text (pos len) "Insert contents of `ns-working-text' as UTF-8 string and mark with `ns-working-overlay' and `ns-marked-overlay'. Any previously existing working text is cleared first. The overlay is assigned the faces `ns-working-text-face' and `ns-marked-text-face'." (message "DEBUG: pos=[\%d] len=[\%d] ns-working-text=[\%s] text-len=[\%d]" pos len ns-working-text (length ns-working-text)) (ns-delete-working-text) (message "DEBUG: ns-delete-working-text done") (let ((start (point))) (if (<= pos (length ns-working-text)) (progn (put-text-property pos len 'face 'ns-working-text-face ns-working-text) (message "DEBUG: put-text-property pos len 'face 'ns-working-text-face ns-working-text done") (insert ns-working-text) (message "DEBUG: insert-ns-working-text done") (if (= len 0) (overlay-put (setq ns-working-overlay (make-overlay start (point) (current-buffer) nil t)) 'face 'ns-working-text-face) (overlay-put (setq ns-working-overlay (make-overlay start (point) (current-buffer) nil t)) 'face 'ns-unmarked-text-face) (overlay-put (setq ns-marked-overlay (make-overlay (+ start pos) (+ start pos len) (current-buffer) nil t)) 'face 'ns-marked-text-face)) (goto-char (+ start pos))) (message "DEBUG: SKIPPED put-text-property pos len 'face 'ns-working-text-face ns-working-text") )))
として調べてみたところ、(入力が速くて追いつかなかったときに?)確定した文字列が消えて次の入力だけ残った時に text-len より len が大きくなって Args out of range になるようです。
ns-insert-marked-text の呼び出し元の ns-put-marked-text が ns-win.el になくて、どこから呼ばれているのかすぐにはわからなかったので、ここまでしか調査できていません。
http://blog.y-satou.jp/2012/01/cocoa-emacs-inline-patch-args-out-of.html のパッチ自体は今の inline patch には含まれているようなので、最初のデバッグプリントの部分を参考にして、
として調べてみたところ、(入力が速くて追いつかなかったときに?)確定した文字列が消えて次の入力だけ残った時に text-len より len が大きくなって Args out of range になるようです。
ns-insert-marked-text の呼び出し元の ns-put-marked-text が ns-win.el になくて、どこから呼ばれているのかすぐにはわからなかったので、ここまでしか調査できていません。