From: Dan C. <dan...@co...> - 2005-11-14 21:41:54
|
I've been meaning to ask this for quite some time... *load-truename* is nil when my .sbclrc file is loaded at initialization. Is this a bug (or a not so handy feature)? -- Dan |
From: Christophe R. <cs...@ca...> - 2005-11-14 21:56:05
|
Dan Corkill <dan...@co...> writes: > I've been meaning to ask this for quite some time... > > *load-truename* is nil when my .sbclrc file is loaded at initialization. > Is this a bug (or a not so handy feature)? I believe it's a feature. (That is, that .sbclrc is not loaded as if by cl:load, because if it were then you couldn't change *package*, *readtable* and similar variables in it). However, given that .sbclrc is in your home directory, why can't you use user-homedir-pathname for whatever you were going to use *load-truename* for? Cheers, Christophe |
From: Dan C. <dan...@co...> - 2005-11-14 22:04:46
|
>>*load-truename* is nil when my .sbclrc file is loaded at initialization. >>Is this a bug (or a not so handy feature)? >> >> > >I believe it's a feature. ... >However, given that .sbclrc is in your home directory, why can't you >use user-homedir-pathname for whatever you were going to use >*load-truename* for? > > I was worrying about the possibility of using --userinit to specify somewhere other than the homedir... -- Dan |
From: Zach B. <xa...@xa...> - 2005-11-14 22:08:40
|
On Mon, Nov 14, 2005 at 05:04:33PM -0500, Dan Corkill wrote: > I was worrying about the possibility of using --userinit to specify > somewhere other than the homedir... If binding *load-truename* is important, sbcl --load <foo> might be more useful than sbcl --userinit <foo>. Zach |
From: Christophe R. <cs...@ca...> - 2005-11-14 22:19:18
|
Dan Corkill <dan...@co...> writes: > I was worrying about the possibility of using --userinit to specify > somewhere other than the homedir... Are you worrying about it, or are you actually doing it? Cheers, Christophe |
From: Dan C. <dan...@co...> - 2005-11-14 23:12:49
|
>>I was worrying about the possibility of using --userinit to specify >>somewhere other than the homedir... >> >> > >Are you worrying about it, or are you actually doing it? > > > Just worrying. TTTT (to tell the truth), I was being lazy--using the same init file with SBCL that I use for others (one of which has a broken user-homedir-pathname). It's not a problem for me, just a surprise. -- Dan |
From: <fa...@gm...> - 2005-11-14 23:31:05
|
On 14/11/05, Dan Corkill <dan...@co...> wrote: > Just worrying. TTTT (to tell the truth), I was being lazy--using the > same init > file with SBCL that I use for others (one of which has a broken > user-homedir-pathname). > It's not a problem for me, just a surprise. My .sbclrc is essentially this: (load "/home/fare/etc/cl/init.lisp" :verbose nil :print nil) This handles the sharing, enables *load-truename*, keeps the shared file in a version-controlle directory, prepares coffee, etc. And on some machines, I even add a (proclaim '(optimize ...)) in the .sbclr= c. Cheers! [ Fran=E7ois-Ren=E9 =D0VB Rideau | Reflection&Cybernethics | http://fare.tu= nes.org ] There cannot be Ethics without Models of possible behaviors, and Imagination to explore them. |
From: Kevin R. <ke...@ro...> - 2005-11-15 01:08:16
|
Far=E9 wrote: > (load "/home/fare/etc/cl/init.lisp" :verbose nil :print nil) Mine is similar, but avoids hardcoding the users home directory: (let ((boot-file (merge-pathnames (make-pathname :name "start" :type "lisp" :directory '(:relative "src" "lisp" "lbo= ot")) (user-homedir-pathname)))) (when (probe-file boot-file) (load boot-file))) --=20 Kevin Rosenberg ke...@ro... |
From: Nikodemus S. <nik...@ra...> - 2005-11-15 15:11:45
|
On Mon, 14 Nov 2005, Dan Corkill wrote: > I've been meaning to ask this for quite some time... > > *load-truename* is nil when my .sbclrc file is loaded at initialization. > Is this a bug (or a not so handy feature)? Misfeature, due to init-files not being processed by LOAD, which has the positive feature of allowing you to tweak various toplevel things without inconvenient bindings to hinder you. It would be seem rather confusing to have some features of LOAD, like *LOAD-TRUENAME*, but not others, eg. rebinding of *PACKAGE*. Maybe we should bind SB-EXT:*INIT-TRUENAME* and SB-EXT:*INIT-PATHNAME*. Living with the inconsistency and binding *LOAD-FOO* would be more DWIM, but not any more portable in the strict sense of the word. On the other hand, if people feel strongly like having *LOAD-FOO* bound there, then maybe that is the way to go. Then again, we could move back to using LOAD and ask people who need to tweak toplevel to either dump a new core or provide SB-EXT:TOPLEVEL to start a new one in the current context. Cheers, -- Nikodemus Schemer: "Buddha is small, clean, and serious." Lispnik: "Buddha is big, has hairy armpits, and laughs." |
From: Christophe R. <cs...@ca...> - 2005-11-16 12:41:13
|
Harald Hanche-Olsen <ha...@ma...> writes: > + Nikodemus Siivola <nik...@ra...>: > > | It would be seem rather confusing to have some features of LOAD, like > | *LOAD-TRUENAME*, but not others, eg. rebinding of *PACKAGE*. > > Why, I wonder? Those who don't read the documentation will already by > confused because *PACKAGE* is not rebound, and for those who do, all > you need to avoid confusion is (should be) to add a sentence to > > start-stop.texinfo, @node Initialization File Semantics: > > However, @code{*load-pathname*} and @code{*load-truename*} are bound > as if by @code{load}. > > | On the other hand, if people feel strongly like having *LOAD-FOO* > | bound there, then maybe that is the way to go. > > I think it's a good idea. No need to invent new variables for an old > purpose, is there? I can't quite see the purpose, though. USER-HOMEDIR-PATHNAME is there for a reason, and no-one's yet come up with an actual _use_ for *LOAD-FOO* in the init files. Cheers, Christophe |
From: Harald Hanche-O. <ha...@ma...> - 2005-11-16 13:04:31
|
+ Christophe Rhodes <cs...@ca...>: | I can't quite see the purpose, though. USER-HOMEDIR-PATHNAME is there Oh. I had no idea. Maybe some mention of it could be added to the manual? (The semantics for USER-HOMEDIR-PATHNAME is clear enough on Unix. I have no idea what it means on Windows, but then I rarely use Windows anyway. But hopefully, it would be something that could be used as a basis for building filenames of extra files to load from the init file? That would be the obvious use for *LOAD-FOO* in the init file, otherwise.) - Harald |
From: Harald Hanche-O. <ha...@ma...> - 2005-11-15 15:48:10
|
+ Nikodemus Siivola <nik...@ra...>: | It would be seem rather confusing to have some features of LOAD, like | *LOAD-TRUENAME*, but not others, eg. rebinding of *PACKAGE*. Why, I wonder? Those who don't read the documentation will already by confused because *PACKAGE* is not rebound, and for those who do, all you need to avoid confusion is (should be) to add a sentence to start-stop.texinfo, @node Initialization File Semantics: However, @code{*load-pathname*} and @code{*load-truename*} are bound as if by @code{load}. | On the other hand, if people feel strongly like having *LOAD-FOO* | bound there, then maybe that is the way to go. I think it's a good idea. No need to invent new variables for an old purpose, is there? - Harald |