Function: uniquify-rationalize-a-list
uniquify-rationalize-a-list is a byte-compiled function defined in
uniquify.el.gz.
Signature
(uniquify-rationalize-a-list FIX-LIST DEPTH RENAME-BUFFER-FN GET-BUFFER-FN)
Source Code
;; Defined in /usr/src/emacs/lisp/uniquify.el.gz
(defun uniquify-rationalize-a-list (fix-list depth rename-buffer-fn get-buffer-fn)
(unless depth (setq depth uniquify-min-dir-content))
(let (conflicting-sublist ; all elements have the same proposed name
(old-proposed "")
proposed)
;; Divide fix-list into items with same proposed names and pass them
;; to uniquify-rationalize-conflicting-sublist.
(dolist (item (sort (copy-sequence fix-list) 'uniquify-item-greaterp))
(setq proposed (uniquify-item-proposed item))
(unless (equal proposed old-proposed)
(uniquify-rationalize-conflicting-sublist conflicting-sublist
old-proposed depth
rename-buffer-fn get-buffer-fn)
(setq conflicting-sublist nil))
(push item conflicting-sublist)
(setq old-proposed proposed))
(uniquify-rationalize-conflicting-sublist conflicting-sublist
old-proposed depth
rename-buffer-fn get-buffer-fn)))