guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What's up with 'current-load-port'


From: Thomas Morley
Subject: Re: What's up with 'current-load-port'
Date: Mon, 5 Nov 2018 10:49:30 +0100

Am Mo., 5. Nov. 2018 um 09:25 Uhr schrieb Thomas Morley
<address@hidden>:
>
> Am Mo., 5. Nov. 2018 um 02:43 Uhr schrieb Mark H Weaver <address@hidden>:
> >
> > Thomas Morley <address@hidden> writes:
> >
> > > what's up with 'current-load-port'?
> > >
> > > Simply checking in a guile-prompt I get:
> > > guile-1.8: #<primitive-procedure current-load-port>
> > > guile-2.0.14: #<procedure current-load-port ()>
> > > guile-2.2.4 and guile-2.9.1:
> > > ;;; <unknown-location>: warning: possibly unbound variable 
> > > `current-load-port'
> > > ERROR: In procedure module-lookup: Unbound variable: current-load-port
> > >
> > > It's in the manual, though, without any hint it could be deprecated or
> > > disabled or the need to use a certain module.
> >
> > Good catch.  I agree that this was mishandled.
> >
> > Out of curiosity, what do you use 'current-load-port' for?
> >
> > Although it's in the manual, the description doesn't really describe
> > what the procedure returns, or when one can rely upon it being set.  It
> > only says that it's "used internally by 'primitive-load'".
> >
> >       Mark
>
> Some background:
> You probably remember I'm from LilyPond. Currently we still use
> guilev-1.8, though have experimental support for guilev2.
> I do a lot of support on our user-list, frequently checking things
> with my lilypond-guilev2-setup to detect bugs.
>
> Recently a user wrote a large scm-file and put it into lilypond using
> '(load file.scm)'.
> No problem with guilev1, but with guilev2 'file.scm' is not found.
> Thus I tried to track the problem down.
> Not a bad start is to rtfm :)
> So I found 'current-load-port' and intended to play around with it
> whether I can get some useful info out of it.
>
> In short, I likely don't need 'current-load-port' for anything, but
> couldn't be sure before I used it. Thus this thread and patch.
>
> While doing rtfm I found 'primitive-load' working for the above
> described purpose in guilev1 and guilev2. So the problem is solvable.
>
> Although this doesn't explain why 'load' stopped working for lilypond.
> I then started from our master (guilev1) and changed only two things:
> - teaching configure to accept guile-2.9.1
> - disabling a certain not longer supported function (only needed for
> collecting some statistic data and never used afair)
> Omitting all other guilev2-patches will ofcourse result in a very
> buggy lilypond, if someone would intend to use it, but enough to check
> whether 'load' works.
> It does not.
> So the underlying problem is either already in lilypond-master or
> guilev2 changed something in 'load'.
>
> That's my current research-state.

Addition:
(load "full/path/to/file.scm") does work in LilyPond as opposed to a
relative path.

>
> Any hint from the guile side?
>
>
> Thanks,
>   Harm



reply via email to

[Prev in Thread] Current Thread [Next in Thread]