aboutsummaryrefslogtreecommitdiff
path: root/japanese/eterm
diff options
context:
space:
mode:
authorSADA Kenji <sada@FreeBSD.org>1999-01-30 22:00:14 +0000
committerSADA Kenji <sada@FreeBSD.org>1999-01-30 22:00:14 +0000
commit0dd52dfa96236ec19363fb43a963ed1dcf4e0bc5 (patch)
tree775b4aba2d969157009cb37271cb3ac48aa74607 /japanese/eterm
parent988a5991dfa154a29aac859f3aff3271fb16c06c (diff)
downloadports-0dd52dfa96236ec19363fb43a963ed1dcf4e0bc5.tar.gz
ports-0dd52dfa96236ec19363fb43a963ed1dcf4e0bc5.zip
Update to 0.8.8.
PR: ports/9779 Submitted by: MANTANI Nobutaka <nobutaka@nobutaka.com>
Notes
Notes: svn path=/head/; revision=16436
Diffstat (limited to 'japanese/eterm')
-rw-r--r--japanese/eterm/Makefile12
-rw-r--r--japanese/eterm/distinfo2
-rw-r--r--japanese/eterm/files/patch-ae492
-rw-r--r--japanese/eterm/files/patch-ah34
-rw-r--r--japanese/eterm/pkg-descr2
-rw-r--r--japanese/eterm/pkg-plist19
6 files changed, 287 insertions, 274 deletions
diff --git a/japanese/eterm/Makefile b/japanese/eterm/Makefile
index 3d64ef279919..5ce28f5ea4ad 100644
--- a/japanese/eterm/Makefile
+++ b/japanese/eterm/Makefile
@@ -1,16 +1,18 @@
# New ports collection makefile for: eterm
-# Version required: 0.8.7
+# Version required: 0.8.8
# Date created: 11th December 1998
# Whom: MANTANI Nobutaka <nobutaka@nobutaka.com>
#
-# $Id: Makefile,v 1.1.1.1 1998/12/16 18:48:20 sada Exp $
+# $Id: Makefile,v 1.2 1999/01/14 17:08:22 vanilla Exp $
#
-DISTNAME= Eterm-0.8.7
-PKGNAME= ja-eterm-0.8.7
+DISTNAME= Eterm-0.8.8
+PKGNAME= ja-eterm-0.8.8
CATEGORIES= japanese x11
-MASTER_SITES= ftp://ftp.enlightenment.org/pub/Eterm/ \
+MASTER_SITES= http://www.eterm.org/download/ \
+ ftp://ftp.eterm.org/pub/Eterm/ \
http://www.tcserv.com/archive/E/ \
+ http://eterm.is.nontoxic.org/download/ \
http://www.tcserv.com/archive/E/old/
MAINTAINER= nobutaka@nobutaka.com
diff --git a/japanese/eterm/distinfo b/japanese/eterm/distinfo
index 3dcfc6e73dee..f1fcc6ceb611 100644
--- a/japanese/eterm/distinfo
+++ b/japanese/eterm/distinfo
@@ -1 +1 @@
-MD5 (Eterm-0.8.7.tar.gz) = 00de2b1fb7d35bff42337a9723195114
+MD5 (Eterm-0.8.8.tar.gz) = 19c0571f900757e5a90ac36baac3f79b
diff --git a/japanese/eterm/files/patch-ae b/japanese/eterm/files/patch-ae
index 77b501b3711a..fc124bad5eb2 100644
--- a/japanese/eterm/files/patch-ae
+++ b/japanese/eterm/files/patch-ae
@@ -1,6 +1,6 @@
---- src/command.c.orig Thu Oct 22 01:13:37 1998
-+++ src/command.c Tue Dec 15 21:40:24 1998
-@@ -89,6 +89,10 @@
+--- src/command.c.orig Tue Jan 12 05:33:45 1999
++++ src/command.c Sat Jan 30 01:39:34 1999
+@@ -90,6 +90,10 @@
# include <X11/Xlocale.h>
# endif
#endif /* NO_XLOCALE */
@@ -11,7 +11,7 @@
#ifdef USE_GETGRNAME
# include <grp.h>
#endif
-@@ -249,7 +253,7 @@
+@@ -251,7 +255,7 @@
/* defines: */
@@ -20,21 +20,24 @@
#define STRING_MAX 512 /* max string size for process_xterm_seq() */
#define ESC_ARGS 32 /* max # of args for esc sequences */
-@@ -525,8 +529,8 @@
+@@ -526,8 +530,10 @@
#endif /* OFFIX_DND */
#ifndef NO_XLOCALE
-static char *rs_inputMethod = ""; /* XtNinputMethod */
-static char *rs_preeditType = NULL; /* XtNpreeditType */
-+extern char *rs_inputMethod; /* XtNinputMethod */
-+extern char *rs_preeditType; /* XtNpreeditType */
++#ifdef USE_XIM
++extern char *rs_inputMethod;
++extern char *rs_preeditType;
++#endif
static XIC Input_Context; /* input context */
#endif /* NO_XLOCALE */
-@@ -575,9 +579,18 @@
+@@ -576,9 +582,20 @@
#ifndef NO_XLOCALE
void init_xlocale (void);
++#ifdef USE_XIM
+void IMInstantiateCallback(Display *display, XPointer client_data, XPointer call_data);
+void IMDestroyCallback(XIM xim, XPointer client_data, XPointer call_data);
+void IMSetStatusPosition(void);
@@ -43,6 +46,7 @@
+void setColor(unsigned long *fg, unsigned long *bg);
+void setSize(XRectangle *size);
+extern void setPosition(XPoint *pos);
++#endif
#else
# define init_xlocale() ((void)0)
#endif
@@ -50,18 +54,16 @@
/*for Big Paste Handling */
static int v_doPending(void);
-@@ -1843,8 +1856,8 @@
+@@ -2238,8 +2255,6 @@
DndSelection = XInternAtom(Xdisplay, "DndSelection", False);
#endif /* OFFIX_DND */
- init_xlocale();
-
-+ XRegisterIMInstantiateCallback(Xdisplay, NULL, NULL, NULL, IMInstantiateCallback, NULL);
-+
/* get number of available file descriptors */
#ifdef _POSIX_VERSION
num_fds = sysconf(_SC_OPEN_MAX);
-@@ -1878,131 +1891,12 @@
+@@ -2273,131 +2288,21 @@
#ifndef NO_XLOCALE
void
init_xlocale (void) {
@@ -73,21 +75,24 @@
- int found;
-
- Input_Context = NULL;
--
++ char *locale;
+
# ifdef KANJI
-+ setlocale(LC_CTYPE, "ja_JP.EUC");
-+# else
- setlocale(LC_CTYPE, "");
- # endif
+- setlocale(LC_CTYPE, "");
+-# endif
-
- if (rs_inputMethod == NULL
-# ifndef KANJI
- || !*rs_inputMethod /* required ? */
--# endif
++ locale = setlocale(LC_CTYPE, "");
+ # endif
- ) {
- if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
- xim = XOpenIM(Xdisplay, NULL, NULL, NULL);
-- } else {
++#ifdef USE_XIM
++ if (locale == NULL) {
++ print_error("Setting locale failed.");
+ } else {
- strcpy(tmp, rs_inputMethod);
- for (s = tmp; *s; /*nil*/) {
-
@@ -191,15 +196,21 @@
- print_error("Failed to create input context");
-# endif
- XCloseIM(xim);
-- }
-+ setTermFontSet();
++ if (strcmp(locale, "C") != 0) {
++ setTermFontSet();
++ XRegisterIMInstantiateCallback(Xdisplay, NULL, NULL, NULL, IMInstantiateCallback, NULL);
++ }
+ }
++#endif
}
#endif /* NO_XLOCALE */
/**/
-@@ -2066,19 +1960,19 @@
+@@ -2459,22 +2364,21 @@
+ numlock_state = (ev->xkey.state & Mod5Mask); /* numlock toggle */
+ PrivMode((!numlock_state), PrivMode_aplKP);
}
-
- #ifndef NO_XLOCALE
+-
+-#ifndef NO_XLOCALE
- if (!XFilterEvent(ev, *(&ev->xkey.window))) {
- if (Input_Context != NULL) {
- Status status_return;
@@ -213,34 +224,46 @@
- &compose);
- }
- } else len = 0;
+-#else /* NO_XLOCALE */
++#ifdef USE_XIM
+ len = 0;
+ if (Input_Context != NULL) {
+ Status status_return;
+
+ kbuf[0] = '\0';
+ len = XmbLookupString(Input_Context, &ev->xkey, kbuf,
-+ sizeof(kbuf), &keysym,
-+ &status_return);
++ sizeof(kbuf), &keysym,
++ &status_return);
+ } else {
+ len = XLookupString(&ev->xkey, kbuf,
-+ sizeof(kbuf), &keysym,
-+ &compose);
++ sizeof(kbuf), &keysym,
++ &compose);
+ }
- #else /* NO_XLOCALE */
++#else /* USE_XIM */
len = XLookupString(&ev->xkey, kbuf, sizeof(kbuf), &keysym, &compose);
/*
-@@ -2664,6 +2558,9 @@
+ * have unmapped Latin[2-4] entries -> Latin1
+@@ -2484,7 +2388,7 @@
+ len = 1;
+ kbuf[0] = (keysym & 0xFF);
+ }
+-#endif /* NO_XLOCALE */
++#endif /* USE_XIM */
+
+ if (len && (Options & Opt_homeOnInput)) TermWin.view_start = 0;
+
+@@ -3087,6 +2991,9 @@
#else
scr_refresh(refresh_type);
#endif
-+#ifndef NO_XLOCALE
++#ifdef USE_XIM
+ IMSendSpot();
+#endif
}
/* characters already read in */
-@@ -2677,14 +2574,10 @@
- #endif
+@@ -3096,14 +3003,10 @@
+
v_doPending();
while (XPending(Xdisplay)) { /* process pending X events */
-
@@ -255,186 +278,159 @@
/* in case button actions pushed chars to cmdbuf */
if CHARS_READ() RETURN_CHAR();
-@@ -2765,6 +2658,9 @@
+@@ -3178,6 +3081,9 @@
scr_refresh(refresh_type);
if (scrollbar_visible())
scrollbar_show(1);
-+#ifndef NO_XLOCALE
++#ifdef USE_XIM
+ IMSendSpot();
+#endif
}
}
}
-@@ -3453,6 +3349,9 @@
+@@ -3867,6 +3773,9 @@
refresh_count = refresh_limit = 0;
scr_refresh(refresh_type);
scrollbar_show(mouseoffset);
-+#ifndef NO_XLOCALE
++#ifdef USE_XIM
+ IMSendSpot();
+#endif
#endif
} else if ((ev->xany.window == scrollBar.win) && scrollbar_isMotion()) {
Window unused_root, unused_child;
-@@ -3470,6 +3369,9 @@
+@@ -3884,6 +3793,9 @@
refresh_count = refresh_limit = 0;
scr_refresh(refresh_type);
scrollbar_show(mouseoffset);
-+#ifndef NO_XLOCALE
++#ifdef USE_XIM
+ IMSendSpot();
+#endif
}
#ifdef PROFILE_X_EVENTS
P_SETTIMEVAL(motion_stop);
-@@ -4215,6 +4117,9 @@
+@@ -4626,6 +4538,9 @@
}
}
Gr_do_graphics(cmd, nargs, args, text);
-+#ifndef NO_XLOCALE
++#ifdef USE_XIM
+ IMSendSpot();
+#endif
#endif
}
-@@ -4759,7 +4664,7 @@
-
- TermWin.ncol = szHint.width;
- TermWin.nrow = szHint.height;
--
-+
- change_font(1, NULL);
- #if (MENUBAR_MAX)
- szHint.base_height += (delay_menu_drawing ? menuBar_TotalHeight() : 0);
-@@ -4879,7 +4784,7 @@
- XClearWindow(Xdisplay, TermWin.vt);
- }
- }
--
-+
- XDefineCursor(Xdisplay, TermWin.vt, TermWin_cursor);
- #ifdef USE_ACTIVE_TAGS
- XSelectInput(Xdisplay, TermWin.vt,
-@@ -5369,6 +5274,7 @@
+@@ -5864,6 +5779,9 @@
XResizeWindow (Xdisplay, TermWin.parent, width, height);
resize_window1 (width, height);
++#ifdef USE_XIM
+ IMSetStatusPosition();
++#endif
}
}
-@@ -5402,6 +5308,7 @@
+@@ -5897,6 +5815,9 @@
/* parent already resized */
resize_window1 (width, height);
++#ifdef USE_XIM
+ IMSetStatusPosition();
++#endif
}
/* xterm sequences - title, iconName, color (exptl) */
-@@ -5924,3 +5831,339 @@
+@@ -6505,3 +6426,340 @@
#undef FNUM_RANGE
}
-+#ifndef NO_XLOCALE
++#ifdef USE_XIM
+void
+setSize(XRectangle *size)
+{
-+ size->x = TermWin.internalBorder;
-+ size->y = TermWin.internalBorder;
-+ size->width = Width2Pixel(TermWin.ncol);
-+ size->height = Height2Pixel(TermWin.nrow);
++ size->x = TermWin.internalBorder;
++ size->y = TermWin.internalBorder;
++ size->width = Width2Pixel(TermWin.ncol);
++ size->height = Height2Pixel(TermWin.nrow);
+}
+
+void
+setColor(unsigned long *fg, unsigned long *bg)
+{
-+ *fg = PixColors[fgColor];
-+ *bg = PixColors[bgColor];
++ *fg = PixColors[fgColor];
++ *bg = PixColors[bgColor];
+}
+
+void
+IMSendSpot(void)
+{
-+ XPoint spot;
-+ XVaNestedList preedit_attr;
-+ XIMStyle input_style;
++ XPoint spot;
++ XVaNestedList preedit_attr;
++ XIMStyle input_style;
+
-+ if (Input_Context == NULL)
-+ return;
-+ else {
-+ XGetICValues(Input_Context, XNInputStyle, &input_style, NULL);
-+ if (!(input_style & XIMPreeditPosition))
++ if (Input_Context == NULL)
+ return;
-+ }
-+ setPosition(&spot) ;
++ else {
++ XGetICValues(Input_Context, XNInputStyle, &input_style, NULL);
++ if (!(input_style & XIMPreeditPosition))
++ return;
++ }
++ setPosition(&spot) ;
+
-+ preedit_attr = XVaCreateNestedList( 0, XNSpotLocation, &spot, NULL ) ;
-+ XSetICValues( Input_Context, XNPreeditAttributes, preedit_attr, NULL ) ;
-+ XFree( preedit_attr ) ;
++ preedit_attr = XVaCreateNestedList( 0, XNSpotLocation, &spot, NULL ) ;
++ XSetICValues( Input_Context, XNPreeditAttributes, preedit_attr, NULL ) ;
++ XFree( preedit_attr ) ;
+}
+
+void
+setTermFontSet(void)
+{
-+ char *string;
-+ long length, i;
-+
-+ if (TermWin.fontset != NULL){
-+ XFreeFontSet(Xdisplay, TermWin.fontset);
-+ TermWin.fontset = NULL;
-+ }
-+
-+ length = 0;
-+ for (i = 0; i < NFONTS; i++) {
-+ if (rs_font[i])
-+ length += strlen(rs_font[i]) + 1;
-+# ifdef KANJI
-+ if (rs_kfont[i])
-+ length += strlen(rs_kfont[i]) + 1;
-+# endif
-+ }
-+ if ((string = malloc( length )) != NULL) {
-+ char **missing_charsetlist, *def_string;
-+ int missing_charsetcount;
++ char *string;
++ long length, i;
++
++ if (TermWin.fontset != NULL){
++ XFreeFontSet(Xdisplay, TermWin.fontset);
++ TermWin.fontset = NULL;
++ }
+
-+ string[0] = '\0';
++ length = 0;
+ for (i = 0; i < NFONTS; i++) {
-+ if (rs_font[i]){
-+ strcat(string, rs_font[i]);
-+ strcat(string, ",");
-+ }
++ if (rs_font[i])
++ length += strlen(rs_font[i]) + 1;
+# ifdef KANJI
-+ if(rs_kfont[i]){
-+ strcat(string, rs_kfont[i]);
-+ strcat(string, ",");
-+ }
++ if (rs_kfont[i])
++ length += strlen(rs_kfont[i]) + 1;
+# endif
+ }
-+ length = strlen(string);
-+ if (length > 0 && string[ length - 1 ] == ',') {
-+ string[length - 1] = '\0';
-+ length--;
-+ }
-+ if (length > 0) {
-+ TermWin.fontset = XCreateFontSet
-+ (Xdisplay, string,
-+ &missing_charsetlist, &missing_charsetcount, &def_string);
-+ }
-+ free(string);
-+ } else {
-+ TermWin.fontset = NULL;
-+ }
-+}
++ if ((string = malloc( length )) != NULL) {
++ char **missing_charsetlist, *def_string;
++ int missing_charsetcount;
+
-+void
-+XProcessEvent(Display *display)
-+{
-+ XEvent xev;
-+ XNextEvent(display, &xev);
-+#ifndef NO_XLOCALE
-+ if( !XFilterEvent( &xev, xev.xany.window ) )
-+ process_x_event( &xev ) ;
-+#else
-+ process_x_event( &xev ) ;
-+#endif
++ string[0] = '\0';
++ for (i = 0; i < NFONTS; i++) {
++ if (rs_font[i]){
++ strcat(string, rs_font[i]);
++ strcat(string, ",");
++ }
++# ifdef KANJI
++ if(rs_kfont[i]){
++ strcat(string, rs_kfont[i]);
++ strcat(string, ",");
++ }
++# endif
++ }
++ length = strlen(string);
++ if (length > 0 && string[ length - 1 ] == ',') {
++ string[length - 1] = '\0';
++ length--;
++ }
++ if (length > 0) {
++ TermWin.fontset = XCreateFontSet(Xdisplay, string,
++ &missing_charsetlist, &missing_charsetcount,
++ &def_string);
++ }
++ free(string);
++ } else {
++ TermWin.fontset = NULL;
++ }
+}
+
+void
@@ -457,141 +453,142 @@
+ Input_Context = NULL;
+ if (rs_inputMethod == NULL
+# ifndef KANJI
-+ || !*rs_inputMethod /* required ? */
++ || !*rs_inputMethod /* required ? */
+# endif
+ ) {
-+ if ((p = XSetLocaleModifiers("")) != NULL && *p)
-+ xim = XOpenIM(Xdisplay, NULL, NULL, NULL);
++ if ((p = XSetLocaleModifiers("")) != NULL && *p)
++ xim = XOpenIM(Xdisplay, NULL, NULL, NULL);
+ } else {
-+ strcpy(tmp, rs_inputMethod);
-+ for (s = tmp; *s; /*nil*/) {
-+
-+ char *end, *next_s;
-+
-+ for (; *s && isspace(*s); s++);
-+ if (!*s) break;
-+ end = s;
-+ for (; *end && (*end != ','); end++);
-+ next_s = end--;
-+ for (; (end >= s) && isspace(*end); end--);
-+ *(end + 1) = '\0';
-+
-+ if (*s) {
-+ strcpy(buf, "@im=");
-+ strcat(buf, s);
-+ if ((p = XSetLocaleModifiers(buf)) != NULL && *p
-+ && (xim = XOpenIM(Xdisplay, NULL, NULL, NULL)) != NULL)
-+ break;
-+ }
-+ if (!*next_s) break;
-+ s = (next_s + 1);
++ strcpy(tmp, rs_inputMethod);
++ for (s = tmp; *s; /*nil*/) {
++
++ char *end, *next_s;
++
++ for (; *s && isspace(*s); s++);
++ if (!*s) break;
++ end = s;
++ for (; *end && (*end != ','); end++);
++ next_s = end--;
++ for (; (end >= s) && isspace(*end); end--);
++ *(end + 1) = '\0';
++
++ if (*s) {
++ strcpy(buf, "@im=");
++ strcat(buf, s);
++ if ((p = XSetLocaleModifiers(buf)) != NULL && *p
++ && (xim = XOpenIM(Xdisplay, NULL, NULL, NULL)) != NULL)
++ break;
+ }
++ if (!*next_s) break;
++ s = (next_s + 1);
++ }
+ }
-+
++
+ if (xim == NULL && (p = XSetLocaleModifiers("")) != NULL && *p)
+ xim = XOpenIM(Xdisplay, NULL, NULL, NULL);
-+
++
+ if (xim == NULL) {
+# ifdef DEBUG_X11
-+ print_error("Failed to open input method");
++ print_error("Failed to open input method");
+# endif
-+ return;
++ return;
+ }
+
+ XSetIMValues(xim, XNDestroyCallback, &ximcallback, NULL);
-+
++
+ if (XGetIMValues(xim, XNQueryInputStyle, &xim_styles, NULL) || !xim_styles) {
+# ifdef DEBUG_X11
-+ print_error("input method doesn't support any style");
++ print_error("input method doesn't support any style");
+# endif
-+ XCloseIM(xim);
-+ return;
++ XCloseIM(xim);
++ return;
+ }
-+
++
+ strcpy(tmp, (rs_preeditType ? rs_preeditType : "OverTheSpot"));
+ for (found = 0, s = tmp; *s && !found; /*nil*/) {
-+
-+ unsigned short i;
-+ char *end, *next_s;
-+
-+ while (*s && isspace(*s)) s++;
-+ if (!*s) break;
-+ end = s;
-+ while (*end && (*end != ',')) end++;
-+ next_s = end--;
-+ while ((end >= s) && isspace(*end)) *end-- = 0;
-+
-+ if (!strcmp(s, "OverTheSpot")) input_style = (XIMPreeditPosition | XIMStatusNothing);
-+ else if (!strcmp(s, "OffTheSpot")) input_style = (XIMPreeditArea | XIMStatusArea);
-+ else if (!strcmp(s, "Root"))
-+ input_style = (XIMPreeditNothing | XIMStatusNothing);
-+
-+ for (i = 0; i < xim_styles->count_styles; i++) {
-+ if (input_style == xim_styles->supported_styles[i]) {
-+ found = 1;
-+ break;
-+ }
++
++ unsigned short i;
++ char *end, *next_s;
++
++ while (*s && isspace(*s)) s++;
++ if (!*s) break;
++ end = s;
++ while (*end && (*end != ',')) end++;
++ next_s = end--;
++ while ((end >= s) && isspace(*end)) *end-- = 0;
++
++ if (!strcmp(s, "OverTheSpot"))
++ input_style = (XIMPreeditPosition | XIMStatusNothing);
++ else
++ if (!strcmp(s, "OffTheSpot"))
++ input_style = (XIMPreeditArea | XIMStatusArea);
++ else
++ if (!strcmp(s, "Root"))
++ input_style = (XIMPreeditNothing | XIMStatusNothing);
++
++ for (i = 0; i < xim_styles->count_styles; i++) {
++ if (input_style == xim_styles->supported_styles[i]) {
++ found = 1;
++ break;
+ }
-+ s = next_s;
++ }
++ s = next_s;
+ }
+ XFree(xim_styles);
-+
++
+ if (found == 0) {
+# ifdef DEBUG_X11
-+ print_error ("input method doesn't support my preedit type");
++ print_error ("input method doesn't support my preedit type");
+# endif
-+ XCloseIM(xim);
-+ return;
++ XCloseIM(xim);
++ return;
+ }
-+
++
+ /*
+ * This program only understands the Root preedit_style yet
+ * Then misc.preedit_type should default to:
-+ * "OverTheSpot,OffTheSpot,Root"
-+ * /MaF
++ * "OverTheSpot,OffTheSpot,Root"
++ * /MaF
+ */
+ if ((input_style != (XIMPreeditPosition | XIMStatusNothing)) &&
+ (input_style != (XIMPreeditArea | XIMStatusArea)) &&
+ (input_style != (XIMPreeditNothing | XIMStatusNothing))) {
+# ifdef DEBUG_X11
-+ print_error ("This program only supports the preedit type");
++ print_error ("This program only supports the preedit type");
+# endif
-+ XCloseIM(xim);
-+ return;
++ XCloseIM(xim);
++ return;
+ }
+
+ if (input_style & XIMPreeditPosition) {
+ setSize(&rect);
+ setPosition(&spot);
+ setColor(&fg, &bg);
-+
-+ preedit_attr = XVaCreateNestedList
-+ (0,
-+ XNArea, &rect,
-+ XNSpotLocation, &spot,
-+ XNForeground, fg,
-+ XNBackground, bg,
-+ XNFontSet, TermWin.fontset,
-+ XNLineSpace, 0,
-+ NULL);
++
++ preedit_attr = XVaCreateNestedList(0,
++ XNArea, &rect,
++ XNSpotLocation, &spot,
++ XNForeground, fg,
++ XNBackground, bg,
++ XNFontSet, TermWin.fontset,
++ XNLineSpace, 0,
++ NULL);
+ } else if (input_style & XIMPreeditArea) {
+ setColor(&fg, &bg);
+
-+ preedit_attr = XVaCreateNestedList
-+ (0,
-+ XNForeground, fg,
-+ XNBackground, bg,
-+ XNFontSet, TermWin.fontset,
-+ XNLineSpace, 0,
-+ NULL);
-+
-+ status_attr = XVaCreateNestedList
-+ (0,
-+ XNForeground, fg,
-+ XNBackground, bg,
-+ XNFontSet, TermWin.fontset,
-+ XNLineSpace, 0,
-+ NULL);
++ preedit_attr = XVaCreateNestedList(0,
++ XNForeground, fg,
++ XNBackground, bg,
++ XNFontSet, TermWin.fontset,
++ XNLineSpace, 0,
++ NULL);
++
++ status_attr = XVaCreateNestedList(0,
++ XNForeground, fg,
++ XNBackground, bg,
++ XNFontSet, TermWin.fontset,
++ XNLineSpace, 0,
++ NULL);
+ }
+
+ ximcallback.callback = IMDestroyCallback;
@@ -608,9 +605,9 @@
+ XFree(status_attr);
+ if (Input_Context == NULL) {
+# ifdef DEBUG_X11
-+ print_error("Failed to create input context");
++ print_error("Failed to create input context");
+# endif
-+ XCloseIM(xim);
++ XCloseIM(xim);
+ }
+
+ if (input_style & XIMPreeditArea) {
@@ -621,16 +618,16 @@
+void
+IMSetStatusPosition(void)
+{
-+ XIMStyle input_style;
-+ XRectangle rect, status_rect, *needed_rect;
-+ XVaNestedList preedit_attr, status_attr;
++ XIMStyle input_style;
++ XRectangle rect, status_rect, *needed_rect;
++ XVaNestedList preedit_attr, status_attr;
+
-+ if (Input_Context == NULL)
-+ return;
++ if (Input_Context == NULL)
++ return;
+
-+ XGetICValues(Input_Context, XNInputStyle, &input_style, NULL);
++ XGetICValues(Input_Context, XNInputStyle, &input_style, NULL);
+
-+ if (input_style & XIMPreeditArea) {
++ if (input_style & XIMPreeditArea) {
+ status_attr = XVaCreateNestedList(0, XNAreaNeeded, &needed_rect, NULL);
+ XGetICValues(Input_Context, XNStatusAttributes, status_attr, NULL);
+ XFree(status_attr);
@@ -659,13 +656,26 @@
+ XNStatusAttributes, status_attr, NULL);
+ XFree(preedit_attr);
+ XFree(status_attr);
-+ }
++ }
+}
+
+void
+IMDestroyCallback(XIM xim, XPointer client_data, XPointer call_data)
+{
-+ Input_Context = NULL;
-+ XRegisterIMInstantiateCallback(Xdisplay, NULL, NULL, NULL, IMInstantiateCallback, NULL);
++ Input_Context = NULL;
++ XRegisterIMInstantiateCallback(Xdisplay, NULL, NULL, NULL, IMInstantiateCallback, NULL);
++}
++#endif /* USE_XIM */
++
++void
++XProcessEvent(Display *display)
++{
++ XEvent xev;
++ XNextEvent(display, &xev);
++#ifndef NO_XLOCALE
++ if( !XFilterEvent( &xev, xev.xany.window ) )
++ process_x_event( &xev ) ;
++#else
++ process_x_event( &xev ) ;
++#endif
+}
-+#endif /* NO_XLOCALE */
diff --git a/japanese/eterm/files/patch-ah b/japanese/eterm/files/patch-ah
index 82dfe6a54f60..5afa19d38e0d 100644
--- a/japanese/eterm/files/patch-ah
+++ b/japanese/eterm/files/patch-ah
@@ -1,30 +1,10 @@
---- themes/Makefile.in.orig Fri Oct 23 01:09:53 1998
-+++ themes/Makefile.in Fri Dec 11 19:56:10 1998
-@@ -196,17 +196,18 @@
- -@for i in $(THEMES) ; do \
- $(SED) -e 's%@''PREFIX''@%${prefix}%g' $$i/MAIN.in > $$i/MAIN ; \
- done
-- $(mkinstalldirs) $(pkglibdir)/themes
-+ $(mkinstalldirs) $(pkgdatadir)/themes
- -@for i in $(THEMES) ; do \
-- if test ! -d $(pkglibdir)/themes/$$i ; then \
-- echo "Installing $$i theme in $(pkglibdir)/themes" ; \
-- $(mkinstalldirs) $(pkglibdir)/themes/$$i ; \
-- $(CP) $$i/???* $(pkglibdir)/themes/$$i ; \
-- $(CHMOD) 755 $(pkglibdir)/themes/$$i ; \
-- $(CHMOD) 644 $(pkglibdir)/themes/$$i/???* ; \
-- rm -f $(pkglibdir)/themes/$$i/MAIN.in ; \
-+ if test ! -d $(pkgdatadir)/themes/$$i ; then \
-+ echo "Installing $$i theme in $(pkgdatadir)/themes" ; \
-+ $(mkinstalldirs) $(pkgdatadir)/themes/$$i ; \
-+ $(CP) $$i/???* $(pkgdatadir)/themes/$$i ; \
-+ $(CHMOD) 755 $(pkgdatadir)/themes/$$i ; \
-+ $(CHMOD) 644 $(pkgdatadir)/themes/$$i/???* ; \
-+ rm -f $(pkgdatadir)/themes/$$i/MAIN.in ; \
+--- themes/Makefile.in.orig Sat Jan 30 01:24:43 1999
++++ themes/Makefile.in Sat Jan 30 01:25:55 1999
+@@ -205,6 +205,7 @@
+ $(CHMOD) 755 $(pkgdatadir)/themes/$$i ; \
+ $(CHMOD) 644 $(pkgdatadir)/themes/$$i/???* ; \
+ rm -f $(pkgdatadir)/themes/$$i/MAIN.in ; \
+ rm -f $(pkgdatadir)/themes/$$i/MAIN.in.orig ; \
else \
-- echo "ALERT! Not overwriting theme $$i in $(pkglibdir)/themes. You will need to update this theme manually." ; \
-+ echo "ALERT! Not overwriting theme $$i in $(pkgdatadir)/themes. You will need to update this theme manually." ; \
+ echo "ALERT! Not overwriting theme $$i in $(pkgdatadir)/themes. You will need to update this theme manually." ; \
fi ; \
- done
- @if test ! -f $(HOME)/.active.tags ; then $(CP) active.tags $(HOME)/.active.tags ; \
diff --git a/japanese/eterm/pkg-descr b/japanese/eterm/pkg-descr
index 4163b9974d72..8800f93f9290 100644
--- a/japanese/eterm/pkg-descr
+++ b/japanese/eterm/pkg-descr
@@ -6,6 +6,8 @@ If you want to input Japanese, use "--input-method" and
If you have a comment about Japanese input support for Eterm and
this port, contact with MANTANI Nobutaka <nobutaka@nobutaka.com>.
+Further information about this port is available at
+http://www.nobutaka.com/programs/Eterm.html .
Eterm Main Web Site -- <http://www.tcserv.com/Eterm/>
Eterm FAQ -- <http://www.tcserv.com/Eterm/FAQ.html>
diff --git a/japanese/eterm/pkg-plist b/japanese/eterm/pkg-plist
index 33bfc1388e62..1dd76122f7cc 100644
--- a/japanese/eterm/pkg-plist
+++ b/japanese/eterm/pkg-plist
@@ -10,19 +10,37 @@ lib/libEterm.so
lib/libEterm.so.8.7
@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %B
+share/Eterm/pix/014.png
+share/Eterm/pix/backwave.jpg
+share/Eterm/pix/button1.jpg
+share/Eterm/pix/button5.jpg
+share/Eterm/pix/circuit.png
+share/Eterm/pix/fourthday.jpg
+share/Eterm/pix/gaia.jpg
+share/Eterm/pix/galleon.jpg
+share/Eterm/pix/nebula.jpg
+share/Eterm/pix/night_of_the_dragon.jpg
+share/Eterm/pix/pixmaps.list
share/Eterm/themes/Eterm/Eterm.menu
share/Eterm/themes/Eterm/MAIN
+share/Eterm/themes/Eterm/pixmaps.list
share/Eterm/themes/chooser/MAIN
share/Eterm/themes/chooser/chooser.menu
+share/Eterm/themes/chooser/pixmaps.list
share/Eterm/themes/emacs/MAIN
share/Eterm/themes/emacs/emacs.menu
+share/Eterm/themes/emacs/pixmaps.list
share/Eterm/themes/irc/MAIN
share/Eterm/themes/irc/irc.menu
+share/Eterm/themes/irc/pixmaps.list
share/Eterm/themes/mutt/MAIN
share/Eterm/themes/mutt/mutt.menu
+share/Eterm/themes/mutt/pixmaps.list
share/Eterm/themes/tn3270/MAIN
+share/Eterm/themes/tn3270/pixmaps.list
share/Eterm/themes/trans/MAIN
share/Eterm/themes/trans/trans.menu
+share/Eterm/themes/trans/pixmaps.list
share/Eterm/Eterm.help
share/Eterm/Eterm.ref
share/Eterm/Eterm.tcap
@@ -39,4 +57,5 @@ share/Eterm/menu_cmd
@dirrm share/Eterm/themes/chooser
@dirrm share/Eterm/themes/Eterm
@dirrm share/Eterm/themes
+@dirrm share/Eterm/pix
@dirrm share/Eterm