Logo Search packages:      
Sourcecode: aee version File versions  Download package


 |    aee.h
 |    $Header: /home/hugh/sources/aee/RCS/aee.h,v 1.42 2002/07/10 04:46:36 hugh Exp $
 |    Copyright (c) 1986 - 1988, 1991 - 1996, 1999, 2000, 2001 Hugh Mahon.

#include <signal.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <string.h>
#include <pwd.h>
#include <limits.h>

#include <sys/wait.h>

#include <stdlib.h>

#include <stdarg.h>

#include <unistd.h>

#ifdef HAS_CTYPE
#include <ctype.h>

extern int eightbit;          /* eight bit character flag         */

#ifndef XAE
#ifdef NCURSE
#include "new_curse.h"
#include <curses.h>
#else /* ifdef XAE      */
#ifdef xae11
#include "Xcurse.h"
#include "X10curse.h"
#endif      /* xae11 */
#endif      /* XAE */

extern struct stat buf;

#ifndef XAE
#ifdef SYS5             /* System V specific tty operations */
extern struct termio old_term;
extern struct termio new_term;
#include <fcntl.h>
extern struct sgttyb old_term;
extern struct sgttyb new_term;
#endif      /* XAE */

#ifndef SIGCHLD

#define TAB 9

#ifdef NAME_MAX
#define MAX_NAME_LEN 15
#endif      /* NAME_MAX */

#ifndef NO_CATGETS
#include <locale.h>
#include <nl_types.h>

extern nl_catd catalog;
#define catgetlocal(a, b) (b)
#endif /* NO_CATGETS */

#ifndef max
#define max(a, b) ((a) > (b) ? (a) : (b))
#endif /* max */

#ifndef min
#define min(a, b) ((a) < (b) ? (a) : (b))
#endif /* min */

#define Mark 1    /* mark text (don't keep previous paste buffer contents)  */
#define Append 2  /* place new text into paste buffer after contents  */
#define Prefix 3  /* place new text into paste buffer before contents */

extern int errno;

#define NO_FURTHER_LINES 0x0 /* indicates end of data, since offset 
                        will never be zero in journal file (file name 
                        is written there, not data)      */

