mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.2.0674: some source files are too big
Problem: Some source files are too big. Solution: Move text formatting functions to a new file. (Yegappan Lakshmanan, closes #6021)
This commit is contained in:
@@ -684,6 +684,46 @@ stuffnumReadbuff(long n)
|
||||
add_num_buff(&readbuf1, n);
|
||||
}
|
||||
|
||||
/*
|
||||
* Stuff a string into the typeahead buffer, such that edit() will insert it
|
||||
* literally ("literally" TRUE) or interpret is as typed characters.
|
||||
*/
|
||||
void
|
||||
stuffescaped(char_u *arg, int literally)
|
||||
{
|
||||
int c;
|
||||
char_u *start;
|
||||
|
||||
while (*arg != NUL)
|
||||
{
|
||||
// Stuff a sequence of normal ASCII characters, that's fast. Also
|
||||
// stuff K_SPECIAL to get the effect of a special key when "literally"
|
||||
// is TRUE.
|
||||
start = arg;
|
||||
while ((*arg >= ' '
|
||||
#ifndef EBCDIC
|
||||
&& *arg < DEL // EBCDIC: chars above space are normal
|
||||
#endif
|
||||
)
|
||||
|| (*arg == K_SPECIAL && !literally))
|
||||
++arg;
|
||||
if (arg > start)
|
||||
stuffReadbuffLen(start, (long)(arg - start));
|
||||
|
||||
// stuff a single special character
|
||||
if (*arg != NUL)
|
||||
{
|
||||
if (has_mbyte)
|
||||
c = mb_cptr2char_adv(&arg);
|
||||
else
|
||||
c = *arg++;
|
||||
if (literally && ((c < ' ' && c != TAB) || c == DEL))
|
||||
stuffcharReadbuff(Ctrl_V);
|
||||
stuffcharReadbuff(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Read a character from the redo buffer. Translates K_SPECIAL, CSI and
|
||||
* multibyte characters.
|
||||
|
Reference in New Issue
Block a user