T-Code

Help ウィンドウが出てる時に、 toggle-input-method した時にカーソルの位置がずれるようになってた。

tcode-auto-remove-help を以下のように書きかえると正常になったけど、元のコードも save-excursion と同じようなことをしているはずなんだがなぁ…。

(defun tcode-auto-remove-help (&optional immediate)
  "ヘルプを自動的に消去する。
消去されるのは、ヘルプが表示されてから
この関数が `tcode-auto-remove-help-count' 回呼ばれたとき。"
  (when (or immediate
	    (and tcode-auto-remove-help-count
		 (>= (setq tcode-auto-remove-help-current-count
			   (1+ tcode-auto-remove-help-current-count))
		     tcode-auto-remove-help-count)))
    (let ((help-buf (get-buffer tcode-help-buffer-name))
	  help-win)
      (and help-buf
	   (not (eq help-buf (current-buffer)))
	   (setq help-win (get-buffer-window help-buf))
	   (cond (tcode-window-configuration-before-help
		  (save-excursion
		    (if tcode-adjust-window-for-help
			(set-window-configuration
			 tcode-window-configuration-before-help))))
		 ((not (one-window-p))
		  (delete-window help-win))))
      (and help-buf
	   (or immediate
	       (not (eq help-buf (current-buffer))))
	   (kill-buffer help-buf)))))