view modules/README @ 4716:dca5bb2adff1

Don't cons with #'mapcar calls where the result is discarded, decide on mapc-internal at compile time if the Common Lisp functionality is not being used. 2009-10-12 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (mapc): New compiler macro, use mapc-internal at compile time if we're not using the Common Lisp functionality. * bytecomp.el (byte-compile-mapcar, byte-compile-maplist): New. If the return value of mapcar is being discarded, compile it to a mapc-internal call instead, and warn, because the programmer probably can't rely on always being compiled by an XEmacs that does this. Similarly for maplist and mapl; and use byte-compile-funarg for map, mapl, mapcan, mapcon.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 12 Oct 2009 17:19:52 +0100
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.