Autor Thema: Unterdrücken von Fehlermeldungen (GELÖST)  (Gelesen 2060 mal)

ingmar

  • Member
Unterdrücken von Fehlermeldungen (GELÖST)
« am: Samstag, 12. März 2016, 13:42 »
Der Beitrag Wiederholung mit Auftakt war Auslöser für die folgende Frage.

Hier folgt ein kurzes Schnipsel, das einwandfrei kompiliert, am Schluss aber ein unbefriedigendes Schriftbild zeigt:
\version "2.18.2"
\score {  \new Staff { \relative c'' {
\repeat volta 2 { c4 d e f }
\alternative {
{ g e d2}
{ g2. }
}
\repeat volta 2 { f8 e d4 e f g }
\alternative {
{ f2 e4 }
{
% \partial 4*0
      c1\fermata \bar "|."
}
}
} } }
Offenbar kommt Lilypond durch den Auftakt aus dem Tritt. Durch Weglassen des Kommentarzeichens, also Entkommentieren von \partial 4*0, erhalten wir das gewünschte saubere Schriftbild. Soweit also alles gut!

Das Einfügen von \partial 4*0 führt zu einer Meldung des Compilers: "Warnung: versuche, \partial nach dem Beginn eines Stückes einzusetzen". - Den Umgang mit \partial sollten wir aber am besten drüben, im anderen Thread, diskutieren.

Denn ich habe hier eine andere Frage: Gibt es einen Weg, diese Warnung an dieser einen Stelle zu unterdrücken? Denn ich möchte vermeiden, dass entweder ich selbst in ein paar Jahren oder auch ein anderer, der meine Dateien verwendet, beginnt, dort nach einem Fehler zu suchen.

Gruß,
--ingmar
« Letzte Änderung: Montag, 28. März 2016, 07:11 von ingmar »

fugenkomponist

  • Member
Re: Unterdrücken von Fehlermeldungen
« Antwort #1 am: Samstag, 12. März 2016, 14:09 »
#(ly:expect-warning "versuche, \\partial")unterdrückt Warnungen, die mit „versuche, \partial“ anfangen. Die englische Version hierzu heißt
#(ly:expect-warning "trying to use \\partial")Es gibt aber wiederum eine Ausgabe, wenn eine Warnung erwartet wurde, aber nicht auftaucht.

Davon abgesehen funktioniert \partial seit Version 2.19 auch in der Mitte des Stücks ohne Probleme und Warnungen ;) Edit: Und alternative tut auch mit unfertigen Takten, genaueres siehe anderer Thread.
« Letzte Änderung: Samstag, 12. März 2016, 14:16 von fugenkomponist »

harm6

  • Member
Re: Unterdrücken von Fehlermeldungen
« Antwort #2 am: Samstag, 12. März 2016, 14:12 »
Um Fehlermeldungen zu unterdrücken gibt es verschiedene Möglichkeiten. Die, die hier am ehesten in Frage kommt ist ly:expect-warning
Allerdings kompiliert das snippet in 2.19.36 einwandfrei und ohne Warnung deshalb hab' ich die Warnung versionsabhängig gemacht:

#(if (string-ci>? "2.19.0" (lilypond-version))
     (ly:expect-warning "trying to use \\partial"))

HTH,
  Harm
« Letzte Änderung: Samstag, 12. März 2016, 14:19 von harm6 »

ingmar

  • Member
ja, zwei neunzehn, zwei neunzehn.
« Antwort #3 am: Samstag, 12. März 2016, 14:15 »
Ich hab es geahnt! Die Argumente für 2.19 werden immer mehr, keine Versteckmöglichkeiten mehr in Sicht.. : - |

--ingmar

fugenkomponist

  • Member
Re: Unterdrücken von Fehlermeldungen
« Antwort #4 am: Samstag, 12. März 2016, 14:22 »
Vielleicht wirds einfach mal Zeit für eine 2.20 … „Anfängern“ wird immer zu stabilen Versionen geraten, aber ich hab das Gefühl, dass sehr viele inzwischen die 2.19 nutzen ;)

ingmar

  • Member
re: Unterdrücken von Fehlermeldungen
« Antwort #5 am: Dienstag, 15. März 2016, 22:22 »
Ich hab auf diese Antworten hin die Gelegenheit ergriffen, zu 2.19 zu wechseln. Daher hab ich im Moment keinen Anlass, das hier angefragte Unterdrücken von Fehlermeldungen zu testen. Dennoch danke für Eure Antworten!

Die Frage, die sich natürlich stellt, ist, warum dieses expect-warning nun eigentlich selber wieder zu einer Warnung führen muss. In vielen Fällen - wie meinem hier - ist es sicher sinnvoll, in der ausbleibenden Warnung eine Anomalie zu sehen und diese zu melden. Aber es wird wohl genausoviele Fälle geben, wo der Fehler abhängig von Parametern auftritt und man es einfach zu umständlich und unübersichtlich findet, diese Fälle einzeln zu behandeln.

Nunja, seis drum.


Gruß,
--ingmar