X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=file-detect.el;h=ce6f9bfa9b196aac95100571582180d1fc2ce83b;hb=519b2fe2cba7f7802851bad94e6fa85cee378cfb;hp=e6544db9c4520d854e138772b8678dd48db4ae69;hpb=ff898939378a55061c76d3411eca2eaa4c1c4d92;p=elisp%2Fapel.git diff --git a/file-detect.el b/file-detect.el index e6544db..ce6f9bf 100644 --- a/file-detect.el +++ b/file-detect.el @@ -1,13 +1,13 @@ -;;; file-detect.el --- Emacs Lisp file detection utility +;;; file-detect.el --- Path management or file detection utility ;; Copyright (C) 1996,1997 Free Software Foundation, Inc. ;; Author: MORIOKA Tomohiko -;; Version: -;; $Id: file-detect.el,v 2.1 1997/03/03 09:24:27 morioka Exp $ -;; Keywords: install, module +;; Version: $Id: file-detect.el,v 7.1 1997/11/08 07:40:52 morioka Exp $ +;; Keywords: file detection, install, module +;; Status: obsoleted -;; This file is part of tl (Tiny Library). +;; This file is part of APEL (A Portable Emacs Library). ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU General Public License as @@ -24,128 +24,14 @@ ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. -;;; Code: - -(defvar default-load-path load-path) - -(defun add-path (path &rest options) - "Add PATH to `load-path' if it exists under `default-load-path' -directories and it does not exist in `load-path'. - -You can use following PATH styles: - load-path relative: \"PATH/\" - (it is searched from `defaul-load-path') - home directory relative: \"~/PATH/\" \"~USER/PATH/\" - absolute path: \"/HOO/BAR/BAZ/\" - -You can specify following OPTIONS: - 'all-paths search from `load-path' - instead of `default-load-path' - 'append add PATH to the last of `load-path' - -\[file-detect.el]" - (let ((rest (if (memq 'all-paths options) - load-path - default-load-path)) - p) - (if (and (catch 'tag - (while rest - (setq p (expand-file-name path (car rest))) - (if (file-directory-p p) - (throw 'tag p) - ) - (setq rest (cdr rest)) - )) - (not (member p load-path)) - ) - (setq load-path - (if (memq 'append options) - (append load-path (list p)) - (cons p load-path) - )) - ))) +;;; Commentary: -(defun add-latest-path (pattern &optional all-paths) - "Add latest path matched by PATTERN to `load-path' -if it exists under `default-load-path' directories -and it does not exist in `load-path'. - -If optional argument ALL-PATHS is specified, it is searched from all -of load-path instead of default-load-path. [file-detect.el]" - (let ((path (get-latest-path pattern all-paths))) - (if path - (add-to-list 'load-path path) - ))) - -(defun get-latest-path (pat &optional all-paths) - "Return latest directory in default-load-path -which is matched to regexp PAT. -If optional argument ALL-PATHS is specified, -it is searched from all of load-path instead of default-load-path. -\[file-detect.el]" - (catch 'tag - (let ((paths (if all-paths - load-path - default-load-path)) - dir) - (while (setq dir (car paths)) - (let ((files (sort (directory-files dir t pat t) - (function file-newer-than-file-p))) - file) - (while (setq file (car files)) - (if (file-directory-p file) - (throw 'tag file) - ) - (setq files (cdr files)) - )) - (setq paths (cdr paths)) - )))) - -(defun file-installed-p (file &optional paths) - "Return absolute-path of FILE if FILE exists in PATHS. -If PATHS is omitted, `load-path' is used. [file-detect.el]" - (if (null paths) - (setq paths load-path) - ) - (catch 'tag - (let (path) - (while paths - (setq path (expand-file-name file (car paths))) - (if (file-exists-p path) - (throw 'tag path) - ) - (setq paths (cdr paths)) - )))) - -(defun module-installed-p (module &optional paths) - "Return t if module is provided or exists in PATHS. -If PATHS is omitted, `load-path' is used. [file-detect.el]" - (or (featurep module) - (let ((name (symbol-name module))) - (if (null paths) - (setq paths load-path) - ) - (catch 'tag - (while paths - (let ((file (expand-file-name name (car paths)))) - (let ((elc-file (concat file ".elc"))) - (if (file-exists-p elc-file) - (throw 'tag elc-file) - )) - (let ((el-file (concat file ".el"))) - (if (file-exists-p el-file) - (throw 'tag el-file) - )) - (if (file-exists-p file) - (throw 'tag file) - ) - ) - (setq paths (cdr paths)) - ))))) +;; This file is existed only for compatibility. Please use +;; path-util.el instead of this file. +;;; Code: -;;; @ end -;;; +(require 'path-util) (provide 'file-detect)