Mercurial > hg > xemacs-beta
view modules/README @ 5772:cd4f5f1f1f4c
Add #'write-sequence, on the model of #'write-char, API from Common Lisp.
src/ChangeLog addition:
2013-12-17 Aidan Kehoe <kehoea@parhasard.net>
* lisp.h:
* lisp.h (PARSE_KEYWORDS_8):
Correct this in cases where we can have noticeably fewer arguments
than KEYWORDS_OFFSET, check whether nargs > pk_offset.
Declare check_sequence_range in this header.
* print.c:
* print.c (Fwrite_sequence) New:
Write a sequence to a stream, in the same way #'write-char and
#'terpri do. API from Common Lisp, not GNU, so while there is some
char-int confoundance, it's more limited than usual with GNU APIs.
* print.c (syms_of_print):
Make it available.
* sequence.c (check_sequence_range):
Export this to other files.
lisp/ChangeLog addition:
2013-12-17 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el:
* cl-extra.el (write-string): New.
* cl-extra.el (write-line): New.
Add these here, implemented in terms of #'write-sequence in print.c.
tests/ChangeLog addition:
2013-12-17 Aidan Kehoe <kehoea@parhasard.net>
* automated/lisp-tests.el:
Up max-lisp-eval-depth when compiling this file, some of what
we're doing in testing #'write-sequence is demanding.
* automated/lisp-tests.el (make-circular-list):
New argument VALUE, the car of the conses to create.
* automated/lisp-tests.el:
Test #'write-sequence, #'write-string, #'write-line with function,
buffer and marker STREAMs; test argument types, keyword argument
ranges and values.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Tue, 17 Dec 2013 19:29:10 +0200 |
| 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.
