[Tustep-Liste] Editor und Makro: Buffer
Paul Sappler
paul.sappler at uni-tuebingen.de
Sa Okt 18 11:41:56 CEST 2008
Sehr verehrte Liste, lieber Herr Schälkle,
nach einer kleinen Überlegungspause möchte ich mich an Herrn Meyer
anhängen und einen weiteren Wunsch äußern, der den Übergang vom Editor
in ein Makro und den umgekehrten Weg erleichtern könnte (gleichgültig,
ob man die Editoraufrufe in ein Makro eingebaut hat oder das Makro
samt weiterem Editoraufruf aus dem Editor heraus mit x oder b aufruft).
Es wäre nützlich, auf den Inhalt des Zwischenspeichers des Editors im
Makro zugreifen zu können und seinen Inhalt im Makro definieren zu
können. Etwa:
$$ execute #e,xy
$$ fetch/edit_buf varbuffer
$$- hier mit dem Inhalt von varbuffer etwas anstellen:
$$ ... set varbufneu = ... (varbuffer) ...
$$- das Erzeugte oder was anderes in den Editorbuffer:
$$ define/edit_buf varbufneu
#ed oder $$ execute #ed oder $$ stop
(die letzte Zeile abhängig davon, ob das Makro zu Ende ist oder
weitergeht oder der Editor mit x verlassen wurde). - Denkbar wäre es,
aber umständlicher, statt des Zwischenspeichers den Buffer zu
verwenden, der mit save_mrk, rest_mrk und exch_mrk angesprochen wird.
Dabei ist dreierlei zu bedenken:
1. Mit dem Wunsch soll kein Sturzbach an weiteren Wünschen ausgelöst
werden. Freilich könnte man sich Fälle denken, wo laufende Nummern,
Satznummern, aktuelle Satzpositionen, Farbeinstellungen, Steuerbefehle
usw. Gegenstand von Bearbeitung im Makro werden könnten, aber man muß
dann halt diese Werte entweder in den Zwischenspeicher stecken (der ja
nach einem Verlassen des Editors nur bewußt wiederverwendet werden
sollte) oder den Weg über die Datei wählen, aus der man im Editor
define- und display-Werte holen kann.
2. Vom Makro aus findet man dann vielleicht eher einen Weg zum
Linux-Clipboard, der besser entwickelt ist als die Zwischenablage von
Windows, aber zu dem bisher noch niemand weder den Zugang aus Tustep
heraus noch den umgekehrten Weg gefunden hat.
3. Wenn man in den Editor zurückkehrt mit neuen Werten im
Zwischenbuffer, hat man oft vergessen, was man machen wollte (wohl
eine Alterserscheinung). Relativ leicht ist beim Editoraufruf eine
Beschreibung der nächsten Schritte im Editor zu erzeugen mit
clear,
/text .../, lf,
/text .../,
cmd_line, ignore,
/erste Anweisung zum Abschicken/
(kein enter, weil sonst der Text weg sein kann).
Wenn man dann eine Zeit lang im Editor gearbeitet hat und vielleicht
gar nicht mehr weiß, was das Makro nach Beenden des Editors weiter
macht und erwartet, wäre es schön, wenn man sich diesen
Beschreibungstext oder einen anderen wieder zeigen lassen könnte. Ich
stelle mir vor, daß in der Message- oder Statusleiste noch ein
Plätzchen wäre für "Zweck:yz" (wobei das Editormakro yz ein
Popupfenster mit dem Arbeitsauftrag aufmacht) oder sogar in der
obersten Zeile eines für {yz} vor [+] (aber da ist sicher Sparsamkeit
angebracht). Ein Feld in einer permanenten Makroleiste gefällt mir
dafür nicht so gut, weil man die doch eher für anderes braucht. Der
letzte Punkt 3 ist noch nicht ausgegoren.
Eigentlich sollte jetzt noch der ein oder andere Anwendungsfall
skizziert werden, aber das Mail ist sowieso zu lang, als daß es noch
gelesen würde. Deshalb wieder einmal die Bitte, bei einer eventuellen
(zustimmenden oder ablehnenden) Antwort nicht dieses Mail vollständig
zu wiederholen, damit der Postkasten
Ihres freundlich grüßenden Paul Sappler
nicht so arg überläuft.
Mehr Informationen über die Mailingliste Tustep-Liste