Function: gnus-mime-view-part-as-charset

gnus-mime-view-part-as-charset is an interactive and byte-compiled function defined in gnus-art.el.gz.

Signature

(gnus-mime-view-part-as-charset &optional HANDLE ARG EVENT)

Documentation

Insert the MIME part under point into the current buffer using the specified charset.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-art.el.gz
(defun gnus-mime-view-part-as-charset (&optional handle arg event)
  "Insert the MIME part under point into the current buffer using the
specified charset."
  (interactive (list nil current-prefix-arg last-nonmenu-event)
	       gnus-article-mode)
  (save-excursion
    (mouse-set-point event)
    (gnus-article-check-buffer)
    (let ((handle (or handle (get-text-property (point) 'gnus-data)))
	  (fun (get-text-property (point) 'gnus-callback))
	  (gnus-newsgroup-ignored-charsets 'gnus-all)
	  charset form preferred parts)
      (when handle
	(when (prog1
		  (and fun
		       (setq charset
			     (or (cdr (assq
				       arg
				       gnus-summary-show-article-charset-alist))
				 (read-coding-system "Charset: "))))
		(if (mm-handle-undisplayer handle)
		    (mm-remove-part handle)))
	  (gnus-mime-set-charset-parameters handle charset)
	  (when (and (consp (setq form (cdr-safe fun)))
		     (setq form (ignore-errors
				  (assq 'gnus-mime-display-alternative form)))
		     (setq preferred (caddr form))
		     (progn
		       (when (eq (car preferred) 'quote)
                         (setq preferred (cadr preferred)))
		       (not (equal preferred
				   (get-text-property (point) 'gnus-data))))
		     (setq parts (get-text-property (point) 'gnus-part))
		     (setq parts (cdr (assq parts
					    gnus-article-mime-handle-alist)))
		     (equal (mm-handle-media-type parts) "multipart/alternative")
		     (setq parts (reverse (cdr parts))))
	    (setcar (cddr form)
		    (list 'quote (or (cadr (member preferred parts))
				     (car parts)))))
	  (funcall fun handle))))))