utashiro@sran84.sra.JUNET (Kazumasa Utashiro) (01/06/89)
Description: * Added through mode * Added ignore-short-line * Added multiple command aliasing *** /tmp/,RCSt1009139 Sun Aug 28 20:13:39 1988 --- fep_funcs.c Sun Aug 28 14:36:37 1988 *************** *** 2,8 #ifndef lint static char rcsid[]= ! "$Header: fep_funcs.c,v 4.2 88/08/16 18:24:00 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> --- 2,8 ----- #ifndef lint static char rcsid[]= ! "$Header: fep_funcs.c,v 4.3 88/08/28 14:36:35 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> *************** *** 92,98 "Terminate fep"}, {suspend, "suspend", "Suspend fep"}, ! {toggle_transparency, "toggle-transparency", "Change transparency mode"}, {fix_transparency, "fix-transparency", "Check tty and change transparency mode"}, --- 92,98 ----- "Terminate fep"}, {suspend, "suspend", "Suspend fep"}, ! {toggle_through, "toggle-through", "Change transparency mode"}, {fix_transparency, "fix-transparency", "Check tty and change transparency mode"}, *** /tmp/,RCSt1009149 Sun Aug 28 20:13:44 1988 --- fep_set.c Sun Aug 28 19:15:14 1988 *************** *** 2,8 #ifndef lint static char rcsid[]= ! "$Header: fep_set.c,v 4.1 88/08/08 19:24:30 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> --- 2,8 ----- #ifndef lint static char rcsid[]= ! "$Header: fep_set.c,v 4.2 88/08/28 19:15:12 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> *************** *** 58,63 "Repaint screen when restarting", (VAR*)0}, {"clear-repaint", "", "Clear screen before repaint", (VAR*)0}, {NULL, NULL, NULL, (VAR*)0} }; --- 58,65 ----- "Repaint screen when restarting", (VAR*)0}, {"clear-repaint", "", "Clear screen before repaint", (VAR*)0}, + {"ignore-short-line", "3", + "Don't put short line to history", (VAR*)0}, {NULL, NULL, NULL, (VAR*)0} }; *** /tmp/,RCSt1009159 Sun Aug 28 20:13:49 1988 --- fep_vi.c Sun Aug 28 14:36:58 1988 *************** *** 2,8 #ifndef lint static char rcsid[]= ! "$Header: fep_vi.c,v 4.2 88/08/16 18:24:05 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> --- 2,8 ----- #ifndef lint static char rcsid[]= ! "$Header: fep_vi.c,v 4.3 88/08/28 14:36:55 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> *************** *** 94,100 /* ^P */ {"\\^P", previous_history}, /* ^N */ {"\\^N", next_history}, /* ^R */ {"\\^R", reprint}, ! /* ^^ */ {"\\^^", toggle_transparency}, /* ^X-^B */ {"\\^X\\^B", show_bindings}, /* ^X-B */ {"\\^XB", show_bindings}, /* ^X-b */ {"\\^Xb", show_bindings}, --- 94,100 ----- /* ^P */ {"\\^P", previous_history}, /* ^N */ {"\\^N", next_history}, /* ^R */ {"\\^R", reprint}, ! /* ^^ */ {"\\^^", toggle_through}, /* ^X-^B */ {"\\^X\\^B", show_bindings}, /* ^X-B */ {"\\^XB", show_bindings}, /* ^X-b */ {"\\^Xb", show_bindings}, *************** *** 126,132 /* ^N */ {"\\^N", next_history}, /* ESC */ {"\\^[", vi_ins_edit}, /* ^E */ {"\\^E", expand_file_name}, ! /* ^^ */ {"\\^^", toggle_transparency}, /* ^X-^B */ {"\\^X\\^B", show_bindings}, /* ^X-B */ {"\\^XB", show_bindings}, /* ^X-b */ {"\\^Xb", show_bindings}, --- 126,132 ----- /* ^N */ {"\\^N", next_history}, /* ESC */ {"\\^[", vi_ins_edit}, /* ^E */ {"\\^E", expand_file_name}, ! /* ^^ */ {"\\^^", toggle_through}, /* ^X-^B */ {"\\^X\\^B", show_bindings}, /* ^X-B */ {"\\^XB", show_bindings}, /* ^X-b */ {"\\^Xb", show_bindings}, *** /tmp/,RCSt1009169 Sun Aug 28 20:13:55 1988 --- fep_util.c Sun Aug 28 18:57:44 1988 *************** *** 2,8 #ifndef lint static char rcsid[]= ! "$Header: fep_util.c,v 4.0 88/08/05 20:22:24 utashiro Rel $ (SRA)"; #endif lint #ifndef MKARGDEBUG --- 2,8 ----- #ifndef lint static char rcsid[]= ! "$Header: fep_util.c,v 4.1 88/08/28 18:57:41 utashiro Exp $ (SRA)"; #endif lint #ifndef MKARGDEBUG *************** *** 341,346 for (len = strlen (from); len >= 0; len--) *(to + len) = *(from + len); } #ifdef KANJI --- 341,376 ----- for (len = strlen (from); len >= 0; len--) *(to + len) = *(from + len); + } + + char *search_string (s, lookup) + char *s, *lookup; + { + int len = strlen (lookup); + enum {SQUOTE, DQUOTE, NORMAL} status = NORMAL; + + while (*s) { + switch (*s) { + case '\'': + if (status == DQUOTE) break; + status = (status == SQUOTE) ? NORMAL : SQUOTE; + break; + + case '\"': + if (status == SQUOTE) break; + status = (status == DQUOTE) ? NORMAL : DQUOTE; + break; + + case '\\': + ++s; + break; + } + if (!*s) break; + if (status == NORMAL && strncmp (s, lookup, len) == 0) + return s; + ++s; + } + return ((char*) 0); } #ifdef KANJI *** /tmp/,RCSt1009179 Sun Aug 28 20:14:03 1988 --- fep_alias.c Sun Aug 28 18:57:21 1988 *************** *** 2,8 #ifndef lint static char rcsid[]= ! "$Header: fep_alias.c,v 4.0 88/08/05 20:22:00 utashiro Rel $ (SRA)"; #endif lint #include <stdio.h> --- 2,8 ----- #ifndef lint static char rcsid[]= ! "$Header: fep_alias.c,v 4.1 88/08/28 18:57:17 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> *************** *** 50,55 if (av = look_alias (argv[0])) { int len = strlen (argv[0]); strcpy (aliased_line, av); strcat (aliased_line, comline + len); --- 50,57 ----- if (av = look_alias (argv[0])) { int len = strlen (argv[0]); + char *cp; + CHAR *ap; *aliased_line = '\0'; ap = aliased_line; *************** *** 51,58 if (av = look_alias (argv[0])) { int len = strlen (argv[0]); ! strcpy (aliased_line, av); ! strcat (aliased_line, comline + len); return (aliased_line); } else --- 53,103 ----- char *cp; CHAR *ap; ! *aliased_line = '\0'; ! ap = aliased_line; ! cp = av; ! for (; *cp; ++cp) { ! ! if (*cp != '!') ! *ap++ = *cp; ! else { ! switch (*(cp + 1)) { ! case '^': ! if (argc > 1) { ! strcpy (ap, argv[1]); ! ap += strlen (argv[1]); ! } ! break; ! ! case '$': ! if (argc > 1) { ! strcpy (ap, argv[argc-1]); ! ap += strlen (argv[argc - 1]); ! } ! break; ! ! case '*': ! { ! int j; ! ! for (j = 1; j < argc; j++) { ! strcpy (ap, " "); ! strcat (ap, argv[j]); ! ap += strlen (argv[j]) + 1; ! } ! break; ! } ! ! default: ! *ap = *cp; ! *++ap = *(cp + 1); ! break; ! } ! cp++; ! } ! } ! *ap = '\0'; ! return (aliased_line); } else *************** *** 142,148 { ALIAS *vp, *last = (ALIAS *)0; ! for (vp = alias_list->al_next, last = alias_list; vp; last = vp, vp = vp->al_next) { int r; r = strcmp (name, vp->al_name); --- 187,194 ----- { ALIAS *vp, *last = (ALIAS *)0; ! for (vp = alias_list->al_next, last = alias_list; ! vp; last = vp, vp = vp->al_next) { int r; r = strcmp (name, vp->al_name); *** /tmp/,RCSt1009189 Sun Aug 28 20:14:07 1988 --- fep_hist.c Sun Aug 28 19:15:10 1988 *************** *** 2,8 #ifndef lint static char rcsid[]= ! "$Header: fep_hist.c,v 4.1 88/08/08 19:24:14 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> --- 2,8 ----- #ifndef lint static char rcsid[]= ! "$Header: fep_hist.c,v 4.2 88/08/28 19:15:08 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> *************** *** 57,62 { char *allocAndCopyThere(); char *prev; if (HistorySize <= 0) return; --- 57,63 ----- { char *allocAndCopyThere(); char *prev; + int slen; if (HistorySize <= 0) return; *************** *** 64,70 CurrentHist = TailOfHist; prev = getYoungestHistory (); if (look_var ("ignore-same-line") && prev && !strcmp (string, prev)) ! return; if (TailOfHist-HistorySize >= TopOfHist) { if (HistoryTable[TopOfHist % HistorySize]) --- 65,73 ----- CurrentHist = TailOfHist; prev = getYoungestHistory (); if (look_var ("ignore-same-line") && prev && !strcmp (string, prev)) ! return; ! if ((slen = lookd_var ("ignore-short-line"))>0 && strlen (string) <= slen) ! return; if (TailOfHist-HistorySize >= TopOfHist) { if (HistoryTable[TopOfHist % HistorySize]) *** /tmp/,RCSt1009199 Sun Aug 28 20:14:13 1988 --- fep_com.c Sun Aug 28 18:57:30 1988 *************** *** 2,8 #ifndef lint static char rcsid[]= ! "$Header: fep_com.c,v 4.4 88/08/23 01:28:55 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> --- 2,8 ----- #ifndef lint static char rcsid[]= ! "$Header: fep_com.c,v 4.6 88/08/28 18:57:22 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> *************** *** 27,34 /* * Check command line if it call built-in function or not and execute it */ ! executeBuiltInFunction (line) ! char *line; { register FunctionTableEnt *ftp; int argc; --- 27,34 ----- /* * Check command line if it call built-in function or not and execute it */ ! executeBuiltInFunction (comline, more) ! char *comline, **more; { register FunctionTableEnt *ftp; char linebuf[MAXCOMLEN], *line; *************** *** 31,36 char *line; { register FunctionTableEnt *ftp; int argc; /* --- 31,38 ----- char *comline, **more; { register FunctionTableEnt *ftp; + char linebuf[MAXCOMLEN], *line; + char *search_string(); int argc; /* *************** *** 36,43 /* * Skip white space. */ ! while (isspace (*line)) ! line++; /* * Skip comment and blank line */ --- 38,59 ----- /* * Skip white space. */ ! while (isspace (*comline)) ! comline++; ! ! line = linebuf; ! strcpy (line, comline); ! ! if (more) { ! if (*more = search_string (comline, ";;")) { ! *(line + (*more - comline)) = '\0'; ! *more += 2; ! } ! else { ! *more = (char*) 0; ! } ! } ! /* * Skip comment and blank line */ *************** *** 333,338 } extern int Transparency; extern struct sgttyb slave_ttymode; extern struct sgttyb master_ttymode; extern int master, slave; --- 349,355 ----- } extern int Transparency; + extern int Through; extern struct sgttyb slave_ttymode; extern struct sgttyb master_ttymode; extern int master, slave; *************** *** 345,351 * But this Transparency is set automaticaly by getcharacter() routine, * if the variable auto-tty-fix is ON. */ ! toggle_transparency() { int r; int slave_fd; --- 362,368 ----- * But this Transparency is set automaticaly by getcharacter() routine, * if the variable auto-tty-fix is ON. */ ! toggle_through() { int r; int slave_fd; *************** *** 351,357 int slave_fd; struct sgttyb s; ! if (Transparency == OFF) { slave_fd = open (slave_tty, O_WRONLY); if (slave_fd < 0) { --- 368,374 ----- int slave_fd; struct sgttyb s; ! if (Through == OFF) { slave_fd = open (slave_tty, O_WRONLY); if (slave_fd < 0) { *************** *** 382,388 return; } ! Transparency = !Transparency; } /* --- 399,405 ----- return; } ! Through = !Through; } /* *************** *** 393,398 int r; struct sgttyb s; if (slave < 0) return; --- 410,418 ----- int r; struct sgttyb s; + if (Through) + return; + if (slave < 0) return; *************** *** 711,717 perror (argv[1]); return; } - printf ("Working directory has been changed to \"%s\"\n", argv[1]); } fep_pwd (line) --- 731,736 ----- perror (argv[1]); return; } } fep_pwd (line) *************** *** 851,857 while (fgets (line, 256, fp)) { i++; ! if (executeBuiltInFunction (line) == NOT_PROCESSED) { char *cp = line; while (isspace (*cp)) --- 870,876 ----- while (fgets (line, 256, fp)) { i++; ! if (executeBuiltInFunction (line, 0) == NOT_PROCESSED) { char *cp = line; while (isspace (*cp)) *************** *** 858,864 cp++; strcpy (line2, "fep-"); strcat (line2, cp); ! if (executeBuiltInFunction (line2) == NOT_PROCESSED) { printf ("\"%s\", line %d: cannot be executed\n", file, i); printf (">>> %s", line); } --- 877,883 ----- cp++; strcpy (line2, "fep-"); strcat (line2, cp); ! if (executeBuiltInFunction (line2, 0) == NOT_PROCESSED) { printf ("\"%s\", line %d: cannot be executed\n", file, i); printf (">>> %s", line); } *** /tmp/,RCSt1009209 Sun Aug 28 20:14:24 1988 --- fep_edit.c Sun Aug 28 18:57:40 1988 *************** *** 2,8 #ifndef lint static char rcsid[]= ! "$Header: fep_edit.c,v 4.2 88/08/16 18:23:46 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> --- 2,8 ----- #ifndef lint static char rcsid[]= ! "$Header: fep_edit.c,v 4.4 88/08/28 18:57:32 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> *************** *** 29,34 int NeedNewLine; /* add new line flag */ int NeedSave; /* need to save to history */ int Transparency = OFF; /* transparent flag */ int eof_occured = 0; /* eof has been occured */ jmp_buf jbuf; /* jump buffer */ --- 29,35 ----- int NeedNewLine; /* add new line flag */ int NeedSave; /* need to save to history */ int Transparency = OFF; /* transparent flag */ + int Through = OFF; /* through flag */ int eof_occured = 0; /* eof has been occured */ jmp_buf jbuf; /* jump buffer */ *************** *** 54,60 /* ^P */ {"\\^P", previous_history}, /* ^T */ {"\\^T", previous_history}, /* ^Y */ {"\\^Y", yank_from_kill_buffer}, ! /* ^^ */ {"\\^^", toggle_transparency}, /* esc-b */ {"\\^[b", backward_word}, /* esc-B */ {"\\^[B", backward_Word}, /* esc-d */ {"\\^[d", delete_next_word}, --- 55,61 ----- /* ^P */ {"\\^P", previous_history}, /* ^T */ {"\\^T", previous_history}, /* ^Y */ {"\\^Y", yank_from_kill_buffer}, ! /* ^^ */ {"\\^^", toggle_through}, /* esc-b */ {"\\^[b", backward_word}, /* esc-B */ {"\\^[B", backward_Word}, /* esc-d */ {"\\^[d", delete_next_word}, *************** *** 66,72 /* esc-l */ {"\\^[l", list_file_name}, /* esc-L */ {"\\^[L", list_file_name}, /* esc-esc */ {"\\^[\\^[", expand_file_name}, ! /* esc-"-" */ {"\\^[-", toggle_transparency}, /* esc-_ */ {"\\^[_", invoke_shell}, /* esc-< */ {"\\^[<", search_reverse}, /* esc-> */ {"\\^[>", search_forward}, --- 67,73 ----- /* esc-l */ {"\\^[l", list_file_name}, /* esc-L */ {"\\^[L", list_file_name}, /* esc-esc */ {"\\^[\\^[", expand_file_name}, ! /* esc-"-" */ {"\\^[-", toggle_through}, /* esc-_ */ {"\\^[_", invoke_shell}, /* esc-< */ {"\\^[<", search_reverse}, /* esc-> */ {"\\^[>", search_forward}, *************** *** 217,222 { int c; CHAR *execute_command, *check_alias(); (void) strcpy (CommandLine, ""); CurrentPosition = 0; --- 218,225 ----- { int c; CHAR *execute_command, *check_alias(); + char *remained; + int processed; (void) strcpy (CommandLine, ""); CurrentPosition = 0; *************** *** 227,232 NeedNewLine = 0; NeedSave = 0; editstatus = EDITING; setjmp (jbuf); /* --- 230,236 ----- NeedNewLine = 0; NeedSave = 0; editstatus = EDITING; + processed = 0; setjmp (jbuf); /* *************** *** 265,272 /* * In transparet mode */ ! if (Transparency == ON) { ! if (*curFuncTab[(int) c] == toggle_transparency || *curFuncTab[(int) c] == fix_transparency) { (*curFuncTab[(int) c])(); goto RETRY; --- 269,276 ----- /* * In transparet mode */ ! if (Through == ON || Transparency == ON) { ! if (*curFuncTab[(int) c] == toggle_through || *curFuncTab[(int) c] == fix_transparency) { (*curFuncTab[(int) c])(); goto RETRY; *************** *** 309,314 } editstatus = NOTEDITING; /* * Check command line refer history or not */ --- 313,320 ----- } editstatus = NOTEDITING; + REPROCESS: + /* * Check command line refer history or not */ *************** *** 318,324 /* * Check alias list */ ! if (!look_var ("noalias") && (execute_command = check_alias (CommandLine)) ) { if (look_var ("verbose")) --- 324,330 ----- /* * Check alias list */ ! if (!processed && !look_var ("noalias") && (execute_command = check_alias (CommandLine)) ) { if (look_var ("verbose")) *************** *** 331,338 /* * Check builtin function, and execute it. */ ! if (executeBuiltInFunction (execute_command) == PROCESSED) { ! addHistory (CommandLine); CommandLine[0] = '\0'; CurrentPosition = 0; if (!redirect_fp) --- 337,345 ----- /* * Check builtin function, and execute it. */ ! if (executeBuiltInFunction (execute_command, &remained) == PROCESSED) { ! if (!processed) ! addHistory (CommandLine); CommandLine[0] = '\0'; CurrentPosition = 0; if (remained && *remained) { *************** *** 335,340 addHistory (CommandLine); CommandLine[0] = '\0'; CurrentPosition = 0; if (!redirect_fp) fputs (prompt, stdout); goto RETRY; --- 342,352 ----- addHistory (CommandLine); CommandLine[0] = '\0'; CurrentPosition = 0; + if (remained && *remained) { + strcpy (CommandLine, remained); + processed = 1; + goto REPROCESS; + } if (!redirect_fp) fputs (prompt, stdout); goto RETRY; *************** *** 342,348 if (NeedSave) { if (!is_empty_line (CommandLine) || !look_var ("ignore-empty-line")) ! addHistory (CommandLine); /* * put string to buffer */ --- 354,361 ----- if (NeedSave) { if (!is_empty_line (CommandLine) || !look_var ("ignore-empty-line")) ! if (!processed) ! addHistory (CommandLine); /* * put string to buffer */ *** /tmp/,RCSt1009223 Sun Aug 28 20:14:33 1988 --- fep_glob.h Sun Aug 28 14:36:43 1988 *************** *** 2,8 #ifndef lint # define FEP_GLOB \ ! "$Header: fep_glob.h,v 4.0 88/08/05 20:21:55 utashiro Rel $ (SRA)" #endif lint extern FUNC *curFuncTab; /* function table */ --- 2,8 ----- #ifndef lint # define FEP_GLOB \ ! "$Header: fep_glob.h,v 4.1 88/08/28 14:36:41 utashiro Exp $ (SRA)" #endif lint extern FUNC *curFuncTab; /* function table */ *************** *** 18,23 extern int auto_tty_fix; /* fix tty mode automatically */ extern int tty_fix_bell; /* ring bell when tty mode is changed */ extern int Transparency; /* transparent flag */ extern EDITSTATUS editstatus; /* edit status */ extern BUFFER *output_buffer; /* output buffer */ --- 18,24 ----- extern int auto_tty_fix; /* fix tty mode automatically */ extern int tty_fix_bell; /* ring bell when tty mode is changed */ extern int Transparency; /* transparent flag */ + extern int Through; /* through flag */ extern EDITSTATUS editstatus; /* edit status */ extern BUFFER *output_buffer; /* output buffer */ *** /tmp/,RCSt1009233 Sun Aug 28 20:14:37 1988 --- fep_funcs.h Sun Aug 28 14:36:40 1988 *************** *** 2,8 #ifndef lint # define FEP_FUNCS \ ! "$Header: fep_funcs.h,v 4.2 88/08/16 18:24:03 utashiro Exp $ (SRA)" #endif lint /* --- 2,8 ----- #ifndef lint # define FEP_FUNCS \ ! "$Header: fep_funcs.h,v 4.3 88/08/28 14:36:39 utashiro Exp $ (SRA)" #endif lint /* *************** *** 48,54 int send_eof(); int show_bindings(); int show_history(); ! int toggle_transparency(); int fix_transparency(); int yank_from_kill_buffer(); int invoke_shell(); --- 48,54 ----- int send_eof(); int show_bindings(); int show_history(); ! int toggle_through(); int fix_transparency(); int yank_from_kill_buffer(); int invoke_shell(); *** /tmp/,RCSt1009247 Sun Aug 28 20:14:42 1988 --- fep_main.c Sun Aug 28 14:36:53 1988 *************** *** 2,8 #ifndef lint static char rcsid[]= ! "$Header: fep_main.c,v 4.2 88/08/16 18:22:25 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> --- 2,8 ----- #ifndef lint static char rcsid[]= ! "$Header: fep_main.c,v 4.3 88/08/28 14:36:44 utashiro Exp $ (SRA)"; #endif lint #include <stdio.h> *************** *** 320,326 /* * Write to script file. */ ! if (Transparency == OFF && script_fp) fwrite (inputline, sizeof(CHAR), strlen (inputline), script_fp); } terminate (); --- 320,326 ----- /* * Write to script file. */ ! if (Through == OFF && Transparency == OFF && script_fp) fwrite (inputline, sizeof(CHAR), strlen (inputline), script_fp); } terminate (); *************** *** 443,449 * if character remained in FILE buffer, control goes to RETURNCHAR * label. */ ! if (auto_tty_fix) (void) fix_transparency (); #endif --- 443,449 ----- * if character remained in FILE buffer, control goes to RETURNCHAR * label. */ ! if (Through == OFF && auto_tty_fix) (void) fix_transparency (); #endif *** /tmp/,RCSt1009257 Sun Aug 28 20:14:47 1988 --- Makefile Sun Aug 28 18:56:23 1988 *************** *** 1,7 # # Copyright (c) 1987, 1988 by Software Research Associates, Inc. # ! # $Header: Makefile,v 4.1 88/08/08 19:22:26 utashiro Exp $ # # Options: # KANJI: SHIFT-JIS kanji code handling on ASCII KANJI UNIX --- 1,7 ----- # # Copyright (c) 1987, 1988 by Software Research Associates, Inc. # ! # $Header: Makefile,v 4.2 88/08/28 18:56:16 utashiro Exp $ # # Options: # KANJI: SHIFT-JIS kanji code handling on ASCII KANJI UNIX *************** *** 38,43 install: $(TARGET) install -s $(TARGET) $(INSTDIR) install -c fep.1 /usr/man/manl/fep.l README.jis: README jcat -IJ README > $@ --- 38,47 ----- install: $(TARGET) install -s $(TARGET) $(INSTDIR) install -c fep.1 /usr/man/manl/fep.l + + fep.1: fep.jman + sed -e '/^\.EG/d' -e '/^\.JP/,/^\.EJ/d' -e '/^\.\\"KS/,/^\.\\"KE/d' \ + -e '/^\.\\"K/d' fep.jman > $@ README.jis: README jcat -IJ README > $@ *** /tmp/,RCSt1009267 Sun Aug 28 20:14:51 1988 --- fep.1 Sun Aug 28 19:14:58 1988 *************** *** 1,5 .\" Copyright (c) 1987, 1988 by Software Research Associates, Inc. ! .\" $Header: fep.1,v 4.2 88/08/16 18:22:50 utashiro Exp $ .TH FEP 1L "5 Aug 1988" "SRA Distribution" .SH NAME fep \(em general purpose front end processor --- 1,6 ----- .\" Copyright (c) 1987, 1988 by Software Research Associates, Inc. ! .\" $Header: fep.1,v 4.4 88/08/28 19:14:44 utashiro Exp $ ! .\"---------------------------------------- .TH FEP 1L "5 Aug 1988" "SRA Distribution" .SH NAME fep \(em general purpose front end processor *************** *** 145,150 The second form prints the alias for \fIname\fP. The last form set the alias for \fIname\fP to \fIstring\fP. .PP If you use .I fep without \fIauto-tty-fix\fP, following alias could be usefull. --- 146,165 ----- The second form prints the alias for \fIname\fP. The last form set the alias for \fIname\fP to \fIstring\fP. .PP + You can refer arguments in command line by !^, !$, !*; they stand for + first, last, all arguments correspondingly. + .PP + To specify multiple commands in one alias, command should be separated + by ``;;'' string. For example, next description will allow you to + execute \fIfep-cd\fP then pass cd command to shell when input ``cd'' + command. + .if t .sp .3v + .if n .sp 1 + \h'\w'MMMMM'u'fep-alias\ cd\ 'fep-cd !$;; cd !$' + .if t .sp .3v + .if n .sp 1 + Note: \fIFep\fP built-in functions must be defined before normal commands. + .PP If you use .I fep without \fIauto-tty-fix\fP, following alias could be usefull. *************** *** 214,229 Kill the sub-process and exit. .PP .IP \fBfep-suspend\fP ! Suspend ! .I fep ! itself. ! In the unlikely possibility that ! .I fep ! falls into a dead-lock in which ! the sub-processes have stopped but ! .I fep ! is still running, ! use one of these commands to escape from the situation. .PP .nf \fBfep-read-from-file\fP \fIfile\fP --- 229,238 ----- Kill the sub-process and exit. .PP .IP \fBfep-suspend\fP ! Suspend \fIfep\fP itself. In the unlikely possibility that \fIfep\fP ! falls into a dead-lock in which the sub-processes have stopped but ! \fIfep\fP is still running, use this command to escape from ! the situation. .PP .nf \fBfep-read-from-file\fP \fIfile\fP *************** *** 281,287 Only four control structures are supported but that seems enough. .I Expression allows only the two operators "==" and "!=". - .ce 0 Variables can be referenced by prefixing with the "$" character. .RE .RE --- 290,295 ----- Only four control structures are supported but that seems enough. .I Expression allows only the two operators "==" and "!=". Variables can be referenced by prefixing with the "$" character. .RE .RE *************** *** 392,397 .IP "\fBignore-same-line\fP default: on" If this variable is set, command lines identical to the previous command line are not saved to the history file. .\"@@@@@ .IP "\fBnoalias\fP default: off" --- 400,410 ----- .IP "\fBignore-same-line\fP default: on" If this variable is set, command lines identical to the previous command line + are not saved to the history file. + .\"@@@@@ + .IP "\fBignore-same-line\fP default: on" + If this variable is set, + command lines which is shorter than this value are not saved to the history file. .\"@@@@@ .IP "\fBnoalias\fP default: off" *** /tmp/,RCSt1009295 Sun Aug 28 20:15:10 1988 --- feprc.sample Sun Aug 28 20:12:54 1988 *************** *** 1,4 # # This is a sample .feprc file. # --- 1,5 ----- # + # $Header: feprc.sample,v 4.2 88/08/28 20:12:48 utashiro Exp $ # This is a sample .feprc file. # *************** *** 18,23 set delimiters=" \"';&<>()|^%" set auto-repaint set clear-repaint if $editmode == vi fep-bind list-file-name "\^D" --- 19,26 ----- set delimiters=" \"';&<>()|^%" set auto-repaint set clear-repaint + alias cd 'fep-cd !$;;cd !$' + alias chdir 'fep-cd !$;;cd !$' if $editmode == vi fep-bind list-file-name "\^D"