diff options
author | max <max@FreeBSD.org> | 1997-10-01 17:34:50 +0800 |
---|---|---|
committer | max <max@FreeBSD.org> | 1997-10-01 17:34:50 +0800 |
commit | 6ccd93f29ca34df08ad6fbaf0b5047e25ef4bacd (patch) | |
tree | ceba7f857d041ab7af321d6f1f5493a0775a2966 | |
parent | 417b92b70f34397079820ec16c07e2c5c0f2f110 (diff) | |
download | freebsd-ports-gnome-6ccd93f29ca34df08ad6fbaf0b5047e25ef4bacd.tar.gz freebsd-ports-gnome-6ccd93f29ca34df08ad6fbaf0b5047e25ef4bacd.tar.zst freebsd-ports-gnome-6ccd93f29ca34df08ad6fbaf0b5047e25ef4bacd.zip |
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
-rw-r--r-- | chinese/ted/Makefile | 22 | ||||
-rw-r--r-- | chinese/ted/distinfo | 1 | ||||
-rw-r--r-- | chinese/ted/files/patch-aa | 74 | ||||
-rw-r--r-- | chinese/ted/files/patch-ab | 19 | ||||
-rw-r--r-- | chinese/ted/files/patch-ac | 21 | ||||
-rw-r--r-- | chinese/ted/files/patch-ad | 182 | ||||
-rw-r--r-- | chinese/ted/pkg-comment | 1 | ||||
-rw-r--r-- | chinese/ted/pkg-descr | 5 | ||||
-rw-r--r-- | chinese/ted/pkg-plist | 4 |
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 |