+2005-10-27 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * flow-fill.el (fill-flowed-encode-tests): Restore trailing
+ whitespace removed in revision 7.8. Use concatenated string to
+ protect trailing whitespace.
+
+2005-10-27 Jouni K Seppanen <jks@iki.fi> (tiny change)
+
+ * nnimap.el (nnimap-search-uids-not-since-is-evil): Add variable.
+ (nnimap-request-expire-articles): Use it to avoid sending 'UID
+ SEARCH UID ... NOT SINCE' queries, for inefficient servers like
+ Courier IMAP ("some version from 2004"). Mostly based on similar
+ code in the same function.
+
+2005-10-26 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * message.el (message-display-completion-list): New function.
+ (message-expand-group): Use it; make sure the Completions buffer
+ is modifiable.
+
2005-10-30 Chong Yidong <cyd@stupidchicken.com>
* imap.el (imap-open): Handle case where buffer is a buffer
(defvar show-trailing-whitespace))
(defvar fill-flowed-encode-tests
- '(
+ `(
;; The syntax of each list element is:
;; (INPUT . EXPECTED-OUTPUT)
- ("> Thou villainous ill-breeding spongy dizzy-eyed
-> reeky elf-skinned pigeon-egg!
->> Thou artless swag-bellied milk-livered
->> dismal-dreaming idle-headed scut!
->>> Thou errant folly-fallen spleeny reeling-ripe
->>> unmuzzled ratsbane!
->>>> Henceforth, the coding style is to be strictly
->>>> enforced, including the use of only upper case.
->>>>> I've noticed a lack of adherence to the coding
->>>>> styles, of late.
->>>>>> Any complaints?
-" . "> Thou villainous ill-breeding spongy dizzy-eyed reeky elf-skinned
-> pigeon-egg!
->> Thou artless swag-bellied milk-livered dismal-dreaming idle-headed
->> scut!
->>> Thou errant folly-fallen spleeny reeling-ripe unmuzzled ratsbane!
->>>> Henceforth, the coding style is to be strictly enforced,
->>>> including the use of only upper case.
->>>>> I've noticed a lack of adherence to the coding styles, of late.
->>>>>> Any complaints?
-")
-; ("
-;> foo
-;>
-;>
-;> bar
-;" . "
-;> foo bar
-;")
+ (,(concat
+ "> Thou villainous ill-breeding spongy dizzy-eyed \n"
+ "> reeky elf-skinned pigeon-egg! \n"
+ ">> Thou artless swag-bellied milk-livered \n"
+ ">> dismal-dreaming idle-headed scut!\n"
+ ">>> Thou errant folly-fallen spleeny reeling-ripe \n"
+ ">>> unmuzzled ratsbane!\n"
+ ">>>> Henceforth, the coding style is to be strictly \n"
+ ">>>> enforced, including the use of only upper case.\n"
+ ">>>>> I've noticed a lack of adherence to the coding \n"
+ ">>>>> styles, of late.\n"
+ ">>>>>> Any complaints?")
+ .
+ ,(concat
+ "> Thou villainous ill-breeding spongy dizzy-eyed reeky elf-skinned\n"
+ "> pigeon-egg! \n"
+ ">> Thou artless swag-bellied milk-livered dismal-dreaming idle-headed\n"
+ ">> scut!\n"
+ ">>> Thou errant folly-fallen spleeny reeling-ripe unmuzzled ratsbane!\n"
+ ">>>> Henceforth, the coding style is to be strictly enforced,\n"
+ ">>>> including the use of only upper case.\n"
+ ">>>>> I've noticed a lack of adherence to the coding styles, of late.\n"
+ ">>>>>> Any complaints?\n"
+ ))
+ ;; (,(concat
+ ;; "\n"
+ ;; "> foo\n"
+ ;; "> \n"
+ ;; "> \n"
+ ;; "> bar\n")
+ ;; .
+ ;; ,(concat
+ ;; "\n"
+ ;; "> foo bar\n"))
))
(defun fill-flowed-test ()
(lookup-key global-map "\t")
'indent-relative))))
+(eval-and-compile
+ (condition-case nil
+ (with-temp-buffer
+ (let ((standard-output (current-buffer)))
+ (eval '(display-completion-list nil "")))
+ (defalias 'message-display-completion-list 'display-completion-list))
+ (error ;; Don't use `wrong-number-of-arguments' here because of XEmacs.
+ (defun message-display-completion-list (completions &optional ignore)
+ "Display the list of completions, COMPLETIONS, using `standard-output'."
+ (display-completion-list completions)))))
+
(defun message-expand-group ()
"Expand the group name under point."
(let* ((b (save-excursion
(let ((buffer-read-only nil))
(erase-buffer)
(let ((standard-output (current-buffer)))
- (display-completion-list (sort completions 'string<) string))
+ (message-display-completion-list (sort completions 'string<)
+ string))
+ (setq buffer-read-only nil)
(goto-char (point-min))
(delete-region (point) (progn (forward-line 3) (point))))))))))
Unlike other backends, you do not need to take special care if you
flip this variable.")
+(defvoo nnimap-search-uids-not-since-is-evil nil
+ "If non-nil, avoid \"UID SEARCH UID ... NOT SINCE\" queries when expiring.
+Instead, use \"UID SEARCH SINCE\" to prune the list of expirable
+articles within Gnus. This seems to be faster on Courier in some cases.")
+
(defvoo nnimap-expunge-on-close 'always ; 'ask, 'never
"Whether to expunge a group when it is closed.
When a IMAP group with articles marked for deletion is closed, this
(gnus-compress-sequence oldarts)) "\\Deleted")
(setq articles (gnus-set-difference
articles oldarts))))))
+ ((and nnimap-search-uids-not-since-is-evil (numberp days))
+ (let* ((all-new-articles
+ (gnus-compress-sequence
+ (imap-search (format "SINCE %s"
+ (nnimap-date-days-ago days)))))
+ (oldartseq
+ (gnus-range-difference artseq all-new-articles))
+ (oldarts (gnus-uncompress-range oldartseq)))
+ (when oldarts
+ (nnimap-expiry-target oldarts group server)
+ (when (imap-message-flags-add
+ (imap-range-to-message-set oldartseq)
+ "\\Deleted")
+ (setq articles (gnus-set-difference
+ articles oldarts))))))
((numberp days)
(let ((oldarts (imap-search
(format nnimap-expunge-search-string