These changes correct a corner case that the old code managed correctly.
Precisely when you have a buffer visiting a file in the root directory and then revert it to a file with the same name in a different directory. (uniquify-fix-item-proposed): Renamed from uniquify-fix-item-min-proposed. (uniquify-set-proposed): New function. (uniquify-rationalize-file-buffer-names): Code reshuffled for clarity and speed. (uniquify-item-greaterp): Substitutes uniquify-item-lessp. This is equivalent to what the old code did. (uniquify-rationalize-a-list): Never recompute the proposed name. Sort the conflicting sublist before rationalising it: this is equivalent to what the old code did, but one directory element at a time, and only when necessary. (uniquify-rationalize-conflicting-sublist): Recompute here the proposed name.
Showing with 31 additions and 31 deletions