Remove expired leaf ports:

2007-07-21 graphics/xpcd: is an abandoned project and might be vulnerable
2007-07-29 comms/ixj: does not work on any supported FreeBSD version
2007-08-19 chinese/emacs20: "editors/emacs is recommended instead for new installations"
2007-08-22 java/collections: only needed for jdk1.1, which is obsolete
This commit is contained in:
Vasil Dimov 2007-10-11 19:35:08 +00:00
parent c2f042be13
commit e819d623ec
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=201310
26 changed files with 4 additions and 1114 deletions

1
LEGAL
View File

@ -99,7 +99,6 @@ citrix_ica-* net/citrix_ica License prohibits redistribution
cfs-* security/cfs Crypto; export-controlled
code2000-*/CODE2000.ZIP x11-fonts/code2000 Only unmodified original
package can be distributed
collections*.zip java/collections See the license
contool-* sysutils/contool Do not incorporate the source
code into a product which is
subsequently sold

4
MOVED
View File

@ -3277,3 +3277,7 @@ graphics/cegui04||2007-10-11|Has expired: Not needed any longer
japanese/tk42||2007-10-11|Has expired: does not build with gcc4.2; use japanese/tk80 instead
devel/qextmdi||2007-10-11|Has expired: is unfetchable, website disappeared
net/rboot||2007-10-11|Has expired: The project is no longer under development, and has no homepage
graphics/xpcd||2007-10-11|Has expired: is an abandoned project and might be vulnerable
comms/ixj||2007-10-11|Has expired: does not work on any supported FreeBSD version
chinese/emacs20||2007-10-11|Has expired: "editors/emacs is recommended instead for new installations"
java/collections||2007-10-11|Has expired: only needed for jdk1.1, which is obsolete

View File

@ -34,7 +34,6 @@
SUBDIR += dfsongsd
SUBDIR += dictd-database
SUBDIR += docproj
SUBDIR += emacs20
SUBDIR += enscript
SUBDIR += eterm
SUBDIR += fcitx

View File

@ -1,38 +0,0 @@
# ex:ts=8
# Ports collection makefile for: emacs20 with XIM and a little zh-l10n
# Date created: Sat Nov 11, 2000
# Whom: Clive Lin <clive@CirX.ORG>
#
# $FreeBSD$
#
CATEGORIES= chinese
MASTERDIR= ${.CURDIR}/../../editors/emacs20
MAINTAINER= clive@FreeBSD.org
DEPRECATED= emacs20 and related ports are obsolete; please use a more recent version
EXPIRATION_DATE= 2007-08-19
WITH_XPG4= yes
PKGMESSAGE= ${.CURDIR}/pkg-message
PLIST= ${WRKDIR}/pkg-plist
pre-patch:
@( cd ${WRKSRC}; \
${PATCH} -sp1 < ${.CURDIR}/files/emacs20-xim-20000713.diff ; )
post-patch:
@${ECHO_CMD} "share/emacs/%%EMACS_VER%%/etc/Emacs" >> ${WRKDIR}/pkg-plist
@${ECHO_CMD} "share/emacs/%%EMACS_VER%%/etc/dot.emacs" >> ${WRKDIR}/pkg-plist
@${CAT} ${MASTERDIR}/pkg-plist >> ${WRKDIR}/pkg-plist
post-install::
${INSTALL} -c ${.CURDIR}/files/Emacs ${PREFIX}/share/emacs/${PORTVERSION}/etc
${INSTALL} -c ${.CURDIR}/files/dot.emacs ${PREFIX}/share/emacs/${PORTVERSION}/etc
@${CAT} ${PKGMESSAGE}
.include "${MASTERDIR}/Makefile"

View File

@ -1,2 +0,0 @@
Emacs.Font: fontset-16
Emacs.Fontset-0: -*-*-medium-r-normal-*-16-*-*-*-*-*-fontset-16

View File

