[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