X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fbase64.el;h=572a5d379e8a4ad33b297df65e07675443befcb3;hb=bd5c2da9b674dbe4d52c456ce996481be2e8e687;hp=36e1374ba94a0e5d570d6aac6c747202ce140fa3;hpb=d2f5d9a69505085a5bb6e98c4ac1052cc4a56cd0;p=gnus diff --git a/lisp/base64.el b/lisp/base64.el index 36e1374ba..572a5d379 100644 --- a/lisp/base64.el +++ b/lisp/base64.el @@ -29,7 +29,7 @@ ;; For non-MULE (if (not (fboundp 'char-int)) - (fset 'char-int 'identity)) + (defalias 'char-int 'identity)) (defvar base64-alphabet "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/") @@ -103,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))) @@ -155,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")) @@ -272,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)