[plt-scheme] using serialize for language settings
Hi,
I've written a library that uses serialize.ss to encode language level
settings as a serializable struct. Unfortunately, the marshalled data
seems to keep track of the location of struct type's module exactly as
that module happend to be originally required.
So, for example, if the module that defines the settings structure is
called my-lang-settings.ss, and the language level module happens to
require it with a local require-spec, e.g.:
(require "my-lang-settings.ss")
then the serialized data gets stored as a local file path. The next time
DrScheme starts up, it reads in the preferences file and tries to load
the same module, but relative to the current directory that DrScheme was
started in! Chances are, now it can't find the module.
Is there a way to force the serialization to use something like an
absolute path in its representation of the data? Or do I (shudder) need
to munge the serialized data?
Or do I need to require all users of this language level serialization
library I've written to make sure that whenever they require a module
that uses my library the serializable data structure, they do so with an
non-relative require-spec? That can't be the best solution, can it?
Thanks,
Dave