>>>>> "gs" == Gerardo M Sarria M <[EMAIL PROTECTED]> writes:

  gs> How can I unlock all the packages from the launch of the lisp 
  gs> executable, to redefine some functions and methods in the last cvs 
  gs> snapshot (2003-08-15-x86) ??
  gs> Because everytime I have this error I have to select the option 
  gs> unlocked-all in the Restarts.

I wouldn't recommend that you unlock all packages, unless you are
rebuilding CMUCL or some of its add-on libraries. IMO the best
strategy if an internal function doesn't do what you need is to create
a package such as CMUCL-OVERRIDES, define your customized functions
there, and shadowing-import the necessary symbols from your own
packages.

If you really need to redefine internal functions such that the new
definitions are used by the rest of CMUCL, I would be interested to
know what your requirements are, and maybe your changes could be
integrated into CMUCL.

To reply directly to your question, the accessors EXT:PACKAGE-LOCK and
EXT:PACKAGE-DEFINITION-LOCK allow you to disable a package's
structural and definition locks. The macro EXT:WITHOUT-PACKAGE-LOCKS
allows you to execute forms with all package locks disabled. Finally,
the function EXT:UNLOCK-ALL-PACKAGES disables all package locks for
the duration of the current session (you can use this from your
~/.cmucl-init file).

BTW, these functions are documented in the CVS version of the User's
Manual, which you can find in various formats in the snapshots
directory of the download sites. If you're using CVS snapshots of
CMUCL, I recommend that you subscribe to the cmucl-imp mailing list,
which is where you'll find discussion of ongoing development.

[Late reply upon return from vacation]

-- 
Eric Marsden                          <URL:http://www.laas.fr/~emarsden/>

Reply via email to