Hallo,
ich habe die neue Version bezüglich "Point-and-Click"-Verbesserungen auf meinem Win7/64-Rechner getestet - ohne Frescobaldi oder ähnliches.
also:
Ich habe Lilypond 2.19.80 auf Win7 installiert, im gleichen Verzeichnis wie die vorhergehende Version von Lilypond.
Den »Installationpfad« habe ich in diesem Beitrag generell
L:\Lilypond genannt.
Das Verzeichnis
L:\Lilypond\usr\bin war schon zuvor im Suchpfad (Umgebungsvariable PATH) enthalten - damit die Kommandozeilenübersetzung läuft.
Die Umgebungsvariable LYEDITOR war auch schon zuvor korrekt belegt.
Point-and-Click funktioniert nicht (out of the box) - noch immer nicht.
Entsprechend dem Registry-Eintrag HKEY_CLASSES_ROOT\textedit\shell\open\command habe ich in der Eingabeaufforderung ausgeführt:
L:\Lilypond\usr\bin\guile.exe -s L:\Lilypond\usr\bin\lilypond-invoke-editor textedit://a.ly:1:2:3Das ist schon eine Verbesserung zu früher. Der in der Registry eingetragene Befehl mußte nicht mehr (wie in früheren Versionen) korrigiert werden.
Meldung:
lilypond-invoke-editor (GNU LilyPond) 2.19.80
ERROR: no code for module (scm editor)
Mein Analyseergebnis:
weil das Verzeichnis
L:\Lilypond\usr\share\lilypond\2.19.80 (dieser Pfad wird in der lokalen Variablen LILYPOND_DATADIR der SCHEME-Routine abgelegt) gar nicht exisitiert, sondern statt dessen
L:\Lilypond\usr\share\lilypond\current, wird die Datei
editor.scm nicht gefunden.
3 Variaten zur Behebung:1. Variante:Patch
L:\Lilypond\usr\bin\lilypond-invoke-editor:
(define TOPLEVEL-VERSION "2.19.80")zu
(define TOPLEVEL-VERSION "current")+ funktioniert, aber wohl nur in den Installer-Varianten, wahrscheinlich nicht bei direkter Codeerzeugung (z. Bsp. die Entwicklung in LilyDev)
2. Variante:Patch
L:\Lilypond\usr\bin\lilypond-invoke-editor:
(set! %load-path (cons LILYPOND_DATADIR %load-path))zu
(set! %load-path (cons LILYPOND_DATADIR (cons (format #f "~a/current" (dirname LILYPOND_DATADIR)) %load-path)))ergo, zwei Suchpfade werden hinzugefügt, der erste endet wie bisher mit der aktuellen Versionsnummer, der nächste (zusätzliche) endet mit »current« anstelle der Versionsnummer.
+ funktioniert
3. Variante:Umgebungsvariable setzen:
GUILE_LOAD_PATH=L:\Lilypond\usr\share\lilypond\current+ funktioniert auch, aber die Umgebungsvariable kann man natürlich nur global im Windows setzen.
Zum Vergleich habe ich mir auch noch die Linux-Version innerhalb einer neu aufgesetzten LilyDev-Umgebung angesehen:
~/bin/lilypond-invoke-editor war verlinkt auf ~/lib/lilypond-wrapper.guile,
und diese Routine setzt (unter anderem) die Umgebungsvariable GUILE_LOAD_PATH.
Und es wurden dann gleich zwei EMACS-Texteditor-Sessions gestartet - eigentlich eine zu viel ;)
Was sollte man anstreben?
- Variante 2 - automatische Erweiterung der load-path um das Verzeichnis mit 'current' statt der Versionsnummer
- Variante 3 - in den Handbüchern dokumentierten, daß außer PATH auch GUILE_LOAD_PATH unter Windows korrekt gesetzt werden muß, damit Point-and-Click läuft
Arnold
Hmmm....
irgendwie seit 5 Wochen keine Antwort.
http://lilypond.1069038.n5.nabble.com/Point-and-Click-on-Win7-SCHEME-does-not-find-a-module-tp206695.html
Arnold.