]> git.pld-linux.org Git - packages/xchat.git/blame - xchat-long-delimiter.patch
- added. Improves handling of URLs in curly quotes.
[packages/xchat.git] / xchat-long-delimiter.patch
CommitLineData
7b15b786 1diff -ur o-xchat-2.4.0/src/fe-gtk/xtext.c xchat-2.4.0/src/fe-gtk/xtext.c
2--- o-xchat-2.4.0/src/fe-gtk/xtext.c 2004-11-12 09:35:13.377815084 -0700
3+++ xchat-2.4.0/src/fe-gtk/xtext.c 2004-11-12 15:30:26.501404006 -0700
4@@ -72,9 +72,16 @@
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 */
24@@ -1745,6 +1752,7 @@
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
32@@ -1765,16 +1773,17 @@
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
55 if (len > 0 && word[len-1]=='.')
56@@ -3777,7 +3786,7 @@
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.088357 seconds and 4 git commands to generate.