Mercurial > hg > xemacs-beta
view modules/README @ 5525:2a6a8da4dd7c
Fix a bug in my last commit, symbol macros that expand to themselves hang.
2011-06-19 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el (cl-defsubst-expand):
It is occasionally the case that the symbol naming the argument
co-incides with the value that it is replacing; in that case,
using the symbol macro is counterproductive and hangs XEmacs (as
does analogous code in SBCL), so don't.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 19 Jun 2011 19:47:13 +0100 |
parents | da1365dd3f07 |
children |
line wrap: on
line source
This file is part of XEmacs. XEmacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with XEmacs. If not, see <http://www.gnu.org/licenses/>. 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.