Wolfgang Bauer <
wolfgan...@gmx.eu>:
>Helmut Waitzmann schrieb:
>> Wolfgang Bauer <
wolfgan...@gmx.eu>:
>> [Einstellmöglichkeiten im Emacs]
>>
>>> Jetzt habe ich alle codings auf utf-8-unix gestellt.
>>> Das wird sicher nach einem OS Neustart wieder weg sein.
>>
>> Das wird vermutlich nur in diesem einen laufenden Emacs, in dem
>> du es eingestellt hast, so eingestellt sein. Wenn du jetzt einen
>> zweiten Emacs startest, wird bereits der von diesen Einstellungen
>> nichts wissen. Das Betriebssystem musst du dazu nicht neu
>> starten.
>>
>Doch, auch der zweite geöffnete Emacs kennt noch die utf-8
>Einstellungen.
Bist du sicher, dass das ein zweiter Emacs ist und nicht etwa der
erste Emacs nur ein zweites Fenster im X‐Display geöffnet hat?
>>
>> => Am Emacs 26.1 muss ich da nichts einstellen; es genügt, ihm ein
>> vernünftig konfiguriertes Locale unter die Nase zu halten.
>>
>> Ich kann mir nicht vorstellen, dass Emacs 27.2 das nicht auch so
>> macht.
>>
>wolfgang@wolfgang-bauer:~$ locale
>LANG=de_AT.UTF-8
>LANGUAGE=de:en_US
>LC_CTYPE="de_AT.UTF-8"
>LC_NUMERIC=de_AT.UTF-8
>LC_TIME=de_AT.UTF-8
>LC_COLLATE="de_AT.UTF-8"
>LC_MONETARY=de_AT.UTF-8
>LC_MESSAGES="de_AT.UTF-8"
>LC_PAPER=de_AT.UTF-8
>LC_NAME=de_AT.UTF-8
>LC_ADDRESS=de_AT.UTF-8
>LC_TELEPHONE=de_AT.UTF-8
>LC_MEASUREMENT=de_AT.UTF-8
>LC_IDENTIFICATION=de_AT.UTF-8
>LC_ALL=
Das sieht zwar in Ordnung aus, sagt aber nicht viel: Du müsstest
Tin dazu bringen, statt Emacs einen Wrapper aufzurufen, der zuerst
«locale» aufruft und dir dessen Ausgabe per E‐Mail zuschickt und
danach Emacs startet. Dann könnte man sehen, in welchem Locale Tin
Emacs startet.
>> Hast Du vielleicht in irgendeine deiner
>> Emacs‐Konfigurationsdateien Emacs‐Lisp‐Code eingetragen, der das
>> Coding‐System immer auf ISO-8859-1 stellt und deshalb bewirkt,
>> dass der Emacs das Locale ignoriert?
>>
>~/.emacs
>'(mm-coding-system-priorities (quote (mule-utf-8)))
>'(current-language-environment "UTF-8")
Wenn ich das in meine Emacs‐Konfigurationsdatei eintrage, erhalte
ich einen Fehler. Vermutung: Das steht auch in deiner
Konfigurationsdatei nicht so nackt drin, sondern da steht sicher
noch etwas drum herum, also vorher und nachher, was diese beiden
Zeilen zusammen mit dem Drumherum zu einem gültigen
Emacs‐Lisp‐Ausdruck macht.
Es könnte auch ein Problem bei der Zusammenarbeit von Tin und Emacs
sein.
>Übrigens, der Konsolenreader slrn hat zusammen mit Emacs kein
>Problem mit Umlauten.
Das könnte auch ein zufälliges Zusammenpassen sein: Beide sind
starrsinnig, haben aber zufällig die gleiche Meinung.
Um dem nachzuforschen, müsste man erst mal ermitteln, wie Tin beim
Verfassen von Artikeln Emacs aufruft. Das ist durchaus nicht
selbstverständlich, weil in einer Text‐Datei nirgends vermerkt ist,
in welchem Zeichensatz sie erstellt ist: Es gibt in Text‐Dateien
keinen Platz für solche Verwaltungsinformationen. Die Information
müsste also auf andere Weise von Tin an Emacs übergeben werden. Ich
könnte mir vorstellen, dass Tin dazu die Umgebungsvariable
«LC_CTYPE» oder «CHARSET» nutzt. Aber das ist reine Spekulation.
Emacs versucht normalerweise jedenfalls unter anderem am Dateiinhalt
herauszubekommen, in welchem Zeichensatz die Text‐Datei verfasst
ist. Mit einer Datei, die als einziges Nicht‐ASCII‐Zeichen ein
einziges «Ä» enthält, sollte das eigentlich funktionieren, und zwar
sowohl in dem Fall, dass das «Ä» im Zeichensatz ISO-8859-1, als auch
in dem Fall, dass es im Zeichensatz UTF-8 kodiert ist.
Und wenn Emacs die Text‐Datei dann schließlich neu schreibt (weil er
Änderungen an ihr vornehmen will), behält er den Zeichensatz nach
Möglichkeit (d. h. so lang man nicht von ihm verlangt, Zeichen
einzufügen, die im bisherigen Zeichensatz nicht enthalten sind) bei.
Dass dein Emacs das nicht hinbekommt, lässt mich vermuten, dass du
ihm irgendwo in seinen Konfigurationsdateien Entsprechendes befohlen
hast, oder, dass er zum Dateiinhalt unpassende Locale‐Informationen
bekommt, die ihm den passenden Zeichensatz erst gar nicht in
Betracht ziehen lassen.