view modules/README @ 1303:f99d3d25df86

[xemacs-hg @ 2003-02-15 10:15:54 by ben] autoload fixes, make-doc speed improvements Makefile.in.in: Run update-elc-2 with -no-autoloads to avoid multiple autoload-loading problem. configure.usage: Document quick-build better. make-docfile.el: Use `message' (defined in this file) in place of `princ'/`print', and put in a terpri, so that we get correct newline behavior. Rewrite if-progn -> when and a few similar stylistic niceties. And the big change: Allow MS Windows to specify the object files directly and frob them into C files here (formerly this was done in xemacs.mak, and very slooooooooooooooooooowly). Due to line-length limitations in CMD, we need to use a "response file" to hold the arguments, so when we see a response file argument (preceded by an @), read in the args (a bit of trickiness to do this), and process recursively. Also frob .obj -> .c as mentioned earlier and handle other junk dependencies that need to be removed (NEEDTODUMP, make-docfile.exe). update-elc-2.el: Use :test `equal' in call to set-difference. update-elc.el: Put back commented out kill-emacs, update header comment. xemacs.mak: Delete old unused code that checks SATISFIED. Move update-elc-2 up to be near update-elc. Run update-elc-2 with -no-autoloads to avoid multiple autoload-loading problem. Don't compute make-docfile args ourselves. Pass the raw objects to make-docfile.el, which does the computation (much faster than we could). Don't delete the DOC file, split the invocation into two calls to make-docfile.exe (one direct, one through make-docfile.el), etc. In general, all we do is call make-docfile. Add proper dependencies for DOC-file rebuilding so it doesn't get done when not necessary. Implement quick-building here: not building the DOC file unless it doesn't exist, as the quick-build docs say. Makefile.in.in: Don't delete the DOC file. Implement quick-building here: not building the DOC file unless it doesn't exist, as the quick-build docs say. config.h.in, emacs.c: Nothing but niggly spacing changes -- one space before a paren starting a function-call arglist, please.
author ben
date Sat, 15 Feb 2003 10:16:14 +0000
parents 25e260cb7994
children da1365dd3f07
line wrap: on
line source

This directory contains a number of XEmacs dynamic modules.  These
modules can be loaded directly with the command 'M-x load-module'.
However, the preferred method of loading a module is to issue a
"(require 'module-name)" command to the Lisp interpreter.  This will
store information so that a later "(unload-feature 'module-name)" can
succeed.

To compile one of these modules, simply enter the desired directory,
type 'configure', and then 'make'.  If you are building the module for
an installed XEmacs, then 'make install' will place the module in the
appropriate directory for XEmacs to find it later (assuming you have
permission to write to that directory).  A subsequent 'load-module' or
'require' will then load the module, as described above.

Each of these demonstrates different features and limitations of the
XEmacs module loading technology.  For a complete discussion on XEmacs
dynamic modules, please consult the XEmacs Module Writers Guide, which
can be found in the ../info directory.

For those wanting to get started with module writing, please see the
'sample' directory.  It contains two subdirectories: internal and
external.  The 'internal' subdirectory contains the framework needed to
migrate some core piece of XEmacs functionality into code that can
either be compiled into the core or built as a separate module.  The
'external' subdirectory contains the somewhat simpler framework needed
to build a module separately from XEmacs.  These should be considered
starting places for module writing.