Fix cvs root.
[elisp/flim.git] / md5.el
diff --git a/md5.el b/md5.el
index 634b2f0..8c4d7c0 100644 (file)
--- a/md5.el
+++ b/md5.el
@@ -1,6 +1,6 @@
 ;;; md5.el --- MD5 Message Digest Algorithm.
 
-;; Copyright (C) 1999 Shuhei KOBAYASHI
+;; Copyright (C) 1999, 2001  Free Software Foundation, Inc.
 
 ;; Author: Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
 ;; Keywords: MD5, RFC 1321
@@ -24,7 +24,7 @@
 
 ;;; Commentary:
 
-;; Examples from RFC 1321.
+;; Test cases from RFC 1321.
 ;;
 ;; (md5 "")
 ;; => d41d8cd98f00b204e9800998ecf8427e
 
 ;;; 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.
-  (require 'md5 "md5-dl"))
+ ((and (stringp md5-dl-module)
+       (file-exists-p md5-dl-module))
+  (require 'md5-dl))
  (t
-  (require 'md5 "md5-el")))
+  (require 'md5-el)))
+
+(provide 'md5)
 
-;;; md5.el ends here.
+;;; md5.el ends here