[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Slib-discuss] Proper way to add one's own "impcat" to Slib
From: |
Aubrey Jaffer |
Subject: |
Re: [Slib-discuss] Proper way to add one's own "impcat" to Slib |
Date: |
Thu, 11 Dec 2008 18:26:24 -0500 (EST) |
| From: Kris De Volder <address@hidden>
| Date: Thu, 11 Dec 2008 13:30:52 -0800
|
| I figured out how to set it up so that slib will let me generate a
| catalog of feature implementations specific to my Scheme
| implementation.
|
| It properly regenerates the implcat when it is generating the one
| for slib itself. There is a kind of hook in mkimpcat.scm
|
| line 249:
| (load-if-exists (in-vicinity (implementation-vicinity) "mkimpcat")))
|
| So I've "plugged in" to that hook by placing a mkimpcat file inside
| of my implementation vicinity.
|
| However, it appears that although the impcat gets generated OK. It
| is not loaded or consulted in any way by the slib provided
| implementation of require.
|
| I've done a text search for "impcat" and "implcat" but not found any
| hooks/code that actually loads the imp(l)cat.
"mkimpcat.scm" should produce a file named "implcat". The CATCAT
procedure at the end of "slib/mklibcat.scm" copies "implcat" onto the
end of "slib/slibcat".
"mkimpcat.scm" should have entries only for those features which don't
use the SLIB source.
| The most relevant piece of code that I've found is the not exported
| procedure catalog:get in "require.scm", but it has no code for
| loading the implcat file.
CATALOG:GET loads "slib/slibcat", which includes the content of
"implcat".
| PS 1: it seems there are some assumptions that the file should be
| called "implcat", for example in this code:
|
| line 264 in "mklibcat.scm":
| (catcat (implementation-vicinity) "implcat" "implementation")
|
| The naming is a little confusing: the file mkimpcat.scm actually is
| supposed to generate an implcat file rather than impcat as its name
| seems to suggests.
Sorry about that. These Scheme filenames were held to 8+3 characters
for MS-DOS.
| PS 2: I gather that most implementations will simply include their
| own implementation of "require.scm", which makes this "problem" go
| away.
Generating "implcat" as described above will fix it.