proto-stream.el (open-protocol-stream): Protect against the low-level transport functions returning nil.
gnus-sum.el (gnus-summary-next-article): Remove hack to reselect group window, because it does the wrong thing when a separate frame displays the group buffer. gnus-int.el (gnus-request-accept-article): Don't try to update marks and stuff if the backend didn't return the article number. This fixes an Exchange-related nnimap bug. mm-decode.el (mm-preferred-alternative-precedence): Discourage showing empty parts. nnimap.el (nnimap-convert-partial-article): Protect against zero-length body parts.
This commit is contained in:
parent
f853f59905
commit
c516cd6dc7
6 changed files with 49 additions and 23 deletions
|
@ -1,3 +1,22 @@
|
|||
2011-01-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* nnimap.el (nnimap-convert-partial-article): Protect against
|
||||
zero-length body parts.
|
||||
|
||||
* mm-decode.el (mm-preferred-alternative-precedence): Discourage
|
||||
showing empty parts.
|
||||
|
||||
* gnus-int.el (gnus-request-accept-article): Don't try to update marks
|
||||
and stuff if the backend didn't return the article number. This fixes
|
||||
an Exchange-related nnimap bug.
|
||||
|
||||
* gnus-sum.el (gnus-summary-next-article): Remove hack to reselect
|
||||
group window, because it does the wrong thing when a separate frame
|
||||
displays the group buffer.
|
||||
|
||||
* proto-stream.el (open-protocol-stream): Protect against the low-level
|
||||
transport functions returning nil.
|
||||
|
||||
2011-01-07 Daiki Ueno <ueno@unixuser.org>
|
||||
|
||||
* mml2015.el (epg-sub-key-fingerprint): Autoload.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; gnus-int.el --- backend interface functions for Gnus
|
||||
|
||||
;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
|
||||
;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
;; Keywords: news
|
||||
|
@ -711,7 +711,9 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned."
|
|||
(if (stringp group) (gnus-group-real-name group) group)
|
||||
(cadr gnus-command-method)
|
||||
last)))
|
||||
(when (and gnus-agent (gnus-agent-method-p gnus-command-method))
|
||||
(when (and gnus-agent
|
||||
(gnus-agent-method-p gnus-command-method)
|
||||
(cdr result))
|
||||
(gnus-agent-regenerate-group group (list (cdr result))))
|
||||
result))
|
||||
|
||||
|
|
|
@ -7687,9 +7687,6 @@ If BACKWARD, the previous article is selected instead of the next."
|
|||
(if (eq gnus-keep-same-level 'best)
|
||||
(gnus-summary-best-group gnus-newsgroup-name)
|
||||
(gnus-summary-search-group backward gnus-keep-same-level))))
|
||||
;; For some reason, the group window gets selected. We change
|
||||
;; it back.
|
||||
(select-window (get-buffer-window (current-buffer)))
|
||||
;; Select next unread newsgroup automagically.
|
||||
(cond
|
||||
((or (not gnus-auto-select-next)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; mm-decode.el --- Functions for decoding MIME things
|
||||
|
||||
;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
;; 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
;; 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
|
||||
|
@ -1367,13 +1367,18 @@ Use CMD as the process."
|
|||
|
||||
(defun mm-preferred-alternative-precedence (handles)
|
||||
"Return the precedence based on HANDLES and `mm-discouraged-alternatives'."
|
||||
(let ((seq (nreverse (mapcar #'mm-handle-media-type
|
||||
handles))))
|
||||
(dolist (disc (reverse mm-discouraged-alternatives))
|
||||
(dolist (elem (copy-sequence seq))
|
||||
(when (string-match disc elem)
|
||||
(setq seq (nconc (delete elem seq) (list elem))))))
|
||||
seq))
|
||||
(setq handles (reverse handles))
|
||||
(dolist (disc (reverse mm-discouraged-alternatives))
|
||||
(dolist (handle (copy-sequence handles))
|
||||
(when (string-match disc (mm-handle-media-type handle))
|
||||
(setq handles (nconc (delete handle handles) (list handle))))))
|
||||
;; Remove empty parts.
|
||||
(dolist (handle (copy-sequence handles))
|
||||
(unless (with-current-buffer (mm-handle-buffer handle)
|
||||
(goto-char (point-min))
|
||||
(re-search-forward "[^ \t\n]" nil t))
|
||||
(setq handles (nconc (delete handle handles) (list handle)))))
|
||||
(mapcar #'mm-handle-media-type handles))
|
||||
|
||||
(defun mm-get-content-id (id)
|
||||
"Return the handle(s) referred to by ID."
|
||||
|
|
|
@ -582,7 +582,7 @@ textual parts.")
|
|||
;; Collect all the body parts.
|
||||
(while (looking-at ".*BODY\\[\\([.0-9]+\\)\\]")
|
||||
(setq id (match-string 1)
|
||||
bytes (nnimap-get-length))
|
||||
bytes (or (nnimap-get-length) 0))
|
||||
(beginning-of-line)
|
||||
(delete-region (point) (progn (forward-line 1) (point)))
|
||||
(push (list id (buffer-substring (point) (+ (point) bytes)))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; proto-stream.el --- negotiating TLS, STARTTLS and other connections
|
||||
|
||||
;; Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
;; Keywords: network
|
||||
|
@ -101,14 +101,17 @@ command to switch on STARTTLS otherwise."
|
|||
(setq type 'network))
|
||||
((eq type 'ssl)
|
||||
(setq type 'tls)))
|
||||
(destructuring-bind (stream greeting capabilities)
|
||||
(funcall (intern (format "proto-stream-open-%s" type) obarray)
|
||||
name buffer host service parameters)
|
||||
(list (and stream
|
||||
(memq (process-status stream)
|
||||
'(open run))
|
||||
stream)
|
||||
greeting capabilities))))
|
||||
(let ((open-result
|
||||
(funcall (intern (format "proto-stream-open-%s" type) obarray)
|
||||
name buffer host service parameters)))
|
||||
(if (null open-result)
|
||||
(list nil nil nil)
|
||||
(destructuring-bind (stream greeting capabilities) open-result
|
||||
(list (and stream
|
||||
(memq (process-status stream)
|
||||
'(open run))
|
||||
stream)
|
||||
greeting capabilities))))))
|
||||
|
||||
(defun proto-stream-open-network-only (name buffer host service parameters)
|
||||
(let ((start (with-current-buffer buffer (point)))
|
||||
|
|
Loading…
Add table
Reference in a new issue