ミニバッファで補完

 ミニバッファで補完するとか言っていたやつはその後放置していたけど、あのままじゃまともに動かないことに気づいたので、一応直したつもり。Complete+があるので、そちらがオススメ。

(defun my-minibuffer-complete-loop (&optional word)
  (interactive )
  (let (c)
	(loop
	  (minibuffer-complete word)
	  (refresh-screen)
	  (minibuffer-complete word)
	  (setq c (read-char ed:*keyboard*)) ;キーボードから一文字読み取る
	  (unless (syntax-word-p c)       ; word 文字でなければ。
		(unread-char c) ; キーボードを読んでないことにして
		(return))
	  (insert c) ; c をインサートして
	  (refresh-screen))
	))

■追記
何となく補完のlispを眺めていたら、popup-completion-listとかを何とかすればloopも無駄がなく出来るかもしれないなぁとか。思った。しかし、試した感じだと、dabbrevとか一個触ると他の関数が連動している所で直ぐエラーが出て悲惨なことになるけど。