|
Classes |
| struct | Line |
| struct | regex |
Defines |
| #define | YMAX 24 |
| #define | X_PLUS ' ' |
| #define | Y_PLUS ' ' |
| #define | XMAX 79 |
| #define | SCREENMAX (YMAX - 1) |
| #define | XBREAK (XMAX - 0) |
| #define | SHIFT_SIZE 25 |
| #define | SHIFT_MARK '!' |
| #define | MAX_CHARS 1024 |
| #define | LINE_START |
| #define | LINE_END (MAX_CHARS + 1) |
| #define | LINE_LEN (XMAX + 1) |
| #define | SCREEN_SIZE (XMAX * YMAX) |
| #define | BLOCK_SIZE 1024 |
| #define | ERRORS -1 |
| #define | NO_LINE (ERRORS - 1) |
| #define | FINE (ERRORS + 1) |
| #define | NO_INPUT (ERRORS + 2) |
| #define | STD_OUT 1 |
| #define | MEMORY_SIZE (50 * 1024) |
| #define | REPORT 2 |
| #define | FALSE 0 |
| #define | TRUE 1 |
| #define | NOT_VALID 2 |
| #define | VALID 3 |
| #define | OFF 4 |
| #define | ON 5 |
| #define | FORWARD 6 |
| #define | REVERSE 7 |
| #define | SMALLER 8 |
| #define | BIGGER 9 |
| #define | SAME 10 |
| #define | EMPTY 11 |
| #define | NO_DELETE 12 |
| #define | DELETE 13 |
| #define | READ 14 |
| #define | WRITE 15 |
| #define | DUMMY 0x80 |
| #define | DUMMY_MASK 0x7F |
| #define | NO_MATCH 0 |
| #define | MATCH 1 |
| #define | REG_ERROR 2 |
| #define | BEGIN_LINE (2 * REG_ERROR) |
| #define | END_LINE (2 * BEGIN_LINE) |
| #define | NIL_PTR ((char *) 0) |
| #define | NIL_LINE ((LINE *) 0) |
| #define | NIL_REG ((REGEX *) 0) |
| #define | NIL_INT ((int *) 0) |
| #define | clear_buffer() (out_count = 0) |
| #define | putchar(c) (void) write_char(STD_OUT, (c)) |
| #define | ring_bell() putchar('\07') |
| #define | string_print(str) (void) writeline(STD_OUT, (str)) |
| #define | flush() (void) flush_buffer(STD_OUT) |
| #define | tab(cnt) (((cnt) + 8) & ~07) |
| #define | is_tab(c) ((c) == '\t') |
| #define | white_space(c) ((c) == ' ' || (c) == '\t') |
| #define | alpha(c) ((c) != ' ' && (c) != '\t' && (c) != '\n') |
| #define | line_print(line) put_line(line, 0, TRUE) |
| #define | move_to(nx, ny) move((nx), NIL_PTR, (ny)) |
| #define | move_address(address) move(0, (address), y) |
| #define | status_line(str1, str2) |
| #define | error(str1, str2) |
| #define | get_string(str1, str2, fl) bottom_line(ON, (str1), NIL_PTR, (str2), fl) |
| #define | clear_status() |
| #define | fstatus(mess, cnt) |
| #define | get_shift(cnt) ((cnt) & DUMMY_MASK) |
Typedefs |
| typedef int | FLAG |
| typedef struct Line | LINE |
| typedef struct regex | REGEX |
Functions |
| | _PROTOTYPE (void FS,(void)) |
| | _PROTOTYPE (int WT,(void)) |
| | _PROTOTYPE (LINE *proceed,(LINE *line, int count)) |
| | _PROTOTYPE (int bottom_line,(FLAG revfl, char *s1, char *s2, char *inbuf, FLAG statfl)) |
| | _PROTOTYPE (int count_chars,(LINE *line)) |
| | _PROTOTYPE (void move,(int new_x, char *new_address, int new_y)) |
| | _PROTOTYPE (int find_x,(LINE *line, char *address)) |
| | _PROTOTYPE (char *find_address,(LINE *line, int x_coord, int *old_x)) |
| | _PROTOTYPE (int length_of,(char *string)) |
| | _PROTOTYPE (void copy_string,(char *to, char *from)) |
| | _PROTOTYPE (void reset,(LINE *head_line, int screen_y)) |
| | _PROTOTYPE (void set_cursor,(int nx, int ny)) |
| | _PROTOTYPE (void display,(int x_coord, int y_coord, LINE *line, int count)) |
| | _PROTOTYPE (int write_char,(int fd, int c)) |
| | _PROTOTYPE (int writeline,(int fd, char *text)) |
| | _PROTOTYPE (void put_line,(LINE *line, int offset, FLAG clear_line)) |
| | _PROTOTYPE (int flush_buffer,(int fd)) |
| | _PROTOTYPE (void bad_write,(int fd)) |
| | _PROTOTYPE (void catch,(int sig)) |
| | _PROTOTYPE (void raw_mode,(FLAG state)) |
| | _PROTOTYPE (void panic,(char *message)) |
| | _PROTOTYPE (char *alloc,(int bytes)) |
| | _PROTOTYPE (void free_space,(char *p)) |
| | _PROTOTYPE (char *basename,(char *path)) |
| | _PROTOTYPE (void load_file,(char *file)) |
| | _PROTOTYPE (int get_line,(int fd, char *buffer)) |
| | _PROTOTYPE (LINE *install_line,(char *buffer, int length)) |
| | _PROTOTYPE (void main,(int argc, char *argv[])) |
| | _PROTOTYPE (void file_status,(char *message, long count, char *file, int lines, FLAG writefl, FLAG changed)) |
| void | build_string () |
| | _PROTOTYPE (char *num_out,(long number)) |
| | _PROTOTYPE (int get_number,(char *message, int *result)) |
| | _PROTOTYPE (int input,(char *inbuf, FLAG clearfl)) |
| | _PROTOTYPE (int get_file,(char *message, char *file)) |
| | _PROTOTYPE (void _putchar,(int c)) |
| | _PROTOTYPE (void move_previous_word,(FLAG remove)) |
| | _PROTOTYPE (void S,(int character)) |
| | _PROTOTYPE (LINE *line_insert,(LINE *line, char *string, int len)) |
| | _PROTOTYPE (int insert,(LINE *line, char *location, char *string)) |
| | _PROTOTYPE (LINE *line_delete,(LINE *line)) |
| | _PROTOTYPE (void delete,(LINE *start_line, char *start_textp, LINE *end_line, char *end_textp)) |
| | _PROTOTYPE (void file_insert,(int fd, FLAG old_pos)) |
| | _PROTOTYPE (void yank,(LINE *start_line, char *start_textp, LINE *end_line, char *end_textp, FLAG remove)) |
| | _PROTOTYPE (int scratch_file,(FLAG mode)) |
| | _PROTOTYPE (REGEX *get_expression,(char *message)) |
| | _PROTOTYPE (void change,(char *message, FLAG file)) |
| | _PROTOTYPE (char *substitute,(LINE *line, REGEX *program, char *replacement)) |
| | _PROTOTYPE (void search,(char *message, FLAG method)) |
| | _PROTOTYPE (int find_y,(LINE *match_line)) |
| | _PROTOTYPE (void finished,(REGEX *program, int *last_exp)) |
| | _PROTOTYPE (void compile,(char *pattern, REGEX *program)) |
| | _PROTOTYPE (LINE *match,(REGEX *program, char *string, FLAG method)) |
| | _PROTOTYPE (int line_check,(REGEX *program, char *string, FLAG method)) |
| | _PROTOTYPE (int check_string,(REGEX *program, char *string, int *expression)) |
| | _PROTOTYPE (int star,(REGEX *program, char *end_position, char *string, int *expression)) |
| | _PROTOTYPE (int in_list,(int *list, int c, int list_length, int opcode)) |
Variables |
| char * | enter_string |
| char * | rev_video |
| char * | normal_video |
| char * | rev_scroll |
| char * | pos_string |
| int | nlines |
| LINE * | header |
| LINE * | tail |
| LINE * | top_line |
| LINE * | bot_line |
| LINE * | cur_line |
| char * | cur_text |
| int | last_y |
| int | ymax |
| int | screenmax |
| char | screen [SCREEN_SIZE] |
| int | x |
| int | y |
| FLAG | modified |
| FLAG | stat_visible |
| FLAG | writable |
| FLAG | quit |
| FLAG | rpipe |
| int | input_fd |
| FLAG | loading |
| int | out_count |
| char | file_name [LINE_LEN] |
| char | text_buffer [MAX_CHARS] |
| char * | blank_line |
| char | yank_file [] |
| FLAG | yank_status |
| long | chars_saved |