I was so astonished by this one I thought maybe it was an old behavior enshrined in BatchPipeWorks, but no, it's the same in the very latest on CMS. I wanted to replace selected lines in one file with lines from another, sequentially, so I wrote:
specs select 1 1-* 1 Surprise! The whole file on stream 1 came out in place of the *first* record on the primary. To pair up the records, I had to include something from the primary in the spec, if only to discard it: specs 1 . select 1 1-* 1 ¬R