Put 'ac-source-filename' earlier in the 'ac-sources' as much as possible.

http://dev.ariel-networks.com/wp/documents/aritcles/emacs/part9

> 情報源はac-sourcesの先頭にあるものほど優先的に使用されます。これはほとんどの場
> 合では問題になりませんが、先に挙げたac-source-filenameというファイル名を補完す
> る情報源は、オムニ補完(*)という機構を利用しているため、もし汎用的に単語を補完す
> る情報源より後にac-source-filenameが出現する場合、単語を補完する情報源が
> ac-source-filenameのオムニ補完の発生条件を飲み込んでしまって、うまくファイル名
> 補完が開始されないことがあります。そのような場合にはac-source-filenameをできる
> だけac-sourcesの先頭にもってきてやる必要があります。通常は次のようにadd-hookを
> 使ってできるだけ最後にpushされるようにすれば解決できます。
>
> (*) オムニ補完という語はVimから来ています。意味は「書式・構文を解析することに
> より実現する賢い補完機能」です
>
> ;; ac-source-filenameはできるだけ先頭に
> (add-hook 'auto-complete-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-filename)))