Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!bryan From: bryan@cs.utexas.edu (Bryan Bayerdorffer @ Wit's End) Newsgroups: comp.mail.mush Subject: goto-msg considered harmful Message-ID: <424@mohawk.cs.utexas.edu> Date: 13 Nov 89 22:32:13 GMT Reply-To: bryan@cs.utexas.edu Organization: Spam Detection & Removal Squad, Austin, TX Lines: 23 Spam-Content: Negligible I use curses mode most of the time. In my .mushrc I have the following: cmd waiting 'update -N;await' bind a macro '[line-mode]waiting\ng`headers :n`\nn' where 'g' is bound to goto-msg. This is supposed to go to the next new message after waking up from the await, and print it (the final 'n'). Unfortunately, this fails when the system mailbox contains only the new message that just arrived. This is because goto-msg detects that there is only one message in the mailbox, prints 'Not enough messages' and returns an error that aborts the macro. This special case behavior doesn't seem to me to have any use. It only gets in the way of macros like the above. Of course, this wouldn't be a problem if there were a line-mode goto command. As far as I can see, there is no way to explicitly change the current message pointer in line mode without doing anything else. The only way to change it is implictly with something like 'next' or 'print'. Why is this?