Mercurial > emacs
changeset 111994:c92e0a5c96e9
Merge changes made in Gnus trunk.
nnir.el (nnir-get-active): Ignore nnir-ignored-newsgroups if null.
gnus-sum.el (gnus-summary-refer-thread): Simplify code. Restore gnus-use-agent.
(gnus-get-newsgroup-headers): Avoid unwanted spaces at eol.
gravatar.el (gravatar-retrieve-synchronously): New function.
(gravatar-get-data): Make more robust.
gnus-util.el (gnus-rescale-image): Allow to resize images even if they are from file. Can also scale up.
nnimap.el (nnimap-retrieve-headers): Remove CRLF from the headers.
nnir.el (nnir-mode): Make sure 'gnus-registry-install is bound.
gnus-sum.el (gnus-get-newsgroup-headers): Revert the last change here, since it's up to the backends to do CRLF removal if their protocol has it.
gnus-group.el (gnus-group-delete-articles): New command.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Fri, 17 Dec 2010 22:45:16 +0000 |
parents | 5a6a18bf3302 |
children | b4939a7142b0 |
files | lisp/gnus/ChangeLog lisp/gnus/gnus-gravatar.el lisp/gnus/gnus-group.el lisp/gnus/gnus-sum.el lisp/gnus/gnus-util.el lisp/gnus/gravatar.el lisp/gnus/nnimap.el lisp/gnus/nnir.el |
diffstat | 8 files changed, 93 insertions(+), 37 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog Fri Dec 17 10:14:57 2010 -0500 +++ b/lisp/gnus/ChangeLog Fri Dec 17 22:45:16 2010 +0000 @@ -1,3 +1,37 @@ +2010-12-17 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * gnus-group.el (gnus-group-delete-articles): New command. + +2010-12-17 Andrew Cohen <cohen@andy.bu.edu> + + * nnir.el (nnir-mode): Make sure 'gnus-registry-install is bound. + +2010-12-17 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * gnus-sum.el (gnus-get-newsgroup-headers): Revert the last change + here, since it's up to the backends to do CRLF removal if their + protocol has it. + + * nnimap.el (nnimap-retrieve-headers): Remove CRLF from the headers. + +2010-12-17 Julien Danjou <julien@danjou.info> + + * gnus-util.el (gnus-rescale-image): Allow to resize images even if + they are from file. Can also scale up. + +2010-12-17 Andrew Cohen <cohen@andy.bu.edu> + + * gnus-sum.el (gnus-summary-refer-thread): Simplify code. Restore + gnus-use-agent. + (gnus-get-newsgroup-headers): Avoid unwanted spaces at eol. + + * nnir.el (nnir-get-active): Ignore nnir-ignored-newsgroups if null. + +2010-12-17 Julien Danjou <julien@danjou.info> + + * gravatar.el (gravatar-retrieve-synchronously): New function. + (gravatar-get-data): Make more robust. + 2010-12-16 Lars Magne Ingebrigtsen <larsi@gnus.org> * nnimap.el (nnimap-wait-for-response): Fix the end-point calculation
--- a/lisp/gnus/gnus-gravatar.el Fri Dec 17 10:14:57 2010 -0500 +++ b/lisp/gnus/gnus-gravatar.el Fri Dec 17 22:45:16 2010 +0000 @@ -56,7 +56,7 @@ (let* ((mail-extr-disable-voodoo t) (addresses (mail-extract-address-components (or (mail-fetch-field header) "") t)) - (gravatar-size gnus-gravatar-size) + (gravatar-size (or gnus-gravatar-size gravatar-size)) name) (dolist (address addresses) (when (and (setq name (car address))
--- a/lisp/gnus/gnus-group.el Fri Dec 17 10:14:57 2010 -0500 +++ b/lisp/gnus/gnus-group.el Fri Dec 17 22:45:16 2010 +0000 @@ -2734,6 +2734,15 @@ (lambda (group) (gnus-group-delete-group group nil t)))))) +(defun gnus-group-delete-articles (group) + "Delete all articles in the current group." + (interactive (list (gnus-group-group-name))) + (let ((articles (gnus-uncompress-range (gnus-active group)))) + (when (gnus-yes-or-no-p + (format "Do you really want to delete these %d articles forever? " + (length articles))) + (gnus-request-expire-articles articles group 'force)))) + (defun gnus-group-delete-group (group &optional force no-prompt) "Delete the current group. Only meaningful with editable groups. If FORCE (the prefix) is non-nil, all the articles in the group will
--- a/lisp/gnus/gnus-sum.el Fri Dec 17 10:14:57 2010 -0500 +++ b/lisp/gnus/gnus-sum.el Fri Dec 17 22:45:16 2010 +0000 @@ -8868,30 +8868,27 @@ variable." (interactive "P") (gnus-warp-to-article) - (let ((id (mail-header-id (gnus-summary-article-header))) - (gnus-inhibit-demon t) - (gnus-agent nil) - (gnus-summary-ignore-duplicates t) - (gnus-read-all-available-headers t) - (limit (if limit (prefix-numeric-value limit) - gnus-refer-thread-limit))) + (let* ((header (gnus-summary-article-header)) + (id (mail-header-id header)) + (gnus-inhibit-demon t) + (gnus-summary-ignore-duplicates t) + (gnus-read-all-available-headers t) + (limit (if limit (prefix-numeric-value limit) + gnus-refer-thread-limit))) (setq gnus-newsgroup-headers (gnus-merge 'list gnus-newsgroup-headers (if (gnus-check-backend-function 'request-thread gnus-newsgroup-name) - (gnus-request-thread (gnus-summary-article-header)) + (gnus-request-thread header) (let* ((last (if (numberp limit) - (min (+ (mail-header-number - (gnus-summary-article-header)) + (min (+ (mail-header-number header) limit) gnus-newsgroup-highest) gnus-newsgroup-highest)) (subject (gnus-simplify-subject - (mail-header-subject - (gnus-summary-article-header)))) - (refs (split-string (or (mail-header-references - (gnus-summary-article-header)) + (mail-header-subject header))) + (refs (split-string (or (mail-header-references header) ""))) (gnus-parse-headers-hook (lambda () (goto-char (point-min))
--- a/lisp/gnus/gnus-util.el Fri Dec 17 10:14:57 2010 -0500 +++ b/lisp/gnus/gnus-util.el Fri Dec 17 22:45:16 2010 +0000 @@ -1983,21 +1983,16 @@ "Rescale IMAGE to SIZE if possible. SIZE is in format (WIDTH . HEIGHT). Return a new image. Sizes are in pixels." - (if (or (not (fboundp 'imagemagick-types)) - (not (get-buffer-window (current-buffer)))) - image + (when (fboundp 'imagemagick-types) (let ((new-width (car size)) (new-height (cdr size))) - (when (> (cdr (image-size image t)) new-height) - (setq image (or (create-image (plist-get (cdr image) :data) 'imagemagick t - :height new-height) - image))) - (when (> (car (image-size image t)) new-width) - (setq image (or - (create-image (plist-get (cdr image) :data) 'imagemagick t - :width new-width) - image))) - image))) + (unless (= (cdr (image-size image t)) new-height) + (setcdr image (plist-put (cdr image) :type 'imagemagick)) + (setcdr image (plist-put (cdr image) :height new-height))) + (unless (= (car (image-size image t)) new-width) + (setcdr image (plist-put (cdr image) :type 'imagemagick)) + (setcdr image (plist-put (cdr image) :width new-width))))) + image) (defun gnus-list-memq-of-list (elements list) "Return non-nil if any of the members of ELEMENTS are in LIST."
--- a/lisp/gnus/gravatar.el Fri Dec 17 10:14:57 2010 -0500 +++ b/lisp/gnus/gravatar.el Fri Dec 17 22:45:16 2010 +0000 @@ -78,10 +78,11 @@ (defun gravatar-get-data () "Get data from current buffer." - (when (string-match "^HTTP/.+ 200 OK$" - (buffer-substring (point-min) (line-end-position))) - (when (search-forward "\n\n" nil t) - (buffer-substring (point) (point-max))))) + (save-excursion + (goto-char (point-min)) + (when (re-search-forward "^HTTP/.+ 200 OK$" nil (line-end-position)) + (when (search-forward "\n\n" nil t) + (buffer-substring (point) (point-max)))))) (eval-and-compile (cond ((featurep 'xemacs) @@ -98,7 +99,7 @@ If no image available, return 'error." (let ((data (gravatar-get-data))) (if data - (gravatar-create-image data nil t) + (gravatar-create-image data nil t) 'error))) ;;;###autoload @@ -117,6 +118,23 @@ (gravatar-data->image)) cbargs)))) +;;;###autoload +(defun gravatar-retrieve-synchronously (mail-address) + "Retrieve MAIL-ADDRESS gravatar and returns it." + (let ((url (gravatar-build-url mail-address))) + (if (gravatar-cache-expired url) + (with-current-buffer (url-retrieve-synchronously url) + (when gravatar-automatic-caching + (url-store-in-cache (current-buffer))) + (let ((data (gravatar-data->image))) + (kill-buffer (current-buffer)) + data)) + (with-temp-buffer + (mm-disable-multibyte) + (url-cache-extract (url-cache-create-filename url)) + (gravatar-data->image))))) + + (defun gravatar-retrieved (status cb &optional cbargs) "Callback function used by `gravatar-retrieve'." ;; Store gravatar?
--- a/lisp/gnus/nnimap.el Fri Dec 17 10:14:57 2010 -0500 +++ b/lisp/gnus/nnimap.el Fri Dec 17 22:45:16 2010 +0000 @@ -167,7 +167,8 @@ (nnimap-article-ranges (gnus-compress-sequence articles)) (nnimap-header-parameters)) t) - (nnimap-transform-headers)) + (nnimap-transform-headers) + (nnheader-remove-cr-followed-by-lf)) (insert-buffer-substring (nnimap-find-process-buffer (current-buffer)))) 'headers)) @@ -1568,7 +1569,7 @@ (min (- (point) 500) (save-excursion - (forward-line -1) + (forward-line -3) (point)))) (point-min)) t)))
--- a/lisp/gnus/nnir.el Fri Dec 17 10:14:57 2010 -0500 +++ b/lisp/gnus/nnir.el Fri Dec 17 22:45:16 2010 +0000 @@ -1543,7 +1543,8 @@ (let ((cur (current-buffer)) name) (goto-char (point-min)) - (unless (string= nnir-ignored-newsgroups "") + (unless (or (null nnir-ignored-newsgroups) + (string= nnir-ignored-newsgroups "")) (delete-matching-lines nnir-ignored-newsgroups)) (if (eq (car method) 'nntp) (while (not (eobp)) @@ -1589,7 +1590,8 @@ (when (eq (car (gnus-find-method-for-group gnus-newsgroup-name)) 'nnir) (setq gnus-summary-line-format (or nnir-summary-line-format gnus-summary-line-format)) - (when (eq gnus-registry-install t) + (when (and (boundp 'gnus-registry-install) + (eq gnus-registry-install t)) (remove-hook 'gnus-summary-article-delete-hook 'gnus-registry-action t) (remove-hook 'gnus-summary-article-move-hook 'gnus-registry-action t) (remove-hook 'gnus-summary-article-expire-hook 'gnus-registry-action t)