Mercurial > emacs
annotate src/sysselect.h @ 20553:a49deda9f5e6
(DECODE_POSITION): New macro.
(CHAR_TO_BYTE, BYTE_TO_CHAR): New macros.
(BEG_BYTE, BEGV_BYTE, PT_BYTE, GPT_BYTE)
(ZV_BYTE, Z_BYTE): New macros.
(BUF_BEG_BYTE, BUF_BEGV_BYTE, BUF_PT_BYTE, BUF_GPT_BYTE)
(BUF_ZV_BYTE, BUF_Z_BYTE): New macros.
(BUF_GAP_END_ADDR): New macro.
(BEGV_ADDR, PT_ADDR, GPT_ADDR, GAP_END_ADDR, ZV_ADDR, Z_ADDR):
Use the new ..._byte buffer data.
(BUFFER_CEILING_OF, BUFFER_FLOOR_OF): Likewise.
(BUF_GPT_ADDR, BUF_Z_ADDR): Likewise.
(SET_PT_BOTH, TEMP_SET_PT_BOTH): New macros.
(SET_PT, TEMP_SET_PT, BUF_SET_PT, BUF_TEMP_SET_PT):
Call functions with new arg order.
(SET_BUF_BEGV, SET_BUF_BEGV_BOTH): New macros.
(SET_BUF_PT): Macro deleted.
(SET_BUF_ZV): Set charpos and bytepos.
(SET_BUF_ZV_BOTH, SET_BUF_PT_BOTH): New macros.
(BYTE_POS_ADDR): Renamed from POS_ADDR.
(CHAR_POS_ADDR): New macro.
(FETCH_BYTE): Use BYTE_POS_ADDR.
(FETCH_MULTIBYTE_CHAR): Use ..._BYTE macros.
(BUF_CHAR_ADDRESS): Convert charpos to bytepos.
(BUF_BYTE_ADDRESS): New macro, like the old BUF_CHAR_ADDRESS.
(PTR_BYTE_POS): Renamed from PTR_CHAR_POS.
(BUF_PTR_BYTE_POS): New macro.
(BUF_FETCH_CHAR, BUF_FETCH_BYTE, BUF_FETCH_MULTIBYTE_CHAR): New macros.
(struct buffer_text): New fields gpt_byte, z_byte.
(struct buffer): New fields pt_byte, begv_byte, zv_byte.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 01 Jan 1998 06:49:17 +0000 |
parents | ee40177f6c68 |
children | 695cf19ef79e d7ddb3e565de |
rev | line source |
---|---|
10526 | 1 /* sysselect.h - System-dependent definitions for the select function. |
2 Copyright (C) 1995 Free Software Foundation, Inc. | |
3 | |
4 This file is part of GNU Emacs. | |
5 | |
6 GNU Emacs is free software; you can redistribute it and/or modify | |
7 it under the terms of the GNU General Public License as published by | |
8 the Free Software Foundation; either version 2, or (at your option) | |
9 any later version. | |
10 | |
11 GNU Emacs is distributed in the hope that it will be useful, | |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GNU Emacs; see the file COPYING. If not, write to | |
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
10526
diff
changeset
|
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
10526
diff
changeset
|
19 Boston, MA 02111-1307, USA. */ |
10526 | 20 |
21 #ifdef HAVE_SYS_SELECT | |
22 #include <sys/select.h> | |
23 #endif | |
24 | |
25 #ifdef FD_SET | |
26 #ifdef FD_SETSIZE | |
27 #define MAXDESC FD_SETSIZE | |
28 #else | |
29 #define MAXDESC 64 | |
30 #endif | |
31 #define SELECT_TYPE fd_set | |
32 #else /* no FD_SET */ | |
33 #define MAXDESC 32 | |
34 #define SELECT_TYPE int | |
35 | |
36 /* Define the macros to access a single-int bitmap of descriptors. */ | |
37 #define FD_SET(n, p) (*(p) |= (1 << (n))) | |
38 #define FD_CLR(n, p) (*(p) &= ~(1 << (n))) | |
39 #define FD_ISSET(n, p) (*(p) & (1 << (n))) | |
40 #define FD_ZERO(p) (*(p) = 0) | |
41 #endif /* no FD_SET */ | |
42 | |
43 #if !defined (HAVE_SELECT) || defined (BROKEN_SELECT_NON_X) | |
44 #define select sys_select | |
45 #endif |