@ -1,26 +0,0 @@
;; Set environment to Chinese-Big5
(set-language-environment 'chinese-big5)
(set-keyboard-coding-system 'chinese-big5)
(set-terminal-coding-system 'chinese-big5)
(set-buffer-file-coding-system 'chinese-big5)
(set-selection-coding-system 'chinese-big5)
(modify-coding-system-alist 'process "*" 'chinese-big5)
;; Do not conflict with xcin hook
(global-set-key (kbd "M-SPC") 'set-mark-command)
;; ---------------------------------------------------------------------------
;; To get emacs a bit more consistent, replace all yes or no questions with
;; simple y or n.
;; ---------------------------------------------------------------------------
;;(fset 'yes-or-no-p 'y-or-n-p)
;; -- Use Windows(tm) style selection
;;(custom-set-variables
;; '(pc-selection-mode t nil (pc-select)))
;; -- It's possible to use Chinese with liece IRC client
;;(custom-set-variables
;; '(liece-mime-charset-for-write (quote cn-big5))
;; '(liece-mime-charset-for-read (quote cn-big5)))
;; To make sure you get as much highlighting as possible
;; (global-font-lock-mode t)
;; (setq-default font-lock-maximum-decoration t)
;; Don't ask me more about emacs customization ! You should read the
;; manual or just ask google.com.

View File

@ -1,746 +0,0 @@
diff -Naurw emacs-20.7.orig/src/xfns.c emacs-20.7/src/xfns.c
--- emacs-20.7.orig/src/xfns.c Thu Jul 1 09:09:39 1999
+++ emacs-20.7/src/xfns.c Sat Jun 17 00:18:36 2000
@@ -2719,6 +2719,259 @@
}
#endif
+/* Support routines for XIC (X Input Context). */
+#ifdef HAVE_X_I18N
+
+/* Create X fontset. */
+static XFontSet
+xic_create_xfontset (f, base_fontname)
+ struct frame *f;
+ char *base_fontname;
+{
+ XFontSet xfs;
+ char **missing_list;
+ int missing_count;
+ char *def_string;
+
+ xfs = XCreateFontSet (FRAME_X_DISPLAY (f),
+ base_fontname, &missing_list,
+ &missing_count, &def_string);
+ if (missing_list)
+ XFreeStringList (missing_list);
+ /* Don't need to free def_string. */
+
+ return xfs;
+}
+
+/* Supported XIM styles, ordered in preferences. */
+static XIMStyle supported_styles[] =
+{
+ XIMPreeditPosition | XIMStatusArea,
+ XIMPreeditPosition | XIMStatusNothing,
+ XIMPreeditPosition | XIMStatusNone,
+ XIMPreeditNothing | XIMStatusArea,
+ XIMPreeditNothing | XIMStatusNothing,
+ XIMPreeditNothing | XIMStatusNone,
+ XIMPreeditNone | XIMStatusArea,
+ XIMPreeditNone | XIMStatusNothing,
+ XIMPreeditNone | XIMStatusNone,
+ 0,
+};
+
+/* Choose the best style, given:
+ * - user preferences (already checked to be supported by Emacs)
+ * - styles supported by the input method */
+#define DEFAULTStyle (XIMPreeditNothing | XIMStatusNothing)
+static XIMStyle
+best_style (user, xim)
+ XIMStyles *user;
+ XIMStyles *xim;
+{
+ int i, j;
+
+ for (i = 0; i < user->count_styles; i++)
+ {
+ for (j = 0; j < xim->count_styles; j++)
+ {
+ if (user->supported_styles[i] == xim->supported_styles[j])
+ return user->supported_styles[i];
+ }
+ }
+ return DEFAULTStyle; /* Default Style */
+}
+
+/* Create XIC for a frame. */
+void
+xic_create_frame (f)
+ struct frame *f;
+{
+#ifndef X_I18N_INHIBITED
+ XIM xim;
+ XIC xic = NULL;
+ XFontSet xfs = NULL;
+ static XIMStyle xic_style;
+
+ if (FRAME_XIC (f))
+ return;
+ xim = FRAME_X_XIM (f);
+
+ if (xim)
+ {
+ XRectangle s_area = {0, 0, 1, 1};
+ XPoint spot = {0, 1};
+ XVaNestedList preedit_attr;
+ XVaNestedList status_attr;
+ static const char DEFAULT_FONT[] = "-*-*-*-r-normal--14-*-*-*-*-*-*-*";
+ char *base_fontname;
+ int fontset;
+
+ /* Create X fontset. */
+ fontset = FRAME_FONTSET (f);
+ if (fontset < 0)
+ base_fontname = DEFAULT_FONT;
+ else
+ {
+ struct fontset_info *fontsetp;
+ int len = 0;
+ int i;
+
+ fontsetp = FRAME_FONTSET_DATA (f)->fontset_table[fontset];
+ for (i = 0; i <= MAX_CHARSET; i++)
+ if (fontsetp->fontname[i])
+ len += strlen (fontsetp->fontname[i]) + 1;
+ base_fontname = alloca (len);
+ strcpy (base_fontname, fontsetp->fontname[CHARSET_ASCII]);
+ for (i = MIN_CHARSET_OFFICIAL_DIMENSION1; i <= MAX_CHARSET; i++)
+ if (fontsetp->fontname[i])
+ {
+ strcat (base_fontname, ",");
+ strcat (base_fontname, fontsetp->fontname[i]);
+ }
+ }
+ xfs = xic_create_xfontset (f, base_fontname);
+
+ /* Determine XIC style. */
+ if (xic_style == 0)
+ {
+ XIMStyles supported_list;
+ supported_list.count_styles = sizeof (supported_styles) / sizeof (supported_styles[0]);
+ supported_list.supported_styles = supported_styles;
+ xic_style = best_style (&supported_list, FRAME_X_XIM_STYLES (f));
+ }
+
+ preedit_attr = XVaCreateNestedList (0,
+ XNFontSet, xfs,
+ XNForeground, FRAME_FOREGROUND_PIXEL (f),
+ XNBackground, FRAME_BACKGROUND_PIXEL (f),
+ xic_style & XIMPreeditPosition ? XNSpotLocation : NULL, &spot,
+ NULL);
+ status_attr = XVaCreateNestedList (0,
+ XNArea, &s_area,
+ XNFontSet, xfs,
+ XNForeground, FRAME_FOREGROUND_PIXEL (f),
+ XNBackground, FRAME_BACKGROUND_PIXEL (f),
+ NULL);
+
+ xic = XCreateIC (xim,
+ XNInputStyle, xic_style,
+ XNClientWindow, FRAME_X_WINDOW(f),
+ XNFocusWindow, FRAME_X_WINDOW(f),
+ XNStatusAttributes, status_attr,
+ XNPreeditAttributes, preedit_attr,
+ NULL);
+ XFree (preedit_attr);
+ XFree (status_attr);
+ }
+
+ FRAME_XIC (f) = xic;
+ FRAME_XIC_STYLE (f) = xic_style;
+ FRAME_XIC_FONTSET (f) = xfs;
+#else /* X_I18N_INHIBITED */
+ FRAME_XIC (f) = NULL;
+ FRAME_XIC_STYLE (f) = 0;
+ FRAME_XIC_FONTSET (f) = NULL;
+#endif /* X_I18N_INHIBITED */
+}
+
+/* Destroy XIC for a frame. */
+void
+xic_destroy_frame (f)
+ struct frame *f;
+{
+ if (FRAME_XIC (f) == NULL)
+ return;
+
+ XDestroyIC (FRAME_XIC (f));
+ if (FRAME_XIC_FONTSET (f))
+ XFreeFontSet (FRAME_X_DISPLAY (f), FRAME_XIC_FONTSET (f));
+
+ FRAME_XIC (f) = NULL;
+ FRAME_XIC_FONTSET (f) = NULL;
+}
+
+/* Place preedit area for XIC in cursor position. */
+void
+xic_set_preeditarea (f, x, y)
+ struct frame *f;
+ int x, y;
+{
+ XVaNestedList attr;
+ XPoint spot;
+
+ spot.x = CHAR_TO_PIXEL_COL (f, x);
+ spot.y = CHAR_TO_PIXEL_ROW (f, y) + FONT_BASE (FRAME_FONT (f));
+ attr = XVaCreateNestedList (0,
+ XNSpotLocation, &spot,
+ NULL);
+ XSetICValues (FRAME_XIC (f), XNPreeditAttributes, attr, NULL);
+ XFree (attr);
+}
+
+/* Place status area for XIC in bottom right corner. */
+void
+xic_set_statusarea (f)
+ struct frame *f;
+{
+ XIC xic = FRAME_XIC (f);
+ XVaNestedList attr;
+ XRectangle area;
+ XRectangle *needed;
+
+ /* Basically, I follow the way of XEmacs20.4. */
+ /* Negotiate geometry of status area. */
+ /* If input method has existing status area, use its current size */
+ area.x = area.y = area.width = area.height = 0;
+ attr = XVaCreateNestedList (0, XNAreaNeeded, &area, NULL);
+ XSetICValues (xic, XNStatusAttributes, attr, NULL);
+ XFree (attr);
+
+ attr = XVaCreateNestedList (0, XNAreaNeeded, &needed, NULL);
+ XGetICValues (xic, XNStatusAttributes, attr, NULL);
+ XFree (attr);
+
+ if (needed->width == 0) /* Use XNArea instead of XNAreaNeeded */
+ {
+ attr = XVaCreateNestedList (0, XNArea, &needed, NULL);
+ XGetICValues (xic, XNStatusAttributes, attr, NULL);
+ XFree (attr);
+ }
+
+ area.width = needed->width;
+ area.height = needed->height;
+ area.x = PIXEL_WIDTH (f) - area.width - FRAME_INTERNAL_BORDER_WIDTH (f);
+ area.y = PIXEL_HEIGHT (f) - area.height - FRAME_MENUBAR_HEIGHT (f) - FRAME_INTERNAL_BORDER_WIDTH (f);
+ XFree(needed);
+
+ attr = XVaCreateNestedList (0, XNArea, &area, NULL);
+ XSetICValues(xic, XNStatusAttributes, attr, NULL);
+ XFree(attr);
+}
+
+/* Set X fontset for XIC, called when a new Emacs fontset is chosen. */
+void
+xic_set_xfontset (f, base_fontname)
+ struct frame *f;
+ char *base_fontname;
+{
+ XVaNestedList attr;
+ XFontSet xfs;
+
+ xfs = xic_create_xfontset (f, base_fontname);
+
+ attr = XVaCreateNestedList (0, XNFontSet, xfs, NULL);
+ if (FRAME_XIC_STYLE (f) & XIMPreeditPosition)
+ XSetICValues (FRAME_XIC (f), XNPreeditAttributes, attr, NULL);
+ if (FRAME_XIC_STYLE (f) & XIMStatusArea)
+ XSetICValues (FRAME_XIC (f), XNStatusAttributes, attr, NULL);
+ XFree (attr);
+
+ if (FRAME_XIC_FONTSET (f))
+ XFreeFontSet (FRAME_X_DISPLAY (f), FRAME_XIC_FONTSET (f));
+ FRAME_XIC_FONTSET (f) = xfs;
+}
+#endif /* HAVE_X_I18N */
+
+
#ifdef USE_X_TOOLKIT
/* Create and set up the X widget for frame F. */
@@ -2876,34 +3129,8 @@
XSetClassHint (FRAME_X_DISPLAY (f), XtWindow (shell_widget), &class_hints);
#ifdef HAVE_X_I18N
-#ifndef X_I18N_INHIBITED
- {
- XIM xim;
- XIC xic = NULL;
-
- xim = XOpenIM (FRAME_X_DISPLAY (f), NULL, NULL, NULL);
-
- if (xim)
- {
- xic = XCreateIC (xim,
- XNInputStyle, XIMPreeditNothing | XIMStatusNothing,
- XNClientWindow, FRAME_X_WINDOW(f),
- XNFocusWindow, FRAME_X_WINDOW(f),
- NULL);
-
- if (xic == 0)
- {
- XCloseIM (xim);
- xim = NULL;
- }
- }
- FRAME_XIM (f) = xim;
- FRAME_XIC (f) = xic;
- }
-#else /* X_I18N_INHIBITED */
- FRAME_XIM (f) = 0;
- FRAME_XIC (f) = 0;
-#endif /* X_I18N_INHIBITED */
+ FRAME_XIC (f) = NULL;
+ xic_create_frame (f);
#endif /* HAVE_X_I18N */
f->output_data.x->wm_hints.input = True;
@@ -2928,6 +3155,16 @@
/* Make all the standard events reach the Emacs frame. */
attributes.event_mask = STANDARD_EVENT_SET;
+#ifdef HAVE_X_I18N
+ if (FRAME_XIC (f))
+ {
+ /* XIM server might require some X events. */
+ unsigned long fevent = NoEventMask;
+
+ XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL);
+ attributes.event_mask |= fevent;
+ }
+#endif /* HAVE_X_I18N */
attribute_mask = CWEventMask;
XChangeWindowAttributes (XtDisplay (shell_widget), XtWindow (shell_widget),
attribute_mask, &attributes);
@@ -2998,38 +3235,21 @@
InputOutput, /* class */
FRAME_X_DISPLAY_INFO (f)->visual,
attribute_mask, &attributes);
-#ifdef HAVE_X_I18N
-#ifndef X_I18N_INHIBITED
- {
- XIM xim;
- XIC xic = NULL;
- xim = XOpenIM (FRAME_X_DISPLAY(f), NULL, NULL, NULL);
-
- if (xim)
- {
- xic = XCreateIC (xim,
- XNInputStyle, XIMPreeditNothing | XIMStatusNothing,
- XNClientWindow, FRAME_X_WINDOW(f),
- XNFocusWindow, FRAME_X_WINDOW(f),
- NULL);
-
- if (!xic)
+#ifdef HAVE_X_I18N
+ xic_create_frame (f);
+ if (FRAME_XIC (f))
{
- XCloseIM (xim);
- xim = NULL;
- }
- }
+ /* XIM server might require some X events. */
+ unsigned long fevent = NoEventMask;
- FRAME_XIM (f) = xim;
- FRAME_XIC (f) = xic;
+ XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL);
+ attributes.event_mask |= fevent;
+ attribute_mask = CWEventMask;
+ XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
+ attribute_mask, &attributes);
}
-#else /* X_I18N_INHIBITED */
- FRAME_XIM (f) = 0;
- FRAME_XIC (f) = 0;
-#endif /* X_I18N_INHIBITED */
#endif /* HAVE_X_I18N */
-
validate_x_resource_name ();
class_hints.res_name = (char *) XSTRING (Vx_resource_name)->data;
diff -Naurw emacs-20.7.orig/src/xterm.c emacs-20.7/src/xterm.c
--- emacs-20.7.orig/src/xterm.c Mon Aug 2 09:16:43 1999
+++ emacs-20.7/src/xterm.c Wed Jul 12 23:28:40 2000
@@ -3791,9 +3791,6 @@
int prefix;
Lisp_Object part;
struct x_display_info *dpyinfo;
-#ifdef HAVE_X_I18N
- Status status_return;
-#endif
if (interrupt_input_blocked)
{
@@ -3862,7 +3859,7 @@
event.xclient.window);
/* The necessity of the following line took me
a full work-day to decipher from the docs!! */
- if (f1 != 0 && FRAME_XIC (f1) && XFilterEvent (&event, None))
+ if (XFilterEvent (&event, f1 ? FRAME_X_WINDOW(f1) : None))
break;
}
#endif
@@ -4235,18 +4232,30 @@
#ifdef HAVE_X_I18N
if (FRAME_XIC (f))
{
- /* The necessity of the following line took me
- a full work-day to decipher from the docs!! */
- if (XFilterEvent (&event, None))
- break;
+ unsigned char *copy_bufptr = copy_buffer;
+ int copy_bufsiz = sizeof (copy_buffer);
+ Status status_return;
+
+ nbytes = XmbLookupString (FRAME_XIC (f),
+ &event.xkey, copy_bufptr,
+ copy_bufsiz, &keysym,
+ &status_return);
+ if (status_return == XBufferOverflow)
+ {
+ copy_bufsiz = nbytes + 1;
+ copy_bufptr = (char *) alloca (copy_bufsiz);
nbytes = XmbLookupString (FRAME_XIC (f),
- &event.xkey, copy_buffer,
- 80, &keysym,
+ &event.xkey, copy_bufptr,
+ copy_bufsiz, &keysym,
&status_return);
+ }
if (status_return == XLookupNone)
break;
else if (status_return == XLookupChars)
+ {
keysym = NoSymbol;
+ modifiers = 0;
+ }
else if (status_return != XLookupKeySym
&& status_return != XLookupBoth)
abort ();
@@ -4378,7 +4387,10 @@
else
abort ();
}
- goto OTHER;
+ break;
+
+ case KeyRelease:
+ break;
/* Here's a possible interpretation of the whole
FocusIn-EnterNotify FocusOut-LeaveNotify mess. If you get a
@@ -4515,6 +4527,13 @@
x_real_positions (f, &f->output_data.x->left_pos,
&f->output_data.x->top_pos);
+#ifdef HAVE_X_I18N
+ if (FRAME_XIC (f) && (FRAME_XIC_STYLE (f) & XIMStatusArea))
+ {
+ xic_set_statusarea (f);
+ }
+#endif
+
if (f->output_data.x->parent_desc != FRAME_X_DISPLAY_INFO (f)->root_window)
{
/* Since the WM decorations come below top_pos now,
@@ -4992,6 +5011,13 @@
/* Those are the only two we have implemented! */
abort ();
+#ifdef HAVE_X_I18N
+ if (FRAME_XIC (f) && (FRAME_XIC_STYLE (f) & XIMPreeditPosition))
+ {
+ xic_set_preeditarea (f, x, y);
+ }
+#endif
+
UNBLOCK_INPUT;
}
@@ -5463,9 +5489,176 @@
FS_LOAD_FONT (f, FRAME_X_FONT_TABLE (f),
CHARSET_ASCII, fontsetp->fontname[CHARSET_ASCII], fontset);
+#ifdef HAVE_X_I18N
+ if (FRAME_XIC (f)
+ && (FRAME_XIC_STYLE (f) & (XIMPreeditPosition | XIMStatusArea)))
+ {
+ xic_set_xfontset (f, fontsetp->fontname[CHARSET_ASCII]);
+ }
+#endif /* HAVE_X_I18N */
return build_string (fontsetname);
}
+
+/* Support routines for XIM (X Input Method). */
+#ifdef HAVE_X_I18N
+
+#ifdef HAVE_X11R6
+/* XIM destroy callback function,
+ which is called whenever the connected XIM server dies.
+ Clear XIM information. */
+static void
+xim_destroy_callback (xim, client_data, call_data)
+ XIM xim;
+ XPointer client_data;
+ XPointer call_data;
+{
+ struct x_display_info *dpyinfo = (struct x_display_info *)client_data;
+ Lisp_Object frame, tail;
+
+ BLOCK_INPUT;
+ /* Don't need to call XDestroyIC. */
+ FOR_EACH_FRAME (tail, frame)
+ if (FRAME_X_DISPLAY_INFO (XFRAME (frame)) == dpyinfo)
+ {
+ FRAME_XIC (XFRAME (frame)) = NULL;
+ if (FRAME_XIC_FONTSET (XFRAME (frame)))
+ {
+ XFreeFontSet (FRAME_X_DISPLAY (XFRAME (frame)), FRAME_XIC_FONTSET (XFRAME (frame)));
+ FRAME_XIC_FONTSET (XFRAME (frame)) = NULL;
+ }
+ }
+
+ /* Don't need to call XCloseIM. */
+ dpyinfo->xim = NULL;
+ XFree (dpyinfo->xim_styles);
+ UNBLOCK_INPUT;
+}
+#endif /* HAVE_X11R6 */
+
+/* Open the connection with XIM server. */
+static void
+xim_open_dpy (dpyinfo, resource_name)
+ struct x_display_info *dpyinfo;
+ char *resource_name;
+{
+ XIM xim;
+
+ xim = XOpenIM (dpyinfo->display, dpyinfo->xrdb, resource_name, EMACS_CLASS);
+ dpyinfo->xim = xim;
+
+ if (xim)
+ {
+ XIMValuesList *xim_values_list;
+#ifdef HAVE_X11R6
+ XIMCallback destroy;
+#endif
+
+ /* Get supported styles and XIM values */
+ XGetIMValues (xim,
+ XNQueryInputStyle, &dpyinfo->xim_styles,
+ NULL);
+#ifdef HAVE_X11R6
+ destroy.callback = xim_destroy_callback;
+ destroy.client_data = (XPointer)dpyinfo;
+ XSetIMValues (xim, XNDestroyCallback, &destroy, NULL);
+#endif
+ }
+}
+
+#ifdef HAVE_X11R6
+struct xim_inst_t
+{
+ struct x_display_info *dpyinfo;
+ char *resource_name;
+};
+
+/* XIM instantiate callback function,
+ which is called whenever an XIM server is available. */
+static void
+xim_instantiate_callback(display, client_data, call_data)
+ Display *display;
+ XPointer client_data;
+ XPointer call_data;
+{
+ struct xim_inst_t *xim_inst = (struct xim_inst_t *)client_data;
+ struct x_display_info *dpyinfo = xim_inst->dpyinfo;
+
+ /* We don't support multiple XIM connections. */
+ if (dpyinfo->xim)
+ return;
+
+ xim_open_dpy (dpyinfo, xim_inst->resource_name);
+
+ /* Create XIC for the existing frames on the same display,
+ as long as they have no XIC. */
+ if (dpyinfo->xim && dpyinfo->reference_count > 0)
+ {
+ Lisp_Object tail, frame;
+
+ BLOCK_INPUT;
+ FOR_EACH_FRAME (tail, frame)
+ if (FRAME_X_DISPLAY_INFO (XFRAME (frame)) == xim_inst->dpyinfo)
+ if (FRAME_XIC (XFRAME (frame)) == NULL)
+ {
+ xic_create_frame (XFRAME (frame));
+ if (FRAME_XIC_STYLE (XFRAME (frame)) & XIMStatusArea)
+ xic_set_statusarea (XFRAME (frame));
+ if (FRAME_XIC_STYLE (XFRAME (frame)) & XIMPreeditPosition)
+ xic_set_preeditarea (XFRAME (frame),
+ FRAME_CURSOR_X (XFRAME (frame)),
+ FRAME_CURSOR_Y (XFRAME (frame)));
+ }
+ UNBLOCK_INPUT;
+ }
+}
+#endif /* HAVE_X11R6 */
+
+/* It's dependent on X11R5 or X11R6 to open the connection with XIM server.
+ On X11R5, open the connection only at the first time.
+ On X11R6, open the connection in XIM instantiate callback function. */
+static void
+xim_initialize (dpyinfo, resource_name)
+ struct x_display_info *dpyinfo;
+ char *resource_name;
+{
+#ifdef HAVE_X11R6
+ struct xim_inst_t *xim_inst;
+ int len;
+
+ dpyinfo->xim = NULL;
+ xim_inst = (struct xim_inst_t *) xmalloc (sizeof (struct xim_inst_t));
+ xim_inst->dpyinfo = dpyinfo;
+ len = strlen (resource_name);
+ xim_inst->resource_name = (char *) xmalloc (len + 1);
+ bcopy (resource_name, xim_inst->resource_name, len + 1);
+ XRegisterIMInstantiateCallback (dpyinfo->display, dpyinfo->xrdb,
+ resource_name, EMACS_CLASS,
+ xim_instantiate_callback, (XPointer)xim_inst);
+#else /* not HAVE_X11R6 */
+ dpyinfo->xim = NULL;
+ xim_open_dpy (dpyinfo, resource_name);
+#endif /* not HAVE_X11R6 */
+}
+
+/* Close the connection with XIM server. */
+static void
+xim_close_dpy (dpyinfo)
+ struct x_display_info *dpyinfo;
+{
+#ifdef HAVE_X11R6
+ XUnregisterIMInstantiateCallback(dpyinfo->display, dpyinfo->xrdb,
+ NULL, EMACS_CLASS,
+ xim_instantiate_callback, NULL);
+#endif /* HAVE_X11R6 */
+ XCloseIM (dpyinfo->xim);
+ dpyinfo->xim = NULL;
+
+ XFree (dpyinfo->xim_styles);
+}
+#endif /* HAVE_X_I18N */
+
+
/* Calculate the absolute position in frame F
from its current recorded position values and gravity. */
@@ -6175,15 +6368,9 @@
if (f->output_data.x->icon_desc != 0)
XDestroyWindow (FRAME_X_DISPLAY (f), f->output_data.x->icon_desc);
#ifdef HAVE_X_I18N
- if (FRAME_XIM (f))
+ if (FRAME_XIC (f))
{
- XDestroyIC (FRAME_XIC (f));
-#if ! defined (SOLARIS2) || defined (HAVE_X11R6)
- /* This line causes crashes on Solaris with Openwin,
- due to an apparent bug in XCloseIM.
- X11R6 seems not to have the bug. */
- XCloseIM (FRAME_XIM (f));
-#endif
+ xic_destroy_frame (f);
}
#endif
XDestroyWindow (FRAME_X_DISPLAY (f), f->output_data.x->window_desc);
@@ -7335,6 +7522,10 @@
1);
}
+#ifdef HAVE_X_I18N
+ xim_initialize (dpyinfo, resource_name);
+#endif
+
#ifdef subprocesses
/* This is only needed for distinguishing keyboard and process input. */
if (connection != 0)
@@ -7440,6 +7631,11 @@
if (--dpyinfo->kboard->reference_count == 0)
delete_kboard (dpyinfo->kboard);
#endif
+#ifdef HAVE_X_I18N
+ if (dpyinfo->xim)
+ xim_close_dpy (dpyinfo);
+#endif
+
xfree (dpyinfo->font_table);
xfree (dpyinfo->x_id_name);
xfree (dpyinfo);
diff -Naurw emacs-20.7.orig/src/xterm.h emacs-20.7/src/xterm.h
--- emacs-20.7.orig/src/xterm.h Sun Aug 16 07:58:10 1998
+++ emacs-20.7/src/xterm.h Sat Jun 17 00:18:37 2000
@@ -297,6 +297,12 @@
/* The null pixel used for filling a character background with
background color of a gc. */
Pixmap null_pixel;
+
+#ifdef HAVE_X_I18N
+ /* XIM(X Input method) */
+ XIM xim;
+ XIMStyles *xim_styles;
+#endif
};
/* This is a chain of structures for all the X displays currently in use. */
@@ -492,10 +498,11 @@
char has_been_visible;
#ifdef HAVE_X_I18N
- /* Input method. */
- XIM xim;
+ /* XIM(X Input method) */
/* Input context (currently, this means Compose key handler setup). */
XIC xic;
+ XIMStyle xic_style;
+ XFontSet xic_xfs;
#endif
};
@@ -526,6 +533,7 @@
#define FRAME_FONT(f) ((f)->output_data.x->font)
#define FRAME_FONTSET(f) ((f)->output_data.x->fontset)
#define FRAME_INTERNAL_BORDER_WIDTH(f) ((f)->output_data.x->internal_border_width)
+#define FRAME_MENUBAR_HEIGHT(f) ((f)->output_data.x->menubar_height)
#define FRAME_LINE_HEIGHT(f) ((f)->output_data.x->line_height)
/* This gives the x_display_info structure for the display F is on. */
@@ -546,8 +554,11 @@
#define FRAME_DESIRED_CURSOR(f) ((f)->output_data.x->desired_cursor)
-#define FRAME_XIM(f) ((f)->output_data.x->xim)
+#define FRAME_X_XIM(f) (FRAME_X_DISPLAY_INFO (f)->xim)
+#define FRAME_X_XIM_STYLES(f) (FRAME_X_DISPLAY_INFO (f)->xim_styles)
#define FRAME_XIC(f) ((f)->output_data.x->xic)
+#define FRAME_XIC_STYLE(f) ((f)->output_data.x->xic_style)
+#define FRAME_XIC_FONTSET(f) ((f)->output_data.x->xic_xfs)
/* X-specific scroll bar stuff. */
@@ -877,6 +888,11 @@
extern void x_set_border_pixel P_ ((struct frame *, int));
extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
extern void x_implicitly_set_name P_ ((struct frame *, Lisp_Object, Lisp_Object));
+extern void xic_create_frame P_ ((struct frame *));
+extern void xic_destroy_frame P_ ((struct frame *));
+extern void xic_set_preeditarea P_ ((struct frame *, int, int));
+extern void xic_set_statusarea P_ ((struct frame *));
+extern void xic_set_xfontset P_ ((struct frame *, char *));
extern int x_pixel_width P_ ((struct frame *));
extern int x_pixel_height P_ ((struct frame *));
extern int x_char_width P_ ((struct frame *));

