Mercurial > emacs
annotate src/sysselect.h @ 108656:0b28d05fa415
Initial reimplementation of calculating line edge positions in bidi lines.
dispextern.h (struct glyph_row): New members minpos and maxpos.
(MATRIX_ROW_START_CHARPOS, MATRIX_ROW_START_BYTEPOS)
(MATRIX_ROW_END_CHARPOS, MATRIX_ROW_END_BYTEPOS): Reference minpos
and maxpos members instead of start.pos and end.pos, respectively.
xdisp.c (display_line): Compare IT_CHARPOS with the position in
row->start.pos, rather than with MATRIX_ROW_START_CHARPOS.
(cursor_row_p): Use row->end.pos rather than MATRIX_ROW_END_CHARPOS.
(try_window_reusing_current_matrix, try_window_id): Use
ROW->minpos rather than ROW->start.pos.
(init_from_display_pos, init_iterator): Use EMACS_INT for
character and byte positions.
(find_row_edges): Renamed from find_row_end. Accept additional
arguments for minimum and maximum buffer positions seen by
display_line for this row. Don't use iterator to find the
position following the maximum one; instead, increment the
position found by display_line directly.
(display_line): Record minimum and maximum buffer positions for
glyphs in this row. Record the position of the newline that
terminates the line.
dispnew.c (increment_row_positions, check_matrix_invariants):
Increment and check row->start.pos and row->end.pos, in addition
to MATRIX_ROW_START_CHARPOS and MATRIX_ROW_END_CHARPOS.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Tue, 18 May 2010 18:22:15 +0300 |
parents | 1d1d5d9bd884 |
children | 63671fb2a78d 376148b31b5e |
rev | line source |
---|---|
10526 | 1 /* sysselect.h - System-dependent definitions for the select function. |
75227
e90d04cd455a
Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents:
68651
diff
changeset
|
2 Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, |
106815 | 3 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
10526 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
91702
diff
changeset
|
7 GNU Emacs is free software: you can redistribute it and/or modify |
10526 | 8 it under the terms of the GNU General Public License as published by |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
91702
diff
changeset
|
9 the Free Software Foundation, either version 3 of the License, or |
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
91702
diff
changeset
|
10 (at your option) any later version. |
10526 | 11 |
12 GNU Emacs is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
91702
diff
changeset
|
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
10526 | 19 |
62002 | 20 #ifdef HAVE_SYS_SELECT_H |
97266
80acedef7417
cleanup in s/darwin.h, define DARWIN_OS and use it instead of DARWIN and/or MAC_OSX; also, nsterm.m: small unrelated cleanups
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
97043
diff
changeset
|
21 #if defined (DARWIN_OS) |
62105
988582b0e877
[DARWIN || MAC_OSX ]: Temporarily undefine
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62002
diff
changeset
|
22 #undef init_process |
988582b0e877
[DARWIN || MAC_OSX ]: Temporarily undefine
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62002
diff
changeset
|
23 #endif |
10526 | 24 #include <sys/select.h> |
97266
80acedef7417
cleanup in s/darwin.h, define DARWIN_OS and use it instead of DARWIN and/or MAC_OSX; also, nsterm.m: small unrelated cleanups
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
97043
diff
changeset
|
25 #if defined (DARWIN_OS) |
62105
988582b0e877
[DARWIN || MAC_OSX ]: Temporarily undefine
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62002
diff
changeset
|
26 #define init_process emacs_init_process |
988582b0e877
[DARWIN || MAC_OSX ]: Temporarily undefine
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62002
diff
changeset
|
27 #endif |
10526 | 28 #endif |
29 | |
30 #ifdef FD_SET | |
31 #ifdef FD_SETSIZE | |
32 #define MAXDESC FD_SETSIZE | |
33 #else | |
34 #define MAXDESC 64 | |
35 #endif | |
36 #define SELECT_TYPE fd_set | |
37 #else /* no FD_SET */ | |
38 #define MAXDESC 32 | |
39 #define SELECT_TYPE int | |
40 | |
41 /* Define the macros to access a single-int bitmap of descriptors. */ | |
42 #define FD_SET(n, p) (*(p) |= (1 << (n))) | |
43 #define FD_CLR(n, p) (*(p) &= ~(1 << (n))) | |
44 #define FD_ISSET(n, p) (*(p) & (1 << (n))) | |
45 #define FD_ZERO(p) (*(p) = 0) | |
46 #endif /* no FD_SET */ | |
47 | |
91702
b7a5a89054dc
* configure.in (LIBX11_MACHINE, HAVE_XFREE386): Remove code
Dan Nicolaescu <dann@ics.uci.edu>
parents:
79759
diff
changeset
|
48 #if !defined (HAVE_SELECT) |
10526 | 49 #define select sys_select |
50 #endif | |
52401 | 51 |
52 /* arch-tag: 36d05500-8cf6-4847-8e78-6721f18c06ef | |
53 (do not change this comment) */ |