From 0dd52dfa96236ec19363fb43a963ed1dcf4e0bc5 Mon Sep 17 00:00:00 2001 From: SADA Kenji Date: Sat, 30 Jan 1999 22:00:14 +0000 Subject: [PATCH] Update to 0.8.8. PR: ports/9779 Submitted by: MANTANI Nobutaka --- japanese/eterm/Makefile | 12 +- japanese/eterm/distinfo | 2 +- japanese/eterm/files/patch-ae | 488 +++++++++++++++++----------------- japanese/eterm/files/patch-ah | 34 +-- japanese/eterm/pkg-descr | 2 + japanese/eterm/pkg-plist | 19 ++ 6 files changed, 285 insertions(+), 272 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 # -# $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 # endif #endif /* NO_XLOCALE */ @@ -11,7 +11,7 @@ #ifdef USE_GETGRNAME # include #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; ++ char *string; ++ long length, i; + -+ if (TermWin.fontset != NULL){ -+ XFreeFontSet(Xdisplay, TermWin.fontset); -+ TermWin.fontset = NULL; -+ } ++ 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; -+ -+ 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); ++ 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); ++ 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 . +Further information about this port is available at +http://www.nobutaka.com/programs/Eterm.html . Eterm Main Web Site -- Eterm FAQ -- 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