無理やりタブに補完を詰め込む(その2か3くらい)

さっき見つけたloopする補完とか前に見たのとか導入したのを詰め込んで無理やり使おうかと思ったけど・・・。

(defun text-tab-and-complete()
  (interactive)
  ;(unless (dabbrev-popup-loop)
  (unless (dabbrev-expand)
	(unless (indent-to-next-token)
		  (insert #\TAB)
	  )))

カーソルの前に補完候補のある文字があるときは補完、なければindent-to-next-tokenを探して、それもないときはTabを入力。いいかと思ったけどloopにするとindent-to-next-tokenが上手く機能しないので、dabbrev-expandの方が便利そう。いっそ、popup-stringとdabbrev-expandを組み合わせたらビジュアルな補助も入るのかなぁとか。キー的にも良い感じ。でもabbrev-expandの動きを見てみたらひたすら大変そうだったので見なかったことに。