summaryrefslogtreecommitdiff
path: root/lisp/gnus/pop3.el
diff options
context:
space:
mode:
authorKatsumi Yamaoka <yamaoka@jpl.org>2010-09-18 10:02:19 +0000
committerKatsumi Yamaoka <yamaoka@jpl.org>2010-09-18 10:02:19 +0000
commit20a673b2d0ed2b2f75ab5d7d6e4930fdea0e1a5f (patch)
treea6e9b3d9d50ac8a81b0336ad7814aa706df4c108 /lisp/gnus/pop3.el
parent71b961e847a4c8c9abbf9c383340c0619d8cf1d3 (diff)
downloademacs-20a673b2d0ed2b2f75ab5d7d6e4930fdea0e1a5f.tar.gz
Merge changes made in Gnus trunk.
Reimplement nnimap, and do tweaks to the rest of the code to support that. * gnus-int.el (gnus-finish-retrieve-group-infos) (gnus-retrieve-group-data-early): New functions. * gnus-range.el (gnus-range-nconcat): New function. * gnus-start.el (gnus-get-unread-articles): Support early retrieval of data. (gnus-read-active-for-groups): Support finishing the early retrieval of data. * gnus-sum.el (gnus-summary-move-article): Pass the move-to group name if the move is internal, so that nnimap can do fast internal moves. * gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for nnimap usage. * nnimap.el: Rewritten. * nnmail.el (nnmail-inhibit-default-split-group): New internal variable to allow the mail splitting to not return a default group. This is useful for nnimap, which will leave unmatched mail in the inbox. * utf7.el (utf7-encode): Autoload. Implement shell connection. * nnimap.el (nnimap-open-shell-stream): New function. (nnimap-open-connection): Use it. Get the number of lines by using BODYSTRUCTURE. (nnimap-transform-headers): Get the number of lines in each message. (nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the number of lines. Not all servers return UIDNEXT. Work past this problem. Remove junk from end of file. Fix typo in "bogus" section. Make capabilties be case-insensitive. Require cl when compiling. Don't bug out if the LIST command doesn't have any parameters. 2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change) * nnimap.el (nnimap-get-groups): Don't bug out if the LIST command doesn't have any parameters. (mm-text-html-renderer): Document gnus-article-html. 2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix) * mm-decode.el (mm-text-html-renderer): Document gnus-article-html. * dgnushack.el: Define netrc-credentials. If the user doesn't have a /etc/services, supply some sensible port defaults. Have `unseen-or-unread' select an unread unseen article first. (nntp-open-server): Return whether the open was successful or not. Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ). Save result so that it doesn't say "failed" all the time. Add ~/.authinfo to the default, since that's probably most useful for users. Don't use the "finish" method when we're reading from the agent. Add some more nnimap-relevant agent stuff to nnagent.el. * nnimap.el (nnimap-with-process-buffer): Removed. Revert one line that was changed by mistake in the last checkin. (nnimap-open-connection): Don't error out when we can't make a connection nnimap-related changes to avoid bugging out if we can't contact a server. * gnus-start.el (gnus-get-unread-articles): Don't try to scan groups from methods that are denied. * nnimap.el (nnimap-possibly-change-group): Return nil if we can't log in. (nnimap-finish-retrieve-group-infos): Make sure we're not waiting for nothing. * gnus-sum.el (gnus-select-newsgroup): Indent.
Diffstat (limited to 'lisp/gnus/pop3.el')
-rw-r--r--lisp/gnus/pop3.el21
1 files changed, 13 insertions, 8 deletions
diff --git a/lisp/gnus/pop3.el b/lisp/gnus/pop3.el
index 950cae25c4e..63ed8004a9f 100644
--- a/lisp/gnus/pop3.el
+++ b/lisp/gnus/pop3.el
@@ -279,9 +279,9 @@ Returns the process associated with the connection."
(let ((coding-system-for-read 'binary)
(coding-system-for-write 'binary)
process)
- (with-current-buffer
- (get-buffer-create (concat " trace of POP session to "
- mailhost))
+ (save-excursion
+ (set-buffer (get-buffer-create (concat " trace of POP session to "
+ mailhost)))
(erase-buffer)
(setq pop3-read-point (point-min))
(setq process
@@ -353,7 +353,8 @@ Returns the process associated with the connection."
Return the response string if optional second argument is non-nil."
(let ((case-fold-search nil)
match-end)
- (with-current-buffer (process-buffer process)
+ (save-excursion
+ (set-buffer (process-buffer process))
(goto-char pop3-read-point)
(while (and (memq (process-status process) '(open run))
(not (search-forward "\r\n" nil t)))
@@ -510,7 +511,8 @@ Otherwise, return the size of the message-id MSG"
(if msg
(string-to-number (nth 2 (split-string response " ")))
(let ((start pop3-read-point) end)
- (with-current-buffer (process-buffer process)
+ (save-excursion
+ (set-buffer (process-buffer process))
(while (not (re-search-forward "^\\.\r\n" nil t))
(pop3-accept-process-output process)
(goto-char start))
@@ -528,7 +530,8 @@ Otherwise, return the size of the message-id MSG"
(pop3-send-command process (format "RETR %s" msg))
(pop3-read-response process)
(let ((start pop3-read-point) end)
- (with-current-buffer (process-buffer process)
+ (save-excursion
+ (set-buffer (process-buffer process))
(while (not (re-search-forward "^\\.\r\n" nil t))
(pop3-accept-process-output process)
(goto-char start))
@@ -544,7 +547,8 @@ Otherwise, return the size of the message-id MSG"
(setq end (point-marker))
(pop3-clean-region start end)
(pop3-munge-message-separator start end)
- (with-current-buffer crashbuf
+ (save-excursion
+ (set-buffer crashbuf)
(erase-buffer))
(copy-to-buffer crashbuf start end)
(delete-region start end)
@@ -581,7 +585,8 @@ and close the connection."
(pop3-send-command process "QUIT")
(pop3-read-response process t)
(if process
- (with-current-buffer (process-buffer process)
+ (save-excursion
+ (set-buffer (process-buffer process))
(goto-char (point-max))
(delete-process process))))