Function: gnus-tree-node-insert
gnus-tree-node-insert is a byte-compiled function defined in
gnus-salt.el.gz.
Signature
(gnus-tree-node-insert HEADER SPARSE &optional ADOPTED)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-salt.el.gz
;;; Generating the tree.
(defun gnus-tree-node-insert (header sparse &optional adopted)
(let* ((dummy (stringp header))
(header (if (vectorp header) header
(progn
(setq header (make-mail-header "*****"))
(setf (mail-header-number header) 0)
(setf (mail-header-lines header) 0)
(setf (mail-header-chars header) 0)
header)))
(gnus-tmp-from (mail-header-from header))
(gnus-tmp-subject (mail-header-subject header))
(gnus-tmp-number (mail-header-number header))
(gnus-tmp-name
(cond
((string-match "(.+)" gnus-tmp-from)
(substring gnus-tmp-from
(1+ (match-beginning 0)) (1- (match-end 0))))
((string-match "<[^>]+> *$" gnus-tmp-from)
(let ((beg (match-beginning 0)))
(or (and (string-match "^\"[^\"]*\"" gnus-tmp-from)
(substring gnus-tmp-from (1+ (match-beginning 0))
(1- (match-end 0))))
(substring gnus-tmp-from 0 beg))))
((memq gnus-tmp-number sparse)
"***")
(t gnus-tmp-from)))
(gnus-tmp-open-bracket
(cond ((memq gnus-tmp-number sparse)
(caadr gnus-tree-brackets))
(dummy (caaddr gnus-tree-brackets))
(adopted (car (nth 3 gnus-tree-brackets)))
(t (caar gnus-tree-brackets))))
(gnus-tmp-close-bracket
(cond ((memq gnus-tmp-number sparse)
(cdadr gnus-tree-brackets))
(adopted (cdr (nth 3 gnus-tree-brackets)))
(dummy
(cdaddr gnus-tree-brackets))
(t (cdar gnus-tree-brackets))))
(buffer-read-only nil)
beg end)
(add-text-properties
(setq beg (point))
(setq end (progn (eval gnus-tree-line-format-spec t) (point)))
(list 'gnus-number gnus-tmp-number))
(when (or t (gnus-visual-p 'tree-highlight 'highlight))
(gnus-tree-highlight-node gnus-tmp-number beg end))))