4 From: Bram Moolenaar <Bram@moolenaar.net>
8 Problem: Multibyte: Inserting a wrapped line corrupts kterm screen.
9 Pasting TEXT/COMPOUND_TEXT into Vim does not work.
10 On Motif no XIM status line is displayed even though it is
12 Solution: Don't use xterm trick for wrapping lines for multibyte mode.
13 Correct a missing "break", added TEXT/COMPOUND_TEXT selection
15 Add XIMStatusArea fallback code.
17 Files: src/gui_gtk_x11.c, src/multbyte.c, src/screen.c, src/ui.c
20 *** ../vim-5.7.4/src/gui_gtk_x11.c Sat Aug 5 14:26:52 2000
21 --- src/gui_gtk_x11.c Sat Aug 5 14:22:57 2000
24 #define VIM_ATOM_NAME "_VIM_TEXT"
25 static const GtkTargetEntry primary_targets[] = {
26 {VIM_ATOM_NAME, 0, SELECTION_CLIPBOARD},
27 ! {"STRING", 0, SELECTION_STRING},
28 {"TEXT", 0, SELECTION_TEXT},
29 ! {"COMPOUND_TEXT", 0, SELECTION_COMPOUND_TEXT}
34 #define VIM_ATOM_NAME "_VIM_TEXT"
35 static const GtkTargetEntry primary_targets[] = {
36 {VIM_ATOM_NAME, 0, SELECTION_CLIPBOARD},
37 ! {"COMPOUND_TEXT", 0, SELECTION_COMPOUND_TEXT},
38 {"TEXT", 0, SELECTION_TEXT},
39 ! {"STRING", 0, SELECTION_STRING}
46 gtk_main(); /* wait for selection_received_event */
48 if (received_selection == RS_FAIL)
50 + /* Now try to get it out of the usual string selection. */
51 + received_selection = RS_NONE;
52 + (void)gtk_selection_convert(gui.drawarea, GDK_SELECTION_PRIMARY,
53 + gdk_atom_intern("COMPOUND_TEXT", FALSE),
54 + (guint32)GDK_CURRENT_TIME);
55 + while (received_selection == RS_NONE)
56 + gtk_main(); /* wait for selection_received_event */
58 + if (received_selection == RS_FAIL)
60 + /* Now try to get it out of the usual string selection. */
61 + received_selection = RS_NONE;
62 + (void)gtk_selection_convert(gui.drawarea, GDK_SELECTION_PRIMARY,
63 + gdk_atom_intern("TEXT", FALSE),
64 + (guint32)GDK_CURRENT_TIME);
65 + while (received_selection == RS_NONE)
66 + gtk_main(); /* wait for selection_received_event */
68 + if (received_selection == RS_FAIL)
70 /* Now try to get it out of the usual string selection. */
71 received_selection = RS_NONE;
72 *** ../vim-5.7.4/src/multbyte.c Wed Jun 7 12:29:37 2000
73 --- src/multbyte.c Sat Aug 5 14:22:57 2000
78 #if defined(USE_GUI_X11) || defined(PROTO)
79 ! # if defined(XtSpecificationRelease) && XtSpecificationRelease >= 6
80 # define USE_X11R6_XIM
86 #if defined(USE_GUI_X11) || defined(PROTO)
87 ! # if defined(XtSpecificationRelease) && XtSpecificationRelease >= 6 && !defined(sun)
88 # define USE_X11R6_XIM
96 ! if ((xim_styles->supported_styles[i] & this_input_style)
97 ! == (this_input_style & ~XIMStatusArea))
99 ! this_input_style &= ~XIMStatusArea;
113 ! for (i = 0; (unsigned short)i < xim_styles->count_styles; i++)
115 ! if ((xim_styles->supported_styles[i] & this_input_style)
116 ! == (this_input_style & ~XIMStatusArea))
118 ! this_input_style &= ~XIMStatusArea;
126 *** ../vim-5.7.4/src/screen.c Wed Jun 7 14:43:59 2000
127 --- src/screen.c Sat Aug 5 14:22:57 2000
139 if (screen_cur_col != Columns)
140 *** ../vim-5.7.4/src/ui.c Sat Jun 3 11:37:13 2000
141 --- src/ui.c Sat Aug 5 14:22:57 2000
147 ! case 0: type = clipboard.xatom;
148 ! case 1: type = clipboard.xa_compound_text;
149 ! case 2: type = clipboard.xa_text;
150 default: type = XA_STRING;
152 XtGetSelectionValue(myShell, XA_PRIMARY, type,
157 ! case 0: type = clipboard.xatom; break;
158 ! case 1: type = clipboard.xa_compound_text; break;
159 ! case 2: type = clipboard.xa_text; break;
160 default: type = XA_STRING;
162 XtGetSelectionValue(myShell, XA_PRIMARY, type,
163 *** ../vim-5.7.4/src/version.c Sat Aug 5 14:27:00 2000
164 --- src/version.c Sat Aug 5 14:36:42 2000
168 { /* Add new patch number below this line */
174 hundred-and-one symptoms of being an internet addict:
175 125. You begin to wonder how often it REALLY is necessary to get up
178 /// Bram Moolenaar Bram@moolenaar.net http://www.moolenaar.net \\\
179 \\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///