Fri Mar 7 18:22:50 2014 UTC ()
Pull post-3.3.3 fixes from upstream.

http://sourceforge.net/projects/mlterm/files/01release/mlterm-3.3.3/mlterm-3.3.3-fixes.patch/download
 * Hack for uim-mozc is added
 * Fix the bug which disabled to start mlconfig

https://bitbucket.org/arakiken/mlterm/commits/f32b4ef020ab4ce25ab46166efac5c02f5e692eb
 * NetBSD/x68k framebuffer fixes:
  - The default value "separate_wall_picture" option is changed to true
  - Allow non-privileged users to use mlterm-fb
  - The default resolution is changed to 768x512x4

Bump PKGREVISION.


(tsutsui)
diff -r1.99 -r1.100 pkgsrc/x11/mlterm/Makefile
diff -r1.40 -r1.41 pkgsrc/x11/mlterm/distinfo
diff -r0 -r1.1 pkgsrc/x11/mlterm/patches/patch-inputmethod_uim_im__uim.c
diff -r0 -r1.1 pkgsrc/x11/mlterm/patches/patch-xwindow_x__main__config.c
diff -r0 -r1.3 pkgsrc/x11/mlterm/patches/patch-xwindow_fb_x__display__x68kgrf.c
diff -r0 -r1.5 pkgsrc/x11/mlterm/patches/patch-xwindow_x__screen.c

cvs diff -r1.99 -r1.100 pkgsrc/x11/mlterm/Makefile (expand / switch to unified diff)

--- pkgsrc/x11/mlterm/Makefile 2014/02/28 16:02:12 1.99
+++ pkgsrc/x11/mlterm/Makefile 2014/03/07 18:22:50 1.100
@@ -1,16 +1,17 @@ @@ -1,16 +1,17 @@
1# $NetBSD: Makefile,v 1.99 2014/02/28 16:02:12 tsutsui Exp $ 1# $NetBSD: Makefile,v 1.100 2014/03/07 18:22:50 tsutsui Exp $
2 2
3DISTNAME= mlterm-3.3.3 3DISTNAME= mlterm-3.3.3
 4PKGREVISION= 1
4CATEGORIES= x11 5CATEGORIES= x11
5MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=mlterm/} 6MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=mlterm/}
6 7
7MAINTAINER= uebayasi@NetBSD.org 8MAINTAINER= uebayasi@NetBSD.org
8HOMEPAGE= http://mlterm.sourceforge.net/ 9HOMEPAGE= http://mlterm.sourceforge.net/
9COMMENT= Multilingual terminal emulator 10COMMENT= Multilingual terminal emulator
10LICENSE= modified-bsd 11LICENSE= modified-bsd
11 12
12# CODESET is only supported on NetBSD in 1.5T and later - see <langinfo.h> 13# CODESET is only supported on NetBSD in 1.5T and later - see <langinfo.h>
13NOT_FOR_PLATFORM= NetBSD-1.[0-4]*-* NetBSD-1.5[A-S]-* 14NOT_FOR_PLATFORM= NetBSD-1.[0-4]*-* NetBSD-1.5[A-S]-*
14 15
15USE_TOOLS+= pkg-config msgfmt 16USE_TOOLS+= pkg-config msgfmt
16USE_LIBTOOL= yes 17USE_LIBTOOL= yes

cvs diff -r1.40 -r1.41 pkgsrc/x11/mlterm/distinfo (expand / switch to unified diff)

