[comp.emacs] Finding undeleted messages after a delete

gnulists@WHEATIES.AI.MIT.EDU (03/26/89)

Return-Path: <MAILER-DAEMON@eddie.mit.edu>
Date: Thu, 22 Mar 84 04:58:58 EST
From: MAILER-DAEMON@eddie.mit.edu (Mail Delivery Subsystem)
Subject: Returned mail: unknown mailer error 1
To: <info-gnu-emacs-request@prep.ai.mit.edu>

   ----- Transcript of session follows -----
resolve 'eeg!doug' = 'ames!lll-winken!eeg!doug' @ 'll-xn' (UUCP)
resolve 'noao!asuvax!nud!rcb' = 'ncar!noao!asuvax!nud!rcb' @ 'gatech' (UUCP)
inews: Cannot get user's name
554 "|/usr/local/lib/news/nrecnews -n comp.emacs -x mirror"... unknown mailer error 1

   ----- Unsent message follows -----
Received: by EDDIE.MIT.EDU with sendmail-5.45/4.7 id <AA06924@EDDIE.MIT.EDU>; Thu, 22 Mar 84 04:58:58 EST
Received: from prep.ai.mit.edu by life.ai.mit.edu; Wed, 22 Mar 89 16:40:32 EST
Received: from TUT.CIS.OHIO-STATE.EDU by prep.ai.mit.edu; Wed, 22 Mar 89 16:14:13 EST
Received: by tut.cis.ohio-state.edu (5.59/3.890314)
	id AA09059; Wed, 22 Mar 89 13:58:55 EST
Received: from USENET by tut.cis.ohio-state.edu with netnews
	for info-gnu-emacs@prep.ai.mit.edu (info-gnu-emacs@prep.ai.mit.edu)
	(contact usenet@tut.cis.ohio-state.edu if you have questions)
Date: 22 Mar 89 17:13:29 GMT
From: garfield!eppstein@columbia.edu  (David Eppstein)
Organization: Columbia University CS Department
Subject: Finding undeleted messages after a delete
Message-Id: <6244@columbia.edu>
Sender: info-gnu-emacs-request@prep.ai.mit.edu
To: info-gnu-emacs@prep.ai.mit.edu

;; Find undeleted messages after a delete
;; David Eppstein / Columbia University / 22 Mar 1989
;;
;; In Babyl (the rmail equivalent for TOPS-20 and ITS Emacs), when a
;; message is deleted and there is no later undeleted message, it moves
;; back to a previous undeleted message instead.
;;
;; Instead, rmail just complains that it can't find anything.  So I
;; wrote the following, to make it more like Babyl.

(defun rmail-delete-forward ()
  "Delete this message and move on to next or previous nondeleted one."
  (interactive)
  (rmail-set-attribute "deleted" t)
  (rmail-find-undeleted-msg))

(defun rmail-find-undeleted-msg ()
  "Show following non-deleted message, or previous if no following."
  (rmail-maybe-set-message-counters)
  (let ((increment 1)
	(current rmail-current-message))
    (while (if (<= current rmail-total-messages)
	       (rmail-message-deleted-p current)
	     (if (= increment 1)
		 (setq increment -1)
	       (error "Header of rmail file is deleted")))
      (setq current (+ increment current)))
    (rmail-show-message current)))
-- 
David Eppstein  eppstein@garfield.cs.columbia.edu  Columbia U. Computer Science