From owner-freebsd-ports Sat May 8 8:50:31 1999 Delivered-To: freebsd-ports@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 136AA151B1 for ; Sat, 8 May 1999 08:50:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id IAA92124; Sat, 8 May 1999 08:50:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from narcissus.pel.sys.hiroshima-u.ac.jp (ppp-saijo-160.ipc.hiroshima-u.ac.jp [133.41.4.160]) by hub.freebsd.org (Postfix) with ESMTP id 3113415AF3 for ; Sat, 8 May 1999 08:40:55 -0700 (PDT) (envelope-from nobutaka@narcissus.pel.sys.hiroshima-u.ac.jp) Received: (from nobutaka@localhost) by narcissus.pel.sys.hiroshima-u.ac.jp (8.9.3/8.9.3) id AAA77736; Sun, 9 May 1999 00:40:53 +0900 (JST) (envelope-from nobutaka) Message-Id: <199905081540.AAA77736@narcissus.pel.sys.hiroshima-u.ac.jp> Date: Sun, 9 May 1999 00:40:53 +0900 (JST) From: nobutaka@nobutaka.com Reply-To: nobutaka@nobutaka.com To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: ports/11586: Update port: japanese/eterm Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 11586 >Category: ports >Synopsis: Update port: japanese/eterm >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat May 8 08:50:01 PDT 1999 >Closed-Date: >Last-Modified: >Originator: MANTANI Nobutaka >Release: FreeBSD 4.0-CURRENT i386 >Organization: Cluster II, Faculty of Engineering, Hiroshima University, Japan >Environment: >Description: This is update of japanese/eterm port from 0.8.8 to 0.8.9. Please apply this patch. New file: patches/patch-ao Removed files: patches/patch-ab patches/patch-al patches/patch-an >How-To-Repeat: >Fix: diff -urN eterm.orig/Makefile eterm/Makefile --- eterm.orig/Makefile Sun May 9 00:21:57 1999 +++ eterm/Makefile Mon May 3 13:18:07 1999 @@ -1,13 +1,13 @@ # New ports collection makefile for: eterm -# Version required: 0.8.8 +# Version required: 0.8.9 # Date created: 11th December 1998 # Whom: MANTANI Nobutaka # # $Id: Makefile,v 1.4 1999/03/15 18:30:05 nectar Exp $ # -DISTNAME= Eterm-0.8.8 -PKGNAME= ja-eterm-0.8.8 +DISTNAME= Eterm-0.8.9 +PKGNAME= ja-eterm-0.8.9 CATEGORIES= japanese x11 MASTER_SITES= http://www.eterm.org/download/ \ ftp://ftp.eterm.org/pub/Eterm/ \ @@ -22,19 +22,17 @@ USE_GMAKE= yes USE_X_PREFIX= yes GNU_CONFIGURE= yes - +CONFIGURE_ENV= LIBS="-L${LOCALBASE}/lib -lxpg4" MAN1= Eterm.1 post-install: -.ifndef NOPORTDOCS - @${INSTALL_DATA} ${WRKSRC}/ReleaseNotes ${PREFIX}/share/Eterm - @${INSTALL_DATA} ${WRKSRC}/doc/Eterm.help ${PREFIX}/share/Eterm - @${INSTALL_DATA} ${WRKSRC}/doc/Eterm.ref ${PREFIX}/share/Eterm - @${INSTALL_DATA} ${WRKSRC}/doc/Eterm.tcap ${PREFIX}/share/Eterm - @${INSTALL_DATA} ${WRKSRC}/doc/Eterm.ti ${PREFIX}/share/Eterm - @${INSTALL_DATA} ${WRKSRC}/doc/FAQ.html ${PREFIX}/share/Eterm - @${INSTALL_SCRIPT} ${WRKSRC}/doc/colortest.sh ${PREFIX}/share/Eterm - @${INSTALL_SCRIPT} ${WRKSRC}/doc/menu_cmd ${PREFIX}/share/Eterm +.if !defined(NOPORTDOCS) + @${MKDIR} ${PREFIX}/share/doc/Eterm + @${INSTALL_DATA} ${WRKSRC}/ReleaseNotes ${PREFIX}/share/doc/Eterm + @${INSTALL_DATA} ${WRKSRC}/doc/Eterm_reference.html ${PREFIX}/share/doc/Eterm + @${INSTALL_DATA} ${WRKSRC}/doc/Eterm.tcap ${PREFIX}/share/doc/Eterm + @${INSTALL_DATA} ${WRKSRC}/doc/Eterm.ti ${PREFIX}/share/doc/Eterm + @${INSTALL_DATA} ${WRKSRC}/doc/FAQ.html ${PREFIX}/share/doc/Eterm .endif .include diff -urN eterm.orig/files/md5 eterm/files/md5 --- eterm.orig/files/md5 Sun May 9 00:21:57 1999 +++ eterm/files/md5 Fri Apr 30 22:11:09 1999 @@ -1 +1 @@ -MD5 (Eterm-0.8.8.tar.gz) = 19c0571f900757e5a90ac36baac3f79b +MD5 (Eterm-0.8.9.tar.gz) = 9e4945a6920f7d10cf28516266307519 diff -urN eterm.orig/patches/patch-ab eterm/patches/patch-ab --- eterm.orig/patches/patch-ab Sun May 9 00:21:57 1999 +++ eterm/patches/patch-ab Thu Jan 1 09:00:00 1970 @@ -1,16 +0,0 @@ ---- src/Makefile.in.orig Wed Jan 13 04:24:45 1999 -+++ src/Makefile.in Sat Jan 30 00:18:14 1999 -@@ -76,11 +76,11 @@ - EGCS = @EGCS@ - FEATURE_CMD = @FEATURE_CMD@ - GDB = @GDB@ --GRLIBS = @GRLIBS@ -+GRLIBS = -L/usr/local/lib @GRLIBS@ - IMLIB_CONFIG = @IMLIB_CONFIG@ - LD = @LD@ - LDFLAGS = @LDFLAGS@ --LIBS = @LIBS@ -+LIBS = -lxpg4 @LIBS@ - LIBTOOL = @LIBTOOL@ - LN_S = @LN_S@ - MAINT = @MAINT@ diff -urN eterm.orig/patches/patch-ad eterm/patches/patch-ad --- eterm.orig/patches/patch-ad Sun May 9 00:21:57 1999 +++ eterm/patches/patch-ad Fri Apr 30 22:20:35 1999 @@ -1,6 +1,6 @@ ---- src/main.c.orig Fri Jan 29 21:01:58 1999 -+++ src/main.c Fri Jan 29 21:04:57 1999 -@@ -108,6 +108,10 @@ +--- src/main.c.orig Tue Apr 20 09:46:37 1999 ++++ src/main.c Fri Apr 30 22:17:51 1999 +@@ -118,6 +118,10 @@ # endif #endif @@ -11,11 +11,11 @@ /* extern variables referenced */ extern int my_ruid, my_rgid, my_euid, my_egid; extern unsigned int rs_shadePct; -@@ -518,6 +522,7 @@ +@@ -376,6 +380,7 @@ #endif - Create_Windows(argc, argv); -+ init_xlocale(); - scr_reset(); /* initialize screen */ - Gr_reset(); /* reset graphics */ - + Create_Windows(argc, argv); ++ init_xlocale(); + scr_reset(); /* initialize screen */ + Gr_reset(); /* reset graphics */ + diff -urN eterm.orig/patches/patch-ae eterm/patches/patch-ae --- eterm.orig/patches/patch-ae Sun May 9 00:21:57 1999 +++ eterm/patches/patch-ae Mon May 3 03:06:12 1999 @@ -1,17 +1,17 @@ ---- 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 @@ +--- src/command.c.orig Sat Apr 24 05:56:49 1999 ++++ src/command.c Mon May 3 03:05:33 1999 +@@ -91,6 +91,10 @@ # include # endif - #endif /* NO_XLOCALE */ -+#ifdef KANJI + #endif /* NO_XLOCALE */ ++#ifdef USE_XIM +# undef NO_XLOCALE +#include +#endif #ifdef USE_GETGRNAME # include #endif -@@ -251,7 +255,7 @@ +@@ -299,7 +303,7 @@ /* defines: */ @@ -20,23 +20,27 @@ #define STRING_MAX 512 /* max string size for process_xterm_seq() */ #define ESC_ARGS 32 /* max # of args for esc sequences */ -@@ -526,8 +530,10 @@ - #endif /* OFFIX_DND */ +@@ -584,12 +588,11 @@ + + #endif /* OFFIX_DND */ - #ifndef NO_XLOCALE +-#ifndef NO_XLOCALE -static char *rs_inputMethod = ""; /* XtNinputMethod */ -static char *rs_preeditType = NULL; /* XtNpreeditType */ +#ifdef USE_XIM -+extern char *rs_inputMethod; -+extern char *rs_preeditType; -+#endif - static XIC Input_Context; /* input context */ - #endif /* NO_XLOCALE */ ++extern char *rs_inputMethod; /* XtNinputMethod */ ++extern char *rs_preeditType; /* XtNpreeditType */ + static XIC Input_Context; /* input context */ +- +-#endif /* NO_XLOCALE */ ++#endif /* USE_XIM */ -@@ -576,9 +582,20 @@ + /* command input buffering */ - #ifndef NO_XLOCALE - void init_xlocale (void); +@@ -647,6 +650,16 @@ + #else + # define init_xlocale() ((void)0) + #endif +#ifdef USE_XIM +void IMInstantiateCallback(Display *display, XPointer client_data, XPointer call_data); +void IMDestroyCallback(XIM xim, XPointer client_data, XPointer call_data); @@ -47,238 +51,183 @@ +void setSize(XRectangle *size); +extern void setPosition(XPoint *pos); +#endif - #else - # define init_xlocale() ((void)0) - #endif -+void XProcessEvent(Display *display); /*for Big Paste Handling */ static int v_doPending(void); -@@ -2238,8 +2255,6 @@ - DndSelection = XInternAtom(Xdisplay, "DndSelection", False); - #endif /* OFFIX_DND */ - -- init_xlocale(); -- - /* get number of available file descriptors */ +@@ -2425,8 +2438,6 @@ + DndSelection = XInternAtom(Xdisplay, "DndSelection", False); + #endif /* OFFIX_DND */ + +- init_xlocale(); +- + /* get number of available file descriptors */ #ifdef _POSIX_VERSION - num_fds = sysconf(_SC_OPEN_MAX); -@@ -2273,131 +2288,21 @@ - #ifndef NO_XLOCALE + num_fds = sysconf(_SC_OPEN_MAX); +@@ -2489,135 +2500,20 @@ void - init_xlocale (void) { -- -- char *p, *s, buf[32], tmp[1024]; -- XIM xim = NULL; -- XIMStyle input_style = 0; -- XIMStyles *xim_styles = NULL; -- int found; -- -- Input_Context = NULL; -+ char *locale; - - # ifdef KANJI -- setlocale(LC_CTYPE, ""); + init_xlocale(void) + { ++ char *locale; + +- char *p, *s, buf[32], tmp[1024]; +- XIM xim = NULL; +- XIMStyle input_style; +- XIMStyles *xim_styles = NULL; +- int found, i, mc; +- XFontSet fontset = 0; +- char *fontname, **ml, *ds; +- XVaNestedList list; +- const char fs_base[] = ",-misc-fixed-*-r-*-*-*-120-*-*-*-*-*-*"; +- +- D_X11(("Initializing X locale and Input Method...\n")); +- Input_Context = NULL; +- if (rs_inputMethod && strlen(rs_inputMethod) >= sizeof(tmp)) { +- print_error("Input Method too long, ignoring."); +- rs_inputMethod = NULL; +- } +-# ifdef KANJI +- setlocale(LC_CTYPE, ""); +-# else +- if (rs_inputMethod && !*rs_inputMethod) { +- rs_inputMethod = NULL; +- } -# endif -- -- if (rs_inputMethod == NULL --# ifndef KANJI -- || !*rs_inputMethod /* required ? */ -+ locale = setlocale(LC_CTYPE, ""); - # endif -- ) { -- if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) -- xim = XOpenIM(Xdisplay, NULL, NULL, NULL); -+#ifdef USE_XIM -+ if (locale == NULL) { -+ print_error("Setting locale failed."); - } 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); -- } -- } -- -- if (xim == NULL && (p = XSetLocaleModifiers("")) != NULL && *p) +- +- if (rs_inputMethod == NULL) { +- if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) { - xim = XOpenIM(Xdisplay, NULL, NULL, NULL); -- -- if (xim == NULL) { --# ifdef DEBUG_X11 -- print_error("Failed to open input method"); --# endif -- return; - } -- -- if (XGetIMValues(xim, XNQueryInputStyle, &xim_styles, NULL) || !xim_styles) { --# ifdef DEBUG_X11 -- print_error("input method doesn't support any style"); --# endif -- XCloseIM(xim); -- return; -- } -- -- strcpy(tmp, (rs_preeditType ? rs_preeditType : "Root")); -- 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 | XIMStatusArea); -- 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; -- } +- } 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) { +- snprintf(buf, sizeof(buf), "@im=%s", s); +- if ((p = XSetLocaleModifiers(buf)) != NULL && *p && (xim = XOpenIM(Xdisplay, NULL, NULL, NULL)) != NULL) { +- break; - } -- s = next_s; -- } -- XFree(xim_styles); -- -- if (found == 0) { --# ifdef DEBUG_X11 -- print_error ("input method doesn't support my preedit type"); --# endif -- XCloseIM(xim); -- return; -- } -- -- /* -- * This program only understands the Root preedit_style yet -- * Then misc.preedit_type should default to: -- * "OverTheSpot,OffTheSpot,Root" -- * /MaF -- */ -- if (input_style != (XIMPreeditNothing | XIMStatusNothing)) { --# ifdef DEBUG_X11 -- print_error ("This program only supports the \"Root\" preedit type"); --# endif -- XCloseIM(xim); -- return; -- } -- -- Input_Context = XCreateIC(xim, XNInputStyle, input_style, -- XNClientWindow, TermWin.parent, -- XNFocusWindow, TermWin.parent, -- NULL); -- -- if (Input_Context == NULL) { --# ifdef DEBUG_X11 -- print_error("Failed to create input context"); --# endif -- XCloseIM(xim); ++#ifdef USE_XIM ++ locale = setlocale(LC_CTYPE, ""); ++ if (locale == NULL) { ++ print_error("Setting locale failed."); ++ } else { + if (strcmp(locale, "C") != 0) { + setTermFontSet(); + XRegisterIMInstantiateCallback(Xdisplay, NULL, NULL, NULL, IMInstantiateCallback, NULL); -+ } + } +- if (!*next_s) +- break; +- s = (next_s + 1); +- } +- } +- +- if (xim == NULL && (p = XSetLocaleModifiers("")) != NULL && *p) { +- xim = XOpenIM(Xdisplay, NULL, NULL, NULL); +- } +- if (xim == NULL) { +- D_X11(("Error: Failed to open Input Method\n")); +- return; +- } else { +- D_X11(("Opened X Input Method. xim == 0x%08x\n", xim)); +- } +- +- if (XGetIMValues(xim, XNQueryInputStyle, &xim_styles, NULL) || !xim_styles) { +- D_X11(("Error: Input Method doesn't support any style\n")); +- XCloseIM(xim); +- return; +- } else { +- D_X11((" -> Input Method supports %d styles.\n", xim_styles->count_styles)); +- } +- +- /* We only support the Root preedit type */ +- input_style = (XIMPreeditNothing | XIMStatusNothing); +- D_X11((" -> input_style == 0x%08x\n", input_style)); +- +- for (i = 0, found = 0; i < xim_styles->count_styles; i++) { +- D_X11((" -> Supported style flags: 0x%08x %s\n", xim_styles->supported_styles[i], get_input_style_flags(xim_styles->supported_styles[i]))); +- D_X11((" -> 0x%08x %s\n", xim_styles->supported_styles[i] & input_style, +- get_input_style_flags(xim_styles->supported_styles[i] & input_style))); +- if ((xim_styles->supported_styles[i] & input_style) == (xim_styles->supported_styles[i])) { +- input_style = xim_styles->supported_styles[i]; +- found = 1; +- break; } -+#endif +- } +- XFree(xim_styles); +- +- if (!found) { +- D_X11(("Error: " APL_NAME " " VERSION " only supports the \"Root\" preedit type, which the Input Method does not support.\n")); +- XCloseIM(xim); +- return; +- } +- /* Create Font Set */ ++#endif + +-#ifdef KANJI +- fontname = MALLOC(strlen(rs_font[0]) + strlen(rs_kfont[0]) + sizeof(fs_base) + 2); +- if (fontname) { +- strcpy(fontname, rs_font[0]); +- strcat(fontname, fs_base); +- strcat(fontname, ","); +- strcat(fontname, rs_kfont[0]); +- } +-#else +- fontname = MALLOC(strlen(rs_font[0]) + sizeof(fs_base) + 1); +- if (fontname) { +- strcpy(fontname, rs_font[0]); +- strcat(fontname, fs_base); +- } +-#endif +- if (fontname) { +- setlocale(LC_ALL, ""); +- fontset = XCreateFontSet(Xdisplay, fontname, &ml, &mc, &ds); +- FREE(fontname); +- if (mc) { +- XFreeStringList(ml); +- fontset = 0; +- return; +- } +- } +- list = XVaCreateNestedList(0, XNFontSet, fontset, NULL); +- Input_Context = XCreateIC(xim, XNInputStyle, input_style, XNClientWindow, TermWin.parent, XNFocusWindow, TermWin.parent, +- XNPreeditAttributes, list, XNStatusAttributes, list, NULL); +- if (Input_Context == NULL) { +- D_X11(("Error: Unable to create Input Context\n")); +- XCloseIM(xim); +- } } - #endif /* NO_XLOCALE */ - /**/ -@@ -2459,22 +2364,21 @@ - numlock_state = (ev->xkey.state & Mod5Mask); /* numlock toggle */ - PrivMode((!numlock_state), PrivMode_aplKP); - } -- --#ifndef NO_XLOCALE -- if (!XFilterEvent(ev, *(&ev->xkey.window))) { -- if (Input_Context != NULL) { -- Status status_return; -- -- len = XmbLookupString(Input_Context, &ev->xkey, kbuf, -- sizeof(kbuf), &keysym, -- &status_return); -- } else { -- len = XLookupString(&ev->xkey, kbuf, -- sizeof(kbuf), &keysym, -- &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); -+ } else { -+ len = XLookupString(&ev->xkey, kbuf, -+ sizeof(kbuf), &keysym, -+ &compose); -+ } -+#else /* USE_XIM */ - len = XLookupString(&ev->xkey, kbuf, sizeof(kbuf), &keysym, &compose); - /* - * 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 /* NO_XLOCALE */ + +@@ -3160,6 +3056,9 @@ + if (greek_mode) + len = greek_xlat(kbuf, len); #endif +#ifdef USE_XIM + IMSendSpot(); +#endif } + if (len <= 0) +@@ -3344,6 +3243,7 @@ + #else + scr_refresh(refresh_type); + #endif ++ IMSendSpot(); + } /* characters already read in */ -@@ -3096,14 +3003,10 @@ - - v_doPending(); - while (XPending(Xdisplay)) { /* process pending X events */ -- -- XEvent ev; -- - refreshed = 0; -- XNextEvent(Xdisplay, &ev); -+ XProcessEvent(Xdisplay); - - D_X11("cmd_getc(): process_x_event();\n"); -- process_x_event(&ev); - - /* in case button actions pushed chars to cmdbuf */ - if CHARS_READ() RETURN_CHAR(); -@@ -3178,6 +3081,9 @@ + if (CHARS_READ()) { +@@ -3444,6 +3344,9 @@ scr_refresh(refresh_type); if (scrollbar_visible()) scrollbar_show(1); @@ -288,60 +237,51 @@ } } } -@@ -3867,6 +3773,9 @@ - refresh_count = refresh_limit = 0; - scr_refresh(refresh_type); - scrollbar_show(mouseoffset); +@@ -4157,6 +4060,9 @@ + refresh_count = refresh_limit = 0; + scr_refresh(refresh_type); + scrollbar_show(mouseoffset); +#ifdef USE_XIM -+ IMSendSpot(); ++ IMSendSpot(); +#endif #endif - } else if ((ev->xany.window == scrollBar.win) && scrollbar_isMotion()) { - Window unused_root, unused_child; -@@ -3884,6 +3793,9 @@ - refresh_count = refresh_limit = 0; - scr_refresh(refresh_type); - scrollbar_show(mouseoffset); + } else if ((ev->xany.window == scrollBar.win) && scrollbar_isMotion()) { + Window unused_root, unused_child; +@@ -4174,6 +4080,9 @@ + refresh_count = refresh_limit = 0; + scr_refresh(refresh_type); + scrollbar_show(mouseoffset); +#ifdef USE_XIM -+ IMSendSpot(); ++ IMSendSpot(); +#endif - } + } #ifdef PROFILE_X_EVENTS - P_SETTIMEVAL(motion_stop); -@@ -4626,6 +4538,9 @@ - } + P_SETTIMEVAL(motion_stop); +@@ -5065,6 +4974,9 @@ } - Gr_do_graphics(cmd, nargs, args, text); + } + Gr_do_graphics(cmd, nargs, args, text); +#ifdef USE_XIM -+ IMSendSpot(); ++ IMSendSpot(); +#endif #endif } -@@ -5864,6 +5779,9 @@ - - XResizeWindow (Xdisplay, TermWin.parent, width, height); - resize_window1 (width, height); -+#ifdef USE_XIM -+ IMSetStatusPosition(); -+#endif - } - } +@@ -6311,6 +6223,9 @@ + /* parent already resized */ -@@ -5897,6 +5815,9 @@ - /* parent already resized */ - - resize_window1 (width, height); + resize_window1(width, height); +#ifdef USE_XIM -+ IMSetStatusPosition(); ++ IMSetStatusPosition(); +#endif } /* xterm sequences - title, iconName, color (exptl) */ -@@ -6505,3 +6426,340 @@ - #undef FNUM_RANGE +@@ -6893,6 +6808,328 @@ + free(orig_tnstr); + #endif } - ++ +#ifdef USE_XIM +void +setSize(XRectangle *size) @@ -571,7 +511,6 @@ + XNForeground, fg, + XNBackground, bg, + XNFontSet, TermWin.fontset, -+ XNLineSpace, 0, + NULL); + } else if (input_style & XIMPreeditArea) { + setColor(&fg, &bg); @@ -580,14 +519,12 @@ + XNForeground, fg, + XNBackground, bg, + XNFontSet, TermWin.fontset, -+ XNLineSpace, 0, + NULL); + + status_attr = XVaCreateNestedList(0, + XNForeground, fg, + XNBackground, bg, + XNFontSet, TermWin.fontset, -+ XNLineSpace, 0, + NULL); + } + @@ -666,16 +603,6 @@ + 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 -+} + + /* change_font() - Switch to a new font */ + /* diff -urN eterm.orig/patches/patch-af eterm/patches/patch-af --- eterm.orig/patches/patch-af Sun May 9 00:21:57 1999 +++ eterm/patches/patch-af Sun May 2 14:18:34 1999 @@ -1,18 +1,18 @@ ---- src/screen.c.orig Tue Jan 12 07:36:56 1999 -+++ src/screen.c Fri Jan 29 23:42:08 1999 -@@ -3365,3 +3365,15 @@ +--- src/screen.c.orig Sun May 2 14:18:03 1999 ++++ src/screen.c Sun May 2 14:16:50 1999 +@@ -3292,3 +3292,15 @@ #endif - fprintf(stderr, "%s\n", name[color]); + fprintf(stderr, "%s\n", name[color]); } + +#ifdef USE_XIM +void +setPosition(XPoint *pos) +{ -+ XWindowAttributes xwa ; ++ XWindowAttributes xwa ; + -+ XGetWindowAttributes( Xdisplay, TermWin.vt, &xwa ) ; -+ pos->x = Col2Pixel ( screen.col ) + xwa.x; -+ pos->y = Height2Pixel((screen.row + 1)) + xwa.y + TermWin.internalBorder - 2; ++ XGetWindowAttributes( Xdisplay, TermWin.vt, &xwa ) ; ++ pos->x = Col2Pixel ( screen.col ) + xwa.x; ++ pos->y = Height2Pixel((screen.row + 1)) + xwa.y + TermWin.internalBorder - 2; +} +#endif diff -urN eterm.orig/patches/patch-ag eterm/patches/patch-ag --- eterm.orig/patches/patch-ag Sun May 9 00:21:57 1999 +++ eterm/patches/patch-ag Sun May 2 14:14:22 1999 @@ -1,28 +1,28 @@ ---- src/options.c.orig Tue Jan 5 04:38:07 1999 -+++ src/options.c Sat Jan 30 01:41:27 1999 -@@ -153,6 +153,10 @@ - #ifdef GREEK_SUPPORT - static char *rs_greek_keyboard = NULL; +--- src/options.c.orig Wed Apr 21 06:08:52 1999 ++++ src/options.c Sun May 2 14:13:26 1999 +@@ -162,6 +162,10 @@ + const char *rs_menu = NULL; + #endif +#ifdef USE_XIM +char *rs_inputMethod = NULL; +char *rs_preeditType = NULL; +#endif - extern char initial_dir[PATH_MAX+1]; - -@@ -333,6 +337,10 @@ + #if defined (HOTKEY_CTRL) || defined (HOTKEY_META) + static char *rs_bigfont_key = NULL; +@@ -392,6 +396,10 @@ #if MENUBAR_MAX - OPT_STR('M', "menu", "Default menubar file", &rs_menu), + OPT_STR('M', "menu", "Default menubar file", &rs_menu), #endif +#ifdef USE_XIM -+OPT_LONG("input-method", "value of using input method", &rs_inputMethod), -+OPT_LONG("preedit-type", "value of input style", &rs_preeditType), ++ OPT_LONG("input-method", "value of using input method", &rs_inputMethod), ++ OPT_LONG("preedit-type", "value of input style", &rs_preeditType), +#endif - OPT_LONG("term-name", "value to use for setting $TERM", &rs_term_name), - OPT_BOOL('C', "console", "grab console messages", NULL, Opt_console), - OPT_ARGS('e', "exec", "execute a command rather than a shell", &rs_execArgs) -@@ -1896,7 +1904,14 @@ + OPT_LONG("term-name", "value to use for setting $TERM", &rs_term_name), + OPT_BOOL('C', "console", "grab console messages", NULL, &Options, Opt_console), + OPT_ARGS('e', "exec", "execute a command rather than a shell", &rs_execArgs) +@@ -2567,7 +2575,14 @@ #else print_error("warning: support for the cut_chars attribute was not compiled in, ignoring"); #endif diff -urN eterm.orig/patches/patch-ah eterm/patches/patch-ah --- eterm.orig/patches/patch-ah Sun May 9 00:21:57 1999 +++ eterm/patches/patch-ah Sun May 2 14:20:49 1999 @@ -1,10 +1,10 @@ ---- 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 ; \ +--- themes/Makefile.in.orig Mon Apr 26 23:53:58 1999 ++++ themes/Makefile.in Sun May 2 14:20:17 1999 +@@ -221,6 +221,7 @@ + $(CHMOD) 755 $(DESTDIR)$(pkgdatadir)/themes/$$i ; \ + $(CHMOD) 644 $(DESTDIR)$(pkgdatadir)/themes/$$i/???* ; \ + rm -f $(DESTDIR)$(pkgdatadir)/themes/$$i/MAIN.in ; \ ++ rm -f $(DESTDIR)$(pkgdatadir)/themes/$$i/MAIN.in.orig ; \ else \ - echo "ALERT! Not overwriting theme $$i in $(pkgdatadir)/themes. You will need to update this theme manually." ; \ + echo "ALERT! Not overwriting theme $$i in $(DESTDIR)$(pkgdatadir)/themes. You will need to update this theme manually." ; \ fi ; \ diff -urN eterm.orig/patches/patch-aj eterm/patches/patch-aj --- eterm.orig/patches/patch-aj Sun May 9 00:21:57 1999 +++ eterm/patches/patch-aj Mon May 3 12:01:08 1999 @@ -1,8 +1,8 @@ ---- doc/Eterm.1.in.orig Fri Jan 29 23:11:14 1999 -+++ doc/Eterm.1.in Fri Jan 29 23:13:02 1999 -@@ -407,6 +407,15 @@ - specify /dev/null or a non-existent file as - .IR file . +--- doc/Eterm.1.in.orig Wed Apr 21 23:54:57 1999 ++++ doc/Eterm.1.in Mon May 3 11:59:03 1999 +@@ -454,6 +454,15 @@ + Instead, use the boolean option + .B \-\-menubar off .TP +.BI \-\-input-method " name" +Set the name of using input method. If environment variable XMODIFIERS @@ -16,3 +16,22 @@ .BI \-\-term-name " TERM" Use .I TERM +@@ -1149,6 +1158,18 @@ + as + .I file + will work too, though it may produce an error message. ++.RE ++ ++.BI input-method " name" ++.RS 5 ++Set the name of using input method. If environment variable ++XMODIFIERS is set, you don't need to use this option. ++.RE ++ ++.BI preedit-type " style" ++.RS 5 ++Set the style of input. Available styles are "OverTheSpot", "OffTheSpot" ++and "Root". "OverTheSpot" style is the default. + .RE + + .BI term_name " name" diff -urN eterm.orig/patches/patch-al eterm/patches/patch-al --- eterm.orig/patches/patch-al Sun May 9 00:21:57 1999 +++ eterm/patches/patch-al Thu Jan 1 09:00:00 1970 @@ -1,15 +0,0 @@ ---- ltmain.sh.orig Sat Jan 30 00:41:47 1999 -+++ ltmain.sh Sat Jan 30 00:42:15 1999 -@@ -967,6 +967,12 @@ - versuffix="$current.$revision" - ;; - -+ freebsd) -+ version_vars="$version_vars major versuffix" -+ major="$current" -+ versuffix="$current" -+ ;; -+ - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 diff -urN eterm.orig/patches/patch-an eterm/patches/patch-an --- eterm.orig/patches/patch-an Sun May 9 00:21:57 1999 +++ eterm/patches/patch-an Thu Jan 1 09:00:00 1970 @@ -1,28 +0,0 @@ ---- ltconfig.orig Wed Jan 13 03:49:37 1999 -+++ ltconfig Mon Feb 8 23:58:29 1999 -@@ -777,7 +777,7 @@ - ;; - - # FreeBSD 3, at last, uses gcc -shared to do shared libraries. -- freebsd3*) -+ freebsd3* | freebsd4*) - archive_cmds='$CC -shared -o $lib$libobjs' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes -@@ -1123,8 +1123,15 @@ - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' - ;; - --freebsd2* | freebsd3*) -+freebsd2*) - version_type=sunos -+ library_names_spec='${libname}${release}.so.$versuffix $libname.so' -+ finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ ;; -+ -+freebsd3* | freebsd4*) -+ version_type=freebsd - library_names_spec='${libname}${release}.so.$versuffix $libname.so' - finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH diff -urN eterm.orig/patches/patch-ao eterm/patches/patch-ao --- eterm.orig/patches/patch-ao Thu Jan 1 09:00:00 1970 +++ eterm/patches/patch-ao Mon May 3 12:40:42 1999 @@ -0,0 +1,11 @@ +--- utils/Makefile.in.orig Mon May 3 12:39:18 1999 ++++ utils/Makefile.in Mon May 3 12:39:36 1999 +@@ -225,7 +225,7 @@ + + Etbg: $(Etbg_OBJECTS) $(Etbg_DEPENDENCIES) + @rm -f Etbg +- $(LINK) $(Etbg_LDFLAGS) $(Etbg_OBJECTS) $(Etbg_LDADD) $(LIBS) ++ $(LINK) $(Etbg_LDFLAGS) $(Etbg_OBJECTS) $(Etbg_LDADD) $(GRLIBS) $(LIBS) + + install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) diff -urN eterm.orig/pkg/DESCR eterm/pkg/DESCR --- eterm.orig/pkg/DESCR Sun May 9 00:21:57 1999 +++ eterm/pkg/DESCR Fri Apr 30 22:09:20 1999 @@ -9,5 +9,5 @@ Further information about this port is available at http://www.nobutaka.com/programs/Eterm.html . -WWW: http://www.tcserv.com/Eterm/ -FAQ: http://www.tcserv.com/Eterm/FAQ.html +Eterm Main Web Site -- +Eterm FAQ -- diff -urN eterm.orig/pkg/PLIST eterm/pkg/PLIST --- eterm.orig/pkg/PLIST Sun May 9 00:21:57 1999 +++ eterm/pkg/PLIST Mon May 3 13:24:29 1999 @@ -1,13 +1,16 @@ bin/Esetroot +bin/Etbg +bin/Etcolors.sh bin/Eterm -lib/libmej.a -lib/libmej.la -lib/libmej.so -lib/libmej.so.8.7 +bin/Etmenu.sh lib/libEterm.a lib/libEterm.la lib/libEterm.so -lib/libEterm.so.8.7 +lib/libEterm.so.8 +lib/libmej.a +lib/libmej.la +lib/libmej.so +lib/libmej.so.8 @unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R @exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %B share/Eterm/pix/014.png @@ -41,14 +44,11 @@ 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 -share/Eterm/Eterm.ti -share/Eterm/FAQ.html -share/Eterm/ReleaseNotes -share/Eterm/colortest.sh -share/Eterm/menu_cmd +share/doc/Eterm/Eterm_reference.html +share/doc/Eterm/Eterm.tcap +share/doc/Eterm/Eterm.ti +share/doc/Eterm/FAQ.html +share/doc/Eterm/ReleaseNotes @dirrm share/Eterm/themes/trans @dirrm share/Eterm/themes/tn3270 @dirrm share/Eterm/themes/mutt @@ -58,4 +58,4 @@ @dirrm share/Eterm/themes/Eterm @dirrm share/Eterm/themes @dirrm share/Eterm/pix -@dirrm share/Eterm +@dirrm share/doc/Eterm >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message