Extract memory.c from misc2.c

This commit is contained in:
John Schmidt 2014-04-03 17:07:14 +02:00 committed by Thiago de Arruda
parent 3fe0580a8e
commit 6f53cb1cc3
53 changed files with 415 additions and 317 deletions

View File

@ -48,6 +48,7 @@
#include "mark.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -12,6 +12,7 @@
#include "main.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "misc1.h"
#include "misc2.h"
#include "garray.h"

View File

@ -17,6 +17,7 @@
#include "message.h"
#include "misc1.h"
#include "misc2.h"
#include "memory.h"
#include "move.h"
#include "normal.h"
#include "option.h"

View File

@ -12,6 +12,7 @@
#include "mbyte.h"
#include "message.h"
#include "misc2.h"
#include "memory.h"
#include "garray.h"
#include "normal.h"
#include "screen.h"

View File

@ -30,6 +30,7 @@
#include "main.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -35,6 +35,7 @@
#include "mark.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -40,6 +40,7 @@
#include "misc1.h"
#include "misc2.h"
#include "garray.h"
#include "memory.h"
#include "move.h"
#include "normal.h"
#include "ops.h"

View File

@ -31,6 +31,7 @@
#include "misc1.h"
#include "misc2.h"
#include "garray.h"
#include "memory.h"
#include "move.h"
#include "normal.h"
#include "option.h"

View File

@ -35,6 +35,7 @@
#include "mark.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "menu.h"
#include "message.h"
#include "misc1.h"

View File

@ -19,6 +19,7 @@
#include "ex_docmd.h"
#include "message.h"
#include "misc2.h"
#include "memory.h"
#include "regexp.h"

View File

@ -38,6 +38,7 @@
#include "message.h"
#include "misc1.h"
#include "misc2.h"
#include "memory.h"
#include "cursor_shape.h"
#include "keymap.h"
#include "garray.h"

View File

@ -50,6 +50,7 @@
#include "file_search.h"
#include "charset.h"
#include "fileio.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -30,6 +30,7 @@
#include "mbyte.h"
#include "memfile.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -23,6 +23,7 @@
#include "indent.h"
#include "mark.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -7,6 +7,7 @@
#include "vim.h"
#include "ascii.h"
#include "misc2.h"
#include "memory.h"
#include "path.h"
#include "garray.h"

View File

@ -29,6 +29,7 @@
#include "main.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -24,6 +24,7 @@
#include "fileio.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -23,6 +23,7 @@
#include "vim.h"
#include "hashtab.h"
#include "message.h"
#include "memory.h"
#include "misc2.h"
// Magic value for algorithm that walks through the array.

View File

@ -17,6 +17,7 @@
#include "message.h"
#include "misc1.h"
#include "misc2.h"
#include "memory.h"
#include "os/time.h"
#include "path.h"
#include "quickfix.h"

View File

@ -2,6 +2,7 @@
#include "eval.h"
#include "charset.h"
#include "memline.h"
#include "memory.h"
#include "misc1.h"
#include "misc2.h"
#include "option.h"

View File

@ -5,6 +5,7 @@
#include "indent.h"
#include "indent_c.h"
#include "memline.h"
#include "memory.h"
#include "misc2.h"
#include "option.h"
#include "search.h"

View File

@ -33,6 +33,7 @@
#include "misc2.h"
#include "crypt.h"
#include "garray.h"
#include "memory.h"
#include "move.h"
#include "normal.h"
#include "ops.h"

View File

@ -24,6 +24,7 @@
#include "fold.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -88,6 +88,7 @@
#include "message.h"
#include "misc1.h"
#include "misc2.h"
#include "memory.h"
#include "option.h"
#include "screen.h"
#include "spell.h"

View File

@ -41,6 +41,7 @@
#include "message.h"
#include "misc1.h"
#include "misc2.h"
#include "memory.h"
#include "os_unix.h"
#include "path.h"
#include "ui.h"

View File

@ -54,6 +54,7 @@
#include "mark.h"
#include "mbyte.h"
#include "memfile.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

327
src/memory.c Normal file
View File

