summaryrefslogtreecommitdiff
path: root/lisp/mh-e
diff options
context:
space:
mode:
authorPeter Galbraith <galbraith@mixing.qc.dfo.ca>2006-02-16 02:14:40 +0000
committerPeter Galbraith <galbraith@mixing.qc.dfo.ca>2006-02-16 02:14:40 +0000
commitfc0f755fab9c900ebfcb549bc01d69a6ee6b611b (patch)
treeb85823cb3f97aaded9b66473c83f918ba9e8da8e /lisp/mh-e
parente7559e307df1582c802885c5c6f80fba230bc524 (diff)
downloademacs-fc0f755fab9c900ebfcb549bc01d69a6ee6b611b.tar.gz
mh-compat.el (mh-image-search-load-path): Compatibility code. Emacs 21 and
XEmacs don't have `image-search-load-path'. mh-utils.el (mh-image-load-path): Don't bail out on error if the images are already found.
Diffstat (limited to 'lisp/mh-e')
-rw-r--r--lisp/mh-e/ChangeLog8
-rw-r--r--lisp/mh-e/mh-compat.el8
-rw-r--r--lisp/mh-e/mh-utils.el50
3 files changed, 50 insertions, 16 deletions
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index 349bae9f072..3dcf689767a 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,3 +1,11 @@
+2006-02-15 Peter S Galbraith <psg@debian.org>
+
+ * mh-compat.el (mh-image-search-load-path): Compatibility code.
+ Emacs 21 and XEmacs don't have `image-search-load-path'.
+
+ * mh-utils.el (mh-image-load-path): Don't bail out on error if the
+ images are already found.
+
2006-02-10 Bill Wohler <wohler@newt.com>
* mh-search.el (mh-search): Wrap code in (block mh-search ...)
diff --git a/lisp/mh-e/mh-compat.el b/lisp/mh-e/mh-compat.el
index 090ee51c5fc..4bc5fdf36f7 100644
--- a/lisp/mh-e/mh-compat.el
+++ b/lisp/mh-e/mh-compat.el
@@ -115,6 +115,12 @@ introduced in Emacs 22."
`(face-background ,face ,frame)
`(face-background ,face ,frame ,inherit)))
+(mh-defun-compat mh-image-search-load-path
+ image-search-load-path (file &optional path)
+ "Emacs 21 and XEmacs don't have `image-search-load-path'.
+This function returns nil on those systems."
+ nil)
+
;; For XEmacs.
(defalias 'mh-line-beginning-position
(if (fboundp 'line-beginning-position)
@@ -131,7 +137,7 @@ introduced in Emacs 22."
(mh-defun-compat mh-mail-abbrev-make-syntax-table
mail-abbrev-make-syntax-table ()
"Emacs 21 and XEmacs don't have `mail-abbrev-make-syntax-table'.
-This function does nothing on those systems."
+This function returns nil on those systems."
nil)
(mh-defun-compat mh-match-string-no-properties
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el
index dc86d19ae77..bf0d29fd2a7 100644
--- a/lisp/mh-e/mh-utils.el
+++ b/lisp/mh-e/mh-utils.el
@@ -109,21 +109,41 @@ already there.
See also variable `mh-image-load-path-called-flag'."
(unless mh-image-load-path-called-flag
- (if (or (not mh-image-load-path)
- (not (file-exists-p mh-image-load-path)))
- (let (mh-library-name)
- ;; First, find mh-e in the load-path.
- (setq mh-library-name (locate-library "mh-e"))
- (if (not mh-library-name)
- (error "Can not find MH-E in load-path"))
- (setq mh-image-load-path
- (expand-file-name (concat (file-name-directory mh-library-name)
- "../../etc/images")))))
- (if (not (file-exists-p mh-image-load-path))
- (error "Can not find image directory %s" mh-image-load-path))
- (if (boundp 'image-load-path)
- (add-to-list 'image-load-path mh-image-load-path)
- (add-to-list 'load-path mh-image-load-path))
+ (cond
+ ((and mh-image-load-path
+ (file-exists-p (expand-file-name "mh-logo.xpm"
+ mh-image-load-path))))
+ ;; User setting exists. We're done.
+ ((and mh-image-load-path
+ (not (file-exists-p (expand-file-name "mh-logo.xpm"
+ mh-image-load-path))))
+ ;; User setting does not exist.
+ (message "Variable mh-image-load-path %s does not contain MH-E images"
+ mh-image-load-path))
+ ((mh-image-search-load-path "mh-logo.xpm")
+ ;; Emacs 22 already knows where the images are.
+ (setq mh-image-load-path
+ (file-name-directory (mh-image-search-load-path "mh-logo.xpm"))))
+ ((locate-library "mh-logo.xpm")
+ ;; Other Emacs already knows where the images are...
+ (setq mh-image-load-path
+ (file-name-directory (locate-library "mh-logo.xpm"))))
+ (t
+ ;; Guess `mh-image-load-path' if it wasn't provided by the user.
+ (let (mh-library-name)
+ ;; First, find mh-e in the load-path.
+ (setq mh-library-name (locate-library "mh-e"))
+ (if (not mh-library-name)
+ (error "Can not find MH-E in load-path"))
+ (setq mh-image-load-path
+ (expand-file-name (concat
+ (file-name-directory mh-library-name)
+ "../../etc/images"))))
+ (if (not (file-exists-p mh-image-load-path))
+ (error "Can not find image directory %s" mh-image-load-path))
+ (if (boundp 'image-load-path)
+ (add-to-list 'image-load-path mh-image-load-path)
+ (add-to-list 'load-path mh-image-load-path))))
(setq mh-image-load-path-called-flag t)))
;;;###mh-autoload