FWIW here are the notes in question, preserved in silicon-amber...
3.
---
Aux printing enhancement: When both the server and ATE are at edit 1208+
and the server-side printer-init option PRTCOPIES is FALSE (this is the
default for UNIX and whenever DEVICE=AUXLOC:), the server will now
send just one physical copy of the printfile to the aux port and
will tell the client how many copies to print. The previous method, in
which multiple copies were generated on the server side, unbeknownst
to the client, remains in effect for non-ATE clients and whenever
either the server or ATE client is older than 5.1.1208, and when
PRTCOPIES=TRUE on the server side.
The motivation for adding this further bit of confusion to an already
confusing area is to overcome three negative aspects associated with
generating the copies on the server side:
a. If the server generates the copies, the client doesn't realize it
has more than one copy, and thus if displaying a printer dialog,
would show only one copy, which can confuse the user (who is expecting
multiple copies). If the user tries to "correct" the number of copies,
the result would be copies upon copies (e.g. 4 instead of 2, 9 instead
of 3, etc.)
b. APEX would show a single document consisting of the concatenation of
the multiple copies. For example, if the original document had 4 pages
and 3 copies were requested, APEX would show a 12 page document. (If
you then redirected this to a non-paper device, like a PDF writer, you'd
end up with a document containing the multiple sets of pages, which is
silly.)
c. Sending the original printfile to the client multiple times is not
particularly efficient, and could cause significant delays for large files.
4. ATE command set enhancement: The AG_SPOOLCFG command now supports an
optional copies parameter:
TAB(-10,AG_SPOOLCFG);file,ptr,fsize,internal,switches,copies;chr(127);
If copies is not specified, the default is 1. The value will be used by
the ATE client to generate multiple copies of the subsequent printfile
send via the AUXLOC: mechanism.
This feature is primarily used within A-Shell when processing AUXLOC:
printing requests. If used directly by an application, you should first
verify that the client is ATE 5.1.1208.0 or higher (see MX_GETVER).
There is no harm in sending the copies parameter to older versions of ATE,
but it will have no effect (and thus the extra copies won't be generated).
5. Windows printing bug fix: Close a loophole which, in some obscure
cases (depending on the printer driver and/or the sequence of events),
requesting multiple copies in the printer dialog would result in both
A-Shell and the printer driver generating copies (thus yielding the
square of the desired number of copies, i.e. 4 instead of 2).
I couldn't find any explicit reference to this in the docs, but in the source I could see that at one time the collate option in the printer selection dialog had been enabled, which appears something like this:
I tried re-enabling it and played with it a bit, but it's starting to come back to me why I may have disabled it -- because the combination of implementation variations from version to version of Windows along with overlapping sets of API functions which handle it differently has made something that should be simple abominably complex. But I've started tip-toeing into it again. I'm envisioning we'll need a new printer init directive COLLATE (default on, since that's the way copies have always worked in the past, 123,123,123... rather than uncollated or 111,222,333). Note that technically the driver can't do collation unless PRTCOPIES is off, since when it is on, the application is the one handling the copies, not the printer. But not all printer drivers support collation (or non-collation), which then raises the question of whether A-Shell to also offer the option of doing it independently.