00109 struct ae_file_info {               /* info about line in journal file */
      unsigned long info_location;  /* location of this info in file*/
      unsigned long prev_info;      /* info for previous line     */
      unsigned long next_info;      /* info for next line         */
      unsigned long line_location;  /* actual data in line        */
      /* use length of line in bytes from the text data structure below */

00117 struct text {
      char *line;             /* line of characters         */
      int line_number;        /* line number                */
      int line_length;  /* actual number of characters in the line 
                                 (includes NULL at end of line) */
      int max_length; /* maximum number of characters the line handles */
      int vert_len;     /* number of lines the current line occupies on the screen */
      struct text *next_line;       /* next line of text          */
      struct text *prev_line;       /* previous line of text      */
      struct ae_file_info file_info;
      char changed;           /* flag indicating info in line changed */

extern struct text *first_line;     /* first line of current buffer           */
extern struct text *dlt_line; /* structure for info on deleted line     */
extern struct text *curr_line;      /* current line cursor is on        */
extern struct text *fpste_line;     /* first line of select buffer            */
extern struct text *cpste_line;     /* current paste/select line        */
extern struct text *paste_buff;     /* first line of paste buffer       */
extern struct text *pste_tmp; /* temporary paste pointer          */
extern struct text *tmp_line; /* temporary line pointer           */
extern struct text *srch_line;      /* temporary pointer for search routine */

00141 struct files {          /* structure to store names of files to be edited*/
      char *name;       /* name of file                     */
      struct files *next_name;

extern struct files *top_of_stack;

00148 struct bufr {                 /* structure for names of buffers   */
      char *name;       /* name of buffer             */
      struct text *first_line;/* pointer to first line of buffer  */
      struct bufr *next_buff; /* pointer to next record           */
      struct text *curr_line; /* pointer to the current line in buffer*/
      int scr_vert;           /* the last vertical value of buffer      */
      int scr_horz;           /* the last horizontal value in buffer    */
      int scr_pos;            /* horizontal offset from start of line   */
      int position;           /* the last value of position in buffer */
      int abs_pos;            /* 'absolute' horizontal position   */
      char *pointer;          /* the last value of point in buffer      */
      WINDOW *win;            /* the window pointer for buffer    */
      WINDOW *footer;         /* window containing name of window */
      int lines;        /* number of lines                  */
      int last_line;          /* last line visible in window            */
      int last_col;           /* last column visible in the window      */
      int num_of_lines; /* number of lines of text total in buffer  */
      int absolute_lin; /* number of lines from top         */
      int window_top;   /* # of lines top of window is from top of screen  */
      int journ_fd;           /* file descriptor for journal file */
      char journalling; /* flag indicating if journalling active 
                                          for this buffer */
      char *journal_file;     /* name of journal file for this buffer   */
      char *file_name;  /* name of file being edited        */
      char *full_name;  /* full name of file being edited   */
      char changed;           /* contents of the buffer have changed    */
      char *orig_dir;         /* original directory where edit started */
      char main_buffer; /* true if this is the first buffer       */
      char edit_buffer; /* true if created as a result of edit cmd */
      char dos_file;          /* true if file uses (or is to use) CR/LF 
                           instead of just LF as line terminator   */
      struct stat fileinfo;   /* information about the file obtained 
                           using stat(2)              */

extern struct bufr *first_buff;     /* first buffer in list             */
extern struct bufr *curr_buff;      /* pointer to current buffer        */
extern struct bufr *t_buff;   /* temporary pointer for buffers    */

00187 struct tab_stops {            /* structure to store tab stops           */
      int column;       /* column for tab             */
      struct tab_stops *next_stop;

extern struct tab_stops *tabs;

00194 struct del_buffs {
      int flag;
      char character;
      char *string;
      int length;
      struct del_buffs *prev;
      struct del_buffs *next;

 |    structure for mapping journal files to file names

00207 struct journal_db {
      char *file_name;
      char *journal_name;
      struct journal_db *next;

extern struct del_buffs *undel_first;
extern struct del_buffs *undel_current;

extern WINDOW *com_win;       /* command window             */
extern WINDOW *help_win;      /* window for help facility         */
extern int windows;           /* flag for windows or no windows   */
extern WINDOW *info_win;

extern int lines_moved;       /* number of lines moved in search  */
extern int d_wrd_len;         /* length of deleted word           */
extern int value;       /* temporary integer value          */
extern int tmp_pos;           /* temporary position               */
extern int tmp_vert;          /* temporary vertical position            */
extern int tmp_horz;          /* temporary horizontal position    */
extern int repl_length;       /* length of string to replace            */
extern int pst_pos;           /* position in cpste_line->line           */
extern int gold_count;        /* number of times to execute pressed key */
extern int fildes;            /* file descriptor                  */
extern int get_fd;            /* get file descriptor              */
extern int write_fd;          /* write file descriptor            */
extern int num_of_bufs;       /* the number of buffers that exist */
extern int temp_stdin;        /* temporary storage for stdin            */
extern int temp_stdout;       /* temp storage for stdout descriptor     */
extern int temp_stderr;       /* temp storage for stderr descriptor     */
extern int pipe_out[2];       /* pipe file desc for output        */
extern int pipe_in[2];        /* pipe file descriptors for input  */
extern int line_wrap;         /* should line extend forever?            */
extern int right_margin;      /* right margin   (if observ_margins = TRUE) */
extern int left_margin;       /* left margin                      */
extern int info_type;
extern int info_win_height;
extern int local_LINES; /* copy of LINES, to detect when win resizes    */
extern int local_COLS;  /* copy of COLS, to detect when win resizes     */
extern int bit_bucket;  /* file descriptor to /dev/null                 */
extern int tab_spacing; /* spacing for tabs                       */

 |    boolean flags

extern char mark_text;        /* flag to indicate if MARK is active     */
extern char journ_on;         /* flag for journaling              */
extern char input_file;       /* indicate to read input file            */
extern char recv_file;        /* indicate reading a file          */
extern char edit;       /* continue executing while true    */
extern char gold;       /* 'gold' function key pressed            */
extern char recover;          /* set true if recover operation to occur */
extern char case_sen;         /* case sensitive search flag       */
extern char change;           /* indicate changes have been made to file*/
extern char go_on;            /* loop control for help function   */
extern char clr_cmd_line;     /* flag set to clear command line   */
extern char literal;          /* is search string to be interpreted literally? */
extern char forward;    /* if TRUE, search after cursor, else search before cursor */
extern char echo_flag;        /* allow/disallow echo in init file */
extern char status_line;      /* place status info in the bottom line   */
extern char overstrike;       /* overstrike / insert mode flag    */
extern char indent;           /* auto-indent mode flag            */
extern char expand;           /* expand tabs flag                 */
extern char shell_fork;
extern char out_pipe;         /* flag that info is piped out            */
extern char in_pipe;          /* flag that info is piped in       */
extern char observ_margins;   /* should margins be observed       */
extern char right_justify;    /* justify right margin when formatting */
extern char free_d_line;      /* free d_line (already freed from del list) */
extern char free_d_word;      /* free d_word (already freed from del list) */
extern char info_window;      /* is info window displayed?        */
extern char auto_format;      /* automatically format paragraph   */
extern char formatted;        /* has paragraph been formatted?    */
extern char window_resize;    /* flag to indicate a resize has occurred */
extern char change_dir_allowed;     /* flag to indicate if chdir is allowed */
extern char restricted;       /* flag to indicate restricted mode */
extern char com_win_initialized;
extern char text_only;        /* editor is to treat file being read as 
                           text only (not a binary file)    */
extern char ee_mode_menu;     /* make main menu look more like ee's     */

#define CHAR_DELETED 1
#define WORD_DELETED 3
#define LINE_DELETED 4

extern long mask;       /* mask for sigblock                */
#ifdef XAE
extern int win_width;         /* width and height of edit session window */
extern int win_height;
extern char *xsrch_string;
extern char *xold_string;
extern char *xnew_string;
extern Window testwin;

extern char in_string[513];   /* input buffer string              */
extern char *pst_line;        /* start of paste line              */
extern char *pst_pnt;         /* current position within paste line     */
extern char *pste1;           /* temporary pointers for cut/paste ops */
extern char *pste2;
extern char *pste3;
extern char *old_string;      /* old string to be replaced        */
extern char *u_old_string;    /* upper case verson of old_string  */
extern char *new_string;      /* new string to insert instead of old    */
extern char *srch_str;        /* pointer for search string        */
extern char *u_srch_str;      /* pointer to non-case sensitive search */
extern char *in_file_name;    /* name of input file and path            */
extern char *short_file_name; /* name of input file only          */
extern char *journ;           /* name of journal file             */
extern char *journal_dir;     /* name of journal directory        */
extern char *out_file;        /* name of output file if not input file*/
extern char *tmp_file;        /* temporary file name              */
extern char d_char;           /* deleted character                */
extern char *d_word;          /* deleted word                     */
extern char *d_line;          /* deleted line                     */
extern char *term_type;       /* type of terminal being used            */
extern char *help_line;       /* input line for help facility           */
extern char *sline;           /* temporary line pointer for help fac    */
extern char *subject;         /* subject user wants to learn about      */
extern char *start_of_string; /* start of search string           */
extern char match_char;       /* character found by search for match    */
extern char in_buff_name[128];      /* input buffer name                */
extern char out_buff_name[128];     /* output buffer name               */
extern char *start_at_line;   /* move to this line at start of session*/
extern char *print_command;   /* string to hold command for printing file */
extern char nohighlight;

extern char *ctr[32];         /* control key strings              */
extern char ctr_changed[32];  /* control key strings changed flags      */
extern char *g_ctr[32];       /* gold control key strings         */
extern char g_ctr_changed[32];      /* gold control key strings changed       */
extern char *f[64];           /* function key strings             */
extern char f_changed[64];    /* function key strings             */
extern char *g_f[64];         /* gold function key strings        */
extern char g_f_changed[64];  /* gold function key strings        */
extern char *ctrl_table[];
extern char *keypads[5];      /* keypad keys from terminfo        */
extern char *g_keypads[5];    /* keypad keys from terminfo        */
extern char *ctrl_table[];

extern int in;                /* input character                  */

extern FILE *fp;        /* file pointer for input           */
extern FILE *outp;            /* pointer for output file          */
extern FILE *temp_fp;         /* temporary file pointer           */
extern FILE *get_fp;          /* read file pointer                */
extern FILE *write_fp;        /* write file pointer               */

#define MAX_HELP_LINES  15
#define MAX_HELP_COLS   129

extern char info_data[MAX_HELP_LINES][MAX_HELP_COLS];

00362 struct edit_keys {
      char *macro;
      char *description;
      short fkey, gfkey, ckey, gckey;

extern struct edit_keys assignment[];

#define gold_key_index 65

#define READ_FILE 1
#define WRITE_FILE 2
#define SAVE_FILE 3

 |    The following structure allows menu items to be flexibly declared.
 |    The first item is the string describing the selection, the second 
 |    is the address of the procedure to call when the item is selected,
 |    and the third is the argument for the procedure.
 |    The first menu item will be the title of the menu, with NULL 
 |    parameters for the procedure and argument, followed by the menu items.
 |    If the 'argument' value for the menu title is 1 (MENU_WARN) the 
 |    menu is to be used to display info to the user (the message about 
 |    using Escape is not displayed).
 |    If the procedure value is NULL, the menu item is displayed, but no 
 |    procedure is called when the item is selected.  The number of the 
 |    item will be returned.  If the sixth (argument) parameter is -1, no 
 |    argument is given to the procedure when it is called.

#if defined(__STDC__) || defined(__cplusplus)
#define P_(s) s
#define P_(s) ()

#define MENU_WARN 1

00404 struct menu_entries {
      char *item_string;
      int (*procedure)P_((struct menu_entries *));
      struct menu_entries *ptr_argument;
      int (*iprocedure)P_((int));
      void (*nprocedure)P_((void));
      unsigned int argument;

#undef P_
 |    allocate space here for the strings that will be in the menu

extern struct menu_entries modes_menu[];
extern int modes_initialized;

#define NUM_MODES_ITEMS 19

extern char *mode_strings[NUM_MODES_ITEMS];

extern struct menu_entries config_dump_menu[];
extern struct menu_entries leave_menu[];
extern struct menu_entries leave_menu_2[];
extern struct menu_entries file_menu[];
extern struct menu_entries search_menu[];
extern struct menu_entries spell_menu[];
extern struct menu_entries misc_menu[];
extern struct menu_entries edit_menu[];
extern struct menu_entries main_menu[];
extern struct menu_entries del_buff_menu[];
extern struct menu_entries rae_err_menu[];
extern struct menu_entries file_being_edited_menu[];
extern struct menu_entries file_modified_menu[];


 |    defines for type of data to show in info window

#define CONTROL_KEYS 1
#define COMMANDS     2

extern char *commands[71];
extern char *init_strings[41];

 |    memory debugging macros

#ifdef DEBUG
extern char *dxalloc();
extern char *drealloc();
#define xalloc(a) dxalloc(a, __LINE__)
#define resiz_line(a, b, c) dresiz_line(a, b, c, __LINE__)
extern FILE *error_fp;
#endif /* DEBUG */

 |    declaration for localizable strings

extern char *ae_help_file, *SL_line_str, *SL_col_str, *SL_lit_str, *SL_nolit_str;
extern char *SL_fwd_str, *SL_rev_str, *SL_over_str, *SL_insrt_str, *SL_indent_str;
extern char *SL_noindnt_str, *SL_marg_str, *SL_nomarg_str, *SL_mark_str, *ascii_code_str;
extern char *left_err_msg, *right_err_msg, *help_err_msg, *prompt_for_more, *topic_prompt;
extern char *topic_err_msg, *continue_prompt, *printing_msg, *EXPAND_str, *NOEXPAND_str;
extern char *NOJUSTIFY_str, *JUSTIFY_str, *EXIT_str, *QUIT_str, *AUTOFORMAT_str;
extern char *NOAUTOFORMAT_str, *INFO_str, *NOINFO_str, *TABS_str, *UNTABS_str;
extern char *WRITE_str, *READ_str, *SAVE_str, *LITERAL_str, *NOLITERAL_str;
extern char *STATUS_str, *NOSTATUS_str, *MARGINS_str, *NOMARGINS_str, *INDENT_str;
extern char *LINE_str, *FILE_str, *COPYRIGHT_str, *CHARACTER_str, *REDRAW_str;
extern char *RESEQUENCE_str, *AUTHOR_str, *VERSION_str, *CASE_str, *NOCASE_str;
extern char *EIGHT_str, *NOEIGHT_str, *WINDOWS_str, *NOWINDOWS_str, *DEFINE_str;
extern char *SHOW_str, *HELP_str, *PRINT_str, *BUFFER_str, *DELETE_str;
extern char *GOLD_str, *tab_msg, *file_write_prompt_str, *file_read_prompt_str, *left_mrg_err_msg;
extern char *right_mrg_err_msg, *left_mrg_setting, *right_mrg_setting, *line_num_str, *lines_from_top;
extern char *total_lines_str, *current_file_str, *char_str, *key_def_msg, *unkn_syntax_msg;
extern char *current_buff_msg, *unkn_cmd_msg, *usage_str, *read_only_msg, *no_rcvr_fil_msg;
extern char *cant_opn_rcvr_fil_msg, *fin_read_file_msg, *rcvr_op_comp_msg, *file_is_dir_msg, *path_not_a_dir_msg;
extern char *access_not_allowed_msg, *new_file_msg, *cant_open_msg, *bad_rcvr_msg, *reading_file_msg;
extern char *file_read_lines_msg, *other_buffs_exist_msg, *changes_made_prompt, *no_write_access_msg, *file_exists_prompt;
extern char *cant_creat_fil_msg, *writing_msg, *file_written_msg, *searching_msg, *fwd_srch_msg;
extern char *rev_srch_msg, *str_str, *not_fnd_str, *search_prompt_str, *mark_not_actv_str;
extern char *mark_active_str, *mark_alrdy_actv_str, *no_buff_named_str, *press_ret_to_cont_str, *fn_GOLD_str;
extern char *fn_DL_str, *fn_DC_str, *fn_CL_str, *fn_NP_str, *fn_PP_str;
extern char *fn_NB_str, *fn_PB_str, *fn_UDL_str, *fn_UDC_str, *fn_DW_str;
extern char *fn_UDW_str, *fn_UND_str, *fn_EOL_str, *fn_BOL_str, *fn_BOT_str;
extern char *fn_EOT_str, *fn_FORMAT_str, *fn_MARGINS_str, *fn_NOMARGINS_str, *fn_IL_str;
extern char *fn_PRP_str, *fn_RP_str, *fn_MC_str, *fn_PSRCH_str, *fn_SRCH_str;
extern char *fn_AL_str, *fn_AW_str, *fn_AC_str, *fn_PW_str, *fn_CUT_str;
extern char *fn_FWD_str, *fn_REV_str, *fn_MARK_str, *fn_UNMARK_str, *fn_APPEND_str;
extern char *fn_PREFIX_str, *fn_COPY_str, *fn_CMD_str, *fn_PST_str, *fn_RD_str;
extern char *fn_UP_str, *fn_DOWN_str, *fn_LEFT_str, *fn_RIGHT_str, *fn_BCK_str;
extern char *fn_CR_str, *fn_EXPAND_str, *fn_NOEXPAND_str, *fn_EXIT_str, *fn_QUIT_str;
extern char *fn_LITERAL_str, *fn_NOLITERAL_str, *fn_STATUS_str, *fn_NOSTATUS_str, *fn_INDENT_str;
extern char *fn_NOINDENT_str, *fn_OVERSTRIKE_str, *fn_NOOVERSTRIKE_str, *fn_CASE_str, *fn_NOCASE_str;
extern char *fn_WINDOWS_str, *fn_NOWINDOWS_str, *fn_HELP_str, *fn_MENU_str, *fwd_mode_str;
extern char *rev_mode_str, *ECHO_str, *cmd_prompt, *PRINTCOMMAND_str, *replace_action_prompt;
extern char *replace_prompt_str, *replace_r_char, *replace_skip_char, *replace_all_char, *quit_char;
extern char *yes_char, *no_char, *cant_find_match_str, *fmting_par_msg, *cancel_string;
extern char *menu_too_lrg_msg, *shell_cmd_prompt, *shell_echo_msg, *spell_in_prog_msg, *left_marg_prompt;
extern char *left_mrgn_err_msg, *right_mrgn_prompt, *right_mrgn_err_msg, *cant_redef_msg, *buff_msg;
extern char *cant_chng_while_mark_msg, *too_many_parms_msg, *buff_is_main_msg, *cant_del_while_mark, *main_buffer_name;
extern char *cant_del_buf_msg, *HIGHLIGHT_str, *NOHIGHLIGHT_str;
extern char *non_unique_cmd_msg;
extern char *ON, *OFF;
extern char *save_file_name_prompt, *file_not_saved_msg, *cant_reopen_journ;
extern char *write_err_msg, *jrnl_dir, *CD_str;
extern char       *no_dir_entered_msg,  *path_not_dir_msg, *path_not_permitted_msg;
extern char *path_chng_failed_msg, *no_chng_dir_msg, *SPACING_str, *SPACING_msg;
extern char *pwd_cmd_str, *pwd_err_msg;

extern char *help_file_str;
extern char *no_file_string, *no_chng_no_save, *changes_made_title;
extern char *save_then_delete, *dont_delete, *delete_anyway_msg;
extern char *edit_cmd_str, *edit_err_msg, *restricted_msg, *rae_no_file_msg;
extern char *more_above_str, *more_below_str, *recover_name_prompt;
extern char *no_file_name_string, *recover_menu_title, *other_recover_file_str;
extern char *info_win_height_prompt, *info_win_height_err;
extern char *info_win_height_cmd_str, *info_win_height_msg_str;
extern char *conf_not_saved_msg;
extern char *conf_dump_err_msg;
extern char *conf_dump_success_msg;
extern char *info_help_msg;
extern char *unix_text_msg, *dos_text_msg;
extern char *text_cmd, *binary_cmd;
extern char *text_msg, *binary_msg, *dos_msg, *unix_msg;
extern char *file_being_edited_msg;
extern char *file_modified_msg;
extern char *DIFF_str;
extern char *ee_mode_str;

extern char *copyright_notice;
extern char *version_string;

extern char *main_menu_strings[10];
extern char *ee_mode_main_menu_strings[10];

 |    Declare addresses for routines referenced in menus below.

/* --- */

#if defined(__STDC__) || defined(__cplusplus)
#define P_(s) s
#define P_(s) ()

int main P_((int argc, char *argv[]));
void get_input P_((WINDOW *win_ptr));
void status_display P_((void));
char *xalloc P_((int size));
char *resiz_line P_((int factor, struct text *rline, int rpos));
void dummy P_((int foo));
void insert P_((int character));
int scanline P_((struct text *m_line, int pos));
void tab_insert P_((void));
void unset_tab P_((char *string));
void tab_set P_((char *string));
int tabshift P_((int temp_int));
int out_char P_((WINDOW *window, int character, int abscolumn, int row, int offset));
void draw_line P_((int vertical, int horiz, char *ptr, int t_pos, struct text *dr_l));
void insert_line P_((int disp));
struct text *txtalloc P_((void));
struct files *name_alloc P_((void));
struct bufr *buf_alloc P_((void));
char *next_word P_((char *string));
int scan P_((char *line, int offset, int column));
char *get_string P_((char *prompt, int advance));
int len_char P_((int character, int column));
void ascii P_((void));
void print_buffer P_((void));
int compare P_((char *string1, char *string2, int sensitive));
void goto_line P_((char *cmd_str));
void make_win P_((void));
void no_windows P_((void));
void midscreen P_((int line, int count));
void get_options P_((int numargs, char *arguments[]));
void show_pwd P_((void));
char *get_full_path P_((char *path, char *orig_path));
char *ae_basename P_((char *name));
char *ae_dirname P_((char *path));
char *buff_name_generator P_((void));
int open_for_edit P_((char *string));
void recover_op P_((void));
int check_fp P_((void));
void get_file P_((char *file_name));
void get_line P_((int length, char *in_string, int *append));
void finish P_((char *string));
int delete_all_buffers P_((void));
void quit P_((char *string));
void abort_edit P_((int foo));
int write_file P_((char *file_name));
void sh_command P_((char *string));
void redraw P_((void));
void repaint_screen P_((void));
void copy_str P_((char *str1, char *str2));
void echo_string P_((char *string));
void ae_init P_((void));
char *is_in_string P_((char *string, char *substring));
char *resolve_name P_((char *name));
int file_write_success P_((void));

int menu_op P_((struct menu_entries menu_list[]));
void paint_menu P_((struct menu_entries menu_list[], int max_width, int max_height, int list_size, int top_offset, WINDOW *menu_win, int off_start, int vert_size));
void shell_op P_((void));
void leave_op P_((void));
void spell_op P_((void));
void ispell_op P_((void));
void modes_op P_((void));
void search_op P_((void));
int file_op P_((int arg));
void info_op P_((void));
int macro_assign P_((char *keys[], char *macro_string));
void get_key_assgn P_((void));
void paint_information P_((void));
void paint_info_win P_((void));
int unique_test P_((char *string, char *list[]));
void command_prompt P_((void));
void tab_resize P_((void));
void command P_((char *cmd_str));
void init_keys P_((void));
void parse P_((char *string));
int restrict_mode P_((void));
void dump_aee_conf P_((void));

void del_char P_((int save_flag));
void undel_char P_((void));
char *del_string P_((int length));
void undel_string P_((char *string, int length));
void del_word P_((int save_flag));
void undel_word P_((void));
void Clear_line P_((int save_flag));
void del_line P_((int save_flag));
void undel_line P_((void));
void last_deleted P_((int flag, int length, char *string));
void undel_last P_((void));
void delete_text P_((void));
void undel_init P_((void));
int delete P_((int disp));

int Blank_Line P_((struct text *test_line));
void Format P_((void));
int first_word_len P_((struct text *test_line));
void Auto_Format P_((void));

void help P_((void));
void outfile P_((void));
void ask P_((void));

void write_journal P_((struct bufr *buffer, struct text *line));
void update_journal_entry P_((struct bufr *buffer, struct text *line));
void remove_journ_line P_((struct bufr *buffer, struct text *line));
void journ_info_init P_((struct bufr *buffer, struct text *line));
void read_journal_entry P_((struct bufr *buffer, struct text *line));
int recover_from_journal P_((struct bufr *buffer, char *file_name));
void unlock_journal_fd P_((void));
struct journal_db * read_journal_db P_((void));
int create_dir P_((char *name));
void journal_name P_((struct bufr *buffer, char *file_name));
void open_journal_for_write P_((struct bufr *buffer));
void remove_journal_file P_((struct bufr *buffer));

void control P_((void));
void function_key P_((void));
void gold_func P_((void));
void keyboard P_((void));
void def_key P_((char *string));

void strings_init P_((void));

void copy P_((void));
void paste P_((void));
void unmark_text P_((void));
void cut P_((void));
void cut_up P_((void));
void cut_down P_((void));
void cut_line P_((void));
void fast_left P_((void));
void fast_right P_((void));
void fast_line P_((char *direct));
int slct P_((int flag));
void slct_dlt P_((void));
void slct_right P_((void));
void slct_left P_((void));
void slct_line P_((char *direct));

void bottom P_((void));
void top P_((void));
void nextline P_((void));
void prevline P_((void));
void left P_((int disp));
int right P_((int disp));
void find_pos P_((void));
void up P_((void));
void down P_((void));
void adv_word P_((void));
void prev_word P_((void));
void move_rel P_((char *direction, int lines));
void eol P_((void));
void bol P_((void));
void adv_line P_((void));
void next_page P_((void));
void prev_page P_((void));

int search P_((int move_cursor, struct text *start_line, int offset, char *pointer, int s_str_off, int srch_short, int disp));
int upper P_((int value));
int search_prompt P_((int flag));
void replace P_((void));
int repl_prompt P_((int flag));
void match P_((void));

void new_screen P_((void));
struct bufr *add_buf P_((char *ident));
void chng_buf P_((char *name));
int del_buf P_((void));
void redo_win P_((void));
void resize_check P_((void));
void set_up_term P_((void));
void diff_file P_((void));

#ifdef XAE
void event_init P_((void));
void event_manage P_((void));
void move_to_xy P_((int x, int y));
void eopl P_((void));
void cut_text P_((void));
void raise_window P_((void));
void set_window_name P_((char *name));
#endif /* XAE */

#undef P_

Generated by  Doxygen 1.6.0   Back to index