View File

@ -1,10 +0,0 @@
!!!! Notice !!!!
1) You have to copy Emacs and dot.emacs within
${PREFIX}/share/emacs/${EMACS_VER}/etc/
into your home directory, and rename dot.emacs to .emacs,
in order to make it work.
2) Remember to install one input methods and set
environment varible XMODIFIERS !

View File

@ -44,7 +44,6 @@
SUBDIR += hcidump
SUBDIR += hf
SUBDIR += hylafax
SUBDIR += ixj
SUBDIR += java-commapi
SUBDIR += java-commapi-freebsd
SUBDIR += jerm

View File

@ -1,57 +0,0 @@
# New ports collection makefile for: ixj
# Date Created: Mon Jan 14 2002
# Whom: Roger Hardiman <roger@freebsd.org>
#
# $FreeBSD$
#
PORTNAME= ixj
PORTVERSION= 1.1.0
PORTREVISION= 1
CATEGORIES= comms kld
MASTER_SITES= http://ftp.osuosl.org/pub/FreeBSD/distfiles/
DISTNAME= ixj_freebsd-${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Driver for Quicknet Internet PhoneJack and LineJack. Used by OpenH323
DEPRECATED= does not work on any supported FreeBSD version
EXPIRATION_DATE= 2007-07-29
ONLY_FOR_ARCHS= i386
.include <bsd.port.pre.mk>
IGNORE= cannot be installed since the driver has not been updated for 5.x kernels. Still uses machine/ipl.h
WRKSRC= ${WRKDIR}/ixj_freebsd
MAKEFILE= Makefile.BSD
post-patch:
${CP} ${FILESDIR}/ixj.sh ${WRKSRC}
${REINPLACE_CMD} -e "s@%%PREFIX%%@${PREFIX}@g" ${WRKSRC}/ixj.sh
pre-build:
.if !exists(${SRC_BASE}/sys/Makefile)
@${ECHO} "*************************************************"; \
${ECHO} "This port requires the kernel source be available"; \
${ECHO} "*************************************************"; \
exit 1
.endif
do-install:
@${MKDIR} ${PREFIX}/modules
@${INSTALL_KLD} ${WRKSRC}/ixj.ko ${PREFIX}/modules
@${MKDIR} ${PREFIX}/include/sys
@${INSTALL_DATA} ${WRKSRC}/ixjuser.h ${PREFIX}/include/sys
@${INSTALL_DATA} ${WRKSRC}/telephony.h ${PREFIX}/include/sys
@${INSTALL_SCRIPT} ${WRKSRC}/ixj.sh ${PREFIX}/etc/rc.d/
@${ECHO_CMD}
@${CAT} ${PKGMESSAGE}
@${ECHO_CMD}
header-install: patch
@${MKDIR} ${PREFIX}/include/sys
@${INSTALL_DATA} ${WRKSRC}/ixjuser.h ${PREFIX}/include/sys
@${INSTALL_DATA} ${WRKSRC}/telephony.h ${PREFIX}/include/sys
.include <bsd.port.post.mk>

View File

@ -1,3 +0,0 @@
MD5 (ixj_freebsd-1.1.0.tar.gz) = f479f82a6a8aea0d6b498d9f291f1e88
SHA256 (ixj_freebsd-1.1.0.tar.gz) = 042c75e0952ae5b8c4ed272933cd0efd1ca165477271e9e5e2d825b792e4a8f7
SIZE (ixj_freebsd-1.1.0.tar.gz) = 114699

View File

@ -1,28 +0,0 @@
#!/bin/sh
PREFIX=%%PREFIX%%
case "$1" in
restart)
$0 stop
sleep 2
$0 start
;;
stop)
kldstat -n ixj 2>/dev/null >/dev/null && kldunload ixj
;;
start)
echo -n ' ixj'
rm -f /dev/phone0 /dev/phone1 /dev/phone2 /dev/phone3
mknod /dev/phone0 c 155 0
mknod /dev/phone1 c 155 1
mknod /dev/phone2 c 155 2
mknod /dev/phone3 c 155 3
chmod 660 /dev/phone0
chmod 660 /dev/phone1
chmod 660 /dev/phone2
chmod 660 /dev/phone3
kldstat -n ixj 2>/dev/null >/dev/null || kldload $PREFIX/modules/ixj.ko
;;
esac

