Wow, here's one I can't believe I never stumbled over before: LOOKUP terminates if output 1 and all the alternate inputs are disconnected and the reference is empty (so nothing will be written to the primary), even if the primary output is still connected.
I couldn't figure out why reading a file with PIPE XEDIT was sometimes leaving me on the wrong line, but when I added XMSG to display the lines I was skipping it behaved perfectly. It turned out sometimes my master file was empty (correctly), and because it could never write anything LOOKUP quit immediately. I had to connect the alternate output to HOLE to keep it going. Does this only happen when the master file is empty, or can it happen when the last record is deleted from the reference? I would have sworn this stopped after one record the first time I tried it: pipe(end /)xedit|a:not chop 0|b:lookup|hole/literal|b:/a:|take 1|b: but I can't reproduce it now. ¬R
