annotate src/gui_xmebw.h @ 33713:9aa03e12b2b5 v9.0.2090

patch 9.0.2090: complete_info() skips entries with 'noselect' Commit: https://github.com/vim/vim/commit/57f9ce1a0977da13e5923214086795ffa2d28ce1 Author: Christian Brabandt <cb@256bit.org> Date: Sat Nov 4 09:58:14 2023 +0100 patch 9.0.2090: complete_info() skips entries with 'noselect' Problem: complete_info() skips entries with 'noselect' Solution: Check, if first entry is at original text state Unfortunately, Commit daef8c74375141974d61b85199b383017644978c introduced a regression, that when ':set completeopt+=noselect' is set and no completion item has been selected yet, it did not fill the complete_info['items'] list. This happened, because the current match item did not have the CP_ORIGINAL_TEXT flag set and then the cp->prev pointer did point to the original flag item, which caused the following while loop to not being run but being skipped instead. So when the 'noselect' is set, only start with to the previous selection item, if the initial completion item has the CP_ORIGINAL_TEXT flag set, else use the 2nd previous item instead. fixes: #13451 closes: #13452 Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sat, 04 Nov 2023 10:15:04 +0100
parents 4aead6a9b7a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10042
4aead6a9b7a9 commit https://github.com/vim/vim/commit/edf3f97ae2af024708ebb4ac614227327033ca47
Christian Brabandt <cb@256bit.org>
parents: 1206
diff changeset
1 /* vi:set ts=8 sts=4 sw=4 noet:
48
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
2 *
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
3 * VIM - Vi IMproved by Bram Moolenaar
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
4 *
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
5 * Do ":help uganda" in Vim to read copying and usage conditions.
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
6 * Do ":help credits" in Vim to see a list of people who contributed.
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
7 * See README.txt for an overview of the Vim source code.
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
8 */
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
9 /*
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
10 *
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
11 * (C) 2002,2005 by Marcin Dalecki <martin@dalecki.de>
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
12 *
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
13 * MARCIN DALECKI ASSUMES NO RESPONSIBILITY FOR THE USE OR INABILITY TO USE ANY
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
14 * OF THIS SOFTWARE . THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
15 * KIND, AND MARCIN DALECKI EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES,
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
16 * INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
17 * FITNESS FOR A PARTICULAR PURPOSE.
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
18 */
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
19
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
20 #ifndef EnhancedB_H
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
21 #define EnhancedB_H
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
22
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
23 /*
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
24 * New resources for the Extended Pushbutton widget
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
25 */
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
26
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
27 #ifndef XmNshift
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
28 # define XmNshift "shift"
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
29 #endif
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
30 #ifndef XmCShift
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
31 # define XmCShift "Shift"
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
32 #endif
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
33
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
34 #ifndef XmNlabelLocation
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
35 # define XmNlabelLocation "labelLocation"
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
36 #endif
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
37 #ifndef XmCLocation
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
38 # define XmCLocation "Location"
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
39 #endif
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
40
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
41 #ifndef XmNpixmapData
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
42 # define XmNpixmapData "pixmapData"
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
43 #endif
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
44
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
45 #ifndef XmNpixmapFile
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
46 # define XmNpixmapFile "pixmapFile"
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
47 #endif
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
48
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
49 /*
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
50 * Constants for labelLocation.
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
51 */
147
2f5a3b881ada updated for version 7.0046
vimboss
parents: 48
diff changeset
52 #ifdef HAVE_XM_JOINSIDET_H
48
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
53 # include <Xm/JoinSideT.h>
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
54 #else
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
55 # define XmLEFT 1
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
56 # define XmRIGHT 2
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
57 # define XmTOP 3
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
58 # define XmBOTTOM 4
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
59 #endif
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
60
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
61 #define XmIsEnhancedButton(w) XtIsSubclass(w, xmEnhancedButtonWidgetClass)
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
62
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
63 /*
1206
76130176cf41 updated for version 7.1b
vimboss
parents: 147
diff changeset
64 * Convenience creation function.
48
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
65 */
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
66 extern Widget XgCreateEPushButtonWidget(Widget, char *, ArgList, Cardinal);
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
67
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
68 extern WidgetClass xmEnhancedButtonWidgetClass;
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
69 typedef struct _XmEnhancedButtonClassRec *XmEnhancedButtonWidgetClass;
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
70 typedef struct _XmEnhancedButtonRec *XmEnhancedButtonWidget;
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
71
00c35ea0c2b3 updated for version 7.0028
vimboss
parents:
diff changeset
72 #endif