X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=file-detect.el;h=6dc86be98a06a3fbc2be04946f8d5999fbf009c5;hb=3ed338972b9d15ea01ff17c3a8da1507a07c0eeb;hp=2d8731ab399ba2c1f08cb942ccef2b078d61ee04;hpb=8a583a04c1a09992d7f7ca55b63e782bfdb551fe;p=elisp%2Fapel.git diff --git a/file-detect.el b/file-detect.el index 2d8731a..6dc86be 100644 --- a/file-detect.el +++ b/file-detect.el @@ -1,11 +1,11 @@ -;;; 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 3.3 1997/03/20 06:08:29 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 APEL (A Portable Emacs Library). @@ -24,138 +24,16 @@ ;; 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'" - (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) - )) - ))) - -(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'. +;;; Commentary: -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 (pattern &optional all-paths) - "Return latest directory in default-load-path -which is matched to regexp PATTERN. -If optional argument ALL-PATHS is specified, -it is searched from all of load-path instead of default-load-path." - (catch 'tag - (let ((paths (if all-paths - load-path - default-load-path)) - dir) - (while (setq dir (car paths)) - (if (and (file-exists-p dir) - (file-directory-p dir) - ) - (let ((files (sort (directory-files dir t pattern 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." - (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)) - )))) - -(defvar exec-suffix-list '("") - "*List of suffixes for executable.") - -(defun exec-installed-p (file &optional paths suffixes) - "Return absolute-path of FILE if FILE exists in PATHS. -If PATHS is omitted, `exec-path' is used. -If suffixes is omitted, `exec-suffix-list' is used." - (or paths - (setq paths exec-path) - ) - (or suffixes - (setq suffixes exec-suffix-list) - ) - (catch 'tag - (while paths - (let ((stem (expand-file-name file (car paths))) - (sufs suffixes) - ) - (while sufs - (let ((file (concat stem (car sufs)))) - (if (file-exists-p file) - (throw 'tag file) - )) - (setq sufs (cdr sufs)) - )) - (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." - (or (featurep module) - (exec-installed-p (symbol-name module) load-path '(".elc" ".el")) - )) +;; This file is existed only for compatibility. Please use +;; path-util.el instead of this file. +;;; Code: -;;; @ end -;;; +(require 'path-util) -(provide 'file-detect) +(require 'product) +(product-provide (provide 'file-detect) (require 'apel-ver)) ;;; file-detect.el ends here