Skip to content
Newer
Older
100644 81 lines (63 sloc) 2.78 KB
254f294 entered into RCS
Jim Blandy authored Jan 13, 1992
1 /* Definitions for interface to indent.c
6da7885 @rgmorris Update copyright for years from Emacs 21 to present (mainly adding
rgmorris authored Jan 14, 2007
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
72fadaa @rgmorris Add 2012 to FSF copyright years for Emacs files (do not merge to trunk)
rgmorris authored Jan 10, 2012
3 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
254f294 entered into RCS
Jim Blandy authored Jan 13, 1992
4
5 This file is part of GNU Emacs.
6
d7db995 @rgmorris Switch to recommended form of GPLv3 permissions notice.
rgmorris authored May 15, 2008
7 GNU Emacs is free software: you can redistribute it and/or modify
254f294 entered into RCS
Jim Blandy authored Jan 13, 1992
8 it under the terms of the GNU General Public License as published by
d7db995 @rgmorris Switch to recommended form of GPLv3 permissions notice.
rgmorris authored May 15, 2008
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
254f294 entered into RCS
Jim Blandy authored Jan 13, 1992
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
d7db995 @rgmorris Switch to recommended form of GPLv3 permissions notice.
rgmorris authored May 15, 2008
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
254f294 entered into RCS
Jim Blandy authored Jan 13, 1992
19
fe6a979 (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer authored Feb 20, 1997
20 /* We introduce new member `tab_offset'. We need it because of the
21 existence of wide-column characters. There is a case that the
22 line-break occurs at a wide-column character and the number of
23 colums of the line gets less than width.
24
25 Example (where W_ stands for a wide-column character):
26 ----------
27 abcdefgh\\
ef393e7 @lektu Trailing whitespace deleted.
lektu authored Feb 4, 2003
28 W_
fe6a979 (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer authored Feb 20, 1997
29 ----------
30
ef393e7 @lektu Trailing whitespace deleted.
lektu authored Feb 4, 2003
31 To handle this case, we should not calculate the tab offset by
fe6a979 (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer authored Feb 20, 1997
32 tab_offset += width;
33
ef393e7 @lektu Trailing whitespace deleted.
lektu authored Feb 4, 2003
34 Instead, we must remember tab_offset of the line.
fe6a979 (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer authored Feb 20, 1997
35
36 */
254f294 entered into RCS
Jim Blandy authored Jan 13, 1992
37
38 struct position
39 {
4b173a4 @monnier * indent.h:
monnier authored Sep 27, 2007
40 EMACS_INT bufpos;
41 EMACS_INT bytepos;
42 EMACS_INT hpos;
43 EMACS_INT vpos;
44 EMACS_INT prevhpos;
45 EMACS_INT contin;
2a01ad3 (struct position): New field ovstring_chars_done.
Richard M. Stallman authored Oct 7, 1996
46 /* Number of characters we have already handled
47 from the before and after strings at this position. */
4b173a4 @monnier * indent.h:
monnier authored Sep 27, 2007
48 EMACS_INT ovstring_chars_done;
49 EMACS_INT tab_offset;
254f294 entered into RCS
Jim Blandy authored Jan 13, 1992
50 };
51
4b173a4 @monnier * indent.h:
monnier authored Sep 27, 2007
52 struct position *compute_motion P_ ((EMACS_INT from, EMACS_INT fromvpos,
53 EMACS_INT fromhpos, int did_motion,
54 EMACS_INT to, EMACS_INT tovpos,
55 EMACS_INT tohpos,
56 EMACS_INT width, EMACS_INT hscroll,
57 EMACS_INT tab_offset, struct window *));
58 struct position *vmotion P_ ((EMACS_INT from, EMACS_INT vtarget,
59 struct window *));
60 EMACS_INT skip_invisible P_ ((EMACS_INT pos, EMACS_INT *next_boundary_p,
61 EMACS_INT to, Lisp_Object window));
254f294 entered into RCS
Jim Blandy authored Jan 13, 1992
62
63 /* Value of point when current_column was called */
4b173a4 @monnier * indent.h:
monnier authored Sep 27, 2007
64 extern EMACS_INT last_known_column_point;
86dc6fb * indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy authored Oct 8, 1994
65
66 /* Functions for dealing with the column cache. */
67
ac61105 @rgmorris Replace `iff' in comments.
rgmorris authored Aug 8, 2007
68 /* Return true if the display table DISPTAB specifies the same widths
86dc6fb * indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy authored Oct 8, 1994
69 for characters as WIDTHTAB. We use this to decide when to
70 invalidate the buffer's column_cache. */
89bb67b (toplevel): Add function prototypes.
Gerd Moellmann authored Jul 21, 1999
71 int disptab_matches_widthtab P_ ((struct Lisp_Char_Table *disptab,
72 struct Lisp_Vector *widthtab));
86dc6fb * indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy authored Oct 8, 1994
73
74 /* Recompute BUF's width table, using the display table DISPTAB. */
89bb67b (toplevel): Add function prototypes.
Gerd Moellmann authored Jul 21, 1999
75 void recompute_width_table P_ ((struct buffer *buf,
76 struct Lisp_Char_Table *disptab));
77
78
f51da7d @snogglethorpe Add arch taglines
snogglethorpe authored Sep 1, 2003
79 /* arch-tag: f9feb373-5bff-4f4f-9198-94805d00cfd7
80 (do not change this comment) */
Something went wrong with that request. Please try again.