summaryrefslogtreecommitdiff
path: root/chinese
diff options
context:
space:
mode:
authorMasafumi Max NAKANE <max@FreeBSD.org>1997-10-01 09:34:50 +0000
committerMasafumi Max NAKANE <max@FreeBSD.org>1997-10-01 09:34:50 +0000
commitb6e79752fbb8a02e6c230a771defb27f93425413 (patch)
tree7b5bed5897f96441fdfedb8adb4dc2ec5ed63b1b /chinese
parentInstall all headers into ${PREFIX}/lib/tk8.0/{generic,unix}. (diff)
New port, ted:
Ted is a small and powerful Text editor for X Window, the interface is like PE2 on DOS PR: 4571 Submitted by: vanilla@MinJe.com.TW
Notes
Notes: svn path=/head/; revision=8072
Diffstat (limited to 'chinese')
-rw-r--r--chinese/ted/Makefile22
-rw-r--r--chinese/ted/distinfo1
-rw-r--r--chinese/ted/files/patch-aa74
-rw-r--r--chinese/ted/files/patch-ab19
-rw-r--r--chinese/ted/files/patch-ac21
-rw-r--r--chinese/ted/files/patch-ad182
-rw-r--r--chinese/ted/pkg-comment1
-rw-r--r--chinese/ted/pkg-descr5
-rw-r--r--chinese/ted/pkg-plist4
9 files changed, 329 insertions, 0 deletions
diff --git a/chinese/ted/Makefile b/chinese/ted/Makefile
new file mode 100644
index 000000000000..bb0fec80a6ad
--- /dev/null
+++ b/chinese/ted/Makefile
@@ -0,0 +1,22 @@
+# New ports collection makefile for: ted
+# Version required: 3.6a
+# Date Created: 18 Sep 1997
+# Whom: Vanilla I. Shu <vanilla@MinJe.com.TW>
+#
+# $Id$
+#
+
+DISTNAME= ted3.6a
+PKGNAME= zh-ted-3.6a
+CATEGORIES= chinese editors
+MASTER_SITES= ${MASTER_SITE_XCONTRIB}
+MASTER_SITE_SUBDIR= editors/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= vanilla@MinJe.com.TW
+
+USE_X11= yes
+WRKSRC= ${WRKDIR}/ted
+MAKEFILE= Makefile.b5
+
+.include <bsd.port.mk>
diff --git a/chinese/ted/distinfo b/chinese/ted/distinfo
new file mode 100644
index 000000000000..25144a0c2281
--- /dev/null
+++ b/chinese/ted/distinfo
@@ -0,0 +1 @@
+MD5 (ted3.6a.tgz) = 2914e6dc0e5b6c99bdf11ab724a679fa
diff --git a/chinese/ted/files/patch-aa b/chinese/ted/files/patch-aa
new file mode 100644
index 000000000000..2d26411b9848
--- /dev/null
+++ b/chinese/ted/files/patch-aa
@@ -0,0 +1,74 @@
+*** Makefile.b5.orig Fri Sep 19 01:15:03 1997
+--- Makefile.b5 Fri Sep 19 01:18:22 1997
+***************
+*** 1,5 ****
+ CHINESE=1
+! TEDDIR=/usr/local/lib/Ted
+ ########## GCC/Linux ...... ############
+ CC=gcc
+ CComp=GCC
+--- 1,5 ----
+ CHINESE=1
+! TEDDIR=/usr/X11R6/lib/X11/ted
+ ########## GCC/Linux ...... ############
+ CC=gcc
+ CComp=GCC
+*************** LDFLAGS= -L/usr/X11R6/lib
+*** 27,41 ****
+ #SUNKBD=-DSUNKBD
+ ###########################
+
+! CFLAGS = -O -DCHINESE=$(CHINESE) -I$(XINC) -DCComp=$(CComp) $(SUNKBD)
+ #CFLAGS = -g -DCHINESE=$(CHINESE) -I$(XINC) -DCComp=$(CComp) -DDEBUG $(SUNKBD)
+
+ OBJS = e.o x.o m.o f.o b.o edln.o xcp.o s.o u.o misc.o twin.o dir.o xkey.o \
+ cwin.o filebrowse.o cli_xcin.o kwcomp.o
+
+! all: ted ref ctags
+ ted: $(OBJS)
+! $(CC) -g $(OBJS) -o $@ $(LDFLAGS) -lX11
+ # strip $@
+ echo '*** Finish ***'
+ ref:
+--- 27,41 ----
+ #SUNKBD=-DSUNKBD
+ ###########################
+
+! CFLAGS += -DCHINESE=$(CHINESE) -I$(XINC) -DCComp=$(CComp) $(SUNKBD)
+ #CFLAGS = -g -DCHINESE=$(CHINESE) -I$(XINC) -DCComp=$(CComp) -DDEBUG $(SUNKBD)
+
+ OBJS = e.o x.o m.o f.o b.o edln.o xcp.o s.o u.o misc.o twin.o dir.o xkey.o \
+ cwin.o filebrowse.o cli_xcin.o kwcomp.o
+
+! all: ted #ref ctags
+ ted: $(OBJS)
+! $(CC) $(OBJS) -o $@ $(LDFLAGS) -lX11
+ # strip $@
+ echo '*** Finish ***'
+ ref:
+*************** ctags:
+*** 45,55 ****
+ $(CC) $(CFLAGS) ctags.c -o $@
+ strip $@
+ install:
+! cp ted ref ctags /usr/local/bin
+ if [ ! -d $(TEDDIR) ]; then mkdir $(TEDDIR); fi
+! cp tedrc ted.help $(TEDDIR)
+! cli_xcin.o:
+! ln -s ../big5-pack/xcin/cli_xcin.o .
+ clean:
+ rm -f $(OBJS) ted core *~ *_
+ clb5:
+--- 45,56 ----
+ $(CC) $(CFLAGS) ctags.c -o $@
+ strip $@
+ install:
+! install -c -s -o bin -g bin -m 0755 ted /usr/X11R6/bin
+ if [ ! -d $(TEDDIR) ]; then mkdir $(TEDDIR); fi
+! install -c -o bin -g bin -m 0555 tedrc $(TEDDIR)
+! install -c -o bin -g bin -m 0555 ted.help $(TEDDIR)
+! #cli_xcin.o:
+! # ln -s ../big5-pack/xcin/cli_xcin.o .
+ clean:
+ rm -f $(OBJS) ted core *~ *_
+ clb5:
diff --git a/chinese/ted/files/patch-ab b/chinese/ted/files/patch-ab
new file mode 100644
index 000000000000..7acbdb476951
--- /dev/null
+++ b/chinese/ted/files/patch-ab
@@ -0,0 +1,19 @@
+*** xkey.c.orig Thu Sep 18 23:23:06 1997
+--- xkey.c Thu Sep 18 23:23:45 1997
+*************** if (cdtedrc && (fp=fopen(ftedrc,"r"))) {
+*** 563,569 ****
+ if (fp=fopen(
+ strcat(strcat(strcpy(tt,(char *)getenv("HOME")),"/.Ted/"),ftedrc), "r"
+ )) return fp;
+! if (fp=fopen(strcat(strcpy(uu,"/usr/local/lib/Ted/"),ftedrc),"r"))
+ return fp;
+ if (!depth) {
+ if (cdtedrc)
+--- 563,569 ----
+ if (fp=fopen(
+ strcat(strcat(strcpy(tt,(char *)getenv("HOME")),"/.Ted/"),ftedrc), "r"
+ )) return fp;
+! if (fp=fopen(strcat(strcpy(uu,"/usr/X11R6/lib/X11/ted/"),ftedrc),"r"))
+ return fp;
+ if (!depth) {
+ if (cdtedrc)
diff --git a/chinese/ted/files/patch-ac b/chinese/ted/files/patch-ac
new file mode 100644
index 000000000000..224dfa08eec8
--- /dev/null
+++ b/chinese/ted/files/patch-ac
@@ -0,0 +1,21 @@
+*** tedrc.orig Thu Sep 18 23:24:10 1997
+--- tedrc Thu Sep 18 23:24:39 1997
+*************** f [a-f12] MergeTedrc("localtedrc")
+*** 153,160 ****
+ f [s-f9] ExeCmdFnameExt("make",".o")
+ ## If the file is already open, switch to this file; otherwise
+ ## load the file
+! f [f1] RaiseOrLoad("/usr/local/lib/Ted/ted.help")
+! f [c-a][f1] RaiseOrLoad("/usr/local/lib/Ted/tedrc")
+ ## execute command and place the output in the current file
+ #f [c-q][s] InsPipe("ls")
+ # Excute command and and place output in a new file with name same as the command
+--- 153,160 ----
+ f [s-f9] ExeCmdFnameExt("make",".o")
+ ## If the file is already open, switch to this file; otherwise
+ ## load the file
+! f [f1] RaiseOrLoad("/usr/X11R6/lib/X11/ted/ted.help")
+! f [c-a][f1] RaiseOrLoad("/usr/X11R6/lib/X11/ted/tedrc")
+ ## execute command and place the output in the current file
+ #f [c-q][s] InsPipe("ls")
+ # Excute command and and place output in a new file with name same as the command
diff --git a/chinese/ted/files/patch-ad b/chinese/ted/files/patch-ad
new file mode 100644
index 000000000000..3bfc6ee8802e
--- /dev/null
+++ b/chinese/ted/files/patch-ad
@@ -0,0 +1,182 @@
+*** cli_xcin.c.orig Fri Sep 19 01:19:33 1997
+--- cli_xcin.c Sat Sep 13 11:41:12 1997
+***************
+*** 0 ****
+--- 1,130 ----
++ /*
++ Copyright (C) 1994,1995 Edward Der-Hua Liu, Hsin-Chu, Taiwan
++ */
++
++ #include <stdio.h>
++ #include <stdarg.h>
++ #include <sys/types.h>
++ #include <X11/Xlib.h>
++ #include <X11/Xatom.h>
++ #include "state.h"
++ #include "protocol.h"
++
++ static Atom xcin_atom=0;
++ static Window xcin_win=None;
++ static InmdState inmdstate;
++ #define ENDIAN_TEST() (*(int *)"\x11\x22\x33\x44"==0x11223344)
++ static char my_endian;
++
++ static connect_xcin(Display *display)
++ {
++ Window twin;
++ xcin_atom=XInternAtom(display, XCIN_ATOM,False);
++ my_endian=ENDIAN_TEST(); /* if == 11223344, it is big-endian */
++
++ xcin_win=XGetSelectionOwner(display,xcin_atom);
++ return xcin_win;
++ }
++
++ void send_FocusIn(Display *display, Window window)
++ {
++ XClientMessageEvent event;
++ XEvent erreve;
++ char *tmp=event.data.b;
++
++ if (connect_xcin(display)==None) return;
++ /* Ensure xcin exists, or the process will be hanged */
++ event.type=ClientMessage;
++ event.window=window;
++ event.message_type=xcin_atom;
++ event.format=8;
++
++ tmp[0]=tmp[1]=tmp[2]=0xff;
++ tmp[3]=CLI_FOCUS_IN;
++ memcpy(&tmp[4],&inmdstate, sizeof(inmdstate));
++ XSendEvent(display, xcin_win, False, 0, (XEvent *)&event);
++ }
++
++ static void send_FocusOut(Display *display, Window window)
++ {
++ XClientMessageEvent event;
++ XEvent erreve;
++ char *tmp=event.data.b;
++
++ if (connect_xcin(display)==None) return;
++ /* Ensure xcin exists, or the process will be hanged */
++ event.type=ClientMessage;
++ event.window=window;
++ event.message_type=xcin_atom;
++ event.format=8;
++
++ tmp[0]=tmp[1]=tmp[2]=0xff;
++ tmp[3]=CLI_FOCUS_OUT;
++ memcpy(&tmp[4],&inmdstate, sizeof(inmdstate));
++ XSendEvent(display, xcin_win, False, 0, (XEvent *)&event);
++ }
++
++ static void big_little(char *i)
++ {
++ char t;
++ t=*i; *i=*(i+3); *(i+3)=t;
++ t=*(i+1); *(i+1)=*(i+2); *(i+2)=t;
++ }
++ static read_keys(Display *display, char *buf)
++ {
++ Atom actual_type;
++ int actual_format,i;
++ u_long nitems,bytes_after;
++ char *ttt, *cp;
++ XCIN_RES res;
++ int ofs;
++ cp=(char *)&res;
++ ofs=0;
++ do {
++ if (XGetWindowProperty(display,xcin_win,xcin_atom,
++ ofs/4,(sizeof(XCIN_RES)+3)/4,
++ True, AnyPropertyType, &actual_type,&actual_format,
++ &nitems,&bytes_after,(unsigned char **)&ttt) != Success)
++ puts("err property");
++ memcpy((char *)(&res)+(ofs & ~0x3), ttt, nitems);
++ XFree(ttt);
++ ofs=(ofs & ~0x3) + nitems;
++ } while ((!nitems && !ofs) || bytes_after>0);
++ if (my_endian) {
++ big_little((char *)&res.len);
++ big_little((char *)&res.status);
++ }
++ memcpy(buf,res.tkey, res.len);
++ inmdstate=res.inmdstate;
++ buf[res.len]=0;
++ return res.status;
++ }
++
++ #include <X11/Xutil.h>
++
++ static XComposeStatus compose_status = {NULL, 0};
++
++ send_key(Display *display, Window win, XKeyEvent *eve, char *buf)
++ {
++ XClientMessageEvent event;
++ XEvent erreve;
++ char *tmp=event.data.b;
++ u_char tttt[8];
++ KeySym keysym;
++ int count;
++
++ if (xcin_win==None && connect_xcin(display)==None)
++ return K_REJECT;
++ if ((xcin_win=XGetSelectionOwner(display,xcin_atom))==None)
++ return K_REJECT;
++
++ event.type=ClientMessage;
++ event.window=win;
++ event.message_type=xcin_atom;
++ event.format=32;
++ count =XLookupString (eve, tttt, sizeof(tmp), (KeySym *)tmp, &compose_status);
++ memcpy(&tmp[4],&eve->state,4);
++ XSendEvent(display, xcin_win, False, 0, (XEvent *)&event);
++ XSync(display,False);
++ return (read_keys(display, buf));
++ }
+*** protocol.h.orig Fri Sep 19 01:19:44 1997
+--- protocol.h Fri Sep 19 01:19:41 1997
+***************
+*** 0 ****
+--- 1,13 ----
++ /*
++ Copyright (C) 1994 Edward Der-Hua Liu, Hsin-Chu, Taiwan
++ */
++
++ #define K_REJECT (0)
++ #define K_ACCEPT (1)
++
++ #define CLI_FOCUS_IN (1)
++ #define CLI_FOCUS_OUT (3)
++
++ #define LOAD_KEYWORD (2)
++
++ #define XCIN_ATOM "XCIN_A"
+*** state.h.orig Fri Sep 19 01:20:14 1997
+--- state.h Fri Sep 19 01:20:05 1997
+***************
+*** 0 ****
+--- 1,24 ----
++ /*
++ Copyright (C) 1994 Edward Der-Hua Liu, Hsin-Chu, Taiwan
++ */
++
++ typedef struct {
++ char kb_state;
++ char _CurInMethod;
++ } InmdState;
++
++ #define EngChiMask (1)
++ #define HalfFullMask (2)
++
++ typedef struct {
++ int len;
++ int status;
++ InmdState inmdstate;
++ char tkey[512];
++ } XCIN_RES;
++
++ #define EngChi ((inmdstate.kb_state & EngChiMask) ? 1:0)
++ #define HalfFull ((inmdstate.kb_state & HalfFullMask) ? 1:0)
++ #define CurInMethod (inmdstate._CurInMethod)
++ /*extern InmdState inmdstate;
++ */
diff --git a/chinese/ted/pkg-comment b/chinese/ted/pkg-comment
new file mode 100644
index 000000000000..070c9aec08f1
--- /dev/null
+++ b/chinese/ted/pkg-comment
@@ -0,0 +1 @@
+A Small and Powerful Text Editor for X Window with big5 support
diff --git a/chinese/ted/pkg-descr b/chinese/ted/pkg-descr
new file mode 100644
index 000000000000..80927d9af99b
--- /dev/null
+++ b/chinese/ted/pkg-descr
@@ -0,0 +1,5 @@
+Ted is a small and powerful Text editor for X Window,
+the interface is like PE2 on DOS
+
+- Vanilla
+vanilla@MinJe.com.TW
diff --git a/chinese/ted/pkg-plist b/chinese/ted/pkg-plist
new file mode 100644
index 000000000000..8657696eb4d6
--- /dev/null
+++ b/chinese/ted/pkg-plist
@@ -0,0 +1,4 @@
+bin/ted
+lib/X11/ted/ted.help
+lib/X11/ted/tedrc
+@dirrm lib/X11/ted