Function: ido-sort-merged-list
ido-sort-merged-list is a byte-compiled function defined in ido.el.gz.
Signature
(ido-sort-merged-list ITEMS PROMOTE)
Source Code
;; Defined in /usr/src/emacs/lisp/ido.el.gz
(defun ido-sort-merged-list (items promote)
;; Input is list of ("file" . "dir") cons cells.
;; Output is sorted list of ("file "dir" ...) lists
(let ((l (sort items (lambda (a b) (string-lessp (car b) (car a)))))
res a cur)
(while l
(setq a (car l)
l (cdr l))
(if (and res (string-equal (car (car res)) (car a)))
(progn
(setcdr (car (if cur (cdr res) res)) (cons (cdr a) (cdr (car res))))
(if (and promote (string-equal ido-current-directory (cdr a)))
(setq cur t)))
(setq res (cons (list (car a) (cdr a)) res)
cur nil)))
res))