View File

@ -1,23 +0,0 @@
This is the ixj driver for Quicknet Internet LineJack and PhoneJack
hardware, ported from Linux.
Hardware can be found at http://www.quicknet.com
Note there is a Linux page where hardware can be purchased
without the Windows drivers at a reduced rate. You can then
use these FreeBSD ixj drivers.
The driver is used by the OpenH323 applications
(ohphone, openam and possibly GnomeMeeting in a future release).
It allows a standard telephone to be plugged into a FreeBSD machine
and used for Voice over IP or Video Conferencing.
When making a call, simply lift the handset and dial.
When receiving a call, your normal telephone actually rings.
In addition the cards support G.723.1 audio compression which
means you can communicate with a wider range of H.323 applications
such as NetMeeting, when using a modem to connect to the internet.
The port was originally made by Devin Butterfield <dbutter@wireless.net>
and is now being maintained by Roger Hardiman <roger@freebsd.org>
WWW: http://www.openh323.org

View File

@ -1,5 +0,0 @@
*******************************************************************************
* This port contains a prebuilt kernel module. Due to the ever changing *
* nature of FreeBSD it may be necessary to rebuild the module after a kernel *
* source update. To do this reinstall the port. *
*******************************************************************************

View File

@ -1,19 +0,0 @@
@unexec kldunload ixj 2> /dev/null || true
modules/ixj.ko
@dirrm modules
include/sys/telephony.h
include/sys/ixjuser.h
@dirrm include/sys
etc/rc.d/ixj.sh
@exec rm -f /dev/phone0
@exec rm -f /dev/phone1
@exec rm -f /dev/phone2
@exec rm -f /dev/phone3
@exec mknod /dev/phone0 c 155 0
@exec mknod /dev/phone1 c 155 1
@exec mknod /dev/phone2 c 155 2
@exec mknod /dev/phone3 c 155 3
@unexec rm -f /dev/phone0
@unexec rm -f /dev/phone1
@unexec rm -f /dev/phone2
@unexec rm -f /dev/phone3

