Replace cl functions.

This commit is contained in:
Phil Jackson 2010-05-06 19:26:34 +01:00
parent f2817e7c78
commit 326fff2823

View file

@ -4047,21 +4047,33 @@ With prefix force the removal even it it hasn't been merged."
(defun magit-list-buffers ()
"Returns a list of magit buffers."
(remove-if-not (lambda (b)
(save-excursion
(set-buffer b)
(eq major-mode 'magit-mode)))
(buffer-list)))
(delq nil (mapcar (lambda (b)
(save-excursion
(set-buffer b)
(when (eq major-mode 'magit-mode)
b)))
(buffer-list))))
(defun remove-dupes (list)
"Remove the duplicate items in a sorted list."
(let (tmp-list head)
(while list
(setq head (pop list))
(unless (equal head (car list))
(push head tmp-list)))
(reverse tmp-list)))
(defun magit-list-projects ()
"Returns a list of directories with a magit representation."
(remove-duplicates
(mapcar (lambda (b)
(save-excursion
(set-buffer b)
(directory-file-name default-directory)))
(magit-list-buffers))
:test 'string=))
(remove-dupes
(sort
(mapcar (lambda (b)
(save-excursion
(set-buffer b)
(directory-file-name default-directory)))
(magit-list-buffers))
'string=)))
(provide 'magit)