annotate src/indent.h @ 69478:e8bb5df2ba7a

Add index entries around each paragraph rather than depend on entries from beginning of node. Doing so ensures that index entries are less likely to be forgotten if text is cut and pasted, and are necessary anyway if the references are on a separate page. It seems that makeinfo is now (v. 4.8) only producing one index entry per node, so there is no longer any excuse not to. Use subheading instead of heading. The incorrect use of heading produced very large fonts in Info--as large as the main heading. (From Bill Wohler): MH-E never did appear in Emacs 21--MH-E versions 6 and 7 appeared *around* the time of these Emacs releases.
author Bill Wohler <wohler@newt.com>
date Wed, 15 Mar 2006 00:26:12 +0000
parents 3bd95f4f2941
children e90d04cd455a c5406394f567
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Definitions for interface to indent.c
64770
a0d1312ede66 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64084
diff changeset
2 Copyright (C) 1985, 1986, 2002, 2003, 2004,
68651
3bd95f4f2941 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64770
diff changeset
3 2005, 2006 Free Software Foundation, Inc.
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
12244
ac7375e60931 Update GPL to version 2.
Karl Heuer <kwzh@gnu.org>
parents: 9408
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 any later version.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU General Public License for more details.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
64084
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
20 Boston, MA 02110-1301, USA. */
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21
17018
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
22 /* We introduce new member `tab_offset'. We need it because of the
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
23 existence of wide-column characters. There is a case that the
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
24 line-break occurs at a wide-column character and the number of
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
25 colums of the line gets less than width.
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
26
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
27 Example (where W_ stands for a wide-column character):
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
28 ----------
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
29 abcdefgh\\
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25026
diff changeset
30 W_
17018
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
31 ----------
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
32
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25026
diff changeset
33 To handle this case, we should not calculate the tab offset by
17018
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
34 tab_offset += width;
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
35
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25026
diff changeset
36 Instead, we must remember tab_offset of the line.
17018
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
37
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
38 */
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 struct position
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 {
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 int bufpos;
20540
64b4e34d34c2 (struct position): New field bytepos.
Richard M. Stallman <rms@gnu.org>
parents: 17018
diff changeset
43 int bytepos;
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 int hpos;
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 int vpos;
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 int prevhpos;
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 int contin;
16403
a388d0109b9e (struct position): New field ovstring_chars_done.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
48 /* Number of characters we have already handled
a388d0109b9e (struct position): New field ovstring_chars_done.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
49 from the before and after strings at this position. */
a388d0109b9e (struct position): New field ovstring_chars_done.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
50 int ovstring_chars_done;
17018
f13a67b3ec8d (struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents: 16403
diff changeset
51 int tab_offset;
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 };
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53
25026
488e6b8dc9ae (toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents: 20540
diff changeset
54 struct position *compute_motion P_ ((int, int, int, int, int, int, int,
488e6b8dc9ae (toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents: 20540
diff changeset
55 int, int, int, struct window *));
488e6b8dc9ae (toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents: 20540
diff changeset
56 struct position *vmotion P_ ((int, int, struct window *));
488e6b8dc9ae (toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents: 20540
diff changeset
57 int skip_invisible P_ ((int, int *, int, Lisp_Object));
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 /* Value of point when current_column was called */
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 extern int last_known_column_point;
9408
99429d6c8b4e * indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents: 484
diff changeset
61
99429d6c8b4e * indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents: 484
diff changeset
62 /* Functions for dealing with the column cache. */
99429d6c8b4e * indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents: 484
diff changeset
63
99429d6c8b4e * indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents: 484
diff changeset
64 /* Return true iff the display table DISPTAB specifies the same widths
99429d6c8b4e * indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents: 484
diff changeset
65 for characters as WIDTHTAB. We use this to decide when to
99429d6c8b4e * indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents: 484
diff changeset
66 invalidate the buffer's column_cache. */
25026
488e6b8dc9ae (toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents: 20540
diff changeset
67 int disptab_matches_widthtab P_ ((struct Lisp_Char_Table *disptab,
488e6b8dc9ae (toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents: 20540
diff changeset
68 struct Lisp_Vector *widthtab));
9408
99429d6c8b4e * indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents: 484
diff changeset
69
99429d6c8b4e * indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents: 484
diff changeset
70 /* Recompute BUF's width table, using the display table DISPTAB. */
25026
488e6b8dc9ae (toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents: 20540
diff changeset
71 void recompute_width_table P_ ((struct buffer *buf,
488e6b8dc9ae (toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents: 20540
diff changeset
72 struct Lisp_Char_Table *disptab));
488e6b8dc9ae (toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents: 20540
diff changeset
73
488e6b8dc9ae (toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents: 20540
diff changeset
74
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
75 /* arch-tag: f9feb373-5bff-4f4f-9198-94805d00cfd7
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
76 (do not change this comment) */