$NetBSD: patch-am,v 1.5 2006/01/17 21:23:01 kristerw Exp $ --- fep_vi.c.orig 1991-05-29 01:31:27.000000000 -0400 +++ fep_vi.c 2005-12-10 16:59:27.000000000 -0500 @@ -6 +6 @@ -#endif lint +#endif /* lint */ @@ -7,5 +7,15 @@ #include +#include +#ifdef TERMIOS +#include +#ifdef __linux__ +#ifndef _POSIX_VDISABLE +#define _POSIX_VDISABLE '\0' +#endif +#endif +#else #include +#endif #include #include "fep_defs.h" @@ -107,7 +117,7 @@ /* ^X-^V */ {"\\^X\\^V", view_buffer}, /* ^X-^X */ {"\\^X\\^X", expand_file_name}, /* ^X-? */ {"\\^X?", show_bindings}, - /* ^X-^C */ {"\\^X\\^C", terminate}, + /* ^X-^C */ {"\\^X\\^C", (FUNC)terminate}, /* ^X-^D */ {"\\^X\\^D", send_eof}, /* ^X-( */ {"\\^X(", fep_start_script}, /* ^X-) */ {"\\^X)", fep_end_script}, @@ -138,7 +148,7 @@ /* ^X-^L */ {"\\^X\\^L", fep_repaint}, /* ^X-^X */ {"\\^X\\^X", expand_file_name}, /* ^X-? */ {"\\^X?", show_bindings}, - /* ^X-^C */ {"\\^X\\^C", terminate}, + /* ^X-^C */ {"\\^X\\^C", (FUNC)terminate}, /* ^X-^D */ {"\\^X\\^D", send_eof}, /* ^X-^V */ {"\\^X\\^V", view_buffer}, /* ^X-( */ {"\\^X(", fep_start_script}, @@ -161,7 +171,29 @@ cft[i] = self_insert; #define import(table,key,fn) if((int)key>0)table[(int)key]=fn - +#ifdef TERMIOS + /* Now, using cbreak mode + import (cft, initial_ttymode.c_cc[VSTART], ignore); + import (cft, initial_ttymode.c_cc[VSTOP], ignore); + */ + import (cft, initial_ttymode.c_cc[VINTR], insert_and_flush); + import (aft, initial_ttymode.c_cc[VINTR], insert_and_flush); + import (cft, initial_ttymode.c_cc[VQUIT], insert_and_flush); + import (cft, initial_ttymode.c_cc[VEOF], send_eof); +#ifdef VSWTC + import (cft, initial_ttymode.c_cc[VSWTC], insert_and_flush); +#endif + import (cft, initial_ttymode.c_cc[VSUSP], insert_and_flush); +#ifdef VDSUSP + import (cft, initial_ttymode.c_cc[VDSUSP], self_insert); +#endif + import (cft, initial_ttymode.c_cc[VREPRINT], reprint); + import (cft, initial_ttymode.c_cc[VDISCARD], self_insert); + import (cft, initial_ttymode.c_cc[VWERASE], delete_previous_word); + import (cft, initial_ttymode.c_cc[VLNEXT], literal_next); + import (cft, initial_ttymode.c_cc[VERASE], delete_previous_character); + import (cft, initial_ttymode.c_cc[VKILL], delete_line); +#else /* Now, using cbreak mode import (cft, tchars_buf.t_startx, ignore); import (cft, tchars_buf.t_stopc, ignore); @@ -179,6 +211,7 @@ import (cft, ltchars_buf.t_lnextc, literal_next); import (cft, initial_ttymode.sg_erase, delete_previous_character); import (cft, initial_ttymode.sg_kill, delete_line); +#endif #undef import