(subrp (symbol-function 'md5)))
(provide 'md5)))
(require 'md5) ; expects (md5 STRING)
-(require 'poe)
-(defun-maybe-cond md5-binary (string)
- "Return the MD5 of STRING in binary form."
- ((condition-case nil
+;; To share *.elc files between Emacs w/ and w/o DL patch,
+;; this check must be done at load-time.
+(cond
+ ((fboundp 'md5-binary)
+ ;; do nothing.
+ )
+ ((condition-case nil
;; `md5' of v21 takes 4th arg CODING (and 5th arg NOERROR).
(md5 "" nil nil 'binary) ; => "d41d8cd98f00b204e9800998ecf8427e"
(wrong-number-of-arguments nil))
- (decode-hex-string (md5 string nil nil 'binary)))
- (t
- (decode-hex-string (md5 string))))
+ (defun md5-binary (string)
+ "Return the MD5 of STRING in binary form."
+ (decode-hex-string (md5 string nil nil 'binary))))
+ (t
+ (defun md5-binary (string)
+ "Return the MD5 of STRING in binary form."
+ (decode-hex-string (md5 string)))))
(define-hmac-function hmac-md5 md5-binary 64 16) ; => (hmac-md5 TEXT KEY)
(define-hmac-function hmac-md5-96 md5-binary 64 16 96)
(eval-when-compile (require 'hmac-def))
(require 'hex-util) ; (decode-hex-string STRING)
(require 'sha1) ; expects (sha1 STRING)
-(require 'poe)
-(defun-maybe sha1-binary (string)
- "Return the SHA1 of STRING in binary form."
- (decode-hex-string (sha1 string)))
+;; To share *.elc files between Emacs w/ and w/o DL patch,
+;; this check must be done at load-time.
+(cond
+ ((fboundp 'sha1-binary)
+ ;; do nothing.
+ )
+ (t
+ (defun sha1-binary (string)
+ "Return the SHA1 of STRING in binary form."
+ (decode-hex-string (sha1 string)))))
(define-hmac-function hmac-sha1 sha1-binary 64 20) ; => (hmac-sha1 TEXT KEY)
(define-hmac-function hmac-sha1-96 sha1-binary 64 20 96)