mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-25 10:03:03 +01:00
system/mlterm: Rebuilt with patch.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
ab09016092
commit
3f375ada78
2 changed files with 215 additions and 1 deletions
212
system/mlterm/mlterm-3.3.3-fixes.patch
Normal file
212
system/mlterm/mlterm-3.3.3-fixes.patch
Normal file
|
@ -0,0 +1,212 @@
|
|||
diff -r ac6ec6344d05 inputmethod/uim/im_uim.c
|
||||
--- a/inputmethod/uim/im_uim.c
|
||||
+++ b/inputmethod/uim/im_uim.c
|
||||
@@ -78,6 +78,8 @@
|
||||
|
||||
u_int cand_limit ;
|
||||
|
||||
+ int is_mozc ;
|
||||
+
|
||||
} im_uim_t ;
|
||||
|
||||
KIK_LIST_TYPEDEF( im_uim_t) ;
|
||||
@@ -744,13 +746,13 @@
|
||||
|
||||
uim = (im_uim_t*) p ;
|
||||
|
||||
+ (*uim->im.listener->get_spot)( uim->im.listener->self ,
|
||||
+ uim->im.preedit.chars ,
|
||||
+ uim->im.preedit.segment_offset ,
|
||||
+ &x , &y) ;
|
||||
+
|
||||
if( uim->im.cand_screen == NULL)
|
||||
{
|
||||
- (*uim->im.listener->get_spot)( uim->im.listener->self ,
|
||||
- uim->im.preedit.chars ,
|
||||
- uim->im.preedit.segment_offset ,
|
||||
- &x , &y) ;
|
||||
-
|
||||
if( ! ( uim->im.cand_screen = (*syms->x_im_candidate_screen_new)(
|
||||
uim->im.disp , uim->im.font_man , uim->im.color_man ,
|
||||
(*uim->im.listener->is_vertical)(uim->im.listener->self) ,
|
||||
@@ -847,6 +852,22 @@
|
||||
|
||||
if( uim->im.cand_screen)
|
||||
{
|
||||
+ /*
|
||||
+ * XXX Hack for uim-mozc (1.11.1522.102)
|
||||
+ * If candidate_activate() is called with num == 20 and limit = 10,
|
||||
+ * uim_get_candidate() on mozc doesn't returns 20 candidates but 10 ones.
|
||||
+ * (e.g. uim_get_candidate(0) and uim_get_candidate(10) returns the same.)
|
||||
+ */
|
||||
+ if( uim->is_mozc &&
|
||||
+ uim->im.cand_screen->index != index &&
|
||||
+ uim->im.cand_screen->index / uim->cand_limit != index / uim->cand_limit &&
|
||||
+ (index % uim->cand_limit) == 0)
|
||||
+ {
|
||||
+ candidate_activate( p ,
|
||||
+ uim->im.cand_screen->num_of_candidates ,
|
||||
+ uim->cand_limit) ;
|
||||
+ }
|
||||
+
|
||||
(*uim->im.cand_screen->select)( uim->im.cand_screen , index) ;
|
||||
}
|
||||
}
|
||||
@@ -1616,6 +1637,8 @@
|
||||
goto error ;
|
||||
}
|
||||
|
||||
+ uim->is_mozc = (strcmp( engine , "mozc") == 0) ;
|
||||
+
|
||||
uim_set_preedit_cb( uim->context ,
|
||||
preedit_clear ,
|
||||
preedit_pushback ,
|
||||
diff -r ac6ec6344d05 xwindow/x_screen.c
|
||||
--- a/xwindow/x_screen.c
|
||||
+++ b/xwindow/x_screen.c
|
||||
@@ -5268,11 +5268,13 @@
|
||||
* Callbacks of x_config_event_listener_t events.
|
||||
*/
|
||||
|
||||
-static char *
|
||||
+static void
|
||||
get_config_intern(
|
||||
x_screen_t * screen ,
|
||||
char * dev , /* can be NULL */
|
||||
- char * key /* can be "error" */
|
||||
+ char * key , /* can be "error" */
|
||||
+ int to_menu , /* -1: don't output to pty and menu. */
|
||||
+ int * flag /* 1(true), 0(false) or -1(other) is returned. */
|
||||
)
|
||||
{
|
||||
ml_term_t * term ;
|
||||
@@ -5285,7 +5287,7 @@
|
||||
if( ( term = (*screen->system_listener->get_pty)( screen->system_listener->self ,
|
||||
dev)) == NULL)
|
||||
{
|
||||
- return NULL ;
|
||||
+ return ;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -5829,7 +5831,34 @@
|
||||
}
|
||||
}
|
||||
|
||||
- return value ;
|
||||
+ if( to_menu >= 0)
|
||||
+ {
|
||||
+ if( value == NULL)
|
||||
+ {
|
||||
+ ml_term_write( screen->term , "#error\n" , 7 , to_menu) ;
|
||||
+
|
||||
+ #ifdef __DEBUG
|
||||
+ kik_debug_printf( KIK_DEBUG_TAG " #error\n") ;
|
||||
+ #endif
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ ml_term_write( screen->term , "#" , 1 , to_menu) ;
|
||||
+ ml_term_write( screen->term , key , strlen( key) , to_menu) ;
|
||||
+ ml_term_write( screen->term , "=" , 1 , to_menu) ;
|
||||
+ ml_term_write( screen->term , value , strlen( value) , to_menu) ;
|
||||
+ ml_term_write( screen->term , "\n" , 1 , to_menu) ;
|
||||
+
|
||||
+ #ifdef __DEBUG
|
||||
+ kik_debug_printf( KIK_DEBUG_TAG " #%s=%s\n" , key , value) ;
|
||||
+ #endif
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if( flag)
|
||||
+ {
|
||||
+ *flag = value ? true_or_false( value) : -1 ;
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -5840,31 +5869,7 @@
|
||||
int to_menu
|
||||
)
|
||||
{
|
||||
- x_screen_t * screen ;
|
||||
- char * value ;
|
||||
-
|
||||
- screen = p ;
|
||||
-
|
||||
- if( ( value = get_config_intern( screen , dev , key)) == NULL)
|
||||
- {
|
||||
- ml_term_write( screen->term , "#error\n" , 7 , to_menu) ;
|
||||
-
|
||||
- #ifdef __DEBUG
|
||||
- kik_debug_printf( KIK_DEBUG_TAG " #error\n") ;
|
||||
- #endif
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- ml_term_write( screen->term , "#" , 1 , to_menu) ;
|
||||
- ml_term_write( screen->term , key , strlen( key) , to_menu) ;
|
||||
- ml_term_write( screen->term , "=" , 1 , to_menu) ;
|
||||
- ml_term_write( screen->term , value , strlen( value) , to_menu) ;
|
||||
- ml_term_write( screen->term , "\n" , 1 , to_menu) ;
|
||||
-
|
||||
- #ifdef __DEBUG
|
||||
- kik_debug_printf( KIK_DEBUG_TAG " #%s=%s\n" , key , value) ;
|
||||
- #endif
|
||||
- }
|
||||
+ get_config_intern( p , dev , key , to_menu , NULL) ;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -8286,18 +8291,21 @@
|
||||
}
|
||||
else if( strcmp( value , "switch") == 0)
|
||||
{
|
||||
- char * val ;
|
||||
-
|
||||
- if( ( val = get_config_intern( screen , /* dev */ NULL , key)))
|
||||
- {
|
||||
- if( strcmp( val , "true") == 0)
|
||||
- {
|
||||
- value = "false" ;
|
||||
- }
|
||||
- else if( strcmp( val , "false") == 0)
|
||||
- {
|
||||
- value = "true" ;
|
||||
- }
|
||||
+ int flag ;
|
||||
+
|
||||
+ get_config_intern( screen , /* dev */ NULL , key , -1 , &flag) ;
|
||||
+
|
||||
+ if( flag == 1)
|
||||
+ {
|
||||
+ value = "false" ;
|
||||
+ }
|
||||
+ else if( flag == 0)
|
||||
+ {
|
||||
+ value = "true" ;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ return 1 ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8312,7 +8320,7 @@
|
||||
if( ( term = (*screen->system_listener->get_pty)( screen->system_listener->self ,
|
||||
dev)) == NULL)
|
||||
{
|
||||
- return 0 ;
|
||||
+ return 1 ;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -8838,7 +8846,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- return 0 ;
|
||||
+ return 1 ;
|
||||
}
|
||||
|
||||
usascii_font_cs_changed( screen , ml_term_get_encoding( screen->term)) ;
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
PRGNAM=mlterm
|
||||
VERSION=${VERSION:-3.3.3}
|
||||
BUILD=${BUILD:-1}
|
||||
BUILD=${BUILD:-2}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
|
@ -69,6 +69,8 @@ find -L . \
|
|||
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
|
||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
||||
|
||||
patch -p1 < $CWD/mlterm-3.3.3-fixes.patch
|
||||
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
CXXFLAGS="$SLKCFLAGS" \
|
||||
./configure \
|
||||
|
|
Loading…
Reference in a new issue