comparison src/lstream.h @ 5495:1f0b15040456

Merge.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 01 May 2011 18:44:03 +0100
parents 308d34e9f07d
children 2dbefd79b3d3
comparison
equal deleted inserted replaced
5494:861f2601a38b 5495:1f0b15040456
2 Copyright (C) 1995 Free Software Foundation, Inc. 2 Copyright (C) 1995 Free Software Foundation, Inc.
3 Copyright (C) 1996, 2001, 2002 Ben Wing. 3 Copyright (C) 1996, 2001, 2002 Ben Wing.
4 4
5 This file is part of XEmacs. 5 This file is part of XEmacs.
6 6
7 XEmacs is free software; you can redistribute it and/or modify it 7 XEmacs is free software: you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the 8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 2, or (at your option) any 9 Free Software Foundation, either version 3 of the License, or (at your
10 later version. 10 option) any later version.
11 11
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT 12 XEmacs is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details. 15 for more details.
16 16
17 You should have received a copy of the GNU General Public License 17 You should have received a copy of the GNU General Public License
18 along with XEmacs; see the file COPYING. If not, write to 18 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. */
21 19
22 /* Synched up with: Not in FSF. */ 20 /* Synched up with: Not in FSF. */
23 21
24 /* Written by Ben Wing. */ 22 /* Written by Ben Wing. */
25 23
28 26
29 /************************************************************************/ 27 /************************************************************************/
30 /* definition of Lstream object */ 28 /* definition of Lstream object */
31 /************************************************************************/ 29 /************************************************************************/
32 30
33 DECLARE_LRECORD (lstream, struct lstream); 31 DECLARE_LISP_OBJECT (lstream, struct lstream);
34 #define XLSTREAM(x) XRECORD (x, lstream, struct lstream) 32 #define XLSTREAM(x) XRECORD (x, lstream, struct lstream)
35 #define wrap_lstream(p) wrap_record (p, lstream) 33 #define wrap_lstream(p) wrap_record (p, lstream)
36 #define LSTREAMP(x) RECORDP (x, lstream) 34 #define LSTREAMP(x) RECORDP (x, lstream)
37 /* #define CHECK_LSTREAM(x) CHECK_RECORD (x, lstream) 35 /* #define CHECK_LSTREAM(x) CHECK_RECORD (x, lstream)
38 Lstream pointers should never escape to the Lisp level, so 36 Lstream pointers should never escape to the Lisp level, so
228 #define LSTREAM_FL_NO_PARTIAL_CHARS 8 226 #define LSTREAM_FL_NO_PARTIAL_CHARS 8
229 #define LSTREAM_FL_CLOSE_AT_DISKSAVE 16 227 #define LSTREAM_FL_CLOSE_AT_DISKSAVE 16
230 228
231 struct lstream 229 struct lstream
232 { 230 {
233 struct LCRECORD_HEADER header; 231 NORMAL_LISP_OBJECT_HEADER header;
234 const Lstream_implementation *imp; /* methods for this stream */ 232 const Lstream_implementation *imp; /* methods for this stream */
235 Lstream_buffering buffering; /* type of buffering in use */ 233 Lstream_buffering buffering; /* type of buffering in use */
236 Bytecount buffering_size; /* number of bytes buffered */ 234 Bytecount buffering_size; /* number of bytes buffered */
237 235
238 unsigned char *in_buffer; /* holds characters read from stream end */ 236 unsigned char *in_buffer; /* holds characters read from stream end */