Mercurial > hg > xemacs-beta
diff lisp/find-paths.el @ 278:90d73dddcdc4 r21-0b37
Import from CVS: tag r21-0b37
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:31:29 +0200 |
parents | 6330739388db |
children | 7df0dd720c89 |
line wrap: on
line diff
--- a/lisp/find-paths.el Mon Aug 13 10:30:38 2007 +0200 +++ b/lisp/find-paths.el Mon Aug 13 10:31:29 2007 +0200 @@ -243,11 +243,11 @@ (append list-1 (reverse reverse-survivors)))) -(defun paths-delete (predicate list) +(defun paths-filter (predicate list) "Delete all matches of PREDICATE from LIST." (let ((reverse-result '())) (while list - (if (not (funcall predicate (car list))) + (if (funcall predicate (car list)) (setq reverse-result (cons (car list) reverse-result))) (setq list (cdr list))) (nreverse reverse-result))) @@ -265,24 +265,30 @@ (file-name-as-directory component))) components))) (if drop-empties - (paths-delete #'(lambda (component) - (string-equal "" component)) + (paths-filter #'(lambda (component) + (null (string-equal "" component))) directories) directories))) (defun paths-find-emacs-roots (invocation-directory invocation-name) "Find all plausible installation roots for XEmacs." - (let ((invocation-root - (paths-find-emacs-root invocation-directory invocation-name)) - (installation-root - (and configure-prefix-directory - (file-directory-p configure-prefix-directory) - (file-name-as-directory configure-prefix-directory)))) - (append (and invocation-root - (list invocation-root)) - (and installation-root - (paths-emacs-root-p installation-root) - (list installation-root))))) + (let* ((potential-invocation-root + (paths-find-emacs-root invocation-directory invocation-name)) + (invocation-roots + (and potential-invocation-root + (list potential-invocation-root))) + (potential-installation-roots + (paths-uniq-append + (and configure-exec-prefix-directory + (list (file-name-as-directory + configure-exec-prefix-directory))) + (and configure-prefix-directory + (list (file-name-as-directory + configure-prefix-directory))))) + (installation-roots + (paths-filter #'paths-emacs-root-p potential-installation-roots))) + (paths-uniq-append invocation-roots + installation-roots))) ;;; find-paths.el ends here