[Allegro] Kurznotationen VB257

Thomas Berger ThB at Gymel.com
Mi Jan 28 15:52:09 CET 2015


Lieber Herr Eversberg, liebe Liste,

[alles folgende anhand srch.exe vom 25.11.2014 (das scheint das
aktuelle auch fuer v35.1 zu sein, mit dem Aufruf
srch -f4 -s#20 -ee-test/test.txt -ddemo2\cat_*.ald
durchgefuehrt]

Mir war nicht mehr ganz praesent, dass nicht nur b$a, B$a, etc.
eingefuehrt worden waren, sondern auch p$a, P$a. Zunaechst
(nachdem es mir wieder eingefallen war) wollte ich untersuchen,
ob nicht fuer das gewuenschte Ergebnis "▼2rdacontent" anstelle
des sehr unuebersichtlichen

#kkf ... P"\31\50rdacontent"

ein

#kkf ... P$2 P"rdacontent"

moeglich sei: Das ist es. Umgekehrt ist aber nicht

#kkf p"rdacontent" p$2

moeglich - aus irgendwelchen historischen Gruenden darf
zwar das direkte Postfix P"..." mehrfach vorkommen, nicht
aber das direkte Praefix p"...". (So glaube ich mich
jedenfalls zu erinnern, das Handbuch sagt allerdings, dass
"p" mehrfach auftreten darf, "P" hingegen nicht, dies aber
im Zusammenhang mit indirekten Prae- und Postfixen, d.h.
ueber direkte Prae- und Postfixe ist gar nichts gesagt?
Irgendwie stelle ich mir das recht banal vor, wer einmal
eine Zeichenkette vor den Arbeitstext setzen konnte, kann
das doch eigentlich auch ein zweites mal? Oder sollen Anwender
nur vor den Zumutungen der Notation in umgekehrter Ergebnis-
reihenfolge geschuetzt werden?)

Das Fehlerbild hierbei ist komplex und eher am Ergebnis
nachfolgender Zeilen in der Parameterdatei angesiedelt...

 %--

Dabei fiel mir allerdings ein echter Fehler auf, der anscheinend
alle neu eingefuehrten Abkuerzungen betrifft, wenn man sie in
der "nackten" Version x$ ohne nachfolgenden Unterfeldcode benutzt:

Eine modifzierte e-1.apr sieht bei mir so aus:

...

ke=C &0

...

#nr "#40 intro▼aTfa1▼bTfb▼aTfa2|" e"|" M #zz 0

#nr p{"    b$:"} Z #zz 0
#40 b$
#nr Z

#nr p{"[1] b$:"} Z #zz 0
#40 b$
#nr Z

#nr p{"    b$:"} Z #zz 0
#40 b$
#nr Z

#nr p{"[1] b$:"} Z #zz 0
#40 b$
#nr Z

d.h. es passiert eigentlich vier mal dasselbe (bzgl. "b$"),
allerdings werden in der vorangehenden Exportzeile gleich
lange, aber abwechselnd unterschiedliche Texte ausgegeben.

Ergebnis:

    b$:
[1] b$:aTfa1bTfbaTfa2

    b$:
[1] b$:aTfa1bTfbaTfa2

also ueberraschend verschieden (der fehlende Durchschuss
koennte ein Indiz fuer einen "Abbruch" und nachfolgend
nicht eingesetzten ke-Parameter sein)!

Aehnliches passiert mit

#nr p{"    b$:"} Z #zz 0
#40 b$     % a comment
#nr Z

#nr p{"[3] b$:"} Z #zz 0
#40 b$     % a comment
#nr Z


aber nicht bei

#nr p{"    b$:"} Z #zz 0
#40 b$ 0
#nr Z

#nr p{"[2] b$:"} Z #zz 0
#40 b$ 0
#nr Z

und auch nicht bei

#nr p{"    "} Z #zz 0
#40 b$ p{"b$:"}
#nr Z

#nr p{"[4] "} Z #zz 0
#40 b$ p{"b$:"}
#nr Z


statt b mit B/e/E etc. auch p/P ist es analog.

Es scheint also am b$ (etc.) als letztem Manipulations-
befehl im Statement zu liegen und es deutet darauf hin,
dass beim Versuch, den hier eben nicht folgenden Unterfeldcode
einzulesen, einiges an der internen Speicherhaltung des
Arbeitstexts in Unordnung geraet.

viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro