version 1.38, 2002/03/16 20:29:21 |
version 1.39, 2002/03/18 01:45:54 |
|
|
struct undo_rec; |
struct undo_rec; |
|
|
/* |
/* |
|
* This structure holds the starting position |
|
* (as a line/offset pair) and the number of characters in a |
|
* region of a buffer. This makes passing the specification |
|
* of a region around a little bit easier. |
|
*/ |
|
typedef struct { |
|
struct LINE *r_linep; /* Origin LINE address. */ |
|
int r_offset; /* Origin LINE offset. */ |
|
RSIZE r_size; /* Length in characters. */ |
|
} REGION; |
|
/* |
* Text is kept in buffers. A buffer header, described |
* Text is kept in buffers. A buffer header, described |
* below, exists for every buffer in the system. The buffers are |
* below, exists for every buffer in the system. The buffers are |
* kept in a big list, so that commands that search for a buffer by |
* kept in a big list, so that commands that search for a buffer by |
|
|
char b_fname[NFILEN];/* File name */ |
char b_fname[NFILEN];/* File name */ |
struct fileinfo b_fi; /* File attributes */ |
struct fileinfo b_fi; /* File attributes */ |
LIST_HEAD(, undo_rec) b_undo; /* Undo actions list */ |
LIST_HEAD(, undo_rec) b_undo; /* Undo actions list */ |
|
REGION b_undopos; /* Where we were during the last |
|
undo action */ |
|
struct undo_rec *b_undoptr; |
} BUFFER; |
} BUFFER; |
|
|
#define b_bufp b_list.l_p.x_bp |
#define b_bufp b_list.l_p.x_bp |
|
|
|
|
|
|
/* |
/* |
* This structure holds the starting position |
|
* (as a line/offset pair) and the number of characters in a |
|
* region of a buffer. This makes passing the specification |
|
* of a region around a little bit easier. |
|
*/ |
|
typedef struct { |
|
struct LINE *r_linep; /* Origin LINE address. */ |
|
int r_offset; /* Origin LINE offset. */ |
|
RSIZE r_size; /* Length in characters. */ |
|
} REGION; |
|
|
|
/* |
|
* This structure holds information about recent actions for the Undo command. |
* This structure holds information about recent actions for the Undo command. |
*/ |
*/ |
struct undo_rec { |
struct undo_rec { |
|
|
|
|
/* undo.c X */ |
/* undo.c X */ |
void free_undo_record(struct undo_rec *); |
void free_undo_record(struct undo_rec *); |
int undo_init(void); |
|
int undo_dump(void); |
int undo_dump(void); |
int undo_enable(int); |
int undo_enable(int); |
int undo_add_custom(int, LINE *, int, void *, int); |
int undo_add_custom(int, int, LINE *, int, void *, int); |
int undo_add_boundary(void); |
int undo_add_boundary(void); |
int undo_add_insert(LINE *, int, int); |
int undo_add_insert(LINE *, int, int); |
int undo_add_delete(LINE *, int, int); |
int undo_add_delete(LINE *, int, int); |