view modules/README @ 5023:838630c0734f

error-checking, Windows shutdown changes -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-02-09 Ben Wing <ben@xemacs.org> * dynarr.c (Dynarr_insert_many): * dynarr.c (Dynarr_delete_many): * emacs.c: * emacs.c (pause_so_user_can_read_messages): * emacs.c (Fkill_emacs): * emacs.c (guts_of_fatal_error_signal): * lisp.h: * lisp.h (INLINE_ERROR_CHECK_ARGS): * lisp.h (Dynarr_set_length_1): * lisp.h (Dynarr_set_length): * lisp.h (Dynarr_pop): Add ERROR_CHECK_DYNARR, dynarr_checking_assert(). Use it. Sort existing error-check categories in lisp.h, remove most of the (unused) assert variations from most categories. Add a long comment about reorganizing the system by categories and subcategories. Create ERROR_CHECK_ANY if any error-checking categories defined, and use it in emacs.c to define USER_IS_DEVELOPING_XEMACS. In emacs.c and cmdloop.c, don't display a message at early shutdown or fatal shutdown when on Cygwin, only Windows native -- Cygwin has a working stderr that shows error output. Update comment in Dynarr_verify_pos_atp().
author Ben Wing <ben@xemacs.org>
date Tue, 09 Feb 2010 19:13:44 -0600
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.