This commit was generated by cvs2svn to compensate for changes in r1086,
[elisp/gnus.git-] / lisp / base64.el
index 4b55dd5..093673e 100644 (file)
@@ -25,8 +25,6 @@
 ;;; Boston, MA 02111-1307, USA.
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(require 'mm-util)
-
 ;; For non-MULE
 (if (not (fboundp 'char-int))
     (fset 'char-int 'identity))
@@ -110,7 +108,7 @@ base64-encoder-program.")
      (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)
@@ -184,7 +182,7 @@ base64-encoder-program.")
   ;;(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)
@@ -221,7 +219,8 @@ base64-encoder-program.")
                      (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))
@@ -240,11 +239,9 @@ base64-encoder-program.")
                (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)
@@ -277,4 +274,6 @@ base64-encoder-program.")
        (buffer-string)
       (kill-buffer (current-buffer)))))  
 
+(fset 'base64-decode-string 'base64-decode)
+
 (provide 'base64)