Я использую:
(if (fboundp 'ns-find-file)
(global-set-key [ns-drag-file] 'ns-find-file))
Это (в основном то же, что дано в других ответах) гарантирует, что будет создан новый буфер. Часть if
гарантирует, что код будет работать даже в среде, отличной от Mac.
(setq ns-pop-up-frames nil)
Это гарантирует, что новый буфер отобразится в существующем окне, так что новый кадр Emacs не будет открыт. (Я заметил в комментарии, что у вас были проблемы с этим.)