Andreas Kohlbach <
a...@spamfence.net>:
> On Sat, 29 Apr 2023 21:10:28 +0200, Helmut Waitzmann wrote:
>> Andreas Kohlbach <
a...@spamfence.net>:
>>> On Sat, 29 Apr 2023 19:45:54 +0200, Helmut Waitzmann wrote:
>>>> Andreas Kohlbach <
a...@spamfence.net>:
>>>>> Kann man format-flowed in Gnus implementieren?
>>>>>
>>>>
>>>> Ja. Wenn ich es recht verstehe, ist es das bereits.
>>>>
>>
>>>> Und dann trage dir in die Emacs‐Startup‐Datei («~/.emacs»
>>>> oder welche Datei es bei dir ist) den Emacs‐Lisp‐Ausdruck
>>>>
>>>> (setq-default
>>>> ;; Enable or disable the flowed ENCODING usage when newline
>>>> ;; characters are present in the buffer:
>>>> mml-enable-flowed t
>>>> ;; If non-nil a format=flowed article will be DISPLAYED
>>>> ;; flowed:
>>>> mm-fill-flowed t
>>>> fill-flowed-display-column
>>>> '(window-width))
> Das Lesen gedieh nun zum Problem. Da ich hier freiwillig auf 120
> Zeichen limitiert bin, sehen Artikel anderer, die Format-Flowed
> verwenden, kaputt aus.
Du meinst, du hättest gerne Zeilen mit mehr als 120 Zeichen,
beschränkst dich aber freiwillig auf 120 Zeichen? Warum
beschränkst du dich freiwillig? Für wen tust du es dann, wenn
nicht für dich? Und deshalb sehen Fließformat‐Zeilen[1] in
Artikeln anderer bei dir kaputt aus? Kannst du das genauer
erläutern? Beispielsweise könntest du einen Artikel, der bei dir
kaputt aussieht, (mit Autor, Betreff, Datum, Newsgroups und
Message-Id, damit man ihn finden kann) nennen und beschreiben,
wie er bei dir aussieht, und, inwiefern das nicht das ist, was du
willst.
[1] Da sind ein paar Erklärungen nötig:
Textzeilen, die mit mindestens einem «>» beginnen, sind Zitate;
Textzeilen, die ohne ein «>» beginnen, Originale. (Das dürfte
allgemein bekannt sein.)
Ein Leerzeichen, das unmittelbar nach den 0 (bei Originalen) oder
mindestens 1 (bei Zitaten) am Zeilenanfang stehenden «>» folgt,
nennt man ein Space‐Stuffing‐Leerzeichen. Es steht nicht (nur)
für sich alleine, sondern hat die u. a. die Funktion, «>», die
keine Zitatanzeiger sein sollen, davor zu bewahren, vom
Newsreader als Zitatanzeiger missverstanden zu werden. Dort, wo
diese Funktion nötig ist, muss der den Artikel verfassende
Newsreader so ein Leerzeichen einfügen – selbst dann, wenn es der
Verfasser nicht selber eintippt. => Es gibt Leerzeichen, die dem
Leser eigentlich nicht gezeigt werden sollten, weil sie nicht für
sich stehen sondern nur die besondere Funktion haben sollen.
(Beispielsweise sind in diesem Artikel alle nicht‐leeren Zeilen
mit einem Space‐Stuffing‐Leerzeichen versehen: Die Originale
haben es am Zeilenanfang, die Zitate unmittelbar hinter den am
Zeilenanfang stehenden «>».)
Eine Fließformat‐Zeile ist eine Zeile, die, nachdem man ein
eventuelles Space‐Stuffing‐Leerzeichen entfernt hat, unmittelbar
vor dem Zeilenende ein Leerzeichen stehen hat.
Eine Festformat‐Zeile ist eine Zeile, die, nachdem man ein
eventuelles Space‐Stuffing‐Leerzeichen entfernt hat, unmittelbar
vor dem Zeilenende kein Leerzeichen stehen hat.
Fließformat‐Zeilen in Fließformat‐Artikeln sind eine Einladung an
den Newsreader des Lesers, sie bei Bedarf so neu zu umbrechen,
wie der Leser seinen Newsreader eingestellt hat. Deshalb sollten
Fließformat‐Artikel bei dir nicht kaputt aussehen. Wenn sie das
trotzdem tun, enthalten sie entweder Festformat‐Zeilen
unpassender Länge (wofür der Verfasser verantwortlich ist), oder
dein Newsreader ist, was die Anzeige von Fließformat‐Zeilen
angeht, nicht passend eingestellt.
> Meine Absicht war, dass nur meine geschriebenen Artikel
> Format-Flowed haben. Nicht in meiner Ansicht von Artikeln
> anderer.
Um das zu erreichen, muss der Variablen «mm-fill-flowed» der Wert
«nil» zugewiesen werden. Ändere also im oben zitierten
«setq-default»‐Lisp‐Ausdruck die Zeile
mm-fill-flowed t
in
mm-fill-flowed nil
um. Dann wird der Fließformat‐Artikel beim Lesen so
interpretiert, als wäre er ein Festformat‐Artikel; kurz: Das
Fließformat wird ignoriert.
Allerdings hat das unschöne Konsequenzen, wenn du zum Verfassen
das Fließformat ein‐ und zum Lesen abschaltest:
(1.) Du siehst nicht, wie Fließformat‐Artikel, in denen du aus
Versehen Fließformat‐Zeilen verwendet hast, wo du eigentlich
Festformat‐Zeilen haben wolltest, aussehen, wenn du sie selber
liest. Damit hast du keine Rückmeldung, wie deine Artikel bei
anderen Lesern aussehen.
(2.) Wenn du einen Artikel, der im Fließformat verfasst ist, mit
abgeschaltetem Fließformat liest und dann aber mit
eingeschaltetem Fließformat zitierst, werden – je nachdem, ob der
Newsreader beim Zitieren die im Originaltext enthaltenen
Space‐Stuffing‐Leerzeichen trotz abgeschaltetem Fließformat
erkennt und entfernt oder unerkannt kopiert – die im Originaltext
enthaltenen Space‐Stuffing‐Leerzeichen mitzitiert statt entfernt
und beim Verfassen aber neue zusätzliche
Space‐Stuffing‐Leerzeichen eingefügt. Die Folge ist, dass dort,
wo ein Space‐Stuffing‐Leerzeichen steht, ein weiteres Leerzeichen
hinzukommt.
>>> Ich habe den/das (?) Schnipsel trotzdem mal in die .gnus
>>> kopiert. Mal schauen beim nächsten Start.
>>
>> Manchmal greife ich mir an den Kopf. Ich habe doch extra
>> geschrieben, in welche Datei das hinein gehört. Warum
>> ignorierst du das und schreibst es in die Gnus‐Startup‐Datei
>> «.gnus» statt in die Emacs‐Startup‐Datei? Mit diesem Maß an
>> Sorgfalt sind Hopfen und Malz von Anfang an verloren.
>
> Ich will nicht, dass das auch im Emacs allein passiert. Daher
> schrieb ich das stattdessen in die .gnus. Wie ich das auch sonst
> mache, wenn ich will, dass die Änderungen nur Gnus erfahren
> soll. Das funktioniert normal auch.
Das funktioniert nicht. Die genannten Variablen wirken nicht
weniger global, sobald du Gnus startest, wenn sie in der
Gnus‐Startup‐Datei stehen. Selbst wenn du Gnus beendest,
behalten sie ihren eingestellten Wert und werden nicht etwa
zurückgestellt, so, als hätte die Wertzuweisung in der
Gnus‐Startup‐Datei nicht stattgefunden.
>> Wenn alles so funktioniert, wie ich mich vorstelle, dass es
>> soll, dann sollte das bereits beim Betrachten des nächsten
>> Artikels seine Wirkung tun.
>
> Was ich nicht will (wegen der 120 Zeichen). Es soll nur auf
> geschriebene Artikel wirken. Ich mache das wieder rückgängig.
>
> Wie man in diesem Artikel auch sehen kann, sollte es zu zulangen
> Zeilen im Zitat gekommen sein. Das ist natürlich nicht
> erwünscht.
Ja. Allerdings verkündet dein Artikel, nicht im Fließformat
verfasst zu sein. Das kann man daran sehen, dass du im
Vorspannfeld «Content-Type» den Wert «text/plain; charset=utf-8»
statt «text/plain; charset=utf-8; format=flowed» stehen hast.
Deshalb traut sich der Newsreader des Lesers weder, die von dir
verfassten, noch die von dir zitierten Zeilen neu zu umbrechen,
egal, ob es Fließformat‐Zeilen sind oder nicht.
Außerdem sind die Zeilen – egal, ob der Artikel nun im Fließ‐
oder im Festformat steht – zu lang. Die Zeilen sollten – auch
bei Artikeln im Fließformat – die Länge von 78 Zeichen nicht
überschreiten. Es wird (dem Newsreader des Verfassers)
empfohlen, sich beim Verfassen des Artikels auf 66 Zeichen Länge
zu beschränken: Dann ist noch Reserve für mehrfaches Zitieren
dabei, selbst dann, wenn der Newsreader des Lesers das
Fließformat nicht kennt und sein Textterminal nur 79 Zeichen
breit ist.
Dass wir uns hier richtig verstehen: Die Beschränkung der
Fließformat‐Zeilen beim Verfassen auf höchstens 78 Zeichen ist
beim Lesen nur für Newsreader von Belang, die das Fließformat
ignorieren. Ein Newsreader, der das Fließformat beim Anzeigen
der Fließformatzeilen nutzt, kann die Fließformat‐Zeilen neu
umbrechen und deshalb auch längere oder oder kürzere Zeilen
daraus erstellen, wenn der Leser seinen Newsreader entsprechend
eingestellt hat. Das ist der Sinn des Fließformats:
Der Artikelverfasser kann, wo er im Fließformat‐Text
Fließformat‐Zeilen verwendet, dem Newsreader des Lesers
ausdrücklich anzeigen: «Hier empfehle ich dir, diesen Textabsatz
so neu zu umbrechen, dass er die vom Leser gewünschte Zeilenlänge
nutzt».
Wo der Artikelverfasser im Fließformat‐Text Festformat‐Zeilen
verwendet, zeigt er dem Newsreader des Lesers ausdrücklich an:
«Diese Zeilen empfehle ich dir, nicht neu zu umbrechen,
beispielsweise, weil ihr Sinn dadurch verfälscht würde».
Ein Beispiel für Verfälschungen wären etwa Shell‐Skripte. Bei
denen darf man ja Zeilenumbrüche nicht einfach löschen oder
einfügen, weil man sonst das Verhalten des Shell‐Skripts ändert.
> Gibt es eine Lösung, die meinem Wunsch nachkommt?
>
Vermutlich habe ich noch nicht ganz verstanden, was dein Wunsch
ist. Kannst du ihn nochmal genau erläutern?
Das Neuumbrechen des Fließformats kommt beim Artikel‐Lesen nur
dann zur Wirkung, wenn die folgenden drei Bedingungen erfüllt
sind:
Der Verfasser hat seine Nachricht im Fließformat verfasst und in
ihr Fließformat‐Zeilen (beim Schreiben von neuem Text oder beim
Zitieren von Text seines Vorgängers) verwendet, und der
Newsreader des Lesers ignoriert das Fließformat nicht.
Schau dir mal den Fließformat‐RFC 3676
(<
https://datatracker.ietf.org/doc/html/rfc3676>) an. Der
diskutiert das ausführlich.