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)))