Я обнаружил, что проблема заключалась в самих привязках.Руководство AC содержит следующую строку:
(define-key ac-completing-map "\t" 'ac-complete)
Но если вы хотите использовать TAB
в завершающей карте, есть другая привязка для переопределения:
(define-key ac-completing-map (kbd "<tab>") 'ac-complete)
С этой строкой всначала TAB
завершает слово, а затем, второе нажатие TAB
, выполняет операцию основного режима.