# HG changeset patch # User Katsumi Yamaoka # Date 1287526847 0 # Node ID 779cd575396a6bddb83ae62804336d0f048a7703 # Parent b5730f66fbf431ec7f1efb00fe8b56f0aea3ea6d Merge changes made in Gnus trunk. gnus.texi (Customizing the IMAP Connection): The port strings are strings. nnmairix.el (nnmairix-summary-mode-hook): Move nnmairix's `$' command to `G G' to avoid collisions. shr.el (shr-parse-style, shr-tag-span): New functions. nndoc.el (nndoc-type-alist): Add git support. (nndoc-git-type-p, nndoc-transform-git-article, nndoc-transform-git-headers): New functions. diff -r b5730f66fbf4 -r 779cd575396a doc/misc/gnus.texi --- a/doc/misc/gnus.texi Tue Oct 19 20:45:42 2010 +0000 +++ b/doc/misc/gnus.texi Tue Oct 19 22:20:47 2010 +0000 @@ -14872,7 +14872,7 @@ @item nnimap-server-port If the server uses a non-standard port, that can be specified here. A -typical port would be @samp{imap} or @samp{imaps}. +typical port would be @code{"imap"} or @code{"imaps"}. @item nnimap-stream How @code{nnimap} should connect to the server. Possible values are: diff -r b5730f66fbf4 -r 779cd575396a lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Tue Oct 19 20:45:42 2010 +0000 +++ b/lisp/gnus/ChangeLog Tue Oct 19 22:20:47 2010 +0000 @@ -1,3 +1,16 @@ +2010-10-19 Lars Magne Ingebrigtsen + + * nndoc.el (nndoc-type-alist): Add git support. + (nndoc-git-type-p): New function. + (nndoc-transform-git-article): Ditto. + (nndoc-transform-git-headers): Ditto. + + * shr.el (shr-parse-style): New function. + (shr-tag-span): Ditto. + + * nnmairix.el (nnmairix-summary-mode-hook): Move nnmairix's `$' command + to `G G' to avoid collisions. + 2010-10-19 Katsumi Yamaoka * shr.el: Load kinsoku if necessary. diff -r b5730f66fbf4 -r 779cd575396a lisp/gnus/nndoc.el --- a/lisp/gnus/nndoc.el Tue Oct 19 20:45:42 2010 +0000 +++ b/lisp/gnus/nndoc.el Tue Oct 19 22:20:47 2010 +0000 @@ -138,6 +138,14 @@ (generate-head-function . nndoc-generate-lanl-gov-head) (article-transform-function . nndoc-transform-lanl-gov-announce) (subtype preprints guess)) + (git + (file-begin . "\n- Log ---.*") + (article-begin . "^commit ") + (head-begin . "^Author: ") + (body-begin . "^$") + (file-end . "\n-----------------------------------------------------------------------") + (article-transform-function . nndoc-transform-git-article) + (header-transform-function . nndoc-transform-git-headers)) (rfc822-forward (article-begin . "^\n+") (body-end-function . nndoc-rfc822-forward-body-end-function) @@ -193,6 +201,7 @@ (defvoo nndoc-prepare-body-function nil) (defvoo nndoc-generate-head-function nil) (defvoo nndoc-article-transform-function nil) +(defvoo nndoc-header-transform-function nil) (defvoo nndoc-article-begin-function nil) (defvoo nndoc-generate-article-function nil) (defvoo nndoc-dissection-function nil) @@ -234,6 +243,8 @@ (insert (format "Lines: %d\n" (nth 4 entry))) (insert ".\n"))) + (when nndoc-header-transform-function + (funcall nndoc-header-transform-function)) (nnheader-fold-continuation-lines) 'headers))))) @@ -373,6 +384,7 @@ nndoc-file-end nndoc-article-begin nndoc-body-begin nndoc-body-end-function nndoc-body-end nndoc-prepare-body-function nndoc-article-transform-function + nndoc-header-transform-function nndoc-generate-head-function nndoc-body-begin-function nndoc-head-begin-function nndoc-generate-article-function @@ -649,6 +661,21 @@ (defun nndoc-slack-digest-type-p () 0) +(defun nndoc-git-type-p () + (and (search-forward "\n- Log ---" nil t) + (search-forward "\ncommit " nil t) + (search-forward "\nAuthor: " nil t))) + +(defun nndoc-transform-git-article (article) + (goto-char (point-min)) + (when (re-search-forward "^Author: " nil t) + (replace-match "From: " t t))) + +(defun nndoc-transform-git-headers () + (goto-char (point-min)) + (while (re-search-forward "^Author: " nil t) + (replace-match "From: " t t))) + (defun nndoc-lanl-gov-announce-type-p () (when (let ((case-fold-search nil)) (re-search-forward "^\\\\\\\\\n\\(Paper\\( (\\*cross-listing\\*)\\)?: [a-zA-Z-\\.]+/[0-9]+\\|arXiv:\\)" nil t)) diff -r b5730f66fbf4 -r 779cd575396a lisp/gnus/nnmairix.el --- a/lisp/gnus/nnmairix.el Tue Oct 19 20:45:42 2010 +0000 +++ b/lisp/gnus/nnmairix.el Tue Oct 19 22:20:47 2010 +0000 @@ -188,17 +188,17 @@ (defun nnmairix-summary-mode-hook () "Nnmairix summary mode keymap." (define-key gnus-summary-mode-map - (kbd "$ t") 'nnmairix-search-thread-this-article) + (kbd "G G t") 'nnmairix-search-thread-this-article) (define-key gnus-summary-mode-map - (kbd "$ f") 'nnmairix-search-from-this-article) + (kbd "G G f") 'nnmairix-search-from-this-article) (define-key gnus-summary-mode-map - (kbd "$ m") 'nnmairix-widget-search-from-this-article) + (kbd "G G m") 'nnmairix-widget-search-from-this-article) (define-key gnus-summary-mode-map - (kbd "$ g") 'nnmairix-create-search-group-from-message) + (kbd "G G g") 'nnmairix-create-search-group-from-message) (define-key gnus-summary-mode-map - (kbd "$ o") 'nnmairix-goto-original-article) + (kbd "G G o") 'nnmairix-goto-original-article) (define-key gnus-summary-mode-map - (kbd "$ u") 'nnmairix-remove-tick-mark-original-article)) + (kbd "G G u") 'nnmairix-remove-tick-mark-original-article)) (add-hook 'gnus-group-mode-hook 'nnmairix-group-mode-hook) (add-hook 'gnus-summary-mode-hook 'nnmairix-summary-mode-hook) diff -r b5730f66fbf4 -r 779cd575396a lisp/gnus/shr.el --- a/lisp/gnus/shr.el Tue Oct 19 20:45:42 2010 +0000 +++ b/lisp/gnus/shr.el Tue Oct 19 22:20:47 2010 +0000 @@ -410,6 +410,29 @@ (defun shr-tag-s (cont) (shr-fontize-cont cont 'strike-through)) +(defun shr-tag-span (cont) + (let ((start (point)) + (color (cdr (assq 'color (shr-parse-style (cdr (assq :style cont))))))) + (shr-generic cont) + (when color + (let ((overlay (make-overlay start (point)))) + (overlay-put overlay 'face (cons 'foreground-color color)))))) + +(defun shr-parse-style (style) + (when style + (let ((plist nil)) + (dolist (elem (split-string style ";")) + (when elem + (setq elem (split-string elem ":")) + (when (and (car elem) + (cadr elem)) + (let ((name (replace-regexp-in-string "^ +\\| +$" "" (car elem))) + (value (replace-regexp-in-string "^ +\\| +$" "" (cadr elem)))) + (push (cons (intern name obarray) + value) + plist))))) + plist))) + (defun shr-tag-a (cont) (let ((url (cdr (assq :href cont))) (start (point))