View File

@ -782,7 +782,6 @@
SUBDIR += xnview
SUBDIR += xoris
SUBDIR += xpaint
SUBDIR += xpcd
SUBDIR += xpdf
SUBDIR += xpx
SUBDIR += xrml

View File

@ -1,36 +0,0 @@
# New ports collection makefile for: xpcd
# Date created: 27 October 2001
# Whom: Juha Ylitalo
#
# $FreeBSD$
#
PORTNAME= xpcd
PORTVERSION= 2.09
PORTREVISION= 1
CATEGORIES+= graphics
MASTER_SITES= http://dl.bytesex.org/releases/xpcd/
MAINTAINER?= ports@FreeBSD.org
COMMENT?= PhotoCD tool collection
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
tiff.4:${PORTSDIR}/graphics/tiff \
pcd.2:${PORTSDIR}/graphics/libpcd
# USE_IMAKE= yes
CFLAGS+= -I${LOCALBASE}/include -L${LOCALBASE}/lib
LDFLAGS+= -L${LOCALBASE}/lib
USE_GMAKE= yes
GNU_CONFIGURE= yes
USE_GETOPT_LONG= yes
CONFIGURE_ENV+= CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
MAKE_ENV+= LDFLAGS="${LDFLAGS}"
USE_X_PREFIX= yes
MAN1= pcdtoppm.1 pcdview.1 xpcd.1
DEPRECATED= is an abandoned project and might be vulnerable
FORBIDDEN= is an abandoned project and might be vulnerable
EXPIRATION_DATE= 2007-07-21
.include <bsd.port.mk>

