Function: gnus-uu-yenc-article

gnus-uu-yenc-article is a byte-compiled function defined in gnus-uu.el.gz.

Signature

(gnus-uu-yenc-article BUFFER IN-STATE)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-uu.el.gz
;; yEnc

(defun gnus-uu-yenc-article (_buffer _in-state)
  (with-current-buffer gnus-original-article-buffer
    (widen)
    (let ((file-name (yenc-extract-filename))
	  state) ;; start-char
      (when (not file-name)
	(setq state (list 'wrong-type)))

      (if (memq 'wrong-type state)
	  ()
	(when (yenc-first-part-p)
	  (setq gnus-uu-yenc-article-name
		(expand-file-name file-name gnus-uu-work-dir))
	  (push 'begin state))
	(when (yenc-last-part-p)
	  (push 'end state))
	(unless state
	  (push 'middle state))
	(mm-with-unibyte-buffer
	  (insert-buffer-substring gnus-original-article-buffer)
	  (yenc-decode-region (point-min) (point-max))
	  (when (and (member 'begin state)
		     (file-exists-p gnus-uu-yenc-article-name))
	    (delete-file gnus-uu-yenc-article-name))
	  (mm-append-to-file (point-min) (point-max)
			     gnus-uu-yenc-article-name)))
      (if (memq 'begin state)
	  (cons file-name state)
	state))))