Function: gnus-summary-bookmark-make-record
gnus-summary-bookmark-make-record is a byte-compiled function defined
in gnus-sum.el.gz.
Signature
(gnus-summary-bookmark-make-record)
Documentation
Make a bookmark entry for a Gnus summary buffer.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-sum.el.gz
(defun gnus-summary-bookmark-make-record ()
"Make a bookmark entry for a Gnus summary buffer."
(let (pos buf)
(unless (and (derived-mode-p 'gnus-summary-mode) gnus-article-current)
(save-restriction ; FIXME is it necessary to widen?
(widen) (setq pos (point))) ; Set position in gnus-article buffer.
(setq buf "art") ; We are recording bookmark from article buffer.
(setq bookmark-yank-point (point))
(setq bookmark-current-buffer (current-buffer))
(gnus-article-show-summary)) ; Go back in summary buffer.
;; We are now recording bookmark from summary buffer.
(unless buf (setq buf "sum"))
(let* ((subject (elt (gnus-summary-article-header) 1))
(grp (car gnus-article-current))
(art (cdr gnus-article-current))
(head (gnus-summary-article-header art))
(id (mail-header-id head)))
`(,subject
,@(condition-case nil
(bookmark-make-record-default 'no-file 'no-context pos)
(wrong-number-of-arguments
(bookmark-make-record-default 'point-only)))
(location . ,(format "Gnus-%s %s:%d:%s" buf grp art id))
(group . ,grp) (article . ,art)
(message-id . ,id) (handler . gnus-summary-bookmark-jump)))))