@ -0,0 +1,327 @@
// Various routines dealing with allocation and deallocation of memory.
#include <string.h>
#include "vim.h"
#include "misc2.h"
#include "file_search.h"
#include "blowfish.h"
#include "buffer.h"
#include "charset.h"
#include "diff.h"
#include "edit.h"
#include "eval.h"
#include "ex_cmds.h"
#include "ex_docmd.h"
#include "ex_getln.h"
#include "fileio.h"
#include "fold.h"
#include "getchar.h"
#include "mark.h"
#include "mbyte.h"
#include "memfile.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "move.h"
#include "option.h"
#include "ops.h"
#include "os_unix.h"
#include "path.h"
#include "quickfix.h"
#include "regexp.h"
#include "screen.h"
#include "search.h"
#include "spell.h"
#include "syntax.h"
#include "tag.h"
#include "term.h"
#include "ui.h"
#include "window.h"
#include "os/os.h"
static void try_to_free_memory();
/*
* Note: if unsigned is 16 bits we can only allocate up to 64K with alloc().
* Use lalloc for larger blocks.
*/
char_u *alloc(unsigned size)
{
return lalloc((long_u)size, TRUE);
}
/*
* Allocate memory and set all bytes to zero.
*/
char_u *alloc_clear(unsigned size)
{
char_u *p;
p = lalloc((long_u)size, TRUE);
if (p != NULL)
(void)memset(p, 0, (size_t)size);
return p;
}
/*
* alloc() with check for maximum line length
*/
char_u *alloc_check(unsigned size)
{
#if !defined(UNIX) && !defined(__EMX__)
if (sizeof(int) == 2 && size > 0x7fff) {
/* Don't hide this message */
emsg_silent = 0;
EMSG(_("E340: Line is becoming too long"));
return NULL;
}
#endif
return lalloc((long_u)size, TRUE);
}
/*
* Allocate memory like lalloc() and set all bytes to zero.
*/
char_u *lalloc_clear(long_u size, int message)
{
char_u *p = lalloc(size, message);
memset(p, 0, (size_t)size);
return p;
}
/// Try to free memory. Used when trying to recover from out of memory errors.
/// @see {xmalloc}
static void try_to_free_memory()
{
static bool trying_to_free = false;
// avoid recursive calls
if (trying_to_free)
return;
trying_to_free = true;
// free any scrollback text
clear_sb_text();
// Try to save all buffers and release as many blocks as possible
mf_release_all();
// cleanup recursive lists/dicts
garbage_collect();
trying_to_free = false;
}
void *xmalloc(size_t size)
{
void *ret = malloc(size);
if (!ret && !size)
ret = malloc(1);
if (!ret) {
try_to_free_memory();
ret = malloc(size);
if (!ret && !size)
ret = malloc(1);
if (!ret) {
OUT_STR("Vim: Error: Out of memory.\n");
preserve_exit();
}
}
return ret;
}
void *xrealloc(void *ptr, size_t size)
{
void *ret = realloc(ptr, size);
if (!ret && !size)
ret = realloc(ptr, 1);
if (!ret) {
try_to_free_memory();
ret = realloc(ptr, size);
if (!ret && !size)
ret = realloc(ptr, 1);
if (!ret) {
OUT_STR("Vim: Error: Out of memory.\n");
preserve_exit();
}
}
return ret;
}
char_u *lalloc(long_u size, int message)
{
return (char_u *)xmalloc((size_t)size);
}
/*
* Avoid repeating the error message many times (they take 1 second each).
* Did_outofmem_msg is reset when a character is read.
*/
void do_outofmem_msg(long_u size)
{
if (!did_outofmem_msg) {
/* Don't hide this message */
emsg_silent = 0;
/* Must come first to avoid coming back here when printing the error
* message fails, e.g. when setting v:errmsg. */
did_outofmem_msg = TRUE;
EMSGN(_("E342: Out of memory! (allocating %lu bytes)"), size);
}
}
#if defined(EXITFREE) || defined(PROTO)
/*
* Free everything that we allocated.
* Can be used to detect memory leaks, e.g., with ccmalloc.
* NOTE: This is tricky! Things are freed that functions depend on. Don't be
* surprised if Vim crashes...
* Some things can't be freed, esp. things local to a library function.
*/
void free_all_mem(void)
{
buf_T *buf, *nextbuf;
static int entered = FALSE;
/* When we cause a crash here it is caught and Vim tries to exit cleanly.
* Don't try freeing everything again. */
if (entered)
return;
entered = TRUE;
block_autocmds(); /* don't want to trigger autocommands here */
/* Close all tabs and windows. Reset 'equalalways' to avoid redraws. */
p_ea = FALSE;
if (first_tabpage->tp_next != NULL)
do_cmdline_cmd((char_u *)"tabonly!");
if (firstwin != lastwin)
do_cmdline_cmd((char_u *)"only!");
/* Free all spell info. */
spell_free_all();
/* Clear user commands (before deleting buffers). */
ex_comclear(NULL);
/* Clear menus. */
do_cmdline_cmd((char_u *)"aunmenu *");
do_cmdline_cmd((char_u *)"menutranslate clear");
/* Clear mappings, abbreviations, breakpoints. */
do_cmdline_cmd((char_u *)"lmapclear");
do_cmdline_cmd((char_u *)"xmapclear");
do_cmdline_cmd((char_u *)"mapclear");
do_cmdline_cmd((char_u *)"mapclear!");
do_cmdline_cmd((char_u *)"abclear");
do_cmdline_cmd((char_u *)"breakdel *");
do_cmdline_cmd((char_u *)"profdel *");
do_cmdline_cmd((char_u *)"set keymap=");
free_titles();
free_findfile();
/* Obviously named calls. */
free_all_autocmds();
clear_termcodes();
free_all_options();
free_all_marks();
alist_clear(&global_alist);
free_homedir();
free_users();
free_search_patterns();
free_old_sub();
free_last_insert();
free_prev_shellcmd();
free_regexp_stuff();
free_tag_stuff();
free_cd_dir();
free_signs();
set_expr_line(NULL);
diff_clear(curtab);
clear_sb_text(); /* free any scrollback text */
/* Free some global vars. */
vim_free(last_cmdline);
vim_free(new_last_cmdline);
set_keep_msg(NULL, 0);
/* Clear cmdline history. */
p_hi = 0;
init_history();
{
win_T *win;
tabpage_T *tab;
qf_free_all(NULL);
/* Free all location lists */
FOR_ALL_TAB_WINDOWS(tab, win)
qf_free_all(win);
}
/* Close all script inputs. */
close_all_scripts();
/* Destroy all windows. Must come before freeing buffers. */
win_free_all();
/* Free all buffers. Reset 'autochdir' to avoid accessing things that
* were freed already. */
p_acd = FALSE;
for (buf = firstbuf; buf != NULL; ) {
nextbuf = buf->b_next;
close_buffer(NULL, buf, DOBUF_WIPE, FALSE);
if (buf_valid(buf))
buf = nextbuf; /* didn't work, try next one */
else
buf = firstbuf;
}
free_cmdline_buf();
/* Clear registers. */
clear_registers();
ResetRedobuff();
ResetRedobuff();
/* highlight info */
free_highlight();
reset_last_sourcing();
free_tabpage(first_tabpage);
first_tabpage = NULL;
# ifdef UNIX
/* Machine-specific free. */
mch_free_mem();
# endif
/* message history */
for (;; )
if (delete_first_msg() == FAIL)
break;
eval_clear();
free_termoptions();
/* screenlines (can't display anything now!) */
free_screenlines();
clear_hl_tables();
vim_free(IObuff);
vim_free(NameBuff);
}
#endif

