On Fri, 2022-07-15 at 02:56 +0200, Jean Abou Samra wrote:
> 
> > A more serious problem (for me) is that Emacs could no longer find 
> > Lilypond mode.  So I moved the new Lilypond to 
> > /usr/local/lilypond/usr/.  Emacs can now uses Lilypond mode, but
> > can't 
> > compile a file - it produces reams of messages (after much
> > processing 
> > time), mostly of the
> > 
> > ;;; note: source file 
> > /usr/local/lilypond/usr/share/lilypond/2.23.10/scm/lily/display-
> > lily.scm
> > ;;; newer than compiled 
> > /usr/local/lilypond/usr/lib/lilypond/2.23.10/ccache/lily/display-
> > lily.go
> > 
> > kind, and then exits with
> > 
> > ERROR: In procedure apply-smob/1:
> > Wrong number of arguments to #<boot-closure 7fa410c90dc0 (_ . _)>
> > 
> > Compilation exited abnormally with code 1 at Thu Jul 14 17:21:52
> > 
> > I have spent some hours experimenting, but so far I haven't managed
> > to 
> > get things working.

On Fri, 2022-07-15 at 02:57 +0200, Jean Abou Samra wrote:
> Le 15/07/2022 à 02:56, Jean Abou Samra a écrit :
> 
> > > Hm. Does this help?
> > > 
> > > sudo find /usr/local/lilypond/usr/lib/lilypond/2.23.10/ -name
> > > "*.go" 
> > > -exec touch {} \;
> > > 
> Wait, rather try
> 
> sudo find /usr/local/lilypond/ -name "*.go" -exec touch {} \;

Yes, this worked - thank you.

I am used to a new installation of Lilypond taking some considerable
time to compile the first time - presumably because it needs to do some
general compilation and housekeeping to get itself organized.
 Subsequently it then takes a relatively short time, depending on the
complexity of the Lilypond source it is compiling.

At the moment I am testing it on a short file - in fact, your "grow-in-
up-direction" example from the Extending Lilypond document.  Compiling
it is taking over 80 seconds each time; after the first time, I would
expect a file like this to take only 3 or 4 seconds.  This is very
unsatisfactory.

On Thu, 2022-07-14 at 23:13 -0500, David Wright wrote:
> 
> Those paths look odd. /usr/local should only contain the directories
> bin  etc  games  include  lib  man  sbin  share  src
> and /usr/local/bin/ is typically placed at the start of your $PATH
> for you by your distribution. I don't know where
> /usr/local/lilypond/usr/
> came from, but the rest of the path, share/lilypond/2.23.10/…, does
> look like something unpacked from the .tar.gz file.
<snip>
> If your response is that it used to work, then I would wonder
> whether you used to have a distribution-supplied version of
> lilypond installed, and emacs was relying on that. In other
> words, it was relying on lilypond*.el files in locations like
> /etc/emacs/site-start.d/ and /usr/share/emacs/site-lisp/
> (or similar names), instead of those from any of the downloaded
> versions you've installed/unpacked in the past.

No, I have never used a distro version of Lilypond.  Until this time, I
have always used a script downloaded from the Lilypond website.  I
install Lilypond globally (although I am the only user of this
computer), and the script chooses to put things where they now are.  I
always thought /usr/local/lilypond/usr/share/lilypond/ was an odd place
to put it, but that wasn't my choice.

When I moved 2.23.10 from my home folder, I intentionally put it in the
same place as previous versions have been on my previous Ubuntu
installations, hoping this would increase the chances of it actually
working.  On this current OS version, I have not actually had any
previous versions of Lilypond, which is why I needed to install it
again now.

In my .emacs file I have:

;;for Lilypond mode
(setq load-path (append (list (expand-file-name
"/usr/local/lilypond/usr/share/emacs/site-lisp")) load-path))
(autoload 'LilyPond-mode "lilypond-mode" "LilyPond Editing Mode" t)
(add-to-list 'auto-mode-alist '("\\.ly$" . LilyPond-mode))
(add-to-list 'auto-mode-alist '("\\.ily$" . LilyPond-mode))

So yes, clearly Lilypond mode is working now because I have installed
Lilypond where the .sh script would have put it.  I can also see that I
can easily work round this by editing my .emacs file, if I decide to
put Lilypond somewhere else (e.g. my home folder).

Is it the intention that the next "stable" version of Lilypond will be
packaged in this new way?  Will the shell script be done away with
there too?

Even if not, what are the perceived advantages of this change for the
development versions, at least?

David


Reply via email to