Mercurial > emacs
annotate lib-src/pop.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 | fdbd24f8d999 376148b31b5e |
rev | line source |
---|---|
9158 | 1 /* pop.h: Header file for the "pop.c" client POP3 protocol. |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
2 Copyright (C) 1991, 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
106815 | 3 2008, 2009, 2010 Free Software Foundation, Inc. |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
4 |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
5 Author: Jonathan Kamens <jik@security.ov.com> |
9158 | 6 |
7 This file is part of GNU Emacs. | |
8 | |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
9 GNU Emacs is free software: you can redistribute it and/or modify |
9158 | 10 it under the terms of the GNU General Public License as published by |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
11 the Free Software Foundation, either version 3 of the License, or |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
12 (at your option) any later version. |
9158 | 13 |
14 GNU Emacs is distributed in the hope that it will be useful, | |
15 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 GNU General Public License for more details. | |
18 | |
19 You should have received a copy of the GNU General Public License | |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
20 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
21 |
9158 | 22 |
23 #include <stdio.h> | |
24 | |
25 #define GETLINE_MIN 1024 /* the getline buffer starts out this */ | |
26 /* size */ | |
27 #define GETLINE_INCR 1024 /* the getline buffer is grown by this */ | |
28 /* size when it needs to grow */ | |
29 | |
30 extern char pop_error[]; | |
31 extern int pop_debug; | |
32 | |
33 struct _popserver | |
34 { | |
35 int file, data; | |
36 char *buffer; | |
37 int buffer_size, buffer_index; | |
38 int in_multi; | |
15103
00d52ba071ea
(struct _popserver): New field trash_started.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
39 int trash_started; |
9158 | 40 }; |
41 | |
42 typedef struct _popserver *popserver; | |
43 | |
44 /* | |
45 * Valid flags for the pop_open function. | |
46 */ | |
47 | |
48 #define POP_NO_KERBEROS (1<<0) | |
49 #define POP_NO_HESIOD (1<<1) | |
50 #define POP_NO_GETPASS (1<<2) | |
51 | |
52 #ifdef __STDC__ | |
53 #define _ARGS(a) a | |
54 #else | |
55 #define _ARGS(a) () | |
56 #endif | |
57 | |
58 extern popserver pop_open _ARGS((char *host, char *username, char *password, | |
59 int flags)); | |
60 extern int pop_stat _ARGS((popserver server, int *count, int *size)); | |
61 extern int pop_list _ARGS((popserver server, int message, int **IDs, | |
62 int **size)); | |
20418
7e1538a45702
Allow messages retrieved from the POP
Karl Heuer <kwzh@gnu.org>
parents:
15103
diff
changeset
|
63 extern int pop_retrieve _ARGS((popserver server, int message, int markfrom, |
7e1538a45702
Allow messages retrieved from the POP
Karl Heuer <kwzh@gnu.org>
parents:
15103
diff
changeset
|
64 char **)); |
9158 | 65 extern int pop_retrieve_first _ARGS((popserver server, int message, |
66 char **response)); | |
67 extern int pop_retrieve_next _ARGS((popserver server, char **line)); | |
68 extern int pop_retrieve_flush _ARGS((popserver server)); | |
69 extern int pop_top_first _ARGS((popserver server, int message, int lines, | |
70 char **response)); | |
71 extern int pop_top_next _ARGS((popserver server, char **line)); | |
72 extern int pop_top_flush _ARGS((popserver server)); | |
73 extern int pop_multi_first _ARGS((popserver server, char *command, | |
74 char **response)); | |
75 extern int pop_multi_next _ARGS((popserver server, char **line)); | |
76 extern int pop_multi_flush _ARGS((popserver server)); | |
77 extern int pop_delete _ARGS((popserver server, int message)); | |
78 extern int pop_noop _ARGS((popserver server)); | |
79 extern int pop_last _ARGS((popserver server)); | |
80 extern int pop_reset _ARGS((popserver server)); | |
81 extern int pop_quit _ARGS((popserver server)); | |
82 extern void pop_close _ARGS((popserver)); | |
83 | |
84 #undef _ARGS | |
52401 | 85 |
86 /* arch-tag: 76cc5f58-8e86-48fa-bc72-a7c6cb1c4f1c | |
87 (do not change this comment) */ |