Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ infocmp(1M) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

captoinfo(1M)

tic(1M)

curses(3X)

terminfo(4)

infocmp(1M)                                                     infocmp(1M)

NAME
     infocmp - terminfo-Beschreibungen vergleichen oder ausdrucken

SYNTAX
     infocmp [-d] [-c] [-n] [-I] [-L] [-C] [-r] [-u] [-s d|i|l|c] [-v] [-V]
             [-1] [-w width] [-A directory] [-B directory] [termname ...]

BESCHREIBUNG
     Mit infocmp können Sie einen binären terminfo-Eintrag mit anderen
     terminfo-Einträgen vergleichen, eine terminfo-Beschreibung neu schrei-
     ben und dabei das Feld use= verwenden oder eine terminfo-Beschreibung
     aus der Binärdatei (term) in verschiedenen Formaten ausgeben. In allen
     Fällen werden zuerst die Booleschen Felder ausgegeben, dann die nume-
     rischen Felder und dann die Felder mit Zeichenketten.

   Standardoptionen
     Sind keine Optionen angegeben und ist höchstens ein Wert unter
     termname angegeben, wird die Option -I benutzt. Sind mehrere Werte
     unter termname angegeben, wird die Option -d verwendet.

   Vergleichsoptionen [-d] [-c] [-n]
     infocmp vergleicht die terminfo-Beschreibung des ersten Terminals
     termname mit jeder einzelnen Beschreibung der Einträge für die
     termname-Werte der anderen Terminals. Ist eine Eigenschaft nur für
     eines der Terminals definiert, hängt der zurückgegebene Wert vom Typ
     der Eigenschaft ab: bei Booleschen Variablen wird F, bei ganzzahligen
     Variablen -1 und bei Zeichenkettenvariablen NULL zurückgegeben.

     -d      Erstellt eine Liste aller Eigenschaften, in denen sich zwei
             Einträge unterscheiden. Diese Option ist nützlich, um die
             Unterschiede zwischen zwei Einträgen aufzuzeigen, die etwa von
             verschiedenen Personen für dasselbe oder für ähnliche Termi-
             nals erstellt wurden.

     -c      Erstellt eine Liste aller Eigenschaften, die bei zwei Einträ-
             gen gleich sind. Eigenschaften, die nicht definiert sind, wer-
             den dabei nicht berücksichtigt. Mit dieser Option läßt sich
             schnell prüfen, ob es sinnvoll ist, die Option -u anzugeben.

     -n      Erstellt eine Liste aller Eigenschaften, die keiner der beiden
             Einträge enthält. Sind keine Werte für termname angegeben,
             wird die Umgebungsvariable TERM für die beiden termname-Werte
             benutzt. Mit dieser Option läßt sich schnell prüfen, ob bei
             einer Beschreibung etwas vergessen wurde.











Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