--- pkgsrc/x11/mlterm/distinfo 2014/02/28 16:02:12 1.40
+++ pkgsrc/x11/mlterm/distinfo 2014/03/07 18:22:50 1.41
@@ -1,7 +1,11 @@ @@ -1,7 +1,11 @@
1$NetBSD: distinfo,v 1.40 2014/02/28 16:02:12 tsutsui Exp $ 1$NetBSD: distinfo,v 1.41 2014/03/07 18:22:50 tsutsui Exp $
2 2
3SHA1 (mlterm-3.3.3.tar.gz) = 9d5befee155e5e514874b45c46b1b7fe2fdf3dbd 3SHA1 (mlterm-3.3.3.tar.gz) = 9d5befee155e5e514874b45c46b1b7fe2fdf3dbd
4RMD160 (mlterm-3.3.3.tar.gz) = 9c669c523aa2e8b7e48420a58ab74b851cea3dfe 4RMD160 (mlterm-3.3.3.tar.gz) = 9c669c523aa2e8b7e48420a58ab74b851cea3dfe
5Size (mlterm-3.3.3.tar.gz) = 3578266 bytes 5Size (mlterm-3.3.3.tar.gz) = 3578266 bytes
6SHA1 (patch-configure) = 950194a8be2ebd7f3ed22c9ebaba545def6c7351 6SHA1 (patch-configure) = 950194a8be2ebd7f3ed22c9ebaba545def6c7351
7SHA1 (patch-etc_font-fb) = 7ded1dbee083df4d78b6ebf42964f50262feb318 7SHA1 (patch-etc_font-fb) = 7ded1dbee083df4d78b6ebf42964f50262feb318
 8SHA1 (patch-inputmethod_uim_im__uim.c) = c61931c6d6ca5295e16a68c2b4fa89641817ee58
 9SHA1 (patch-xwindow_fb_x__display__x68kgrf.c) = b652023b7acbd9049672178569731ba583505a93
 10SHA1 (patch-xwindow_x__main__config.c) = 501dbde1484e93066fdaa652853679468a6ce78a
 11SHA1 (patch-xwindow_x__screen.c) = 3395037aa436a3136a6bd75f8eebc03c282ed997

File Added: pkgsrc/x11/mlterm/patches/Attic/patch-inputmethod_uim_im__uim.c
$NetBSD: patch-inputmethod_uim_im__uim.c,v 1.1 2014/03/07 18:22:50 tsutsui Exp $

Pull mlterm-3.3.3-fixes.patch from upstream:
http://sourceforge.net/projects/mlterm/files/01release/mlterm-3.3.3/mlterm-3.3.3-fixes.patch/download
 - Hack for uim-mozc is added

--- inputmethod/uim/im_uim.c.orig	2014-02-21 16:51:46.000000000 +0000
+++ inputmethod/uim/im_uim.c
@@ -78,6 +78,8 @@ typedef struct im_uim
 
 	u_int  cand_limit ;
 
+	int  is_mozc ;
+
 }  im_uim_t ;
 
 KIK_LIST_TYPEDEF( im_uim_t) ;
