Function: gnus-pp-gnus-kill

gnus-pp-gnus-kill is a byte-compiled function defined in gnus-kill.el.gz.

Signature

(gnus-pp-gnus-kill OBJECT)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-kill.el.gz
(defun gnus-pp-gnus-kill (object)
  (if (or (not (consp (nth 2 object)))
	  (not (consp (cdr (nth 2 object))))
	  (and (eq 'quote (car (nth 2 object)))
	       (not (consp (cdadr (nth 2 object))))))
      (concat "\n" (gnus-prin1-to-string object))
    (with-current-buffer (gnus-get-buffer-create "*Gnus PP*")
      (buffer-disable-undo)
      (erase-buffer)
      (insert (format "\n(%S %S\n  '(" (nth 0 object) (nth 1 object)))
      (let ((klist (cadr (nth 2 object)))
	    (first t))
	(while klist
	  (insert (if first (progn (setq first nil) "")  "\n    ")
		  (gnus-prin1-to-string (car klist)))
	  (setq klist (cdr klist))))
      (insert ")")
      (and (nth 3 object)
	   (insert "\n  "
		   (if (and (consp (nth 3 object))
			    (not (eq 'quote (car (nth 3 object)))))
		       "'" "")
		   (gnus-prin1-to-string (nth 3 object))))
      (when (nth 4 object)
	(insert "\n  t"))
      (insert ")")
      (prog1
	  (buffer-string)
	(kill-buffer (current-buffer))))))