(defconst bug-36877-dup-table (make-hash-table :test 'eq)) (defun bug-36877-debug-fix-list-dups (fix-list) (clrhash bug-36877-dup-table) (dolist (item fix-list) (let ((buf (uniquify-item-buffer item))) (if (gethash buf bug-36877-dup-table) (progn (debug nil "Adding duplicate to uniquify list!" item) ;; Just once. (advice-remove 'uniquify-rationalize #'bug-36877-debug-fix-list-dups)) (puthash buf item bug-36877-dup-table))))) (advice-add 'uniquify-rationalize :before #'bug-36877-debug-fix-list-dups) (setq uniquify-after-kill-buffer-p nil) (defconst bug-36877-topdir (file-name-directory (or load-file-name buffer-file-name))) (dolist (dir '("a" "b" "c")) (setq dir (expand-file-name dir bug-36877-topdir)) (make-directory dir t) (find-file (expand-file-name "foo" dir))) (kill-buffer (get-file-buffer (expand-file-name "c/foo" bug-36877-topdir))) (find-file (expand-file-name "c/foo" bug-36877-topdir))