aboutsummaryrefslogtreecommitdiffstats
path: root/chinese
diff options
context:
space:
mode:
authorclive <clive@FreeBSD.org>2003-08-05 21:49:15 +0800
committerclive <clive@FreeBSD.org>2003-08-05 21:49:15 +0800
commit765774e69956e52451d2a1f4251af784e4bde9d6 (patch)
tree2fa80a37b4403c3d39a406fb7d17850718288dc1 /chinese
parent78b25054fb0fca46ba2c665a5b33313597b1bd26 (diff)
downloadfreebsd-ports-gnome-765774e69956e52451d2a1f4251af784e4bde9d6.tar.gz
freebsd-ports-gnome-765774e69956e52451d2a1f4251af784e4bde9d6.tar.zst
freebsd-ports-gnome-765774e69956e52451d2a1f4251af784e4bde9d6.zip
Improve multibyte character (big5 actually) display ability of input buffer.
Inspired by: ports/50374
Diffstat (limited to 'chinese')
-rw-r--r--chinese/bitchx/files/patch-source::input.c45
1 files changed, 43 insertions, 2 deletions
diff --git a/chinese/bitchx/files/patch-source::input.c b/chinese/bitchx/files/patch-source::input.c
index c49d6b4e71d9..62e38c1d5261 100644
--- a/chinese/bitchx/files/patch-source::input.c
+++ b/chinese/bitchx/files/patch-source::input.c
@@ -1,5 +1,5 @@
---- source/input.c~ Sun Jul 7 04:33:05 2002
-+++ source/input.c Mon Jan 8 01:09:28 2001
+--- source/input.c~ Tue Aug 5 20:43:47 2003
++++ source/input.c Tue Aug 5 20:43:49 2003
@@ -94,6 +94,7 @@
#define MIN_CHAR INPUT_BUFFER[MIN_POS]
#define PREV_CHAR INPUT_BUFFER[THIS_POS-1]
@@ -155,3 +155,44 @@
update_input(UPDATE_JUST_CURSOR);
}
+@@ -791,11 +865,17 @@
+ THIS_CHAR = key;
+ NEXT_CHAR = 0;
+ ADD_TO_INPUT(ptr);
+- if (termfeatures & TERM_CAN_INSERT)
+- term_insert(key);
++ if (termfeatures & TERM_CAN_INSERT) {
++ if ( check_my_role(THIS_POS) == MY_ROLE_ENG) term_insert(key);
++ else if (check_my_role(THIS_POS) == MY_ROLE_LO) {term_cursor_left(); term_insert(PREV_CHAR); term_insert(key); }
++ if (NEXT_CHAR)
++ display_flag = UPDATE_FROM_CURSOR;
++ }
+ else
+ {
+- term_putchar(key);
++ if ( check_my_role(THIS_POS) == MY_ROLE_ENG) term_putchar(key);
++ else if (check_my_role(THIS_POS) == MY_ROLE_LO) {term_cursor_left(); term_putchar(PREV_CHAR); term_putchar(key);}
++
+ if (NEXT_CHAR)
+ display_flag = UPDATE_FROM_CURSOR;
+ else
+@@ -806,7 +886,8 @@
+ {
+ THIS_CHAR = key;
+ NEXT_CHAR = 0;
+- term_putchar(key);
++ if ( check_my_role(THIS_POS) == MY_ROLE_ENG) term_putchar(key);
++ else if (check_my_role(THIS_POS) == MY_ROLE_LO) {term_cursor_left(); term_putchar(PREV_CHAR); term_putchar(key);}
+ }
+ }
+ else
+@@ -814,7 +895,8 @@
+ if (THIS_CHAR == 0)
+ NEXT_CHAR = 0;
+ THIS_CHAR = key;
+- term_putchar(key);
++ if ( check_my_role(THIS_POS) == MY_ROLE_ENG) term_putchar(key);
++ else if (check_my_role(THIS_POS) == MY_ROLE_LO) {term_cursor_left(); term_putchar(PREV_CHAR); term_putchar(key);}
+ }
+
+ if (!THIS_POS)