Function: uniquify-rationalize-conflicting-sublist

uniquify-rationalize-conflicting-sublist is a byte-compiled function defined in uniquify.el.gz.

Signature

(uniquify-rationalize-conflicting-sublist CONF-LIST OLD-NAME DEPTH RENAME-BUFFER-FN GET-BUFFER-FN)

Source Code

;; Defined in /usr/src/emacs/lisp/uniquify.el.gz
;; Deal with conflicting-sublist, all of whose elements have identical
;; "base" components.
(defun uniquify-rationalize-conflicting-sublist (conf-list old-name depth rename-buffer-fn get-buffer-fn)
  (when conf-list
    (if (or (cdr conf-list)
	    ;; Check that the proposed name doesn't conflict with some
	    ;; existing buffer.
	    (let ((buf (funcall get-buffer-fn old-name)))
	      (and buf (not (eq buf (uniquify-item-buffer (car conf-list)))))))
	(when uniquify-possibly-resolvable
	  (setq uniquify-possibly-resolvable nil
		depth (1+ depth))
	  (dolist (item conf-list)
	    (setf (uniquify-item-proposed item)
		  (uniquify-get-proposed-name
		   (uniquify-item-base item)
		   (uniquify-item-dirname item)
		   depth)))
	  (uniquify-rationalize-a-list conf-list depth rename-buffer-fn get-buffer-fn))
      (unless (string= old-name "")
	(funcall rename-buffer-fn (car conf-list) old-name)))))