From: Bill Wohler Date: Sat, 11 Mar 2006 01:59:13 +0000 (+0000) Subject: (mh-image-load-path-for-library): Merged changes from Reiner. Add X-Git-Tag: emacs-pretest-22.0.90~3711 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=08f99a547c509e958a25782893251da277ea606f;p=emacs.git (mh-image-load-path-for-library): Merged changes from Reiner. Add no-error argument. If path t, just return directory. --- diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index eecba3767f4..ffb73d5425d 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -4,6 +4,8 @@ flag to replace-in-string. This was badly needed by mh-quote-pick-expr in order to properly quote subjects when using / s on XEmacs (closes SF #1447598). + (mh-image-load-path-for-library): Merged changes from Reiner. Add + no-error argument. If path t, just return directory. * mh-e.el (mh-profile-component): Drop `s' from mhparam -components for Mailutils compatibility (closes SF #1446985). diff --git a/lisp/mh-e/mh-compat.el b/lisp/mh-e/mh-compat.el index f048308ae30..d6bded8726e 100644 --- a/lisp/mh-e/mh-compat.el +++ b/lisp/mh-e/mh-compat.el @@ -116,7 +116,7 @@ introduced in Emacs 22." `(face-background ,face ,frame ,inherit))) (mh-defun-compat mh-image-load-path-for-library - image-load-path-for-library (library image &optional path) + image-load-path-for-library (library image &optional path no-error) "Return a suitable search path for images relative to LIBRARY. Images for LIBRARY are searched for in \"../../etc/images\" and @@ -124,8 +124,12 @@ Images for LIBRARY are searched for in \"../../etc/images\" and well as in `image-load-path' and `load-path'. This function returns the value of `load-path' augmented with the -path to IMAGE. If PATH is given, it is used instead of -`load-path'. +directory containing IMAGE. If PATH is given, it is used instead +of `load-path'. If PATH is t, just return the directory that +contains IMAGE. + +If NO-ERROR is non-nil, return nil if a suitable path can't be +found rather than signaling an error. Here is an example that uses a common idiom to provide compatibility with versions of Emacs that lack the variable @@ -179,11 +183,19 @@ This function is used by Emacs versions that don't have (setq img (directory-file-name parent) dir (expand-file-name "../" dir))) (setq image-directory dir))))) + (no-error + ;; In this case we will return nil. + (message "Could not find image %s for library %s" image library)) (t (error "Could not find image %s for library %s" image library))) - ;; Return augmented `image-load-path' or `load-path'. - (cond ((and path (symbolp path)) + ;; Return the directory, nil if no-error was non-nil and a + ;; suitable path could not be found, or an augmented + ;; `image-load-path' or `load-path'. + (cond ((or (null image-directory) + (eq path t)) + image-directory) + ((and path (symbolp path)) (nconc (list image-directory) (delete image-directory (if (boundp path)