[Allegro] acon: xcode xp und Druckerersatzdarstellungen

Thomas Berger ThB at Gymel.com
Do Feb 27 13:04:22 CET 2014


Lieber Herr Eversberg,

> Nein, dann ginge nichts kaputt. Die "Drucker-Ersatzdarstellung" wurde
> schon sehr früh ausgedacht, damit der Zeilenumbruch nicht durch die aus
> mehreren Bytes bestehenden Esc-Sequenzen der Drucker beeinträchtigt
> wurde. Für den Umbruch wurden halt Bytes gezählt und angenommen, daß
> ein Byte einem Zeichen entspreche. Die Esc-Sequenzen für Sonderzeichen
> waren dagegen u.U. mehr als zwei Bytes lang, da konnte dann eine
> Ausgabezeile als sichtbares Endprodukt schon mal ärgerlich kurz
> ausfallen. Daher wurden dann die solchermaßen betroffenen Zeichen
> in einem ersten, dem Umbruch dienenden Schritt nicht ersetzt, sondern
> erst im zweiten, dem physischen Ausgabevorgang, durch die Esc-Sequenz
> ersetzt.

Ja, ich erinnere mich: Zwar wurden die Zeilen dann nicht gekuerzt,
aber dafuer gab es einen Ueberlauf / Crash, wenn man mehr als zwei
hin- und Zurueckschaltungen in derselben Zeile vornehmen wollte
(etwa fuers einfaerben einleitender Wendungen am Schirm). Insofern
war man dann als Parametrierer gezwungen, vorauseilend zl auf einen
moeglichst kleinen Wert zu setzen, aber immerhin waren die rechten
Raender dann gleichmaessig gekuerzt ;-)


>> [*] (weniger entscheidend ist, dass die fraglichen Zeichen nicht
>> erhalten bleiben sondern durch das folgende Zeichen ersetzt werden -
>> das liess sich einfach korrigieren, ich habe die Korrektur soeben
>> eingecheckt).
> Danke, aber fast hätte ich diese so ganz am Ende eher nebenbei
> hingeworfene Mitteilung übersehen und später dann scheinbar
> mißachtet, also im Repo wieder übergebügelt.

Eigentlich kann das nicht passieren, denn svn weist Sie beim
committen darauf hin, dass ihre Arbeitskopie noch nicht synchronisiert
ist. Wenn Sie allerdings routinemaessig die Arbeitskopie aktualisieren
und dann durch Kopieren von Inhalten aus nicht kontrollierten
Verzeichnissen ueberbuegelten, waeren Hopfen und Malz verloren.


> Abgesehen davon erkenne ich aber auch bei einem Test nicht, daß sich
> durch Ihre Änderung irgendwas geändert hätte am Endprodukt. Es kommt,
> m.a.W., genau dasselbe raus.

i-1u.apr ist eines der seltenen Beispiele mit Druckerersatzdarstellung:

p .170 .96

Folgender acon-Job demonstriert das Problem

  // xcode
xport param i-1u
find #249

var #20
ins $sav
write iV
write newline

var $sav
xcode xp
ins $sav
write iV
write newline

var $sav
xcode u
write iV
write newline


Ergebnis endet mit:

AA  complete and systematic concordance to the works of Shakespeare

(d.h. NSZ werden durch Kopien der folgenden "A" bzw. " " ersetzt).

Mit dem Patch:

¼A¼ complete and systematic concordance to the works of Shakespeare

(d.h. die Druckerersatzdarstellungen sind No-Ops)

viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro