(nnimap-request-list): Nix out group in the correct buffer.
(nnimap-parse-flags): Implement by using `read' instead of
hand-parsing.
+ (nnimap-flags-to-marks): Pass on permanent-flags.
+ (nnimap-make-process-buffer): Record the server name.
* nnmail.el (nnmail-split-incoming): Take an optional junk-func
parameter, and propagate this downwards.
"Internal variable with default value for `nnimap-split-download-body'.")
(defstruct nnimap
- group process commands capabilities select-result newlinep)
+ group process commands capabilities select-result newlinep server)
(defvar nnimap-object nil)
(buffer-disable-undo)
(gnus-add-buffer)
(set (make-local-variable 'after-change-functions) nil)
- (set (make-local-variable 'nnimap-object) (make-nnimap))
+ (set (make-local-variable 'nnimap-object)
+ (make-nnimap :server (nnoo-current-server 'nnimap)))
(push (list buffer (current-buffer)) nnimap-connection-alist)
(current-buffer)))
(defun nnimap-update-info (info marks)
(when marks
- (destructuring-bind (existing flags high low uidnext start-article) marks
+ (destructuring-bind (existing flags high low uidnext start-article
+ permanent-flags) marks
(let ((group (gnus-info-group info))
(completep (and start-article
(= start-article 1))))
(if (not mark)
(push (list flag (car article)) marks)
(setcdr mark (cons (car article) (cdr mark)))))
- (push (list group existing marks high low uidnext start-article)
+ (push (list group existing marks high low uidnext start-article
+ permanent-flags)
data))))
data))