1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6static linenr_T readfile_linenr(linenr_T linecnt, char_u *p, char_u *endp );
7static char_u *next_fenc(char_u **pp, _Bool *alloced) FUNC_ATTR_NONNULL_ALL FUNC_ATTR_NONNULL_RET;
8static char_u *readfile_charconvert(char_u *fname, char_u *fenc, int *fdp );
9static void check_marks_read(void);
10static int set_rw_fname(char_u *fname, char_u *sfname);
11static void add_quoted_fname(char *const ret_buf, const size_t buf_len, const buf_T *const buf, const char *fname) FUNC_ATTR_NONNULL_ARG(1);
12static _Bool msg_add_fileformat(int eol_type);
13static void msg_add_eol(void);
14static int check_mtime(buf_T *buf, FileInfo *file_info);
15static _Bool time_differs(long t1, long t2) FUNC_ATTR_CONST;
16static int buf_write_bytes(struct bw_info *ip);
17static _Bool ucs2bytes(unsigned c, char_u **pp, int flags) FUNC_ATTR_NONNULL_ALL;
18static _Bool need_conversion(const char_u *fenc) FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT;
19static int get_fio_flags(const char_u *name);
20static char_u *check_for_bom(char_u *p, long size, int *lenp, int flags);
21static int make_bom(char_u *buf, char_u *name);
22static int move_lines(buf_T *frombuf, buf_T *tobuf);
23static void vim_maketempdir(void);
24static _Bool vim_settempdir(char *tempdir);
25static inline const char *get_deleted_augroup(void) FUNC_ATTR_ALWAYS_INLINE;
26static void show_autocmd(AutoPat *ap, event_T event);
27static void au_remove_pat(AutoPat *ap);
28static void au_remove_cmds(AutoPat *ap);
29static void au_del_cmd(AutoCmd *ac);
30static void au_cleanup(void);
31static int au_new_group(char_u *name);
32static void au_del_group(char_u *name);
33static int au_find_group(const char_u *name) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
34static event_T event_name2nr(const char_u *start, char_u **end);
35static const char *event_nr2name(event_T event) FUNC_ATTR_NONNULL_RET FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_CONST;
36static char_u *find_end_event(char_u *arg, int have_group );
37static _Bool event_ignored(event_T event) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
38static int au_get_grouparg(char_u **argp);
39static int do_autocmd_event(event_T event, char_u *pat, _Bool once, int nested, char_u *cmd, int forceit, int group);
40static _Bool apply_autocmds_exarg(event_T event, char_u *fname, char_u *fname_io, _Bool force, buf_T *buf, exarg_T *eap);
41static _Bool apply_autocmds_group(event_T event, char_u *fname, char_u *fname_io, _Bool force, int group, buf_T *buf, exarg_T *eap);
42static void auto_next_pat(AutoPatCmd *apc, int stop_at_last );
43static _Bool match_file_pat(char_u *pattern, regprog_T **prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs);
44#include "nvim/func_attr.h"
45