Наконец, я прекратил полагаться на текущий каталог, так как он был слишком навязчивым, и на другие вещи, такие как ido, где заканчивались изменения ...
Вместо этого я использую добавленный каталог сборки compilation-search-path
(add-to-list 'compilation-search-path "/path/to/build")
Нашел по этому вопросу: Как настроить путь, который Emacs 'compile-goto-error получает из буфера компиляции?
Вопрос также объясняет, что средство сопоставления каталогов может автоматически изменять каталог, если генерируются некоторые конкретные строки:
Entering directory `...'
...
Leaving directory `...'
Это также настраивается, по-видимому.