From 6fcafcca42e8f5a08d0ccd58c699fbe7e185dc17 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Mon, 24 Apr 2006 05:53:58 +0000 Subject: [PATCH] Synch with APEL XEmacs package 1.32. 2006-04-24 Katsumi Yamaoka * install.el (install-detect-elisp-directory): Fix 2002-11-29 change; assume default-load-path contains nil; use regexp-quote to compare directories even in Emacs. 2005-12-06 Ville Skytta * poe.el (minor-mode-overriding-map-alist): Doc fix. * product.el (product-version-as-string): Doc fix. 2002-11-29 Ben Wing * install.el (install-detect-elisp-directory): Fix problems handling backslashes in filenames (Windows). --- ChangeLog | 17 +++++++++++++++++ install.el | 35 ++++++++++++++++++++++++++++------- poe.el | 2 +- product.el | 2 +- 4 files changed, 47 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 68e2cb8..2297625 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2006-04-24 Katsumi Yamaoka + + * install.el (install-detect-elisp-directory): Fix 2002-11-29 + change; assume default-load-path contains nil; use regexp-quote to + compare directories even in Emacs. + +2005-12-06 Ville Skytt$(D+#(B + + * poe.el (minor-mode-overriding-map-alist): Doc fix. + + * product.el (product-version-as-string): Doc fix. + +2002-11-29 Ben Wing + + * install.el (install-detect-elisp-directory): Fix problems + handling backslashes in filenames (Windows). + 2005-06-06 Katsumi Yamaoka * filename.el (filename-special-filter-1): New macro defined for diff --git a/install.el b/install.el index a24a32a..be59a05 100644 --- a/install.el +++ b/install.el @@ -158,6 +158,9 @@ ;; v18 does not have standard site directory. "local.lisp")) +;; Avoid compile warning. +(eval-when-compile (autoload 'replace-in-string "subr")) + (defun install-detect-elisp-directory (&optional prefix elisp-prefix allow-version-specific) (or prefix @@ -165,18 +168,36 @@ (or elisp-prefix (setq elisp-prefix install-elisp-prefix)) (or (catch 'tag - (let ((rest default-load-path) - (regexp (concat "^" - (expand-file-name (concat ".*/" elisp-prefix) - prefix) - "/?$"))) + (let ((rest (delq nil (copy-sequence default-load-path))) + (regexp + (concat "^" + (regexp-quote (if (featurep 'xemacs) + ;; Handle backslashes (Windows) + (replace-in-string + (file-name-as-directory + (expand-file-name prefix)) + "\\\\" "/") + (file-name-as-directory + (expand-file-name prefix)))) + ".*/" + (regexp-quote + (if (featurep 'xemacs) + ;; Handle backslashes (Windows) + (replace-in-string elisp-prefix "\\\\" "/") + elisp-prefix)) + "/?$")) + dir) (while rest - (if (string-match regexp (car rest)) + (setq dir (if (featurep 'xemacs) + ;; Handle backslashes (Windows) + (replace-in-string (car rest) "\\\\" "/") + (car rest))) + (if (string-match regexp dir) (if (or allow-version-specific (not (string-match (format "/%d\\.%d" emacs-major-version emacs-minor-version) - (car rest)))) + dir))) (throw 'tag (car rest)))) (setq rest (cdr rest))))) (expand-file-name (concat (if (and (not (featurep 'xemacs)) diff --git a/poe.el b/poe.el index ad01c47..89c097e 100644 --- a/poe.el +++ b/poe.el @@ -900,7 +900,7 @@ On other systems, this variable is normally always nil.") ;; Emacs 20.3 or later. (defvar-maybe minor-mode-overriding-map-alist nil "Alist of keymaps to use for minor modes, in current major mode. -APEL provides this as dummy for a compatibility.") +APEL provides this as dummy for compatibility.") ;; Emacs 20.1/XEmacs 20.3(?) and later: (save-current-buffer &rest BODY) ;; diff --git a/product.el b/product.el index e8e2890..b49d698 100644 --- a/product.el +++ b/product.el @@ -252,7 +252,7 @@ PRODUCT-DEF is a definition of the product." "Return version number of product as a string. PRODUCT is a product structure which returned by `product-define'. If optional argument UPDATE is non-nil, then regenerate -`produce-version-string' from `product-version'." +`product-version-string' from `product-version'." (setq product (product-find product)) (or (product-version-string product) (and (product-version product) -- 1.7.10.4