К сожалению, нет. Emacs использует низкоуровневую функцию «get-buffer-create» для создания буферов, и она не предоставляет никакого механизма подключения.
Вы можете использовать advice , чтобы принять все вызовы этой функции, хотя я бы не рекомендовал этот метод, поскольку он довольно навязчив. ( Обновление : ловушка подсказок будет видеть звонки только от elisp, а не звонки от основных частей Emacs C.)
Есть несколько альтернатив, которые вы можете использовать, в зависимости от того, что вы реализуете:
change-major-mode-hook
- вызывается до смены основного режима.
after-change-major-mode-hook
- вызывается, когда основной режим начинает меняться.