38
src/memory.h Normal file
View File

@ -0,0 +1,38 @@
#ifndef NEOVIM_MEMORY_H
#define NEOVIM_MEMORY_H
#include "func_attr.h"
char_u *alloc(unsigned size) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1);
char_u *alloc_clear(unsigned size) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1);
char_u *alloc_check(unsigned size) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1);
char_u *lalloc_clear(long_u size, int message) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1);
/// malloc() wrapper
///
/// xmalloc() succeeds or gracefully aborts when out of memory.
/// Before aborting try to free some memory and call malloc again.
///
/// @see {try_to_free_memory}
/// @param size
/// @return pointer to allocated space. Never NULL
void *xmalloc(size_t size)
FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1) FUNC_ATTR_NONNULL_RET;
/// realloc() wrapper
///
/// @see {xmalloc}
/// @param size
/// @return pointer to reallocated space. Never NULL
void *xrealloc(void *ptr, size_t size)
FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_ALLOC_SIZE(2) FUNC_ATTR_NONNULL_RET;
/// Old low level memory allocation function.
///
/// @deprecated use xmalloc() directly instead
/// @param size
/// @return pointer to allocated space. Never NULL
char_u *lalloc(long_u size, int message) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1);
void do_outofmem_msg(long_u size);
void free_all_mem(void);
#endif

