Merge from flim-1_14-rfc2231
[elisp/flim.git] / md5.el
diff --git a/md5.el b/md5.el
index 168236e..8c4d7c0 100644 (file)
--- a/md5.el
+++ b/md5.el
 
 ;;; Code:
 
+(defvar md5-dl-module
+  (cond
+   ((and (fboundp 'md5)
+        (subrp (symbol-function 'md5)))
+    nil)
+   ((fboundp 'dynamic-link)
+    ;; Should we take care of `dynamic-link-path'?
+    (let ((path (expand-file-name "md5.so" exec-directory)))
+      (if (file-exists-p path)
+         path
+       nil)))
+   (t
+    nil)))
+
 (cond
  ((and (fboundp 'md5)
        (subrp (symbol-function 'md5)))
-  ;; recent XEmacs has `md5' as a built-in function.
-  ;; (and 'md5 is already provided.)
+  ;; do nothing.
   )
- ((and (fboundp 'dynamic-link)
-       (file-exists-p (expand-file-name "md5.so" exec-directory)))
-  ;; Emacs with DL patch.
+ ((and (stringp md5-dl-module)
+       (file-exists-p md5-dl-module))
   (require 'md5-dl))
  (t
   (require 'md5-el)))