Mercurial > hg
comparison mcabber/src/screen.c @ 933:ede9260be93d
Input line: Improve word-related functions
Let's consider that words separator is the space char, not any non-alnum
character.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 08 Jul 2006 09:43:23 +0200 |
parents | fc6aaa223650 |
children | 97e6a6da2b2c |
comparison
equal
deleted
inserted
replaced
932:fc6aaa223650 | 933:ede9260be93d |
---|---|
1989 if (ptr_inputline == inputLine) return; | 1989 if (ptr_inputline == inputLine) return; |
1990 | 1990 |
1991 c = prev_char(ptr_inputline, inputLine); | 1991 c = prev_char(ptr_inputline, inputLine); |
1992 for ( ; c > inputLine ; c = prev_char(c, inputLine)) { | 1992 for ( ; c > inputLine ; c = prev_char(c, inputLine)) { |
1993 if (!iswalnum(get_char(c))) { | 1993 if (!iswalnum(get_char(c))) { |
1994 if (iswblank(get_char(c))) | 1994 if (iswblank(get_char(c))) { |
1995 if (!spaceallowed) break; | 1995 if (!spaceallowed) break; |
1996 } else spaceallowed = 0; | |
1996 } else spaceallowed = 0; | 1997 } else spaceallowed = 0; |
1997 } | 1998 } |
1998 | 1999 |
1999 if (c != inputLine || iswblank(get_char(c))) | 2000 if (c != inputLine || iswblank(get_char(c))) |
2000 if ((c < prev_char(ptr_inputline, inputLine)) && (!iswalnum(get_char(c)))) | 2001 if ((c < prev_char(ptr_inputline, inputLine)) && (!iswalnum(get_char(c)))) |
2020 | 2021 |
2021 for (ptr_inputline = prev_char(ptr_inputline, inputLine) ; | 2022 for (ptr_inputline = prev_char(ptr_inputline, inputLine) ; |
2022 ptr_inputline > inputLine ; | 2023 ptr_inputline > inputLine ; |
2023 ptr_inputline = prev_char(ptr_inputline, inputLine)) { | 2024 ptr_inputline = prev_char(ptr_inputline, inputLine)) { |
2024 if (!iswalnum(get_char(ptr_inputline))) { | 2025 if (!iswalnum(get_char(ptr_inputline))) { |
2025 if (iswblank(get_char(ptr_inputline))) | 2026 if (iswblank(get_char(ptr_inputline))) { |
2026 if (!spaceallowed) break; | 2027 if (!spaceallowed) break; |
2028 } else spaceallowed = 0; | |
2027 } else spaceallowed = 0; | 2029 } else spaceallowed = 0; |
2028 } | 2030 } |
2029 | 2031 |
2030 if (ptr_inputline < prev_char(old_ptr_inputLine, inputLine) | 2032 if (ptr_inputline < prev_char(old_ptr_inputLine, inputLine) |
2031 && iswblank(get_char(ptr_inputline)) | 2033 && iswblank(get_char(ptr_inputline)) |
2042 int spaceallowed = 1; | 2044 int spaceallowed = 1; |
2043 | 2045 |
2044 while (*ptr_inputline) { | 2046 while (*ptr_inputline) { |
2045 ptr_inputline = next_char(ptr_inputline); | 2047 ptr_inputline = next_char(ptr_inputline); |
2046 if (!iswalnum(get_char(ptr_inputline))) { | 2048 if (!iswalnum(get_char(ptr_inputline))) { |
2047 if (iswblank(get_char(ptr_inputline))) | 2049 if (iswblank(get_char(ptr_inputline))) { |
2048 if (!spaceallowed) break; | 2050 if (!spaceallowed) break; |
2051 } else spaceallowed = 0; | |
2049 } else spaceallowed = 0; | 2052 } else spaceallowed = 0; |
2050 } | 2053 } |
2051 | 2054 |
2052 check_offset(1); | 2055 check_offset(1); |
2053 } | 2056 } |