> One can get around this by using a pair of active characters. Denote > these by "<" and ">"; then the above would read > He said <She said to me <bar>>, and so on > and \futurelet could be used. This works for a few more cases, but only a few. What if the quote is inside a font change, or a section head, or any other command, you still have the potential problem of the lookahead coping with {}. Of course you can follow the above to its logical conclusion of implementing _everything_ via active characters and implementing your own parsing routines _in_ TeX rather than using the parser built into tex-the-program. This is certainly possible (some people have done exactly that) but TeX isn't really the best language for implementing a parser, and certainly isn't the fastest. If more involved contextual analysis is required in the input stream then it probably makes more sense to look to an extended system that can provide such extended functionality. (Something like omega's OTP processes.) They may not be quite what you want here, but the principle is the same, to make a controlled extension of the underlying system rather than try to build a tower of macros on the rather fragile sand that is tex-the-program. David