@@ -744,13 +746,13 @@ candidate_activate(
 
 	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 +849,22 @@ candidate_select(
 
 	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 +1634,8 @@ im_uim_new(
 		goto  error ;
 	}
 
+	uim->is_mozc = (strcmp( engine , "mozc") == 0) ;
+
 	uim_set_preedit_cb( uim->context ,
 			    preedit_clear ,
 			    preedit_pushback ,

File Added: pkgsrc/x11/mlterm/patches/Attic/patch-xwindow_x__main__config.c
$NetBSD: patch-xwindow_x__main__config.c,v 1.1 2014/03/07 18:22:50 tsutsui Exp $

Pull fixes for NetBSD/x68k framebuffer from upstream:
https://bitbucket.org/arakiken/mlterm/commits/f32b4ef020ab4ce25ab46166efac5c02f5e692eb
 - The default value "separate_wall_picture" option is changed to true

--- xwindow/x_main_config.c.orig	2014-02-21 16:51:45.000000000 +0000
+++ xwindow/x_main_config.c
@@ -282,7 +282,7 @@ x_prepare_for_main_config(
 		"embold glyphs by drawing doubly at 1 pixel leftward instead of rightward.") ;
 #ifdef  USE_GRF
 	kik_conf_add_opt( conf , '\0' , "multivram" , 1 , "separate_wall_picture" ,
-		"draw wall picture on another vram. (available on 4bpp) [false]") ;
+		"draw wall picture on another vram. (available on 4bpp) [true]") ;
 #endif
 #ifdef  USE_FRAMEBUFFER
 	kik_conf_add_opt( conf , '\0' , "rotate" , 0 , "rotate_display" ,
@@ -1368,12 +1368,9 @@ x_main_config_init(
 #ifdef  USE_GRF
 	if( ( value = kik_conf_get_value( conf , "separate_wall_picture")))
 	{
-		if( strcmp( value , "true") == 0)
-		{
-			extern int  separate_wall_picture ;
+		extern int  separate_wall_picture ;
 
-			separate_wall_picture = 1 ;
-		}
+		separate_wall_picture = (strcmp( value , "true") == 0 ? 1 : 0) ;
 	}
 #endif
 

File Added: pkgsrc/x11/mlterm/patches/Attic/patch-xwindow_fb_x__display__x68kgrf.c
$NetBSD: patch-xwindow_fb_x__display__x68kgrf.c,v 1.3 2014/03/07 18:22:50 tsutsui Exp $

Pull fixes for NetBSD/x68k framebuffer from upstream:
https://bitbucket.org/arakiken/mlterm/commits/f32b4ef020ab4ce25ab46166efac5c02f5e692eb
 - Allow non-privileged users to use mlterm-fb
 - The default resolution is changed to 768x512x4

--- xwindow/fb/x_display_x68kgrf.c.orig	2014-02-21 16:51:44.000000000 +0000
+++ xwindow/fb/x_display_x68kgrf.c
@@ -72,10 +72,10 @@ typedef struct  fb_reg_conf
 /* --- static variables --- */
 
 static int  console_id = -1 ;
-u_int  fb_width = 640 ;
-u_int  fb_height = 480 ;
-u_int  fb_depth = 8 ;
-int  separate_wall_picture ;
+u_int  fb_width = 768 ;
+u_int  fb_height = 512 ;
+u_int  fb_depth = 4 ;
+int  separate_wall_picture = 1 ;
 static fb_reg_conf_t  orig_reg ;
 static int  grf0_fd = -1 ;
 static size_t  grf0_len ;
@@ -185,8 +185,15 @@ open_display(
 	struct rgb_info  rgb_info_15bpp = { 3 , 3 , 3 , 6 , 11 , 1 } ;
 	struct termios  tm ;
 
-	if( ( _display.fb_fd = open( ( dev = getenv("FRAMEBUFFER")) ? dev : "/dev/grf1" ,
-					O_RDWR)) < 0)
+	kik_priv_restore_euid() ;
+	kik_priv_restore_egid() ;
+
+	_display.fb_fd = open( ( dev = getenv("FRAMEBUFFER")) ? dev : "/dev/grf1" , O_RDWR);
+
+	kik_priv_change_euid( kik_getuid()) ;
+	kik_priv_change_egid( kik_getgid()) ;
+
+	if( _display.fb_fd < 0)
 	{
 		kik_msg_printf( "Couldn't open %s.\n" , dev ? dev : "/dev/grf1") ;
 

File Added: pkgsrc/x11/mlterm/patches/Attic/patch-xwindow_x__screen.c
$NetBSD: patch-xwindow_x__screen.c,v 1.5 2014/03/07 18:22:50 tsutsui Exp $

Pull mlterm-3.3.3-fixes.patch from upstream:
http://sourceforge.net/projects/mlterm/files/01release/mlterm-3.3.3/mlterm-3.3.3-fixes.patch/download
 - Fix the bug which disabled to start mlconfig

--- xwindow/x_screen.c.orig	2014-02-21 16:51:45.000000000 +0000
+++ xwindow/x_screen.c
@@ -5268,11 +5268,13 @@ change_im(
  * 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 @@ get_config_intern(
 		if( ( term = (*screen->system_listener->get_pty)( screen->system_listener->self ,
 				dev)) == NULL)
 		{
-			return  NULL ;
+			return ;
 		}
 	}
 	else
@@ -5829,7 +5831,34 @@ get_config_intern(
 		}
 	}
 
-	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 @@ get_config(
 	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 @@ x_screen_set_config(
 	}
 	else if( strcmp( value , "switch") == 0)
 	{
-		char *  val ;
+		int  flag ;
+
+		get_config_intern( screen , /* dev */ NULL , key , -1 , &flag) ;
 
-		if( ( val = get_config_intern( screen , /* dev */ NULL , key)))
+		if( flag == 1)
 		{
-			if( strcmp( val , "true") == 0)
-			{
-				value = "false" ;
-			}
-			else if( strcmp( val , "false") == 0)
-			{
-				value = "true" ;
-			}
+			value = "false" ;
+		}
+		else if( flag == 0)
+		{
+			value = "true" ;
+		}
+		else
+		{
+			return  1 ;
 		}
 	}
 
@@ -8312,7 +8320,7 @@ x_screen_set_config(
 		if( ( term = (*screen->system_listener->get_pty)( screen->system_listener->self ,
 				dev)) == NULL)
 		{
-			return  0 ;
+			return  1 ;
 		}
 	}
 	else
@@ -8838,7 +8846,7 @@ x_screen_set_config(
 			}
 			else
 			{
-				return  0 ;
+				return  1 ;
 			}
 
 			usascii_font_cs_changed( screen , ml_term_get_encoding( screen->term)) ;