infocmp(1M)                                                     infocmp(1M)

   Optionen für Quellenlistings [-I] [-L] [-C] [-r]
     Die Optionen -I, -L und -C erzeugen ein Quellenlisting für jedes ange-
     gebene Terminal.

     -I      Verwendet die terminfo-Namen

     -L      Verwendet den Namen der C-Variablen vom Typ long, der in
             <term.h> aufgelistet wird

     -C      Verwendet die termcap-Namen

     -r      Wird -C verwendet, so werden alle Eigenschaften im termcap-
             Format ausgegeben

     Sind keine Werte für termname angegeben, wird als Terminalname die
     Umgebungsvariable TERM benutzt.

     Die von der Option -C erstellte Quelle kann direkt als termcap-Eintrag
     verwendet werden, allerdings können nicht alle parametrisierten Zei-
     chenketten in das termcap-Format umgewandelt werden. infocmp versucht,
     die parametrisierten Daten weitestgehend umzuwandeln; alle nicht umge-
     wandelten Daten werden in der Ausgabe markiert und als Kommentar
     gekennzeichnet. Diese Elemente müssen dann "von Hand" weitereditiert
     werden.

     Alle Füllzeichen für Zeichenketten werden gesammelt und an den Anfang
     der Zeichenkette gesetzt, wo termcap sie erwartet. Das obligatorische
     Auffüllen mit Zeichen (Fülldaten mit abschließendem "/") wird aufgeho-
     ben; es kann, muß aber nicht erfolgen.

     Alle termcap-Variablen, die nicht mehr von terminfo unterstützt wer-
     den, aber sich aus anderen terminfo-Variablen ableiten lassen, werden
     ausgegeben. Nicht alle terminfo-Eigenschaften werden umgewandelt; nor-
     malerweise werden nur diejenigen Variablen ausgegeben, die Teil von
     termcap waren. Ist aber die Option -r angegeben, so fällt diese Ein-
     schränkung weg, da damit alle Eigenschaften im termcap-Format ausgege-
     ben werden.

     Da die Füllzeichen am Anfang einer Eigenschaft gesammelt werden, wer-
     den nicht alle Eigenschaften ausgegeben. Obligatorisches Auffüllen
     wird nicht unterstützt. Da termcap-Zeichenketten weniger flexibel
     sind, ist es nicht immer möglich, eine terminfo-Zeichensteuerung in
     ein entsprechendes termcap-Format umzuwandeln. Wird die termcap-Datei
     später in das terminfo-Format zurückverwandelt, so entsteht nicht
     unbedingt wieder die ursprüngliche terminfo-Quelle.

     Hier einige der gängigen terminfo-Parametersequenzen, die dazugehöri-
     gen termcap-Entsprechungen und einige Terminaltypen, bei denen diese
     Sequenzen häufig auftreten:





Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

infocmp(1M)                                                     infocmp(1M)

        terminfo                      termcap   Entsprechende Terminals
        ________________________________________________________________
        %p1%c                         %.        adm
        %p1%d                         %d        hp, ANSI standard, vt100
        %p1%'x'%+%c                   %+x       concept
        %i                            %i        ANSI standard, vt100
        %p1%?%'x'%>%t%p1%'y'%+%;      %>xy      concept
        %p2 wird vor %p1 ausgegeben   %r        hp

   Die Option Use= [-u]
     -u      Erstellt eine terminfo-Quellbeschreibung des ersten Terminals
             termname relativ zu der Summe der Beschreibungen, welche durch
             die Einträge für die anderen Terminals termnames vorgegeben
             sind. Dies geschieht durch eine Analyse der Unterschiede zwi-
             schen dem ersten termname und den anderen termname-Einträgen
             und durch Erstellen einer Beschreibung für die anderen Termi-
             nals mit den Feldern use=. Auf diese Weise ist es möglich,
             generische terminfo-Einträge nachträglich in die Beschreibung
             eines Terminals einzupassen. Es kann aber auch vorkommen, daß
             zwei ähnliche Terminals mit je einer vollständigen Beschrei-
             bung vorliegen. Der Grund dafür kann darin liegen, daß sie zu
             verschiedenen Zeiten oder von zwei verschiedenen Personen
             kodiert wurden. In einem derartigen Fall können Sie mit
             infocmp herausfinden, wie Sie die eine Beschreibung abändern
             müssen, damit sie relativ zu der anderen wird.

     Existiert eine Eigenschaft im ersten termname nicht mehr und enthält
     einer der anderen termname-Einträge einen Wert für diese Eigenschaft,
     so wird sie zusammen mit einem @-Zeichen ausgegeben. Der Wert einer
     Eigenschaft wird ausgegeben, wenn der Wert im ersten termname in kei-
     nem der anderen termname-Einträge auftritt oder wenn der erste der
     weiteren termname-Einträge mit dieser Eigenschaft einen anderen Wert
     als im ersten termname angibt.

     Die Reihenfolge der Einträge für die weiteren termname-Werte ist von
     Bedeutung. Der terminfo-Übersetzer tic liest nämlich die Eigenschaften
     von links nach rechts. Sind nun zwei use=-Einträge angegeben und ent-
     halten diese unterschiedliche Einträge für dieselben Eigenschaften, so
     entstehen auch unterschiedliche Ergebnisse, je nachdem, in welcher
     Reihenfolge die Einträge angegeben sind. infocmp markiert alle derar-
     tigen Inkonsistenzen bei den Einträgen für die weiteren termname-Werte.

     Wird dagegen eine Eigenschaft nach einem use=-Eintrag, der diese
     Eigenschaft enthält, angegeben, so wird die zweite Angabe ignoriert.
     Wenn eine Beschreibung mit infocmp erneut erstellt wird, so läßt sich
     damit recht gut überprüfen, ob in der ursprünglichen Quellbeschreibung
     alles korrekt angegeben wurde.

     Ein weiterer Fehler, der zwar nicht zu fehlerhaft übersetzten Dateien
     führt, der den Übersetzungsvorgang jedoch verlangsamt, ist die Angabe
     von überflüssigen use=-Feldern. infocmp markiert alle termname use=-
     Felder, die nicht benötigt werden.


Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

