1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6int u_save_cursor(void);
7int u_save(linenr_T top, linenr_T bot);
8int u_savesub(linenr_T lnum);
9int u_inssub(linenr_T lnum);
10int u_savedel(linenr_T lnum, long nlines);
11_Bool undo_allowed(void);
12int u_savecommon(linenr_T top, linenr_T bot, linenr_T newbot, int reload);
13void u_compute_hash(char_u *hash);
14char *u_get_undo_file_name(const char *const buf_ffname, const _Bool reading) FUNC_ATTR_WARN_UNUSED_RESULT;
15void u_write_undo(const char *const name, const _Bool forceit, buf_T *const buf, char_u *const hash) FUNC_ATTR_NONNULL_ARG(3, 4);
16void u_read_undo(char *name, char_u *hash, char_u *orig_name) FUNC_ATTR_NONNULL_ARG(2);
17void u_undo(int count);
18void u_redo(int count);
19_Bool u_undo_and_forget(int count);
20void undo_time(long step, _Bool sec, _Bool file, _Bool absolute);
21void u_sync(int force );
22void ex_undolist(exarg_T *eap);
23void ex_undojoin(exarg_T *eap);
24void u_unchanged(buf_T *buf);
25void u_find_first_changed(void);
26void u_update_save_nr(buf_T *buf);
27void u_clearall(buf_T *buf);
28void u_saveline(linenr_T lnum);
29void u_clearline(void);
30void u_undoline(void);
31void u_blockfree(buf_T *buf);
32_Bool bufIsChanged(buf_T *buf) FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT;
33_Bool anyBufIsChanged(void) FUNC_ATTR_WARN_UNUSED_RESULT;
34_Bool curbufIsChanged(void) FUNC_ATTR_WARN_UNUSED_RESULT;
35list_T *u_eval_tree(const u_header_T *const first_uhp) FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_RET;
36#include "nvim/func_attr.h"
37