Function: gnus-article-toggle-cited-text

gnus-article-toggle-cited-text is a byte-compiled function defined in gnus-cite.el.gz.

Signature

(gnus-article-toggle-cited-text ARGS &optional ARG)

Documentation

Toggle hiding the text in REGION.

ARG can be nil or a number. Positive means hide, negative means show, nil means toggle.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-cite.el.gz
(defun gnus-article-toggle-cited-text (args &optional arg)
  "Toggle hiding the text in REGION.
ARG can be nil or a number.  Positive means hide, negative
means show, nil means toggle."
  (let* ((region (car args))
	 (beg (car region))
	 (end (cdr region))
	 (start (cadr args))
	 (hidden
	  (text-property-any beg (1- end) 'article-type 'cite))
	 (inhibit-point-motion-hooks t)
	 buffer-read-only)
    (when (or (null arg)
	      (zerop arg)
	      (and (> arg 0) (not hidden))
	      (and (< arg 0) hidden))
      (if hidden
	  (progn
	    ;; Can't remove 'cite from g-a-wash-types here because
	    ;; multiple citations may be hidden -jas
	    (gnus-remove-text-properties-when
	     'article-type 'cite beg end
	     (cons 'article-type (cons 'cite
				       gnus-hidden-properties))))
	(gnus-add-wash-type 'cite)
	(gnus-add-text-properties-when
	 'article-type nil beg end
	 (cons 'article-type (cons 'cite
				   gnus-hidden-properties))))
      (let ((gnus-article-mime-handle-alist-1 gnus-article-mime-handle-alist))
	(gnus-set-mode-line 'article))
      (save-excursion
	(goto-char start)
	(gnus-delete-line)
	(put-text-property
	 (point)
	 (progn
	   (gnus-article-add-button
	    (point)
	    (progn (eval
		    (if hidden
			gnus-cited-opened-text-button-line-format-spec
		      gnus-cited-closed-text-button-line-format-spec)
		    t)
		   (point))
	    'gnus-article-toggle-cited-text
	    args)
	   (point))
	 'article-type 'annotation)))))