A new version of my lw-commands stuff, and a question
In case anyone is interested I put up a new version of my lw-commands.lisp file which both lets you define new colon commands for LW and provides a fair slew of them itself. It's at http://www.tfeb.org/lisp/implementation-hax#LW-COLON-COMMANDS. It's completely undocumented, but the most interesting new things it has are: :& <form> -- makes a new process and runs <form> in it. :require <module> -- do elaborate searching for <module>. The :require command is also available as the function (org.tfeb.lw-commands:require-module ...), and there is a search list and a semi-documented (and probably semi-working!) search algorithm. A typical search list might be: ((:host "CLEY-LIB" :directory (:absolute "MODULES") :name "*-LOADER" :type "LISP")) - this is given in this listy form to avoid issues of logical hosts not yet existing when images get dumped - CLEY-LIB gets defined by our site init. The end result is that something like: :require :com.cley.weld or equivalently (org.tfeb.lw-commands:require-module "COM.CLEY.WELD") will find CLEY-LIB:MODULES;COM;CLEY;WELD;WELD-LOADER and load it, expecting that it will provide the "COM.CLEY.WELD" feature. It will also look in a bunch of other places like CLEY-LIB:MODULES;COM;CLEY;WELD-LOADER - the search algorithm is fairly hairy. Anyway, maybe it's useful to someone. The question is: is there any reliable way of loading a system defined with DEFSYSTEM, and then forgetting the system definition? I do this like this: (let ((systems (scm:all-systems))) ... define and load new systems ... (dolist (new (set-difference (scm:all-systems) systems :key #'scm:module-name)) (lw:delete-system new))) And this works, but if the system browser is open at the point where you do this it has a fairly major seizure. The reason I want to do this is that I have huge things with many systems in them, which I'm trying to load as libraries, and I don't want to clutter up the system browser with system definitions which aren't useful (for instance there are no sources where the library came from). Thanks --tim