;;; Boston, MA 02111-1307, USA.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(require 'mm-util)
-
;; For non-MULE
(if (not (fboundp 'char-int))
(fset 'char-int 'identity))
(base64-insert-char char count ignored buffer))))
(defun base64-xemacs-insert-char (char &optional count ignored buffer)
- (if (and buffer (eq buffer (current-buffer)))
+ (if (or (null buffer) (eq buffer (current-buffer)))
(insert-char char count)
(save-excursion
(set-buffer buffer)
;;(message "Decoding base64... done")
)
-(defun base64-encode-region (start end)
+(defun base64-encode-region (start end &optional no-line-break)
(interactive "r")
(message "Encoding base64...")
(let ((work-buffer nil)
(aref alphabet (logand bits 63))
1 nil work-buffer)
(setq cols (+ cols 4))
- (cond ((= cols 72)
+ (cond ((and (= cols 72)
+ (not no-line-break))
(base64-insert-char ?\n 1 nil work-buffer)
(setq cols 0)))
(setq bits 0 counter 0))
(base64-insert-char (aref alphabet (logand (lsh bits -6) 63))
1 nil work-buffer)
(base64-insert-char ?= 1 nil work-buffer)))
- ;;;!!! LMI removed this, because he didn't like having
- ;;;!!! newlines added to the end of the encoding.
- ;;(if (> cols 0)
- ;; (base64-insert-char ?\n 1 nil work-buffer))
- )
+ (if (and (> cols 0)
+ (not no-line-break))
+ (base64-insert-char ?\n 1 nil work-buffer)))
(or (markerp end) (setq end (set-marker (make-marker) end)))
(goto-char start)
(insert-buffer-substring work-buffer)
(buffer-string)
(kill-buffer (current-buffer)))))
+(fset 'base64-decode-string 'base64-decode)
+
(provide 'base64)