From c872595d34c5254408a0e8197f9869a53a5f4b34 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Tue, 19 Oct 2010 23:06:50 +0000 Subject: [PATCH] nndoc.el (nndoc-transform-git-headers): Generate Subject headers. gnus.texi (Document Groups): Mention git. --- doc/misc/ChangeLog | 1 + doc/misc/gnus.texi | 4 ++++ lisp/gnus/ChangeLog | 1 + lisp/gnus/nndoc.el | 44 ++++++++++++++++++++++++++++---------------- 4 files changed, 34 insertions(+), 16 deletions(-) diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 421b47b309f..85c1e7883a6 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -2,6 +2,7 @@ * gnus.texi (Customizing the IMAP Connection): The port strings are strings. + (Document Groups): Mention git. 2010-10-18 Lars Magne Ingebrigtsen diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index c0b504ef5b3..39693204da3 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -17969,6 +17969,10 @@ A @acronym{MIME} digest of messages. @item lanl-gov-announce Announcement messages from LANL Gov Announce. +@cindex git commit messages +@item git +@code{git} commit messages. + @cindex forwarded messages @item rfc822-forward A message forwarded according to RFC822. diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index f05cec4dd18..15c329e4521 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -4,6 +4,7 @@ (nndoc-git-type-p): New function. (nndoc-transform-git-article): Ditto. (nndoc-transform-git-headers): Ditto. + (nndoc-transform-git-headers): Generate Subject headers. * shr.el (shr-parse-style): New function. (shr-tag-span): Ditto. diff --git a/lisp/gnus/nndoc.el b/lisp/gnus/nndoc.el index 5d946f5a6ec..9f147e32b41 100644 --- a/lisp/gnus/nndoc.el +++ b/lisp/gnus/nndoc.el @@ -232,19 +232,22 @@ from the document.") (while articles (when (setq entry (cdr (assq (setq article (pop articles)) nndoc-dissection-alist))) - (insert (format "221 %d Article retrieved.\n" article)) - (if nndoc-generate-head-function - (funcall nndoc-generate-head-function article) - (insert-buffer-substring - nndoc-current-buffer (car entry) (nth 1 entry))) - (goto-char (point-max)) - (unless (eq (char-after (1- (point))) ?\n) - (insert "\n")) - (insert (format "Lines: %d\n" (nth 4 entry))) - (insert ".\n"))) - - (when nndoc-header-transform-function - (funcall nndoc-header-transform-function)) + (let ((start (point))) + (insert (format "221 %d Article retrieved.\n" article)) + (if nndoc-generate-head-function + (funcall nndoc-generate-head-function article) + (insert-buffer-substring + nndoc-current-buffer (car entry) (nth 1 entry))) + (goto-char (point-max)) + (unless (eq (char-after (1- (point))) ?\n) + (insert "\n")) + (insert (format "Lines: %d\n" (nth 4 entry))) + (insert ".\n") + (when nndoc-header-transform-function + (save-excursion + (save-restriction + (narrow-to-region start (point)) + (funcall nndoc-header-transform-function entry))))))) (nnheader-fold-continuation-lines) 'headers))))) @@ -671,10 +674,19 @@ from the document.") (when (re-search-forward "^Author: " nil t) (replace-match "From: " t t))) -(defun nndoc-transform-git-headers () +(defun nndoc-transform-git-headers (entry) (goto-char (point-min)) - (while (re-search-forward "^Author: " nil t) - (replace-match "From: " t t))) + (when (re-search-forward "^Author: " nil t) + (replace-match "From: " t t)) + (let (subject) + (with-current-buffer nndoc-current-buffer + (goto-char (car entry)) + (when (search-forward "\n\n" nil t) + (setq subject (buffer-substring (point) (line-end-position))))) + (when subject + (goto-char (point-min)) + (forward-line 1) + (insert (format "Subject: %s\n" subject))))) (defun nndoc-lanl-gov-announce-type-p () (when (let ((case-fold-search nil)) -- 2.39.5