Hi Neil, Thanks for the reply,
2008/11/15 Neil Jerram <[EMAIL PROTECTED]>: > 2008/11/12 Linas Vepstas <[EMAIL PROTECTED]>: > >> Yes, of course, the problem remains. > > Explanation: > > Thread 1 is the first thread that does any Guile stuff, so it loads > boot-9.scm, which means that it ends up in the (guile-user) module. > > Thread 2 hasn't done any (set-current-module ...), so it stays at the > default, which is (guile). > > Solution: add (define-module (guile-user)) to the code that you > execute in thread 2. Well, originally, my code loaded a smob interface (defined a bunch of smobs) in thread 1, which I then found to be undefined in thread 2 (and all subsequent threads). Would your fix solve this? Under the "principle of least surprise", I certainly was surprised that not all threads behaved the same; I got bitten by this, and wasted a day debugging this, and designing a work-around for this "feature". I would like to suggest that libguile itself should be performing this step, rather than having the developer get caught off -guard and scratching their head. --linas
