X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fbase64.el;h=572a5d379e8a4ad33b297df65e07675443befcb3;hb=08f32419df2e29626bb6c3f270a34aa8b5f95b6d;hp=2635349e52dbd61b17358c8432d83a887097bd38;hpb=2bbbe22dc087ffee659ee51a38f7c96c6a7424f7;p=gnus diff --git a/lisp/base64.el b/lisp/base64.el index 2635349e5..572a5d379 100644 --- a/lisp/base64.el +++ b/lisp/base64.el @@ -25,9 +25,11 @@ ;;; Boston, MA 02111-1307, USA. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(eval-when-compile (require 'cl)) + ;; For non-MULE (if (not (fboundp 'char-int)) - (fset 'char-int 'identity)) + (defalias 'char-int 'identity)) (defvar base64-alphabet "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/") @@ -101,7 +103,7 @@ base64-encoder-program.") (ignore-errors (delete-file tempfile))))) -(if (string-match "XEmacs" emacs-version) +(if (featurep 'xemacs) (defalias 'base64-insert-char 'insert-char) (defun base64-insert-char (char &optional count ignored buffer) (if (or (null buffer) (eq buffer (current-buffer))) @@ -153,12 +155,12 @@ base64-encoder-program.") (setq bits 0 counter 0)) (t (setq bits (lsh bits 6))))))) (cond - ((= (point) end) - (if (not (zerop counter)) - (error "at least %d bits missing at end of base64 encoding" - (* (- 4 counter) 6))) - (setq done t)) - ((eq (char-after (point)) ?=) + ((or (= (point) end) + (eq (char-after (point)) ?=)) + (if (and (= (point) end) (> counter 1)) + (message + "at least %d bits missing at end of base64 encoding" + (* (- 4 counter) 6))) (setq done t) (cond ((= counter 1) (error "at least 2 bits missing at end of base64 encoding")) @@ -270,7 +272,7 @@ base64-encoder-program.") (buffer-string) (kill-buffer (current-buffer))))) -(fset 'base64-decode-string 'base64-decode) -(fset 'base64-encode-string 'base64-encode) +(defalias 'base64-decode-string 'base64-decode) +(defalias 'base64-encode-string 'base64-encode) (provide 'base64)