Mercurial > hg > xemacs-beta
view modules/zlib/zlib.c @ 5562:855b667dea13
Drop cl-macro-environment in favour of byte-compile-macro-environment.
lisp/ChangeLog addition:
2011-09-04 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp-runtime.el:
* bytecomp-runtime.el (byte-compile-macro-environment): Moved from
bytecomp.el.
* bytecomp.el:
* bytecomp.el (byte-compile-initial-macro-environment):
Add implementations for #'load-time-value, #'labels here, now
cl-macs respects byte-compile-macro-environment.
* bytecomp.el (byte-compile-function-environment):
* bytecomp.el (byte-compile-macro-environment): Removed.
* bytecomp.el (symbol-value):
* bytecomp.el (byte-compile-symbol-value): Removed.
* cl-extra.el (cl-macroexpand-all):
* cl-macs.el:
* cl-macs.el (bind-block):
* cl-macs.el (cl-macro-environment): Removed.
* cl-macs.el (cl-transform-lambda):
* cl-macs.el (load-time-value):
* cl-macs.el (block):
* cl-macs.el (flet):
* cl-macs.el (labels):
* cl-macs.el (macrolet):
* cl-macs.el (symbol-macrolet):
* cl-macs.el (lexical-let):
* cl-macs.el (apply):
* cl-macs.el (nthcdr):
* cl-macs.el (getf):
* cl-macs.el (substring):
* cl-macs.el (values):
* cl-macs.el (get-setf-method):
* cl-macs.el (cl-setf-do-modify):
* cl.el:
* cl.el (cl-macro-environment): Removed.
* cl.el (cl-macroexpand):
* obsolete.el (cl-macro-environment): Moved here.
Drop cl-macro-environment, in favour of
byte-compile-macro-environment; make the latter available in
bytecomp-runtime.el. This makes byte-compile-macro-environment far
less useless, since previously code that used cl-macs would ignore
it when calling #'cl-macroexpand-all.
Add byte-compiler-specific implementations for #'load-time-value,
#'labels. The latter is very nice indeed; it avoids the run-time
consing of the current implementation, is fully lexical and avoids
the run-time shadowing of symbol function slots that flet uses. It
would now be reasonable to move most core uses of flet to use
labels instead. Non-core code can't rely on print-circle for
mutually recursive functions, though, so it's less of an evident
win.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 04 Sep 2011 20:37:55 +0100 |
parents | 308d34e9f07d |
children |
line wrap: on
line source
/* zlib interface for XEmacs. Copyright (C) 1998 Free Software Foundation, Inc. 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/>. */ /* Synched up with: Not in FSF. */ /* Author: William Perry <wmperry@aventail.com> */ #include <emodules.h> DEFUN ("compress", Fcompress, 1, 6, 0, /* Return the compressed version of an object. OBJECT is either a string or a buffer. Optional argument LEVEL specifies how much to compress - valid range is 0 - 9. Optional arguments START and END denote buffer positions for compressing a portion of OBJECT. The optional CODING argument specifies the coding system the text is to be represented in while computing the digest. This only has meaning with MULE, and defaults to the current format of the data. If ERROR-ME-NOT is nil, report an error if the coding system can't be determined. Else assume binary coding if all else fails. */ (object, level, start, end, coding, error_me_not)) { return(Qnil); } DEFUN ("decompress", Fdecompress, 1, 5, 0, /* Uncompress an object. OBJECT is either a string or a buffer. Optional arguments START and END denote buffer positions for decompressing a portion of OBJECT. The optional CODING argument specifies the coding system the text is to be represented in while computing the digest. This only has meaning with MULE, and defaults to the current format of the data. If ERROR-ME-NOT is nil, report an error if the coding system can't be determined. Else assume binary coding if all else fails. */ (object, start, end, coding, error_me_not)) { return(Qnil); } void syms_of_zlib (void) { DEFSUBR(Fcompress); DEFSUBR(Fdecompress); } void vars_of_zlib (void) { Fprovide (intern ("zlib")); }