View File

@ -20,6 +20,7 @@
#include "eval.h"
#include "ex_docmd.h"
#include "getchar.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -23,6 +23,7 @@
#include "fileio.h"
#include "getchar.h"
#include "mbyte.h"
#include "memory.h"
#include "misc1.h"
#include "misc2.h"
#include "keymap.h"

View File

@ -32,6 +32,7 @@
#include "mark.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc2.h"
#include "garray.h"

View File

@ -31,6 +31,7 @@
#include "mbyte.h"
#include "memfile.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "move.h"
@ -595,311 +596,6 @@ int leftcol_changed(void)
return retval;
}
/**********************************************************************
* Various routines dealing with allocation and deallocation of memory.
*/
/*
* Note: if unsigned is 16 bits we can only allocate up to 64K with alloc().
* Use lalloc for larger blocks.
*/
char_u *alloc(unsigned size)
{
return lalloc((long_u)size, TRUE);
}
/*
* Allocate memory and set all bytes to zero.
*/
char_u *alloc_clear(unsigned size)
{
char_u *p;
p = lalloc((long_u)size, TRUE);
if (p != NULL)
(void)memset(p, 0, (size_t)size);
return p;
}
/*
* alloc() with check for maximum line length
*/
char_u *alloc_check(unsigned size)
{
#if !defined(UNIX) && !defined(__EMX__)
if (sizeof(int) == 2 && size > 0x7fff) {
/* Don't hide this message */
emsg_silent = 0;
EMSG(_("E340: Line is becoming too long"));
return NULL;
}
#endif
return lalloc((long_u)size, TRUE);
}
/*
* Allocate memory like lalloc() and set all bytes to zero.
*/
char_u *lalloc_clear(long_u size, int message)
{
char_u *p = lalloc(size, message);
memset(p, 0, (size_t)size);
return p;
}
/// Try to free memory. Used when trying to recover from out of memory errors.
/// @see {xmalloc}
void try_to_free_memory()
{
static bool trying_to_free = false;
// avoid recursive calls
if (trying_to_free)
return;
trying_to_free = true;
// free any scrollback text
clear_sb_text();
// Try to save all buffers and release as many blocks as possible
mf_release_all();
// cleanup recursive lists/dicts
garbage_collect();
trying_to_free = false;
}
/// malloc() wrapper
///
/// xmalloc() succeeds or gracefully aborts when out of memory.
/// Before aborting try to free some memory and call malloc again.
///
/// @see {try_to_free_memory}
/// @param size
/// @return pointer to allocated space. Never NULL
void *xmalloc(size_t size)
{
void *ret = malloc(size);
if (!ret && !size)
ret = malloc(1);
if (!ret) {
try_to_free_memory();
ret = malloc(size);
if (!ret && !size)
ret = malloc(1);
if (!ret) {
OUT_STR("Vim: Error: Out of memory.\n");
preserve_exit();
}
}
return ret;
}
/// realloc() wrapper
///
/// @see {xmalloc}
/// @param size
/// @return pointer to reallocated space. Never NULL
void *xrealloc(void *ptr, size_t size)
{
void *ret = realloc(ptr, size);
if (!ret && !size)
ret = realloc(ptr, 1);
if (!ret) {
try_to_free_memory();
ret = realloc(ptr, size);
if (!ret && !size)
ret = realloc(ptr, 1);
if (!ret) {
OUT_STR("Vim: Error: Out of memory.\n");
preserve_exit();
}
}
return ret;
}
/// Old low level memory allocation function.
///
/// @deprecated use xmalloc() directly instead
/// @param size
/// @return pointer to allocated space. Never NULL
char_u *lalloc(long_u size, int message)
{
return (char_u *)xmalloc((size_t)size);
}
/*
* Avoid repeating the error message many times (they take 1 second each).
* Did_outofmem_msg is reset when a character is read.
*/
void do_outofmem_msg(long_u size)
{
if (!did_outofmem_msg) {
/* Don't hide this message */
emsg_silent = 0;
/* Must come first to avoid coming back here when printing the error
* message fails, e.g. when setting v:errmsg. */
did_outofmem_msg = TRUE;
EMSGN(_("E342: Out of memory! (allocating %lu bytes)"), size);
}
}
#if defined(EXITFREE) || defined(PROTO)
/*
* Free everything that we allocated.
* Can be used to detect memory leaks, e.g., with ccmalloc.
* NOTE: This is tricky! Things are freed that functions depend on. Don't be
* surprised if Vim crashes...
* Some things can't be freed, esp. things local to a library function.
*/
void free_all_mem(void)
{
buf_T *buf, *nextbuf;
static int entered = FALSE;
/* When we cause a crash here it is caught and Vim tries to exit cleanly.
* Don't try freeing everything again. */
if (entered)
return;
entered = TRUE;
block_autocmds(); /* don't want to trigger autocommands here */
/* Close all tabs and windows. Reset 'equalalways' to avoid redraws. */
p_ea = FALSE;
if (first_tabpage->tp_next != NULL)
do_cmdline_cmd((char_u *)"tabonly!");
if (firstwin != lastwin)
do_cmdline_cmd((char_u *)"only!");
/* Free all spell info. */
spell_free_all();
/* Clear user commands (before deleting buffers). */
ex_comclear(NULL);
/* Clear menus. */
do_cmdline_cmd((char_u *)"aunmenu *");
do_cmdline_cmd((char_u *)"menutranslate clear");
/* Clear mappings, abbreviations, breakpoints. */
do_cmdline_cmd((char_u *)"lmapclear");
do_cmdline_cmd((char_u *)"xmapclear");
do_cmdline_cmd((char_u *)"mapclear");
do_cmdline_cmd((char_u *)"mapclear!");
do_cmdline_cmd((char_u *)"abclear");
do_cmdline_cmd((char_u *)"breakdel *");
do_cmdline_cmd((char_u *)"profdel *");
do_cmdline_cmd((char_u *)"set keymap=");
free_titles();
free_findfile();
/* Obviously named calls. */
free_all_autocmds();
clear_termcodes();
free_all_options();
free_all_marks();
alist_clear(&global_alist);
free_homedir();
free_users();
free_search_patterns();
free_old_sub();
free_last_insert();
free_prev_shellcmd();
free_regexp_stuff();
free_tag_stuff();
free_cd_dir();
free_signs();
set_expr_line(NULL);
diff_clear(curtab);
clear_sb_text(); /* free any scrollback text */
/* Free some global vars. */
vim_free(last_cmdline);
vim_free(new_last_cmdline);
set_keep_msg(NULL, 0);
/* Clear cmdline history. */
p_hi = 0;
init_history();
{
win_T *win;
tabpage_T *tab;
qf_free_all(NULL);
/* Free all location lists */
FOR_ALL_TAB_WINDOWS(tab, win)
qf_free_all(win);
}
/* Close all script inputs. */
close_all_scripts();
/* Destroy all windows. Must come before freeing buffers. */
win_free_all();
/* Free all buffers. Reset 'autochdir' to avoid accessing things that
* were freed already. */
p_acd = FALSE;
for (buf = firstbuf; buf != NULL; ) {
nextbuf = buf->b_next;
close_buffer(NULL, buf, DOBUF_WIPE, FALSE);
if (buf_valid(buf))
buf = nextbuf; /* didn't work, try next one */
else
buf = firstbuf;
}
free_cmdline_buf();
/* Clear registers. */
clear_registers();
ResetRedobuff();
ResetRedobuff();
/* highlight info */
free_highlight();
reset_last_sourcing();
free_tabpage(first_tabpage);
first_tabpage = NULL;
# ifdef UNIX
/* Machine-specific free. */
mch_free_mem();
# endif
/* message history */
for (;; )
if (delete_first_msg() == FAIL)
break;
eval_clear();
free_termoptions();
/* screenlines (can't display anything now!) */
free_screenlines();
clear_hl_tables();
vim_free(IObuff);
vim_free(NameBuff);
}
#endif
/*
* Copy "string" into newly allocated memory.
*/

