Merge changes made in Gnus trunk
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Fri, 2 Aug 2013 13:34:22 +0000 (13:34 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Fri, 2 Aug 2013 13:34:22 +0000 (13:34 +0000)
2013-08-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
* gnus-group.el (gnus-group-delete-articles): Allow deleting only "old"
  articles.
* gnus-delay.el (gnus-delay-article): Run `message-send-hook' so that
  we can get spell-checking etc.

lisp/gnus/ChangeLog
lisp/gnus/gnus-delay.el
lisp/gnus/gnus-group.el

index 9733215..2164fd9 100644 (file)
@@ -1,3 +1,13 @@
+2013-08-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-delay.el (gnus-delay-article): Fix typo.
+
+       * gnus-group.el (gnus-group-delete-articles): Allow deleting only "old"
+       articles.
+
+       * gnus-delay.el (gnus-delay-article): Run `message-send-hook' so that
+       we can get spell-checking etc.
+
 2013-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * rfc2047.el (rfc2047-encode-message-header): Unify charsets into
index 921d241..2cdafe1 100644 (file)
@@ -80,6 +80,8 @@ DELAY is a string, giving the length of the time.  Possible values are:
    (list (read-string
          "Target date (YYYY-MM-DD), time (hh:mm), or length of delay (units in [mhdwMY]): "
          gnus-delay-default-delay)))
+  ;; Allow spell checking etc.
+  (run-hooks 'message-send-hook)
   (let (num unit days year month day hour minute deadline)
     (cond ((string-match
            "\\([0-9][0-9][0-9]?[0-9]?\\)-\\([0-9]+\\)-\\([0-9]+\\)"
index 8050f5d..9533f58 100644 (file)
@@ -2796,14 +2796,21 @@ server."
        (lambda (group)
          (gnus-group-delete-group group nil t))))))
 
-(defun gnus-group-delete-articles (group)
-  "Delete all articles in the current group."
-  (interactive (list (gnus-group-group-name)))
+(defun gnus-group-delete-articles (group &optional oldp)
+  "Delete all articles in the current group.
+If OLDP (the prefix), only delete articles that are \"old\",
+according to the expiry settings.  Note that this will delete old
+not-expirable articles, too."
+  (interactive (list (gnus-group-group-name)
+                    current-prefix-arg))
   (let ((articles (gnus-uncompress-range (gnus-active group))))
     (when (gnus-yes-or-no-p
           (format "Do you really want to delete these %d articles forever? "
                   (length articles)))
-      (gnus-request-expire-articles articles group 'force))))
+      (gnus-request-expire-articles articles group
+                                   (if current-prefix-arg
+                                       nil
+                                     'force)))))
 
 (defun gnus-group-delete-group (group &optional force no-prompt)
   "Delete the current group.  Only meaningful with editable groups.