Mercurial > emacs
annotate src/widget.h @ 107653:bfde3c2dbef5
Make occur handle multi-line matches cleanly with context.
http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01280.html
* replace.el (occur-accumulate-lines): Add optional arg `pt'.
(occur-engine): Add local variables `ret', `prev-after-lines',
`prev-lines'. Use more arguments for `occur-context-lines'.
Set first elem of its returned list to `data', and the second elem
to `prev-after-lines'. Don't print the separator line.
In the end, print remaining context after-lines.
(occur-context-lines): Add new arguments `begpt', `endpt',
`lines', `prev-lines', `prev-after-lines'. Rewrite to combine
after-lines of the previous match with before-lines of the
current match and not overlap them. Return a list with two
values: the output line and the list of context after-lines.
* search.texi (Other Repeating Search): Remove line that `occur'
can not handle multiline matches.
* occur-testsuite.el (occur-tests): Add tests for context lines.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 30 Mar 2010 19:03:08 +0300 |
parents | 1d1d5d9bd884 |
children | e16f43875a48 376148b31b5e |
rev | line source |
---|---|
5626 | 1 /* The emacs frame widget public header file. |
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) 1993, 2001, 2002, 2003, 2004, 2005, |
106815 | 3 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
5626 | 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:
79759
diff
changeset
|
7 GNU Emacs is free software: you can redistribute it and/or modify |
5626 | 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:
79759
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:
79759
diff
changeset
|
10 (at your option) any later version. |
5626 | 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:
79759
diff
changeset
|
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
5626 | 19 |
20 /* Emacs 19 face widget ported by Fred Pierresteguy */ | |
21 | |
22 #ifndef _EmacsFrame_h | |
23 #define _EmacsFrame_h | |
24 | |
25 #define XtNminibuffer "minibuffer" | |
26 #define XtCMinibuffer "Minibuffer" | |
27 #define XtNunsplittable "unsplittable" | |
28 #define XtCUnsplittable "Unsplittable" | |
29 #define XtNinternalBorderWidth "internalBorderWidth" | |
30 #define XtCInternalBorderWidth "InternalBorderWidth" | |
31 #define XtNinterline "interline" | |
32 #define XtCInterline "Interline" | |
33 | |
34 #ifndef XtNfont | |
35 #define XtNfont "font" | |
36 #endif | |
37 #ifndef XtCFont | |
38 #define XtCFont "Font" | |
39 #endif | |
40 #ifndef XtNforeground | |
41 #define XtNforeground "foreground" | |
42 #endif | |
43 #ifndef XtCForeground | |
44 #define XtCForeground "Foreground" | |
45 #endif | |
46 | |
47 #define XtNcursorColor "cursorColor" | |
48 #define XtCCursorColor "CursorColor" | |
49 #define XtNbarCursor "barCursor" | |
50 #define XtCBarCursor "BarCursor" | |
51 | |
52 #define XtNvisualBell "visualBell" | |
53 #define XtCVisualBell "VisualBell" | |
54 #define XtCBellVolume "BellVolume" | |
55 #define XtNbellVolume "bellVolume" | |
56 | |
57 #define XtNpointerBackground "pointerBackground" | |
58 #define XtNpointerColor "pointerColor" | |
59 | |
60 #define XtNtextPointer "textPointer" | |
61 #define XtNspacePointer "spacePointer" | |
62 #define XtNmodeLinePointer "modePointer" | |
63 #define XtNgcPointer "gcPointer" | |
64 | |
65 #define XtNemacsFrame "emacsFrame" | |
66 #define XtCEmacsFrame "EmacsFrame" | |
67 | |
68 #ifndef XtNgeometry | |
69 #define XtNgeometry "geometry" | |
70 #endif | |
71 #ifndef XtCGeometry | |
72 #define XtCGeometry "Geometry" | |
73 #endif | |
9229
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
74 #ifndef XtNshowGrip |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
75 #define XtNshowGrip "showGrip" |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
76 #endif |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
77 #ifndef XtNallowResize |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
78 #define XtNallowResize "allowResize" |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
79 #endif |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
80 #ifndef XtNresizeToPreferred |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
81 #define XtNresizeToPreferred "resizeToPreferred" |
097322f7b8ad
Declare XtNshowGrip, XtNallowResize, and XtNresizeToPreferred.
Paul Reilly <pmr@pajato.com>
parents:
5705
diff
changeset
|
82 #endif |
5626 | 83 |
84 #define XtNinitialGeometry "initialGeometry" | |
85 #define XtCInitialGeometry "InitialGeometry" | |
86 | |
87 /* structures | |
88 */ | |
89 typedef struct _EmacsFrameRec *EmacsFrame; | |
90 typedef struct _EmacsFrameClassRec *EmacsFrameClass; | |
91 | |
92 extern WidgetClass emacsFrameClass; | |
93 | |
94 extern struct _DisplayContext* display_context; | |
95 | |
96 /* Special entrypoints */ | |
35057
29053ba75ce5
(EmacsFrameSetCharSize_): Prototype.
Dave Love <fx@gnu.org>
parents:
24998
diff
changeset
|
97 void EmacsFrameSetCharSize P_ ((Widget, int, int)); |
24998
c61fea4f9105
(x_set_font): Don't call face-set-after-frame-default
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
98 void widget_store_internal_border P_ ((Widget widget)); |
5626 | 99 |
100 #endif /* _EmacsFrame_h */ | |
52401 | 101 |
102 /* arch-tag: 98be17cc-8878-4701-abfa-66f1c04e9cb7 | |
103 (do not change this comment) */ |