This commit was generated by cvs2svn to compensate for changes in r1086,
[elisp/gnus.git-] / lisp / base64.el
index 88493c6..093673e 100644 (file)
@@ -108,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)
@@ -116,7 +116,7 @@ base64-encoder-program.")
 
 (defun base64-decode-region (start end)
   (interactive "r")
-  (message "Decoding base64...")
+  ;;(message "Decoding base64...")
   (let ((work-buffer nil)
        (done nil)
        (counter 0)
@@ -179,9 +179,10 @@ base64-encoder-program.")
          (insert-buffer-substring work-buffer)
          (delete-region (point) end))
       (and work-buffer (kill-buffer work-buffer))))
-  (message "Decoding base64... done"))
+  ;;(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)
@@ -218,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))
@@ -237,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)
@@ -274,4 +274,6 @@ base64-encoder-program.")
        (buffer-string)
       (kill-buffer (current-buffer)))))  
 
+(fset 'base64-decode-string 'base64-decode)
+
 (provide 'base64)