I remember the distinction between trigraphs and digraphs now.
Trigraphs were processed at a per-character level, essentially a form of character
encoding in source. When trigraphs were removed, IBM are able to continue
honoring trigraphs with their original meaning by making them part of the phase 1
source-to-basic-character-set mapping.
Digraphs work at the token level, so are *not* appropriate for handling as part of
the character mapping in phase 1. This shows up in things like string literals. Note
that the old rules for backing out trigraph expansion in raw string literals no longer
easily apply in the IBM case, but they seemed ready to accept that as long that they
can portably pragma the code page. Hubert might well correct me on “accept” though ;)