More Aufruf: ---------------------------------------------------------------- more [-efc] [-t#] [-n#] {file} More Genesis ---------------------------------------------------------------- Alle Žnderungen werden pingelig festgehalten, weil sowas sp„ter einfach interessant und lustig ist. Aužerdem will ich hinterher wissen, was denn genau fr Fehler auftraten und was sie hervorgerufen hat. ---------------------------------------------------------------- 22.12.91 0.1 - Hier ist More 0.1. Birthday present for Julian 8-) Das wichtigste geht schon. More kann von stdin und von Files lesen und auch bei stdin rckw„rts bl„ttern. 27.12.91 0.2 - More holt die Zeicheneingaben jetzt nur noch dann vom Bios, wenn von stdin gelesen wird. - Die option -f sagt More, daž zu lange Zeilen abgeschnitten statt aufgeteilt werden sollen. Dies gilt auch fr das Lesen von stdin. "MORE -f" ist also erlaubt. - Off-by-one Bug beseitigt, der dafr sorgte, daž beim Aufteilen von zu langen Zeilen ein Zeichen verschluckt wurde. - Stack von 20K auf 4K runtergedreht. Machte zwar nix, war aber trotzdem Overkill. 28.12.91 0.2 - "MORE -nnn' setzt die Anzahl an Bildschirmzeilen fr More. Dieser Wert wird auch dann genommen, wenn die Env-Variablen 'COLUMNS' und 'ROWS' gesetzt sind. - Eventuelle Fehlermeldung werden jetzt auf stderr ausgegeben. 01.01.92 0.3 - Vertipper beseitigt, der dafr sorgte, daž die Tastatur immer per BIOS gelesen wurde, statt ggf. per GEMDOS. - Nach dem Terminieren steht der Cursor auf jeden Fall am Abfang einer neuen Zeile. - Mit Shift Clr/Home kann man ans Ende der Eingabe springen. Dies funktioniert auch, wenn man in einem Multitasking-Gemdos auf MORE piped und nach und nach neue Daten kommen. Bei jedem Aufruf von Shift Clr/Home wird nachgesehen, ob inzwischen neue Daten da sind. - In der More-Zeile wird die aktuelle Zahl der gelesenen Zeilen angezeigt. - Man kann nicht mehr hinter das Dateiende scrollen. 03.01.92 0.4 - MORE sollte jetzt mit Binaries klarkommen. Vorher waren die Null-Characters ein Problem. - Mit der Environment-Variablen TABSIZE kann die Tabulatorweite eingesetzt werden. Die Defaultweite ist 8. - Mit MORE -t### kann die Tabsize eingestellt werden. Diese Option hat Vorrang vor der Environment-Variablen. - MORE arbeitet jetzt auch in Fenstern (auf Bildschirmen) mit mehr als 200 Zeichen Breite. Die Input-Zeilen durften allerdings immer schon beliebig lang sein. - MORE kann mit 'q' verlassen werden. - Fettschrift und Unterstreichungen werden in Form von "ch BS ch" bzw. "ch BS _" erkannt, aber wg. VT-52 invertiert ausgegeben. Damit kann man sich 'ge?roffte' Manualpages etc. etwas besser ansehen. - BELL-characters werden ignoriert. - Wenn die Ausgabe umgelenkt ist, verh„lt sich MORE wie CAT, leitet also alles einfach weiter. 06.01.92 0.5 - Wenn von stdin gelesen wird, selbiges aber ein TTY ist, wird eine Fehlermeldung ausgegeben und terminiert. - Bei Fehlern wird der Exit-Code 1 ausgegeben, bei Usage-Fehlern eine 2. Vorher wurde bei Fehlern immer eine 1 zurckgegeben. - Kleiner Bug in der Fehlerausgabe beseitigt, der unter bestimmten Umst„nden auftreten konnte. Ein Umstellungsfehler. - Wenn $LANG auf 'german' oder 'GERMAN' gesetzt ist, wird auf deutsche Texte und Fehlermeldungen umgeschaltet. Ansonsten werden englische Meldungen benutzt. Vorsicht: Demn„chst werden die POSIX- bzw. ANSI Environmentvariablen fr Locales Vorrang vor $LANG haben. $LANG ist zwar auch POSIX, wird aber eben nur dann ausgelesen, wenn die LC_XXXX-Variablen nicht da sind. - POSIX: Statt mit "MORE -###" wird jetzt mit "MORE -n###" die Anzahl der zu benutzenden Bildschirmzeilen eingestellt. 07.01.92 0.5 - POSIX: Die Environmentvariable $LINES wird ausgelesen und hat Vorrang vor der Mupfel-spezifischen Variable $ROWS. 14.01.92 0.5 - Erster Port auf MS-DOS. Leider muá auch dort der Keyboard-Input vom BIOS geholt werden, damit nicht Schreckliches passiert. Derzeit werden noch keine Terminal-Escapes benutzt. Wer von den Betatestern auch die DOS-Version haben m”chte, soll sich melden. - POSIX: Die Option '-c' sorgt dafr, daá Terminalescapes wie ClearScreen usw. benutzt werden, falls m”glich. Bisher war das immer der Fall. L„át man jetzt den Switch weg, werden *ausschlieálich* BS, CR und LF zur Bildschirmausgabe benutzt. 15.01.92 0.5 - Wenn statt eines Dateinamen ein '-' bergeben wird, liest MORE von stdin. Wer eine Datei mit dem Namen '-' lesen m”chte, kann stattdessen '.\-' o.„. benutzen. - POSIX: und geben den aktuellen Bildschirm neu aus. - Usage-Meldung eingebaut - More kann jetzt mehrere (genauer: beliebig viele) Dateien hintereinander anzeigen. - Hilfsbildschirm eingebaut - kann mit 'h' aufgerufen werden. - POSIX: Die Environmentvariable TERM wird ausgewertet, um den Terminaltyp festzustellen. Wenn die Variable den String 'VT-52' enth„lt, werden VT52-Escapes benutzt, sonst plain-ascii. - Neben der Variable TABSIZE wird jetzt auch TABS ausgewertet. Dabei hat TABSIZE Vorrang vor TABS. TABS ist fr mich ntzlich, weil der Zortech-Editor auf dem PC auch diese Env-Variable benutzt. - POSIX: Der Switch -e bewirkt, dass MORE beim Ausgeben der letzten Zeile der letzten Datei automatisch terminiert, ohne zu prompten. - Zur n„chsten Datei wird vorerst mit 'n' gesprungen, zur vorherigen mit 'p'. Den Eingabekram fr die erweiterten Kommandos mache ich sp„ter. - Die Atari-Version von MORE kann jetzt das ARGV-Protokoll 19.01.92 0.6 - Das Copyright wird jetzt nur noch im Help-Screen ausgegeben. In Usage-Meldungen hat es wirklich nix zu suchen. - Die More-Zeile zeigt jetzt die aktuelle Zeilennummer, die Anzahl der bisher gelesenen Dateien sowie die Zeilennummer in Prozent an. 25.01.92 0.6 - Interne Aufr„umarbeiten. Alles terminalspezifische Zeugs passiert jetzt in einem extra Sourcefile. Damit ist der Weg fr mehr als nur VT-52 geebnet. - Die TOS-Version nimmt als Default-Terminal VT-52, wenn nichts anderes gesetzt ist. - Die Option -c schaltet nur die Benutzung von ClearScreen ein, nicht ein generelles Benutzen von Terminalescapes. Hier hatte ich die POSIX-Doku wohl erst etwas falsch verstanden. POSIX widerspricht sich allerdings selbst an einer Stelle bzgl. -c. - Die Ausgabe ist etwas schneller, da Schriftattribute jetzt gecached werden. šberflssige Leerzeichen am Zeilenende werden gekillt. 26.01.92 0.6 - Die More-Zeile wird mit Blanks aufgefllt, so daž es jetzt etwas hbscher aussieht. - In der Atari-Version kommt man aužer mit 'h' auch mit 'HELP' zur Hilfsseite. - POSIX: mit ':n' und ':p' springt man zum n„chsten bzw. vorherigen File. 'n' und 'p' (also ohne ':') bleiben erstmal trotzdem drin. - Aužer mit 'q' kann man MORE auch mit ':q' verlassen. 07.02.92 0.6 - POSIX: 'f' und 'Ctrl-f' bl„ttern einen Bildschirm vorw„rts, 'b' und 'Ctrl-b' einen rckwarts. Wird eine Zahl vorweggetippt, wird nicht um eine Bildschirmseite gebl„ttert, sondern um die eingegebene Anzahl Zeilen. - Bei den Buchstabenkommandos darf man jetzt auch Grožbuchstaben verwenden. - So, jetzt nehme ich euch 'n' und 'p' (ohne ':') doch schon mal weg. 'n' wird n„mlich fr 'Repeat Search' benutzt. Sagt jedenfalls POSIX. - Case-Sensitivity fr Kommandos wieder eingebaut. Sagt POSIX. 25.04.92 0.7 - So. Mal wieder an die Arbeit gegangen. - [count] scrollt rckw„rts, wobei alle Zeilen ausgegeben werden. - [count], , scrollen vorw„rts, wobei alle Zeilen ausgegeben werden. Der Default fr [count] ist bei eine Bildschirmseite, sonst 1. 26.04.92 0.7 - [count]d, Ctrl-d. Scrollt [count] Zeilen vorw„rts, default ist eine halbe Bildschirmseite, wird ein [count] angegeben, wird [count] neuer Default. - [count]u, Ctrl-u. Wie d, Ctrl-d, nur rckw„rts. - [count]/[!]string such nach dem [count]ten Vorkommnis von 'string'. Das optionale '!' sucht nach Zeilen, die 'string' nicht enthalten. Default fr [count] ist 1. Wird kein String angegeben, sucht MORE nach dem zuletzt verwendeten String. - [count]?[!]string : Wie '/', aber rckw„rts. - [count]n : Suche wiederholen, vorw„rts. [count] wie bei '/' - [count]N : wie 'n', aber rckw„rts. - In der Help steht nur noch eine Kurzbeschreibung der wichtigsten Sachen. Die komplette Beschreibung ist in MORE.MAN. Die Manpage ist zwar noch nicht fertig, aber bis dahin steht auch hier in MORE.GEN alles Wissenswerte.