View File

@ -1,3 +0,0 @@
MD5 (xpcd-2.09.tar.gz) = 7159ba4935781fd6a21c64f750ebf27d
SHA256 (xpcd-2.09.tar.gz) = bc5bc806f3706f47f96e4b5bca7279d0c1f8e1d266465d948a1a1abe0fe94752
SIZE (xpcd-2.09.tar.gz) = 103663

View File

@ -1,11 +0,0 @@
--- Makefile.in.orig Mon Jul 21 14:22:47 2003
+++ Makefile.in Wed Apr 27 17:34:12 2005
@@ -11,7 +11,7 @@
##########################################################################
-SUBDIRS=libpcd xpcd test
+SUBDIRS=xpcd test
all dep depend clean install:
set -e; for dir in $(SUBDIRS); do (cd $$dir; make $@); done

View File

@ -1,24 +0,0 @@
--- test/Makefile.in.orig Mon Jul 21 15:02:26 2003
+++ test/Makefile.in Wed Apr 27 17:43:23 2005
@@ -18,7 +18,7 @@
pcdview: view.o dither.o svga.o
rm -f $@
- $(CC) $(CFLAGS) -o $@ view.o dither.o svga.o $(LDLIBS) @LIBVGA@
+ $(CC) $(LDFLAGS) -o $@ view.o dither.o svga.o $(LDLIBS) @LIBVGA@
suid:
su -c "chown root.root pcdview;chmod 4711 pcdview"
@@ -32,10 +32,10 @@
$(INSTALL_PROGRAM) $(SUID_ROOT) pcdview $(bindir) || true
pcdtoppm: ppm.o
- $(CC) $(CFLAGS) -o $@ ppm.o $(LDLIBS) @LIBJPEG@
+ $(CC) $(LDFLAGS) -o $@ ppm.o $(LDLIBS) @LIBJPEG@
plug-0.54: plug-0.54.o
- $(CC) $(CFLAGS) -o $@ plug.o $(LDLIBS) @LIBGIMP54@
+ $(CC) $(LDFLAGS) -o $@ plug.o $(LDLIBS) @LIBGIMP54@
depend dep:

