+2000-09-10 Dave Love <fx@gnu.org>
+
+ * message.el: Require mail-abbrevs for XEmacs for a problem with
+ keybinding despite the autoloads for it.
+
+2000-09-08 Simon Josefsson <simon@josefsson.org>
+
+ * imap.el (imap-kerberos4-open): Erase more (fixes race condition?).
+
+ * nnimap.el (nnimap-request-update-info-internal): Remove tick
+ marks from dormant articles. (See nnimap-request-set-mark.)
+ (nnimap-retrieve-headers-progress): Demule.
+ (nnimap-open-server): Call nnoo-change-server twice, once for
+ getting the nnimap-server-buffer and once for letting n-c-s set
+ the variables in that buffer.
+
+2000-09-08 David Edmondson <dme@dme.org>
+
+ * gnus.el (gnus-short-group-name): Guess separator.
+
2000-09-07 Tadashi Watanabe <watanabe@sigmaitec.co.jp>
* smiley.el (smiley-buffer, smiley-create-glyph): Work with GTK
group (substring group (+ 1 colon))))
(setq foreign (concat foreign ":")))
;; Collapse group name leaving LEVELS uncollapsed elements
- (let* ((glist (split-string group "\\."))
- (glen (length glist))
+ (let* ((slist (split-string group "/"))
+ (slen (length slist))
+ (dlist (split-string group "\\."))
+ (dlen (length dlist))
+ glist
+ glen
+ gsep
res)
+ (if (> slen dlen)
+ (setq glist slist
+ glen slen
+ gsep "/")
+ (setq glist dlist
+ glen dlen
+ gsep "."))
(setq levels (- glen levels))
(dolist (g glist)
(push (if (>= (decf levels) 0)
(substring g 0 1))
g)
res))
- (concat foreign (mapconcat 'identity (nreverse res) "."))))))
+ (concat foreign (mapconcat 'identity (nreverse res) gsep))))))
(defun gnus-narrow-to-body ()
"Narrow to the body of an article."
cmd done)
(while (and (not done) (setq cmd (pop cmds)))
(message "Opening Kerberos 4 IMAP connection with `%s'..." cmd)
+ (erase-buffer)
(let* ((port (or port imap-default-port))
(process (as-binary-process
(start-process
(require 'mailheader)
(require 'nnheader)
+;; This is apparently necessary even though things are autoloaded:
+(if (featurep 'xemacs)
+ (require 'mail-abbrevs))
(require 'mime-edit)
(eval-when-compile (require 'static))
(with-current-buffer nnimap-server-buffer
(setq uid imap-current-message
mbx imap-current-mailbox
- headers (if (imap-capability 'IMAP4rev1)
- ;; xxx don't just use car? alist doesn't contain
- ;; anything else now, but it might...
- (nth 2 (car (imap-message-get uid 'BODYDETAIL)))
- (imap-message-get uid 'RFC822.HEADER))
+ headers (nnimap-demule
+ (if (imap-capability 'IMAP4rev1)
+ ;; xxx don't just use car? alist doesn't contain
+ ;; anything else now, but it might...
+ (nth 2 (car (imap-message-get uid 'BODYDETAIL)))
+ (imap-message-get uid 'RFC822.HEADER)))
lines (imap-body-lines (imap-message-body imap-current-message))
chars (imap-message-get imap-current-message 'RFC822.SIZE)))
(nnheader-insert-nov
(cadr (assq 'nnimap-server-address defs))) defs)
(push (list 'nnimap-address server) defs)))
(nnoo-change-server 'nnimap server defs)
+ (with-current-buffer (get-buffer-create nnimap-server-buffer)
+ (nnoo-change-server 'nnimap server defs))
(or (and nnimap-server-buffer
(imap-opened nnimap-server-buffer))
(nnimap-open-connection server))))
(gnus-info-marks info))
t)))
gnus-article-mark-lists)
+
+ ;; nnimap mark dormant article as ticked too (for other clients)
+ ;; so we remove that mark for gnus since we support dormant
+ (gnus-info-set-marks
+ info
+ (nnimap-update-alist-soft
+ 'tick
+ (gnus-remove-from-range
+ (cdr-safe (assoc 'tick (gnus-info-marks info)))
+ (cdr-safe (assoc 'dormant (gnus-info-marks info))))
+ (gnus-info-marks info))
+ t)
(gnus-message 5 "nnimap: Updating info for %s...done"
(gnus-info-group info))