I keep using (and changing) an small xedit macro of mine to remove users from lists -- I thought it might be of interest to others as well. I use it while viewing the bounce messages via XR (I use a home-brew browser called LOO EXEC), but it should work via MAIL/MAILBOOK or PEEK.. I am also putting it on the trearn filelist of listserv@trearn.bitnet.. -turgut /* Point and shoot facility to remove users from lists.. just highlight (make it current line) the line with the bouncing user address, and type TP -- it will work with regular, compuserve, and AOL addresses. AFD to it -- as I keep fixing it.. stored at: [log in to unmask] (or [log in to unmask]) -turgut */ 'EXTRACT /CURLINE/LINE/' parse var curline.3 '<'u'>' arg aaa host = '' u = FindUserid() if u='' Then Do Parse var curline.3 blurb if word(blurb,1)='550' then u=word(blurb,2) if word(blurb,1)='554' then u=word(blurb,6) end oldpos = line.1 'TOP' 'LOCATE Subject: ' 'EXTRACT /CURLINE/' parse var curline.3 'Subject:' listname':' . 'from' host listname = space(listname) host=space(host) if pos('@',u)=0 then u=u'@'host ':'oldpos+1 if listname = '' then exit if words(listname)>1 then listname=word(listname,1) if listname = 'OS2-L' then 'CMSG DELOSW' u else 'CMSG CP M LISTSERV QUIET DEL' listname u exit 0 FindUserID: Procedure expose curline. u= '' do t=1 to words(curline.3) cur = word(curline.3,t) if pos('@',cur)>0 then do u = cur leave end end If u = '' Then Do do t=1 to words(curline.3) cur = word(curline.3,t) if pos(',',cur)>0 then do parse var cur l','r . u = [log in to unmask] leave end if pos('.',cur)>0 then do parse var cur l'.'r . u = [log in to unmask] leave end end end parse var curline.3 '['comp','user']' . if comp ^='' & user ^='' Then Do u = [log in to unmask] end if pos('<',u)>0 then parse var u '<'u'>'. return u --------------- internet: [log in to unmask] postmaster, [log in to unmask] bbsturk: (+90)232-369-6428/29 FIDO: sysop@2:430/105 VirtualNet: 1@90232000