Index: ng/echo.c diff -c ng/echo.c:1.6 ng/echo.c:1.6.2.1 *** ng/echo.c:1.6 Tue Jul 18 21:38:56 2000 --- ng/echo.c Fri Dec 1 18:59:44 2000 *************** *** 1,4 **** ! /* $Id: echo.c,v 1.6 2000/07/18 12:38:56 amura Exp $ */ /* * Echo line reading and writing. * --- 1,4 ---- ! /* $Id: echo.c,v 1.6.2.1 2000/12/01 09:59:44 amura Exp $ */ /* * Echo line reading and writing. * *************** *** 14,19 **** --- 14,23 ---- /* * $Log: echo.c,v $ + * Revision 1.6.2.1 2000/12/01 09:59:44 amura + * rename sput?() functions because HP-UX have sputl() function + * in its library + * * Revision 1.6 2000/07/18 12:38:56 amura * remove some compile warning * *************** *** 320,329 **** static VOID mb_refresh(); static VOID mb_flush(); static char* sformat(); ! static int sputi(); ! static int sputl(); ! static int sputs(); ! static int sputc(); static VOID chsize(); static VOID chsize2(); --- 324,333 ---- static VOID mb_refresh(); static VOID mb_flush(); static char* sformat(); ! static int s_put_i(); ! static int s_put_l(); ! static int s_put_s(); ! static int s_put_c(); static VOID chsize(); static VOID chsize2(); *************** *** 1944,1956 **** idx = 0; while ((c = *fp++) != '\0'){ if (c != '%') ! idx = sputc(s, idx, n, c); else { c = *fp++; switch (c){ case 'c': (VOID) keyname(kname, va_arg(*ap, int)); ! idx = sputs(s, idx, n, kname); break; case 'k': cp = kname; --- 1948,1960 ---- idx = 0; while ((c = *fp++) != '\0'){ if (c != '%') ! idx = s_put_c(s, idx, n, c); else { c = *fp++; switch (c){ case 'c': (VOID) keyname(kname, va_arg(*ap, int)); ! idx = s_put_s(s, idx, n, kname); break; case 'k': cp = kname; *************** *** 1959,1988 **** *cp++ = ' '; } *--cp = '\0'; ! idx = sputs(s, idx, n, kname); break; case 'd': ! idx = sputi(s, idx, n, va_arg(*ap, int), 10); break; case 'o': ! idx = sputi(s, idx, n, va_arg(*ap, int), 8); break; case 's': ! idx = sputs(s, idx, n, va_arg(*ap, char *)); break; case 'l':/* explicit longword */ c = *fp++; switch(c) { case 'd': ! idx = sputl(s, idx, n, (long)va_arg(*ap, long), 10); break; default: ! idx = sputc(s, idx, n, c); break; } break; default: ! idx = sputc(s, idx, n, c); } } } --- 1963,1992 ---- *cp++ = ' '; } *--cp = '\0'; ! idx = s_put_s(s, idx, n, kname); break; case 'd': ! idx = s_put_i(s, idx, n, va_arg(*ap, int), 10); break; case 'o': ! idx = s_put_i(s, idx, n, va_arg(*ap, int), 8); break; case 's': ! idx = s_put_s(s, idx, n, va_arg(*ap, char *)); break; case 'l':/* explicit longword */ c = *fp++; switch(c) { case 'd': ! idx = s_put_l(s, idx, n, (long)va_arg(*ap, long), 10); break; default: ! idx = s_put_c(s, idx, n, c); break; } break; default: ! idx = s_put_c(s, idx, n, c); } } } *************** *** 1991,1997 **** } static int ! sputi(p, idx, n, i, r) register char *p; register int idx, n; register int i; --- 1995,2001 ---- } static int ! s_put_i(p, idx, n, i, r) register char *p; register int idx, n; register int i; *************** *** 2000,2015 **** register int q; if(i<0) { ! idx = sputc(p, idx, n, '-'); i = -i; } if ((q=i/r) != 0) ! idx = sputi(p, idx, n, q, r); ! return sputc(p, idx, n, i%r+'0'); } static int ! sputl(p, idx, n, l, r) register char *p; register int idx, n; register long l; --- 2004,2019 ---- register int q; if(i<0) { ! idx = s_put_c(p, idx, n, '-'); i = -i; } if ((q=i/r) != 0) ! idx = s_put_i(p, idx, n, q, r); ! return s_put_c(p, idx, n, i%r+'0'); } static int ! s_put_l(p, idx, n, l, r) register char *p; register int idx, n; register long l; *************** *** 2018,2045 **** register long q; if(l < 0) { ! idx = sputc(p, idx, n, '-'); l = -l; } if ((q=l/r) != 0) ! idx = sputl(p, idx, n, q, r); ! return sputc(p, idx, n, (int)(l%r)+'0'); } static int ! sputs(p, idx, n, s) register char *p, *s; register int idx, n; { register int c; while ((c = *s++) != '\0') ! idx = sputc(p, idx, n, c); return idx; } static int ! sputc(p, idx, n, c) register char *p; register int idx, n; register char c; --- 2022,2049 ---- register long q; if(l < 0) { ! idx = s_put_c(p, idx, n, '-'); l = -l; } if ((q=l/r) != 0) ! idx = s_put_l(p, idx, n, q, r); ! return s_put_c(p, idx, n, (int)(l%r)+'0'); } static int ! s_put_s(p, idx, n, s) register char *p, *s; register int idx, n; { register int c; while ((c = *s++) != '\0') ! idx = s_put_c(p, idx, n, c); return idx; } static int ! s_put_c(p, idx, n, c) register char *p; register int idx, n; register char c; *************** *** 2048,2054 **** if (idx < n) { if (ISCTRL(c)) { ! idx = sputc(p, idx, n, '^'); c = CCHR(c); } #ifdef KANJI --- 2052,2058 ---- if (idx < n) { if (ISCTRL(c)) { ! idx = s_put_c(p, idx, n, '^'); c = CCHR(c); } #ifdef KANJI Index: ng/line.c diff -c ng/line.c:1.9 ng/line.c:1.9.2.1 *** ng/line.c:1.9 Sun Nov 5 10:58:39 2000 --- ng/line.c Wed Nov 22 05:01:33 2000 *************** *** 1,4 **** ! /* $Id: line.c,v 1.9 2000/11/05 01:58:39 amura Exp $ */ /* * Text line handling. * The functions in this file --- 1,4 ---- ! /* $Id: line.c,v 1.9.2.1 2000/11/21 20:01:33 amura Exp $ */ /* * Text line handling. * The functions in this file *************** *** 21,26 **** --- 21,29 ---- /* * $Log: line.c,v $ + * Revision 1.9.2.1 2000/11/21 20:01:33 amura + * fix bug in ldelete when delete 1 charactor + * * Revision 1.9 2000/11/05 01:58:39 amura * speed ldelete() with undo up * *************** *** 467,472 **** --- 470,479 ---- if (n == 1) { char_num = 1; undo_bfree(undo); + undo->u_used = 0; + undo->u_doto = curwp->w_doto; + undo->u_dotlno = get_lineno(curbp, curwp->w_dotp); + undo->u_type = (kflag==KBACK) ? UDBS : UDDEL; } else if (undo_balloc(undo, n)) { char_num = 2; Index: ng/version.c diff -c ng/version.c:1.8 ng/version.c:1.8.2.1 *** ng/version.c:1.8 Thu Nov 16 23:27:00 2000 --- ng/version.c Sat Jan 6 02:28:33 2001 *************** *** 1,4 **** ! /* $Id: version.c,v 1.8 2000/11/16 14:27:00 amura Exp $ */ /* * This file contains the string that get written * out by the emacs-version command. --- 1,4 ---- ! /* $Id: version.c,v 1.8.2.1 2001/01/05 17:28:33 amura Exp $ */ /* * This file contains the string that get written * out by the emacs-version command. *************** *** 6,11 **** --- 6,14 ---- /* * $Log: version.c,v $ + * Revision 1.8.2.1 2001/01/05 17:28:33 amura + * edit to 1.4.3 release + * * Revision 1.8 2000/11/16 14:27:00 amura * edit to 1.4.2 release * *************** *** 45,77 **** # ifdef MSDOS /* 90.02.11 by S.Yoshida */ # ifdef TCCONIO # ifdef IBMPC /* 90.03.10 by S.Yoshida */ ! char version[] = "Ng 1.4.2 for IBM PC/TCCONIO [Nihongo Mg 2a] "; # else /* NOT IBMPC */ # ifdef PC9801 /* 90.03.10 by S.Yoshida */ ! char version[] = "Ng 1.4.2 for PC-9801/TCCONIO [Nihongo Mg 2a] "; # else /* NOT PC9801 */ ! char version[] = "Ng 1.4.2 for MS-DOS/TCCONIO [Nihongo Mg 2a] "; # endif /* PC9801 */ # endif /* IBMPC */ # else /* NOT TCCONIO */ # ifdef IBMPC /* 90.03.10 by S.Yoshida */ ! char version[] = "Ng 1.4.2 for IBM PC [Nihongo Mg 2a] "; # else /* NOT IBMPC */ # ifdef PC9801 /* 90.03.10 by S.Yoshida */ ! char version[] = "Ng 1.4.2 for PC-9801 [Nihongo Mg 2a] "; # else /* NOT PC9801 */ ! char version[] = "Ng 1.4.2 for MS-DOS [Nihongo Mg 2a] "; # endif /* PC9801 */ # endif /* IBMPC */ # endif /* TCCONIO */ # else /* NOT MSDOS */ # ifdef AMIGA /* by H.Ohkubo / H.Konishi */ ! char version[] = "Ng 1.4.2 / KANgee ver 4.3 [Nihongo Mg 2a] "; # else /* NOT AMIGA */ # ifdef WIN32 ! char version[] = "Ng 1.4.2 / Win32 v0.5.24 [Nihongo Mg 2a] "; # else ! char version[] = "Ng 1.4.2 [Nihongo Mg 2a] "; # endif /* WIN32 */ # endif /* AMIGA */ # endif /* MSDOS */ --- 48,80 ---- # ifdef MSDOS /* 90.02.11 by S.Yoshida */ # ifdef TCCONIO # ifdef IBMPC /* 90.03.10 by S.Yoshida */ ! char version[] = "Ng 1.4.3 for IBM PC/TCCONIO [Nihongo Mg 2a] "; # else /* NOT IBMPC */ # ifdef PC9801 /* 90.03.10 by S.Yoshida */ ! char version[] = "Ng 1.4.3 for PC-9801/TCCONIO [Nihongo Mg 2a] "; # else /* NOT PC9801 */ ! char version[] = "Ng 1.4.3 for MS-DOS/TCCONIO [Nihongo Mg 2a] "; # endif /* PC9801 */ # endif /* IBMPC */ # else /* NOT TCCONIO */ # ifdef IBMPC /* 90.03.10 by S.Yoshida */ ! char version[] = "Ng 1.4.3 for IBM PC [Nihongo Mg 2a] "; # else /* NOT IBMPC */ # ifdef PC9801 /* 90.03.10 by S.Yoshida */ ! char version[] = "Ng 1.4.3 for PC-9801 [Nihongo Mg 2a] "; # else /* NOT PC9801 */ ! char version[] = "Ng 1.4.3 for MS-DOS [Nihongo Mg 2a] "; # endif /* PC9801 */ # endif /* IBMPC */ # endif /* TCCONIO */ # else /* NOT MSDOS */ # ifdef AMIGA /* by H.Ohkubo / H.Konishi */ ! char version[] = "Ng 1.4.3 / KANgee ver 4.3 [Nihongo Mg 2a] "; # else /* NOT AMIGA */ # ifdef WIN32 ! char version[] = "Ng 1.4.3 / Win32 v0.5.24 [Nihongo Mg 2a] "; # else ! char version[] = "Ng 1.4.3 [Nihongo Mg 2a] "; # endif /* WIN32 */ # endif /* AMIGA */ # endif /* MSDOS */ Index: ng/docs/CHANGES.new diff -c ng/docs/CHANGES.new:1.7 ng/docs/CHANGES.new:1.7.2.1 *** ng/docs/CHANGES.new:1.7 Sat Nov 18 04:13:57 2000 --- ng/docs/CHANGES.new Sat Jan 6 02:28:33 2001 *************** *** 1,4 **** ! # $Id: CHANGES.new,v 1.7 2000/11/17 19:13:57 amura Exp $ ============================================================================== CHANGES.new for Ng (Nihongo micro Gnu emacs) 村松 篤 (amura@ma3.seikyou.ne.jp) --- 1,4 ---- ! # $Id: CHANGES.1_4,v 1.7.2.1 2001/01/05 17:28:33 amura Exp $ ============================================================================== CHANGES.new for Ng (Nihongo micro Gnu emacs) 村松 篤 (amura@ma3.seikyou.ne.jp) *************** *** 8,13 **** --- 8,37 ---- このファイルには、1.3L 以降の変更点を記載します。 Ng 1.3L までの変更履歴は CHANGES.doc を御覧ください。 ************************************************************************** + + ------------------------------------------------------------------------------ + + + + [全版共通] + + a) delete-char、delete-backward-char をした後 Undo すると落ちるバ + グを取りました。これは 1.4.2 で入れてしまったバグです。 + + b) 厳格な ANSI-C コンパイラで問題を起こす表記を変更しました。また + echo.c 内の内部関数名を変更しました。(この関数名の変更により、 + HP-UX で正常にコンパイルできない問題が解決しました) + + [SystemV 版] + + c) termios を改善しました。いままでうまく動かなかったシステムでも + 動く事が期待されます。 + + [UNIX 版] + + d) dired を改良しました。シンボリックリンクが正しく扱えるようにな + り、ルートディレクトリを開く時に問題が起きなくなりました。 + ------------------------------------------------------------------------------ Index: ng/sys/bsd/fileio.c diff -c ng/sys/bsd/fileio.c:1.1.1.1 ng/sys/bsd/fileio.c:1.1.1.1.2.1 *** ng/sys/bsd/fileio.c:1.1.1.1 Tue Jun 27 10:48:02 2000 --- ng/sys/bsd/fileio.c Fri Dec 1 19:01:06 2000 *************** *** 1,10 **** ! /* $Id: fileio.c,v 1.1.1.1 2000/06/27 01:48:02 amura Exp $ */ /* * bsd (4.2, others?), Sun (3.2, ?) and Ultrix-32 (?) file I/O. */ /* * $Log: fileio.c,v $ * Revision 1.1.1.1 2000/06/27 01:48:02 amura * import to CVS * --- 1,13 ---- ! /* $Id: fileio.c,v 1.1.1.1.2.1 2000/12/01 10:01:06 amura Exp $ */ /* * bsd (4.2, others?), Sun (3.2, ?) and Ultrix-32 (?) file I/O. */ /* * $Log: fileio.c,v $ + * Revision 1.1.1.1.2.1 2000/12/01 10:01:06 amura + * fix problems open "/" and sybolic link directory + * * Revision 1.1.1.1 2000/06/27 01:48:02 amura * import to CVS * *************** *** 338,344 **** } while(*fn && (*cp++ = *fn++) != '/') {} } ! if(cp[-1]=='/') --cp; *cp = '\0'; return fnb; } --- 341,347 ---- } while(*fn && (*cp++ = *fn++) != '/') {} } ! if((cp-1)!=fnb && cp[-1]=='/') --cp; *cp = '\0'; return fnb; } *************** *** 539,544 **** --- 542,551 ---- cp += strlen(cp); bcopy(lp->l_text + l, cp, len); cp[len-1] = '\0'; + #ifdef SYMBLINK + if (lgetc(lp, 2) == 'l') + return ffisdir(curbp->b_fname); + #endif return lgetc(lp, 2) == 'd'; } else { Index: ng/sys/sysv/fileio.c diff -c ng/sys/sysv/fileio.c:1.1.1.1 ng/sys/sysv/fileio.c:1.1.1.1.2.1 *** ng/sys/sysv/fileio.c:1.1.1.1 Tue Jun 27 10:47:59 2000 --- ng/sys/sysv/fileio.c Fri Dec 1 19:01:57 2000 *************** *** 1,10 **** ! /* $Id: fileio.c,v 1.1.1.1 2000/06/27 01:47:59 amura Exp $ */ /* * sys V fileio.c */ /* * $Log: fileio.c,v $ * Revision 1.1.1.1 2000/06/27 01:47:59 amura * import to CVS * --- 1,13 ---- ! /* $Id: fileio.c,v 1.1.1.1.2.1 2000/12/01 10:01:57 amura Exp $ */ /* * sys V fileio.c */ /* * $Log: fileio.c,v $ + * Revision 1.1.1.1.2.1 2000/12/01 10:01:57 amura + * fix problems open "/" and sybolic link directory + * * Revision 1.1.1.1 2000/06/27 01:47:59 amura * import to CVS * *************** *** 344,350 **** } while(*fn && (*cp++ = *fn++) != '/') {} } ! if(cp[-1]=='/') --cp; *cp = '\0'; return fnb; } --- 347,353 ---- } while(*fn && (*cp++ = *fn++) != '/') {} } ! if((cp-1)!=fnb && cp[-1]=='/') --cp; *cp = '\0'; return fnb; } *************** *** 545,550 **** --- 548,557 ---- cp += strlen(cp); bcopy(lp->l_text + l, cp, len); cp[len-1] = '\0'; + #ifdef SYMBLINK + if (lgetc(lp, 2) == 'l') + return ffisdir(curbp->b_fname); + #endif return lgetc(lp, 2) == 'd'; } else { Index: ng/sys/sysv/spawn.c diff -c ng/sys/sysv/spawn.c:1.2 ng/sys/sysv/spawn.c:1.2.2.1 *** ng/sys/sysv/spawn.c:1.2 Tue Jun 27 10:59:43 2000 --- ng/sys/sysv/spawn.c Fri Dec 1 19:03:37 2000 *************** *** 1,4 **** ! /* $Id: spawn.c,v 1.2 2000/06/27 01:59:43 amura Exp $ */ /* * Name: MicroGnuEmacs * Spawn CLI for System V. --- 1,4 ---- ! /* $Id: spawn.c,v 1.2.2.1 2000/12/01 10:03:37 amura Exp $ */ /* * Name: MicroGnuEmacs * Spawn CLI for System V. *************** *** 8,13 **** --- 8,16 ---- /* * $Log: spawn.c,v $ + * Revision 1.2.2.1 2000/12/01 10:03:37 amura + * fix for some strict compiler + * * Revision 1.2 2000/06/27 01:59:43 amura * small bugfix * *************** *** 66,73 **** if (shellp == NULL) shellp = "/bin/sh"; /* Safer. */ shname = strrchr( shellp, '/' ); ! shname = shname ? shname++ : shellp; ! } ttcolor(CTEXT); ttnowindow(); --- 69,75 ---- if (shellp == NULL) shellp = "/bin/sh"; /* Safer. */ shname = strrchr( shellp, '/' ); ! shname = shname ? shname+1 : shellp; } ttcolor(CTEXT); ttnowindow(); Index: ng/sys/sysv/ttyio.c diff -c ng/sys/sysv/ttyio.c:1.2 ng/sys/sysv/ttyio.c:1.2.2.1 *** ng/sys/sysv/ttyio.c:1.2 Thu Nov 16 23:32:03 2000 --- ng/sys/sysv/ttyio.c Fri Dec 1 19:04:12 2000 *************** *** 1,4 **** ! /* $Id: ttyio.c,v 1.2 2000/11/16 14:32:03 amura Exp $ */ /* * Name: MicroEMACS * System V terminal I/O. --- 1,4 ---- ! /* $Id: ttyio.c,v 1.2.2.1 2000/12/01 10:04:12 amura Exp $ */ /* * Name: MicroEMACS * System V terminal I/O. *************** *** 19,24 **** --- 19,28 ---- /* * $Log: ttyio.c,v $ + * Revision 1.2.2.1 2000/12/01 10:04:12 amura + * fix ttraw() with termios + * unset IEXTEN flag on c_lflag + * * Revision 1.2 2000/11/16 14:32:03 amura * fix some typos which cause compile error when using * strict ANSI-C compiler (ex ACK, gcc-1.x) *************** *** 110,125 **** nt = ot; /* save entry state */ nt.c_cc[VMIN] = 1; /* one character read is OK */ nt.c_cc[VTIME] = 0; /* Never time out. */ - #ifdef POSIXTTY /* by S.Okamoto 93/03/16 */ - nt.c_cc[VLNEXT] = 0; - #endif nt.c_iflag |= IGNBRK; nt.c_iflag &= ~( ICRNL | INLCR | ISTRIP | IXON | IXOFF ); nt.c_oflag &= ~OPOST; nt.c_cflag |= CS8; /* allow 8th bit on input */ nt.c_cflag &= ~PARENB; /* Don't check parity */ nt.c_lflag &= ~( ECHO | ICANON | ISIG ); ! kbdpoll = (((kbdflgs = fcntl(0, F_GETFL, 0)) & O_NDELAY) != 0); #ifdef HAVE_GETSID { --- 114,128 ---- nt = ot; /* save entry state */ nt.c_cc[VMIN] = 1; /* one character read is OK */ nt.c_cc[VTIME] = 0; /* Never time out. */ nt.c_iflag |= IGNBRK; nt.c_iflag &= ~( ICRNL | INLCR | ISTRIP | IXON | IXOFF ); nt.c_oflag &= ~OPOST; nt.c_cflag |= CS8; /* allow 8th bit on input */ nt.c_cflag &= ~PARENB; /* Don't check parity */ nt.c_lflag &= ~( ECHO | ICANON | ISIG ); ! #ifdef POSIX_TTY ! nt.c_lflag &= ~IEXTEN; ! #endif kbdpoll = (((kbdflgs = fcntl(0, F_GETFL, 0)) & O_NDELAY) != 0); #ifdef HAVE_GETSID {