From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18183 invoked from network); 24 Nov 1999 10:35:59 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 24 Nov 1999 10:35:59 -0000 Received: (qmail 4891 invoked by alias); 24 Nov 1999 10:35:45 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 8767 Received: (qmail 4879 invoked from network); 24 Nov 1999 10:35:44 -0000 Subject: Re: Can't load module (when the module is static) In-Reply-To: <199911240838.JAA14683@beta.informatik.hu-berlin.de> from Sven Wischnowsky at "Nov 24, 1999 9:38:23 am" To: wischnow@informatik.hu-berlin.de (Sven Wischnowsky) Date: Wed, 24 Nov 1999 10:33:21 +0000 (GMT) Cc: zsh-workers@sunsite.auc.dk X-Mailer: ELM [version 2.4ME+ PL48 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-Id: From: Zefram Sven Wischnowsky wrote: >This is almost certainly not the final solution, though, and it >reminded me of Bart's request for handling linked-in modules a bit >more like loaded ones (at least that's how I understood it). Well, >here is one more reason to do that. I.e. we could build module structs >and hash table entries for the linked-in modules, too. Then we could >maybe get rid of the -e option to zmodload. Maybe? I mean that >zmodload without arguments would just report linked-in modules, too. Yes, this should be done. Linked-in modules should appear exactly the same as external modules, to the user. The only differences are that (1) libdl isn't used to load them and (2) they're automatically loaded on startup. That second thing could actually be separated out: we have an arbitrary list of modules to load on startup, like the list of autoloaded builtins/parameters/etc., and there's no requirement that the modules so loaded be linked in. Only the lowest level loading code needs to know. Incidentally, this scheme would allow module use on systems that don't do dynamic loading. In this case modules *have* to be linked in, because the dynamic loading method isn't available. Thst's how I always wanted it to work. -zefram