Mercurial > hg > xemacs-beta
view src/console-stream-impl.h @ 5658:289cf21be887
Don't augment ENVIRONMENT when that's not indicated, #'macroexpand.
This reflects better understanding on my part of the &environment macro
keyword, and I've expanded the Lisp manual and docstrings to reflect that.
lisp/ChangeLog addition:
2012-05-06 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el (block): Comment on why we can't use &environment
here.
* cl-macs.el (defmacro*): Document &environment in more detail.
* cl-macs.el (macrolet): Use &environment, instead of referencing
byte-compile-macro-environment directly.
* cl-macs.el (symbol-macrolet): Ditto.
* cl-macs.el (lexical-let): Ditto.
* cl-macs.el (labels): Ditto.
man/ChangeLog addition:
2012-05-06 Aidan Kehoe <kehoea@parhasard.net>
* lispref/macros.texi (Expansion):
Cross-reference to documentation of #'cl-prettyexpand, #'defmacro*
when talking about #'macroexpand.
tests/ChangeLog addition:
2012-05-06 Aidan Kehoe <kehoea@parhasard.net>
* automated/lisp-tests.el:
Use &environment appropriately in #'macrolet, instead of relying
on #'macroexpand to guess what we mean.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 06 May 2012 15:29:59 +0100 |
parents | 308d34e9f07d |
children |
line wrap: on
line source
/* Define stream specific console, device, and frame object for XEmacs. Copyright (C) 1995 Board of Trustees, University of Illinois. Copyright (C) 1995 Free Software Foundation, Inc. Copyright (C) 2002 Ben Wing. 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. */ /* Written by Ben Wing. */ #ifndef INCLUDED_console_stream_impl_h_ #define INCLUDED_console_stream_impl_h_ #include "console-impl.h" #include "console-stream.h" DECLARE_CONSOLE_TYPE (stream); struct stream_console { #ifdef NEW_GC NORMAL_LISP_OBJECT_HEADER header; #endif /* NEW_GC */ FILE *in; FILE *out; FILE *err; int needs_newline; Lisp_Object instream; }; #ifdef NEW_GC typedef struct stream_console Lisp_Stream_Console; DECLARE_LISP_OBJECT (stream_console, Lisp_Stream_Console); #define XSTREAM_CONSOLE(x) \ XRECORD (x, stream_console, Lisp_Stream_Console) #define wrap_stream_console(p) wrap_record (p, stream_console) #define STREAM_CONSOLE_P(x) RECORDP (x, stream_console) #endif /* NEW_GC */ #define CONSOLE_STREAM_DATA(con) CONSOLE_TYPE_DATA (con, stream) #endif /* INCLUDED_console_stream_impl_h_ */