Subject: Re: bug#17560: 24.4.50; wrong type argument if rmail-delete-after-output set

From: Ken Olum <[email-masked]>
Date: Tue, 27 May 2014 11:08:06 -0400

OK.  Here is a different patch making the arguments to
rmail-delete-forward and rmail-delete-backward optional and defaulting
to 1.  NEWS and ChangeLog are included.

                                        Ken

=== modified file 'etc/NEWS'
--- etc/NEWS	2014-05-17 08:11:31 +0000
+++ etc/NEWS	2014-05-27 14:50:48 +0000
@@ -130,6 +130,9 @@
 
 ** You can access the slots of structures using `cl-struct-slot-value'.
 
+** Functions `rmail-delete-forward' and `rmail-delete-backward' take an
+optional repeat-count argument.
+
 
 * Changes in Emacs 24.5 on Non-Free Operating Systems

=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog	2014-05-23 15:54:44 +0000
+++ lisp/ChangeLog	2014-05-27 15:04:59 +0000
@@ -1,3 +1,8 @@
+2014-05-27  Ken Olum  <[email-masked]>
+
+	* mail/rmail.el (rmail-delete-forward): Default `count' to 1.
+	(rmail-delete-forward): Argument `count' optional, default to 1.
+
 2014-05-23  Stefan Monnier  <[email-masked]>
 
 	* minibuffer.el (completion--sreverse): Remove.

=== modified file 'lisp/mail/rmail.el'
--- lisp/mail/rmail.el	2014-05-05 01:08:54 +0000
+++ lisp/mail/rmail.el	2014-05-27 14:53:00 +0000
@@ -3482,6 +3482,7 @@
 
 Returns t if a new message is displayed after the delete, or nil otherwise."
   (interactive "p")
+  (if (not count) (setq count 1))
   (let (value backward)
     (if (< count 0)
 	(setq count (- count) backward t))
@@ -3496,7 +3497,7 @@
     (rmail-maybe-display-summary)
     value))
 
-(defun rmail-delete-backward (count)
+(defun rmail-delete-backward (&optional count)
   "Delete this message and move to previous nondeleted one.
 Deleted messages stay in the file until the \\[rmail-expunge] command is given.
 A prefix argument is a repeat count;
@@ -3505,6 +3506,7 @@
 Returns t if a new message is displayed after the delete, or nil otherwise."
 
   (interactive "p")
+  (if (not count) (setq count 1))
   (rmail-delete-forward (- count)))
 
 ;; Expunging.