Der APL2 Object Editor ist ein eigenständiges Programm und kommuniziert mit dem Session Manager über das Shared Variable Interface. Doppelklick auf einen Funktionsnamen bedeutet, dass die Funktion über eine Shared Variable (AP120_EDIT) an den Editor geschickt wird und dort in einem eigenen Fenster angezeigt wird.
Aber was heißt hier "die Funktion"?
Nach den Problemen, die wir mit dem Editieren einer
gigantischen Funktion hatten, kann man davon ausgehen, dass die besagte Funktion in ihrer Character Representation verschickt wird. Alleine der Versuch diese Funktion, deren CR größer als 12 MB ist, in den Editor zu klicken, schlägt mit der Meldung "System Limit - Interface capacity" fehl. Erhöhung des Wertes für MAXSV auf 13 MB führt zumindest dazu, dass die Funktion ordentlich im Editor angezeigt wird.
Die CR einer Funktion zu transferieren bedeutet im vorliegenden Fall. extrem viele irrelevante Leerzeichen durch den Kanal zu schieben. Diese werden zum Auffüllen der Zeilen auf die Länge der längsten Zeile - hier der 6 KB langen Kopfzeile - produziert. Lässt man diese nichtssagenden Blanks außer Acht, ist die Funktion nur noch knapp 100 KB groß. Eine solche offensichtlich wesentlich sparsamere Darstellung einer Funktion erhält man mit 2 ⎕TF, einer Darstellung, die auch von )OUT benutzt wird.
Warum wird also die CR durch den Kanal zum Editor geschoben?