]> git.pld-linux.org Git - packages/xchat.git/blame - xchat-long-delimiter.patch
- rediff patches
[packages/xchat.git] / xchat-long-delimiter.patch
CommitLineData
d295c3e4
JR
1diff -urNp -x '*.orig' xchat-2.8.8.org/src/fe-gtk/xtext.c xchat-2.8.8/src/fe-gtk/xtext.c
2--- xchat-2.8.8.org/src/fe-gtk/xtext.c 2021-05-07 23:46:39.862941602 +0200
3+++ xchat-2.8.8/src/fe-gtk/xtext.c 2021-05-07 23:46:40.166281587 +0200
4@@ -76,9 +76,16 @@
7b15b786 5 #endif
6
7 /* is delimiter */
8-#define is_del(c) \
9- (c == ' ' || c == '\n' || c == ')' || c == '(' || \
10- c == '>' || c == '<' || c == ATTR_RESET || c == ATTR_BOLD || c == 0)
11+int is_del(const char *c) {
12+ int ret;
13+ ret = 0;
14+ ret = (c[0] == ' ' || c[0] == '\n' || c[0] == ')' || c[0] == '(' ||
15+ c[0] == '>' || c[0] == '<' || c[0] == ATTR_RESET || c[0] == ATTR_BOLD || c == 0);
16+ if(!ret) {
17+ ret = strncmp(c, "“", 3) == 0 || strncmp(c, "”", 3) == 0;
18+ }
19+ return ret;
20+}
21
22 #ifdef SCROLL_HACK
23 /* force scrolling off */
d295c3e4 24@@ -1836,6 +1843,7 @@ gtk_xtext_get_word (GtkXText * xtext, in
7b15b786 25 int offset;
26 unsigned char *str;
27 unsigned char *word;
28+ unsigned char *nstr;
29 int len;
30 int out_of_bounds = 0;
31
d295c3e4 32@@ -1856,16 +1864,17 @@ gtk_xtext_get_word (GtkXText * xtext, in
7b15b786 33
34 str = ent->str + offset;
35
36- while (!is_del (*str) && str != ent->str)
37- str--;
38- word = str + 1;
39+ while (!is_del(str))
40+ str = g_utf8_prev_char(str);
41+ word = g_utf8_next_char(str);
42
43 len = 0;
44 str = word;
45- while (!is_del (*str) && len != ent->str_len)
46+ while (!is_del(str) && len != ent->str_len)
47 {
48- str++;
49- len++;
50+ nstr = g_utf8_next_char(str);
51+ len += nstr - str;
52+ str = nstr;
53 }
54
d295c3e4
JR
55 /* ignore trailing dots and commas. */
56@@ -3976,7 +3985,7 @@ find_next_wrap (GtkXText * xtext, texten
7b15b786 57 }
58
59 /* keep a record of the last space, for wordwrapping */
60- if (is_del (*str))
61+ if (g_unichar_isspace(g_utf8_get_char(str)))
62 {
63 last_space = str;
64 limit_offset = 0;
This page took 0.098788 seconds and 4 git commands to generate.