infocmp(1M)                                                     infocmp(1M)

   Andere Optionen [-s d|i|l|c] [-v] [-V] [-1] [-w width]
     -s      sortiert die Felder innerhalb der einzelnen Typen nach den
             folgenden Argumenten:

             d    Die Felder werden in der Reihenfolge belassen, in der sie
                  in der terminfo-Datenbasis gespeichert sind.

             i    Sortieren nach dem terminfo-Namen.

             l    Sortieren nach dem Namen der C-Variablen vom Typ long.

             c    Sortieren nach dem termcap-Namen.

             Ist die Option -s nicht angegeben, werden die ausgegebenen
             Felder innerhalb der einzelnen Typen alphabetisch nach dem
             terminfo-Namen ausgegeben. Ausgenommen hiervon sind die Optio-
             nen -C und -L, bei denen nach dem termcap-Namen bzw. dem Namen
             der C-Variablen vom Typ long sortiert wird.

     -v      Gibt Überwachungsdaten in die Standard-Fehlerausgabe aus, wäh-
             rend das Programm läuft.

     -V      Gibt die Version des Programms in die Standard-Fehlerausgabe
             aus und verläßt das Programm.

     -1      Bewirkt, daß jedes Feld in einer eigenen Zeile ausgegeben
             wird. Ist diese Option nicht angegeben, werden mehrere Felder
             in einer Zeile ausgegeben. Eine Zeile kann bis zu 60 Zeichen
             lang sein.

     -w      ändert die Ausgabe auf width Zeichen.

   Wechseln der Datenbasen [-A directory] [-B directory]
     Die Speicherposition der übersetzten terminfo-Datenbasis kann der
     Umgebungsvariablen TERMINFO entnommen werden. Ist diese Variable nicht
     definiert oder wird das Terminal nicht an der angegebenen Stelle
     gefunden, wird die terminfo-Systemdatenbasis verwendet, die normaler-
     weise in /usr/share/lib/terminfo gespeichert wird. Mit den Optionen -A
     und -B können Sie diese Position außer Kraft setzen. Mit der Option -A
     wird TERMINFO für den ersten termname-Eintrag festgelegt, mit der
     Option -B wird TERMINFO für die weiteren termname-Einträge definiert.
     Dadurch wird es möglich, Beschreibungen für ein Terminal mit demselben
     Namen aber in zwei verschiedenen Datenbasen zu vergleichen. Dies ist
     etwa dann hilfreich, wenn Sie Beschreibungen für dasselbe Terminal,
     die von zwei verschiedenen Personen erzeugt wurden, vergleichen wol-
     len.

INTERNATIONALE UMGEBUNG
     Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
     texte.




Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

infocmp(1M)                                                     infocmp(1M)

     Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert ist, wird
     der Wert von LANG als Standardwert herangezogen. Ist auch LANG nicht
     oder als leere Zeichenkette definiert, verhält sich das System so, als
     wäre es nicht internationalisiert.

     Hat eine der Variablen für die internationale Umgebung einen ungülti-
     gen Wert, verhält sich das System so, als wäre keine Variable gesetzt.

     Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
     bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
     Bereich der Internationalisierung.

DATEIEN
     /usr/share/lib/terminfo/?/*
          Übersetzte Datenbasis für die Terminalbeschreibung.

SIEHE AUCH
     captoinfo(1M), tic(1M), curses(3X), terminfo(4).




































Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026