CALOok (continued): Sometimes a conditional prompt is likely to occur several times in succession before the BBS finally gets to the prompt you're really looking for. The most common example of this phenomenon is with "Press Any Key To Continue" type prompts. For example, a BBS might have several opening screens which contain things like News Bulletins or Advertisements..whatever. It's not always possible to account for how many of these prompts *precisely* will come in. This segment of the flowchart illustrates the processing cycle: ÚÄÄÄÄÄÄÄvÄÄÄÄÄÄ¿ Yes ÚÄÄÄÄÄÄÄÄÄ¿ ³"More" Prompt?ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>Send CR ³ ÀÄÄÄÄÄÄÄÂÄÄÄÄÄÄÙ<¿ ÀÄÄÄÄÂÄÄÄÄÙ No ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Notice how the flow after "Send CR" goes right back to the "More Prompt?" handler, rather than continuing to the next even in the chain? Coninuing with the {:LOGIN} segment: {:LOGIN} {CALO mprompt,sendesc,Press key} {:MPROMPT} <ÄÄÄ¿ {CALO mprompt,send_cr,More?} ³ loops back to the {LOOK First Name?} ³ "More Prompt?" handler . ³ since the CALOok . ³ statement points to . ³ this location as the {:SENDESC} ³ "return" point {SEND ^[} ³ {RETU} ³ {:SEND_CR} ³ {SEND |} ³ {RETU} ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Here's something for you to ponder: In the above example, I specified a separate macro ID of "mrprompt" that I use as a place holder or marker, if you will. Look at the following alternative for the first 5 lines in the example above: {:LOGIN} {CALO login,sendesc,Press key} {CALO login,send_cr,More?} {LOOK First Name?} Do you see how I've been able to eliminate a couple bytes (the "mprompt" macro ID) by "piggy-backing" on an already existing label? (Continued in Lesson 5d) Jim