View File

@ -1,5 +0,0 @@
This is a PhotoCD tool collection.
This packages core application is a command line tool which can read
so-called PhotoCD (*.pcd) images and convert them to PPM or JPEG
(pcdtoppm). Also included is a PhotoCD viewing frontend for X (xpcd).

View File

@ -1,14 +0,0 @@
bin/pcdtoppm
bin/xpcd
include/X11/pixmaps/xpcd-color.xpm
include/X11/pixmaps/xpcd-gray.xpm
lib/X11/app-defaults/Xpcd-2
lib/X11/da/app-defaults/Xpcd-2
lib/X11/de/app-defaults/Xpcd-2
lib/X11/xpcd/system.xpcdrc
@dirrm lib/X11/da/app-defaults
@dirrm lib/X11/da
@dirrm lib/X11/de/app-defaults
@dirrm lib/X11/de
@dirrm lib/X11/xpcd
@dirrmtry include/X11/pixmaps

View File

@ -11,7 +11,6 @@
SUBDIR += cacao
SUBDIR += castor
SUBDIR += classpath
SUBDIR += collections
SUBDIR += cos
SUBDIR += cryptix-jce
SUBDIR += dbvis

View File

@ -1,53 +0,0 @@
# New ports collection makefile for: JDK1.1 Collections package
# Date created: 1999/08/08
# Whom: Jose Marques
#
# $FreeBSD$
#
PORTNAME= collections
PORTVERSION= 1.1
CATEGORIES= java devel
DISTNAME= collections1_1
EXTRACT_SUFX= .zip
MAINTAINER= java@freebsd.org
COMMENT= JDK1.2 Collections\' API for JDK1.1 environments
DEPRECATED= only needed for jdk1.1, which is obsolete
EXPIRATION_DATE= 2007-08-22
USE_JAVA= yes
JAVA_VERSION= 1.1
USE_ZIP= YES
WRKSRC= ${WRKDIR}/1.1collections
NO_BUILD= yes
NO_CDROM= "See the license"
.if !defined(NOPORTDOCS)
PORTDOCS= LICENSE.TXT README.TXT javadoc
.endif
JARFILE= collections.jar
PLIST_FILES+= %%JAVAJARDIR%%/${JARFILE}
.include <bsd.port.pre.mk>
.if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}) && !defined(PACKAGE_BUILDING)
DOWNLOAD_URL= "http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=7264-collections-1.1-oth-JPR&SiteId=JSC&TransactionId=noreg"
IGNORE= "You must manually fetch ${DISTNAME}${EXTRACT_SUFX} from ${DOWNLOAD_URL} and place it in ${DISTDIR} then run make again"
.endif
do-install:
@${ECHO_MSG} -n ">> Installing JAR as ${JAVAJARDIR}/${JARFILE}..."
@${INSTALL_DATA} ${WRKSRC}/lib/${JARFILE} ${JAVAJARDIR}/
@${ECHO_MSG} " [ DONE ]"
.if !defined(NOPORTDOCS)
@${ECHO_MSG} -n ">> Installing documentation in ${DOCSDIR}..."
@cd ${WRKSRC}/doc \
&& ${FIND} ${PORTDOCS} -type d -exec ${MKDIR} ${DOCSDIR}/{} \; \
&& ${FIND} ${PORTDOCS} -type f -exec ${INSTALL_DATA} {} ${DOCSDIR}/{} \;
@${ECHO_MSG} " [ DONE ]"
.endif
.include <bsd.port.post.mk>

View File

@ -1,3 +0,0 @@
MD5 (collections1_1.zip) = 193d1748448f14614f9e20619e555896
SHA256 (collections1_1.zip) = 81999b6899a3a6abf1b5c219056382a76a0d9fe010c5af4bba90c7da28b91417
SIZE (collections1_1.zip) = 202298

View File

@ -1,3 +0,0 @@
JDK1.2 Collections' API for JDK1.1 environments.
WWW: http://java.sun.com/products/archive/javabeans/infobus/collectionsreadme.html