/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1984-2011 AT&T Intellectual Property *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* David Korn <dgk@research.att.com> *
* Pat Sullivan *
* *
***********************************************************************/
/*
* edit.h - common data structure for vi and emacs edit options
*
* David Korn
* AT&T Bell Laboratories
* Room 3C-526B
* Murray Hill, N. J. 07974
* Tel. x7975
*
*/
#ifndef KSHELL
# include <setjmp.h>
# include <signal.h>
# include <ctype.h>
#endif /* KSHELL */
#ifdef VENIX
#else
#endif /* VENIX */
#ifdef MULTIBYTE
# ifndef ESS_MAXCHAR
# include "national.h"
# endif /* ESS_MAXCHAR */
# if ESS_MAXCHAR<=2
typedef unsigned short genchar;
# else
typedef long genchar;
# endif
#else
typedef char genchar;
#endif /* MULTIBYTE */
struct edit
{
int e_kill;
int e_erase;
int e_eof;
int e_fchar;
int e_repeat;
int e_saved;
#ifndef KSHELL
#endif /* KSHELL */
};
#define NO 0
#if ( 'a' == 97) /* ASCII? */
#else
(c=='I'?'\t':(c=='J'?'\n':(c=='T'?60:(c=='U'?61:(c=='V'?50: \
(c=='W'?38:(c=='Z'?63:(c=='['?39:(c==']'?29: \
(c<'J'?c+1-'A':(c+10-'J'))))))))))))))))
#endif
#ifndef KSHELL
extern char opt_flag;
# ifdef SYSCALL
# else
# endif /* SYSCALL */
#endif /* KSHELL */
#ifdef PROTO
extern void ed_crlf(void);
extern void ed_putchar(int);
extern void ed_ringbell(void);
extern void ed_setup(int);
extern void ed_failed(char*,char*);
extern void ed_flush(void);
extern int ed_getchar(void);
extern int ed_window(void);
extern void ed_ungetchar(int);
extern int vi_read(int, char*, unsigned);
extern int emacs_read(int, char*, unsigned);
# ifdef KSHELL
extern int ed_macro(int);
extern int ed_expand(char[],int*,int*,int);
# endif /* KSHELL */
#else
extern void ed_crlf();
extern void ed_putchar();
extern void ed_ringbell();
extern void ed_setup();
extern void ed_failed();
extern void ed_flush();
extern int ed_getchar();
extern int ed_virt_to_phys();
extern int ed_window();
extern void ed_ungetchar();
# ifdef KSHELL
extern int ed_macro();
extern int ed_expand();
# endif /* KSHELL */
#endif /* PROTO */
extern const char e_runvi[];
#ifndef KSHELL
extern const char e_version[];
#endif /* KSHELL */