You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
(170) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(193) |
Feb
(128) |
Mar
(62) |
Apr
(80) |
May
(75) |
Jun
(69) |
Jul
(19) |
Aug
(13) |
Sep
(59) |
Oct
(11) |
Nov
(24) |
Dec
(12) |
2003 |
Jan
(23) |
Feb
(73) |
Mar
(120) |
Apr
(18) |
May
(21) |
Jun
(38) |
Jul
(22) |
Aug
(6) |
Sep
(12) |
Oct
(7) |
Nov
|
Dec
|
2004 |
Jan
(31) |
Feb
(13) |
Mar
(14) |
Apr
(5) |
May
(1) |
Jun
(3) |
Jul
|
Aug
|
Sep
(7) |
Oct
(3) |
Nov
(18) |
Dec
(7) |
2005 |
Jan
(2) |
Feb
(3) |
Mar
(9) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(5) |
Oct
|
Nov
(2) |
Dec
(5) |
2006 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
|
May
(7) |
Jun
(8) |
Jul
(3) |
Aug
|
Sep
(3) |
Oct
(33) |
Nov
(47) |
Dec
(9) |
2007 |
Jan
(8) |
Feb
(11) |
Mar
(3) |
Apr
(6) |
May
(4) |
Jun
(10) |
Jul
(1) |
Aug
(24) |
Sep
(8) |
Oct
(3) |
Nov
(3) |
Dec
(10) |
2008 |
Jan
(6) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
(5) |
Mar
(15) |
Apr
(20) |
May
(6) |
Jun
(74) |
Jul
(44) |
Aug
(19) |
Sep
(17) |
Oct
(29) |
Nov
(10) |
Dec
(6) |
2010 |
Jan
|
Feb
(2) |
Mar
(36) |
Apr
(54) |
May
(80) |
Jun
(70) |
Jul
(34) |
Aug
(33) |
Sep
(20) |
Oct
(7) |
Nov
|
Dec
(2) |
2011 |
Jan
(1) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(13) |
Jun
(7) |
Jul
(2) |
Aug
(2) |
Sep
(6) |
Oct
|
Nov
(1) |
Dec
(3) |
2012 |
Jan
(1) |
Feb
|
Mar
|
Apr
(2) |
May
(4) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(2) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2013 |
Jan
(5) |
Feb
(2) |
Mar
(1) |
Apr
(4) |
May
(1) |
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(3) |
2014 |
Jan
|
Feb
(1) |
Mar
(6) |
Apr
(3) |
May
(1) |
Jun
|
Jul
(4) |
Aug
(4) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(1) |
2015 |
Jan
(1) |
Feb
(1) |
Mar
(2) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
(1) |
2016 |
Jan
(1) |
Feb
(2) |
Mar
(3) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(2) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
|
Dec
(9) |
2017 |
Jan
(4) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
(4) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(1) |
2018 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(4) |
Dec
|
2021 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2024 |
Jan
(2) |
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
1
(1) |
2
|
3
(3) |
4
|
5
|
6
|
7
(1) |
8
(3) |
9
(1) |
10
|
11
(1) |
12
(1) |
13
(10) |
14
(5) |
15
(5) |
16
(9) |
17
(1) |
18
(2) |
19
(22) |
20
(1) |
21
|
22
(2) |
23
|
24
|
25
|
26
(2) |
27
|
28
|
29
|
30
(1) |
31
(4) |
|
From: KITAGAWA T. <ra...@km...> - 2002-05-07 14:39:47
|
先程このMLに登録させてもらいました。 以後よろしくお願いします。 mlterm 2.4.0 を FreeBSD 4.5 + XFree86 4.2.0 上で使ってみましたが、 いくつか不便な点があったので改造しました。 1. TERM を xterm や kterm に決め打ちされると emacs (21.2) のターミナル モードで色が出ません。w3m では出るのですが、多分 termcap データベースを 無視しているのでしょう。 色付きの xterm 用には xterm-color が、色付きの kterm 用には kterm16c という termcap エントリがあるのでこちらを使えば色が出るのですが、 mlterm 2.4.0 は TERM として xterm と kterm しか受け付けてくれません。 アーカイブを斜めよみしたらつい最近このへんが問題になっていたみたいですが、 手元では解決方法として term_type として「termcap 的に有効な名前なら受け 入れる」というように改造して使ってます。 今しがた CVS 版を取り出したらこの部分は「とりあえず何指定してもOK」 に変わってしまってるようですが。 2. xterm や kterm と違って tty の ECHOKE と ECHOCTL フラグが最初から 有効になってないので行編集時の挙動が変わってしまうようです。 これも xterm , kterm と同じになるように改造して使っています。 3. daemon モードで通信用に使うソケットが全ユーザ共通でマルチユーザ環境だと 使えないので、ユーザ名をつけるようにしてみました。 2.4.0 からの差分なんて今さら役にたたないかもしれませんが、 参考用に後につけておきます。ご検討ください。 手抜きパッチなのでそのまま取り込まれるといろいろ困ったことになると思いますが… -- 北川拓郎@京大マイコンクラブ(KMC) E-mail:ra...@km... diff -ruBw -x configure -x *~ -x *.orig mlterm-2.4.0.orig/autoconf/configure.in mlterm-2.4.0/autoconf/configure.in --- mlterm-2.4.0.orig/autoconf/configure.in Sun Apr 14 22:46:01 2002 +++ mlterm-2.4.0/autoconf/configure.in Tue May 7 16:51:16 2002 @@ -152,6 +152,11 @@ fi AC_SUBST(GTK_CONFIG) +AC_CHECK_LIB(termcap,tgetent,[TERMCAP_LIBS=-ltermcap]) +AC_SUBST(TERMCAP_LIBS) + +AC_CHECK_FUNCS(daemon) + MAKE_DIRS="${TOPDIR}/src ${TOPDIR}/tool/mlclient ${TOPDIR}/man ${TOPDIR}/etc ${TOPDIR}/scrollbar/sample ${MAKE_DIRS}" AC_SUBST(MAKE_DIRS) diff -ruBw -x configure -x *~ -x *.orig mlterm-2.4.0.orig/kiklib/src/kik_pty_bsd.c mlterm-2.4.0/kiklib/src/kik_pty_bsd.c --- mlterm-2.4.0.orig/kiklib/src/kik_pty_bsd.c Sun Apr 14 22:46:02 2002 +++ mlterm-2.4.0/kiklib/src/kik_pty_bsd.c Tue May 7 13:29:28 2002 @@ -187,7 +187,14 @@ tio.c_iflag = BRKINT | IGNPAR | ICRNL | IXON ; tio.c_oflag = OPOST | ONLCR ; tio.c_cflag = CS8 | CREAD ; - tio.c_lflag = ISIG | ICANON | IEXTEN | ECHO | ECHOE | ECHOK ; + tio.c_lflag = ISIG | ICANON | ECHO | ECHOE | ECHOK +#ifdef ECHOKE + | ECHOKE | IEXTEN +#endif +#ifdef ECHOCTL + | ECHOCTL | IEXTEN +#endif + ; tio.c_cc[VEOF] = CEOF ; tio.c_cc[VEOL] = VDISABLE ; diff -ruBw -x configure -x *~ -x *.orig mlterm-2.4.0.orig/src/Makefile.in mlterm-2.4.0/src/Makefile.in --- mlterm-2.4.0.orig/src/Makefile.in Sun Apr 14 22:46:01 2002 +++ mlterm-2.4.0/src/Makefile.in Tue May 7 17:01:35 2002 @@ -30,12 +30,12 @@ LKIK_DEB = -lkik_deb LMKF_DEB = -lmkf_deb -CFLAGS=$(CFLAGS_LOCAL) @KIK_CFLAGS@ @MKF_CFLAGS@ @DEB_CFLAGS@ @IMLIB_CFLAGS@ @FRIBIDI_CFLAGS@ \ +CFLAGS=$(CFLAGS_LOCAL) @DEFS@ @KIK_CFLAGS@ @MKF_CFLAGS@ @DEB_CFLAGS@ @IMLIB_CFLAGS@ @FRIBIDI_CFLAGS@ \ @AA_CFLAGS@ @UCS4_CFLAGS@ @IND_CFLAGS@ @UTMP_CFLAGS@ @XUTF8_CFLAGS@ @CFLAGS@ \ -DLIBDIR=\"$(LIBDIR)\" -DLIBEXECDIR=\"$(LIBEXECDIR)\" -DSYSCONFDIR=\"$(SYSCONFDIR)\" \ -I/usr/X11R6/include -I/usr/local/include LIBS=$(LIBS_LOCAL) @FRIBIDI_LIBS@ @IMLIB_LIBS@ @AA_LIBS@ @IND_LIBS@ \ - @X_EXTRA_LIBS@ -lX11 $(LKIK) $(LMKF) @DL_LIBS@ \ + @X_EXTRA_LIBS@ -lX11 $(LKIK) $(LMKF) @DL_LIBS@ @TERMCAP_LIBS@ \ -L/usr/X11R6/lib -L/usr/local/lib -R/usr/X11R6/lib -R/usr/local/lib PROG = mlterm diff -ruBw -x configure -x *~ -x *.orig mlterm-2.4.0.orig/src/ml_term_manager.c mlterm-2.4.0/src/ml_term_manager.c --- mlterm-2.4.0.orig/src/ml_term_manager.c Sun Apr 14 22:46:01 2002 +++ mlterm-2.4.0/src/ml_term_manager.c Tue May 7 16:53:35 2002 @@ -2,6 +2,8 @@ * $Id: ml_term_manager.c,v 1.68 2002/04/10 12:06:17 arakiken Exp $ */ +#define RANRAN_HACK + #include "ml_term_manager.h" #include <stdio.h> /* sprintf */ @@ -23,6 +25,9 @@ #include <kiklib/kik_locale.h> /* kik_get_codeset */ #include <kiklib/kik_net.h> /* socket/bind/listen/sockaddr_un */ #include <mkf/mkf_charset.h> /* mkf_charset_t */ +#ifdef RANRAN_HACK +#include <term.h> +#endif #include "version.h" #include "ml_xim.h" @@ -614,6 +619,8 @@ if( un_file) { unlink( un_file) ; + free( un_file) ; + un_file = NULL ; } exit( 0) ; @@ -666,6 +673,8 @@ if( un_file) { unlink( un_file) ; + free( un_file) ; + un_file = NULL ; } exit(status) ; @@ -747,6 +756,8 @@ if( un_file) { unlink( un_file) ; + free( un_file) ; + un_file = NULL ; } /* reset */ @@ -755,29 +766,12 @@ kill( getpid() , sig) ; } - -static int -start_daemon( - ml_term_manager_t * term_man - ) -{ - int fd ; - char * path = "/tmp/mlterm.unix" ; - pid_t pid ; - int sock_fd ; - struct sockaddr_un servaddr ; - - if( ( fd = creat( path , 0600)) == -1) +static void +mydaemonize(void) { - /* already exists */ - - kik_msg_printf( "remove %s before starting daemon.\n" , path) ; - - return -1 ; - } - - close( fd) ; - +#ifdef HAVE_DAEMON + daemon(0, 1); +#else pid = fork() ; if( pid == -1) @@ -820,17 +814,63 @@ /* * grandchild */ +#endif +} + +static int +start_daemon( + ml_term_manager_t * term_man + ) +{ + int fd ; +#ifndef RANRAN_HACK + char * path = "/tmp/mlterm.unix" ; +#endif + pid_t pid ; + int sock_fd ; + struct sockaddr_un servaddr ; + +#ifndef RANRAN_HACK + if( ( fd = creat( path , 0600)) == -1) + { + /* already exists */ + + kik_msg_printf( "remove %s before starting daemon.\n" , path) ; + + return -1 ; + } + + close( fd) ; +#endif + + mydaemonize() ; if( ( sock_fd = socket( AF_LOCAL , SOCK_STREAM , 0)) < 0) { return -1 ; } +#ifndef RANRAN_HACK unlink( path) ; +#endif memset( &servaddr , 0 , sizeof( servaddr)) ; servaddr.sun_family = AF_LOCAL ; +#ifdef RANRAN_HACK + { + struct passwd * pw = getpwuid(getuid()); + if( pw != NULL) + { + sprintf( servaddr.sun_path , "/tmp/mlterm.unix.%s", pw->pw_name) ; + } + else + { + strcpy( servaddr.sun_path , "/tmp/mlterm.unix") ; + } + } +#else strcpy( servaddr.sun_path , path) ; +#endif if( bind( sock_fd , (struct sockaddr *) &servaddr , sizeof( servaddr)) < 0) { @@ -839,6 +879,8 @@ return -1 ; } + chmod( servaddr.sun_path , 0600) ; + if( listen( sock_fd , 1024) < 0) { close( sock_fd) ; @@ -846,7 +888,11 @@ return -1 ; } - un_file = path ; +#ifdef RANRAN_HACK + un_file = strdup( servaddr.sun_path) ; +#else + un_file = strdup( path) ; +#endif return sock_fd ; } @@ -1012,8 +1058,12 @@ char ** argv ) { +#ifdef RANRAN_HACK + char * default_term_type = "xterm" ; +#else char * kterm = "kterm" ; char * xterm = "xterm" ; +#endif char * value ; if( ( value = kik_conf_get_value( conf , "display")) == NULL) @@ -1179,6 +1229,27 @@ if( ( value = kik_conf_get_value( conf , "termtype"))) { +#ifdef RANRAN_HACK + char tcap[1024]; + if( tgetent( tcap , value) == 1) + { + if( ( term_man->conf.term_type = malloc( strlen( value) + 1)) != NULL) + { + strcpy( term_man->conf.term_type , value) ; + } + } + else + { + term_man->conf.term_type = NULL ; + } + if( term_man->conf.term_type == NULL) + { + kik_msg_printf( + "cannot set terminal type. %s will be used.\n", default_term_type) ; + + term_man->conf.term_type = strdup( default_term_type) ; + } +#else if( strcasecmp( value , kterm) == 0) { term_man->conf.term_type = kterm ; @@ -1194,10 +1265,15 @@ term_man->conf.term_type = xterm ; } +#endif } else { +#ifdef RANRAN_HACK + term_man->conf.term_type = strdup( default_term_type) ; +#else term_man->conf.term_type = xterm ; +#endif } term_man->conf.x = 0 ; @@ -1615,7 +1691,12 @@ free( term_man->conf.sb_fg_color) ; free( term_man->conf.sb_bg_color) ; free( term_man->conf.cmd_argv) ; - +#ifdef RANRAN_HACK + if( term_man->conf.term_type) + { + free( term_man->conf.term_type) ; + } +#endif return 1 ; } @@ -1625,7 +1706,7 @@ ) { struct sockaddr_un addr ; - socklen_t sock_len ; + socklen_t sock_len = sizeof(addr); int fd ; FILE * fp ; kik_file_t * from ; @@ -1938,6 +2019,10 @@ { } #endif + else + { + kik_msg_printf( "daemon_mode must be either 'genuine' or 'blend'.\n"); + } } use_xim = 1 ; diff -ruBw -x configure -x *~ -x *.orig mlterm-2.4.0.orig/tool/mlclient/main.c mlterm-2.4.0/tool/mlclient/main.c --- mlterm-2.4.0.orig/tool/mlclient/main.c Sun Apr 14 22:46:01 2002 +++ mlterm-2.4.0/tool/mlclient/main.c Tue May 7 16:49:15 2002 @@ -2,12 +2,14 @@ * $Id: main.c,v 1.6 2002/02/17 02:06:03 arakiken Exp $ */ +#define RANRAN_HACK + #include <stdio.h> #include <sys/types.h> #include <unistd.h> /* write */ #include <string.h> /* memset */ #include <kiklib/kik_net.h> /* socket/bind/listen/sockaddr_un */ - +#include <pwd.h> /* --- static variables --- */ @@ -37,7 +39,8 @@ { int counter ; - printf( "Not available options.\n") ; + printf( "Usage: mlclient <options for mlterm>\n") ; + printf( "Note: Following options are not available:\n") ; for( counter = 0 ; counter < sizeof( na_options) / sizeof( na_options[0]) ; counter ++) { @@ -59,7 +62,7 @@ struct sockaddr_un servaddr ; int counter ; - for( counter = 0 ; counter < argc ; counter ++) + for( counter = 1 ; counter < argc ; counter ++) { if( ( p = strrchr( argv[counter] , '-')) != NULL) { @@ -87,7 +90,22 @@ memset( &servaddr , 0 , sizeof( servaddr)) ; servaddr.sun_family = AF_LOCAL ; +#ifdef RANRAN_HACK + { + struct passwd *pw = getpwuid( getuid()); + if( pw != NULL) + { + sprintf( servaddr.sun_path , "/tmp/mlterm.unix.%s", pw->pw_name) ; + } + else + { + strcpy( servaddr.sun_path , "/tmp/mlterm.unix") ; + } + + } +#else strcpy( servaddr.sun_path , "/tmp/mlterm.unix") ; +#endif if( connect( sock_fd , (struct sockaddr*) &servaddr , sizeof( servaddr)) < 0) { |