diff options
-rw-r--r-- | config.def.h | 4 | ||||
-rw-r--r-- | st.c | 20 | ||||
-rw-r--r-- | st.h | 2 |
3 files changed, 4 insertions, 22 deletions
diff --git a/config.def.h b/config.def.h index 0e01717..482901e 100644 --- a/config.def.h +++ b/config.def.h | |||
@@ -30,9 +30,9 @@ static float chscale = 1.0; | |||
30 | /* | 30 | /* |
31 | * word delimiter string | 31 | * word delimiter string |
32 | * | 32 | * |
33 | * More advanced example: " `'\"()[]{}" | 33 | * More advanced example: L" `'\"()[]{}" |
34 | */ | 34 | */ |
35 | char *worddelimiters = " "; | 35 | wchar_t *worddelimiters = L" "; |
36 | 36 | ||
37 | /* selection timeouts (in milliseconds) */ | 37 | /* selection timeouts (in milliseconds) */ |
38 | static unsigned int doubleclicktimeout = 300; | 38 | static unsigned int doubleclicktimeout = 300; |
@@ -41,7 +41,7 @@ | |||
41 | #define ISCONTROLC0(c) (BETWEEN(c, 0, 0x1f) || (c) == '\177') | 41 | #define ISCONTROLC0(c) (BETWEEN(c, 0, 0x1f) || (c) == '\177') |
42 | #define ISCONTROLC1(c) (BETWEEN(c, 0x80, 0x9f)) | 42 | #define ISCONTROLC1(c) (BETWEEN(c, 0x80, 0x9f)) |
43 | #define ISCONTROL(c) (ISCONTROLC0(c) || ISCONTROLC1(c)) | 43 | #define ISCONTROL(c) (ISCONTROLC0(c) || ISCONTROLC1(c)) |
44 | #define ISDELIM(u) (utf8strchr(worddelimiters, u) != NULL) | 44 | #define ISDELIM(u) (u != 0 && wcschr(worddelimiters, u) != NULL) |
45 | 45 | ||
46 | enum term_mode { | 46 | enum term_mode { |
47 | MODE_WRAP = 1 << 0, | 47 | MODE_WRAP = 1 << 0, |
@@ -210,7 +210,6 @@ static void selsnap(int *, int *, int); | |||
210 | static size_t utf8decode(const char *, Rune *, size_t); | 210 | static size_t utf8decode(const char *, Rune *, size_t); |
211 | static Rune utf8decodebyte(char, size_t *); | 211 | static Rune utf8decodebyte(char, size_t *); |
212 | static char utf8encodebyte(Rune, size_t); | 212 | static char utf8encodebyte(Rune, size_t); |
213 | static char *utf8strchr(char *, Rune); | ||
214 | static size_t utf8validate(Rune *, size_t); | 213 | static size_t utf8validate(Rune *, size_t); |
215 | 214 | ||
216 | static char *base64dec(const char *); | 215 | static char *base64dec(const char *); |
@@ -337,23 +336,6 @@ utf8encodebyte(Rune u, size_t i) | |||
337 | return utfbyte[i] | (u & ~utfmask[i]); | 336 | return utfbyte[i] | (u & ~utfmask[i]); |
338 | } | 337 | } |
339 | 338 | ||
340 | char * | ||
341 | utf8strchr(char *s, Rune u) | ||
342 | { | ||
343 | Rune r; | ||
344 | size_t i, j, len; | ||
345 | |||
346 | len = strlen(s); | ||
347 | for (i = 0, j = 0; i < len; i += j) { | ||
348 | if (!(j = utf8decode(&s[i], &r, len - i))) | ||
349 | break; | ||
350 | if (r == u) | ||
351 | return &(s[i]); | ||
352 | } | ||
353 | |||
354 | return NULL; | ||
355 | } | ||
356 | |||
357 | size_t | 339 | size_t |
358 | utf8validate(Rune *u, size_t i) | 340 | utf8validate(Rune *u, size_t i) |
359 | { | 341 | { |
@@ -114,7 +114,7 @@ char *xstrdup(char *); | |||
114 | extern char *utmp; | 114 | extern char *utmp; |
115 | extern char *stty_args; | 115 | extern char *stty_args; |
116 | extern char *vtiden; | 116 | extern char *vtiden; |
117 | extern char *worddelimiters; | 117 | extern wchar_t *worddelimiters; |
118 | extern int allowaltscreen; | 118 | extern int allowaltscreen; |
119 | extern char *termname; | 119 | extern char *termname; |
120 | extern unsigned int tabspaces; | 120 | extern unsigned int tabspaces; |