View File

@ -24,18 +24,6 @@ void check_cursor_col_win(win_T *win);
void check_cursor(void);
void adjust_cursor_col(void);
int leftcol_changed(void);
char_u *alloc(unsigned size) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1);
char_u *alloc_clear(unsigned size) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1);
char_u *alloc_check(unsigned size) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1);
char_u *lalloc_clear(long_u size, int message) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1);
void try_to_free_memory();
void *xmalloc(size_t size)
FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1) FUNC_ATTR_NONNULL_RET;
void *xrealloc(void *ptr, size_t size)
FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_ALLOC_SIZE(2) FUNC_ATTR_NONNULL_RET;
char_u *lalloc(long_u size, int message) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1);
void do_outofmem_msg(long_u size);
void free_all_mem(void);
char_u *vim_strsave(char_u *string);
char_u *vim_strnsave(char_u *string, int len);
char_u *vim_strsave_escaped(char_u *string, char_u *esc_chars);

View File

@ -36,6 +36,7 @@
#include "main.h"
#include "mark.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -29,6 +29,7 @@
#include "mark.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -54,6 +54,7 @@
#include "mbyte.h"
#include "memfile.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -8,6 +8,7 @@
#include "os/input.h"
#include "os/signal.h"
#include "vim.h"
#include "memory.h"
#include "misc2.h"
typedef struct EventNode {

View File

@ -1,6 +1,7 @@
// fs.c -- filesystem access
#include "os/os.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -5,6 +5,7 @@
#include "types.h"
#include "vim.h"
#include "ascii.h"
#include "memory.h"
#include "misc2.h"
#include "option_defs.h"
#include "charset.h"

View File

@ -8,6 +8,7 @@
#include "memline.h"
#include "eval.h"
#include "term.h"
#include "memory.h"
#include "misc1.h"
#include "misc2.h"
#include "os/event.h"

View File

@ -40,6 +40,7 @@
#include "main.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -11,6 +11,7 @@
#include "garray.h"
#include "memfile.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -32,6 +32,7 @@
#include "message.h"
#include "misc1.h"
#include "misc2.h"
#include "memory.h"
#include "move.h"
#include "normal.h"
#include "option.h"

View File

@ -53,6 +53,7 @@
#include "ex_cmds2.h"
#include "mark.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -106,6 +106,7 @@
#include "main.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "menu.h"
#include "message.h"
#include "misc1.h"

View File

@ -29,6 +29,7 @@
#include "mark.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -314,6 +314,7 @@
#include "hashtab.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -26,6 +26,7 @@
#include "indent_c.h"
#include "mbyte.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"

View File

@ -33,6 +33,7 @@
#include "misc2.h"
#include "file_search.h"
#include "garray.h"
#include "memory.h"
#include "move.h"
#include "option.h"
#include "os_unix.h"

View File

@ -38,6 +38,7 @@
#include "misc2.h"
#include "garray.h"
#include "keymap.h"
#include "memory.h"
#include "move.h"
#include "normal.h"
#include "option.h"

View File

@ -28,6 +28,7 @@
#include "misc1.h"
#include "misc2.h"
#include "garray.h"
#include "memory.h"
#include "move.h"
#include "normal.h"
#include "option.h"

View File

@ -94,6 +94,7 @@
#include "message.h"
#include "misc1.h"
#include "misc2.h"
#include "memory.h"
#include "crypt.h"
#include "garray.h"
#include "option.h"

View File

@ -27,6 +27,7 @@
#include "main.h"
#include "mark.h"
#include "memline.h"
#include "memory.h"
#include "message.h"
#include "misc1.h"
#include "misc2.h"