cleanup/ex_docmd.c: remove most put_eol() calls
This commit is contained in:
parent
9048627806
commit
c4f4719ced
|
@ -9151,12 +9151,13 @@ static int makeopens(FILE *fd, char_u *dirnow)
|
||||||
PUTLINE_FAIL("exe \"cd \" . escape(expand(\"<sfile>:p:h\"), ' ')");
|
PUTLINE_FAIL("exe \"cd \" . escape(expand(\"<sfile>:p:h\"), ' ')");
|
||||||
} else if (ssop_flags & SSOP_CURDIR) {
|
} else if (ssop_flags & SSOP_CURDIR) {
|
||||||
sname = home_replace_save(NULL, globaldir != NULL ? globaldir : dirnow);
|
sname = home_replace_save(NULL, globaldir != NULL ? globaldir : dirnow);
|
||||||
if (fputs("cd ", fd) < 0
|
char *fname_esc = ses_escape_fname((char *)sname, &ssop_flags);
|
||||||
|| ses_put_fname(fd, sname, &ssop_flags) == FAIL
|
if (fprintf(fd, "cd %s\n", fname_esc) < 0) {
|
||||||
|| put_eol(fd) == FAIL) {
|
xfree(fname_esc);
|
||||||
xfree(sname);
|
xfree(sname);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
xfree(fname_esc);
|
||||||
xfree(sname);
|
xfree(sname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9196,11 +9197,11 @@ static int makeopens(FILE *fd, char_u *dirnow)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ssop_flags & SSOP_RESIZE) {
|
if (ssop_flags & SSOP_RESIZE) {
|
||||||
/* Note: after the restore we still check it worked!*/
|
// Note: after the restore we still check it worked!
|
||||||
if (fprintf(fd, "set lines=%" PRId64 " columns=%" PRId64,
|
if (fprintf(fd, "set lines=%" PRId64 " columns=%" PRId64 "\n",
|
||||||
(int64_t)Rows, (int64_t)Columns) < 0
|
(int64_t)Rows, (int64_t)Columns) < 0) {
|
||||||
|| put_eol(fd) == FAIL)
|
|
||||||
return FAIL;
|
return FAIL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int restore_stal = FALSE;
|
int restore_stal = FALSE;
|
||||||
|
@ -9343,8 +9344,7 @@ static int makeopens(FILE *fd, char_u *dirnow)
|
||||||
//
|
//
|
||||||
// Restore cursor to the current window if it's not the first one.
|
// Restore cursor to the current window if it's not the first one.
|
||||||
//
|
//
|
||||||
if (cnr > 1 && (fprintf(fd, "%dwincmd w", cnr) < 0
|
if (cnr > 1 && (fprintf(fd, "%dwincmd w\n", cnr) < 0)) {
|
||||||
|| put_eol(fd) == FAIL)) {
|
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9360,8 +9360,7 @@ static int makeopens(FILE *fd, char_u *dirnow)
|
||||||
if (tp->tp_localdir) {
|
if (tp->tp_localdir) {
|
||||||
if (fputs("if exists(':tcd') == 2 | tcd ", fd) < 0
|
if (fputs("if exists(':tcd') == 2 | tcd ", fd) < 0
|
||||||
|| ses_put_fname(fd, tp->tp_localdir, &ssop_flags) == FAIL
|
|| ses_put_fname(fd, tp->tp_localdir, &ssop_flags) == FAIL
|
||||||
|| fputs(" | endif", fd) < 0
|
|| fputs(" | endif\n", fd) < 0) {
|
||||||
|| put_eol(fd) == FAIL) {
|
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
did_lcd = true;
|
did_lcd = true;
|
||||||
|
@ -9396,15 +9395,15 @@ static int makeopens(FILE *fd, char_u *dirnow)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Re-apply options.
|
// Re-apply options.
|
||||||
if (fprintf(fd, "set winheight=%" PRId64 " winwidth=%" PRId64
|
if (fprintf(fd,
|
||||||
" winminheight=%" PRId64 " winminwidth=%" PRId64
|
"set winheight=%" PRId64 " winwidth=%" PRId64
|
||||||
" shortmess=%s",
|
" winminheight=%" PRId64 " winminwidth=%" PRId64
|
||||||
|
" shortmess=%s\n",
|
||||||
(int64_t)p_wh,
|
(int64_t)p_wh,
|
||||||
(int64_t)p_wiw,
|
(int64_t)p_wiw,
|
||||||
(int64_t)p_wmh,
|
(int64_t)p_wmh,
|
||||||
(int64_t)p_wmw,
|
(int64_t)p_wmw,
|
||||||
p_shm) < 0
|
p_shm) < 0) {
|
||||||
|| put_eol(fd) == FAIL) {
|
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9438,10 +9437,9 @@ static int ses_winsizes(FILE *fd, int restore_size, win_T *tab_firstwin)
|
||||||
if (wp->w_height + wp->w_status_height < topframe->fr_height
|
if (wp->w_height + wp->w_status_height < topframe->fr_height
|
||||||
&& (fprintf(fd,
|
&& (fprintf(fd,
|
||||||
"exe '%dresize ' . ((&lines * %" PRId64
|
"exe '%dresize ' . ((&lines * %" PRId64
|
||||||
" + %" PRId64 ") / %" PRId64 ")",
|
" + %" PRId64 ") / %" PRId64 ")\n",
|
||||||
n, (int64_t)wp->w_height,
|
n, (int64_t)wp->w_height,
|
||||||
(int64_t)Rows / 2, (int64_t)Rows) < 0
|
(int64_t)Rows / 2, (int64_t)Rows) < 0)) {
|
||||||
|| put_eol(fd) == FAIL)) {
|
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9449,10 +9447,9 @@ static int ses_winsizes(FILE *fd, int restore_size, win_T *tab_firstwin)
|
||||||
if (wp->w_width < Columns
|
if (wp->w_width < Columns
|
||||||
&& (fprintf(fd,
|
&& (fprintf(fd,
|
||||||
"exe 'vert %dresize ' . ((&columns * %" PRId64
|
"exe 'vert %dresize ' . ((&columns * %" PRId64
|
||||||
" + %" PRId64 ") / %" PRId64 ")",
|
" + %" PRId64 ") / %" PRId64 ")\n",
|
||||||
n, (int64_t)wp->w_width, (int64_t)Columns / 2,
|
n, (int64_t)wp->w_width, (int64_t)Columns / 2,
|
||||||
(int64_t)Columns) < 0
|
(int64_t)Columns) < 0)) {
|
||||||
|| put_eol(fd) == FAIL)) {
|
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9490,8 +9487,7 @@ static int ses_win_rec(FILE *fd, frame_T *fr)
|
||||||
|
|
||||||
// Go back to the first window.
|
// Go back to the first window.
|
||||||
if (count > 0 && (fprintf(fd, fr->fr_layout == FR_COL
|
if (count > 0 && (fprintf(fd, fr->fr_layout == FR_COL
|
||||||
? "%dwincmd k" : "%dwincmd h", count) < 0
|
? "%dwincmd k\n" : "%dwincmd h\n", count) < 0)) {
|
||||||
|| put_eol(fd) == FAIL)) {
|
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9560,11 +9556,11 @@ static int put_view_curpos(FILE *fd, const win_T *wp, char *spaces)
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
if (wp->w_curswant == MAXCOL) {
|
if (wp->w_curswant == MAXCOL) {
|
||||||
r = fprintf(fd, "%snormal! $", spaces);
|
r = fprintf(fd, "%snormal! $\n", spaces);
|
||||||
} else {
|
} else {
|
||||||
r = fprintf(fd, "%snormal! 0%d|", spaces, wp->w_virtcol + 1);
|
r = fprintf(fd, "%snormal! 0%d|\n", spaces, wp->w_virtcol + 1);
|
||||||
}
|
}
|
||||||
return r < 0 || put_eol(fd) == FAIL ? FAIL : OK;
|
return r >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -9608,18 +9604,19 @@ put_view(
|
||||||
* arguments may have been deleted, check if the index is valid. */
|
* arguments may have been deleted, check if the index is valid. */
|
||||||
if (wp->w_arg_idx != current_arg_idx && wp->w_arg_idx < WARGCOUNT(wp)
|
if (wp->w_arg_idx != current_arg_idx && wp->w_arg_idx < WARGCOUNT(wp)
|
||||||
&& flagp == &ssop_flags) {
|
&& flagp == &ssop_flags) {
|
||||||
if (fprintf(fd, "%" PRId64 "argu", (int64_t)wp->w_arg_idx + 1) < 0
|
if (fprintf(fd, "%" PRId64 "argu\n", (int64_t)wp->w_arg_idx + 1) < 0) {
|
||||||
|| put_eol(fd) == FAIL) {
|
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
did_next = true;
|
did_next = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Edit the file. Skip this when ":next" already did it. */
|
// Edit the file. Skip this when ":next" already did it.
|
||||||
if (add_edit && (!did_next || wp->w_arg_idx_invalid)) {
|
if (add_edit && (!did_next || wp->w_arg_idx_invalid)) {
|
||||||
/*
|
char *fname_esc =
|
||||||
* Load the file.
|
ses_escape_fname(ses_get_fname(wp->w_buffer, flagp), flagp);
|
||||||
*/
|
//
|
||||||
|
// Load the file.
|
||||||
|
//
|
||||||
if (wp->w_buffer->b_ffname != NULL
|
if (wp->w_buffer->b_ffname != NULL
|
||||||
&& (!bt_nofile(wp->w_buffer) || wp->w_buffer->terminal)
|
&& (!bt_nofile(wp->w_buffer) || wp->w_buffer->terminal)
|
||||||
) {
|
) {
|
||||||
|
@ -9629,49 +9626,41 @@ put_view(
|
||||||
// Note, if a buffer for that file already exists, use :badd to
|
// Note, if a buffer for that file already exists, use :badd to
|
||||||
// edit that buffer, to not lose folding information (:edit resets
|
// edit that buffer, to not lose folding information (:edit resets
|
||||||
// folds in other buffers)
|
// folds in other buffers)
|
||||||
if (fputs("if bufexists(\"", fd) < 0
|
|
||||||
|| ses_fname(fd, wp->w_buffer, flagp, false) == FAIL
|
|
||||||
|| fputs("\") | buffer ", fd) < 0
|
|
||||||
|| ses_fname(fd, wp->w_buffer, flagp, false) == FAIL
|
|
||||||
|| fputs(" | else | edit ", fd) < 0
|
|
||||||
|| ses_fname(fd, wp->w_buffer, flagp, false) == FAIL
|
|
||||||
|| fputs(" | endif", fd) < 0
|
|
||||||
|| put_eol(fd) == FAIL) {
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
char *fname_esc =
|
|
||||||
ses_escape_fname(ses_get_fname(wp->w_buffer, flagp, false), flagp);
|
|
||||||
// Fixup :terminal buffer name.
|
|
||||||
if (fprintf(fd,
|
if (fprintf(fd,
|
||||||
|
"if bufexists(\"%s\") | buffer %s | else | edit %s | endif\n"
|
||||||
|
// Fixup :terminal buffer name. #7836
|
||||||
"if &buftype ==# 'terminal'\n"
|
"if &buftype ==# 'terminal'\n"
|
||||||
" silent file %s\n"
|
" silent file %s\n"
|
||||||
"endif\n",
|
"endif\n",
|
||||||
|
fname_esc,
|
||||||
|
fname_esc,
|
||||||
|
fname_esc,
|
||||||
fname_esc) < 0) {
|
fname_esc) < 0) {
|
||||||
xfree(fname_esc);
|
xfree(fname_esc);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
xfree(fname_esc);
|
|
||||||
} else {
|
} else {
|
||||||
// No file in this buffer, just make it empty.
|
// No file in this buffer, just make it empty.
|
||||||
PUTLINE_FAIL("enew");
|
PUTLINE_FAIL("enew");
|
||||||
if (wp->w_buffer->b_ffname != NULL) {
|
if (wp->w_buffer->b_ffname != NULL) {
|
||||||
// The buffer does have a name, but it's not a file name.
|
// The buffer does have a name, but it's not a file name.
|
||||||
if (fputs("file ", fd) < 0
|
if (fprintf(fd, "file %s\n", fname_esc) < 0) {
|
||||||
|| ses_fname(fd, wp->w_buffer, flagp, true) == FAIL) {
|
xfree(fname_esc);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
do_cursor = false;
|
do_cursor = false;
|
||||||
}
|
}
|
||||||
|
xfree(fname_esc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local mappings and abbreviations.
|
* Local mappings and abbreviations.
|
||||||
*/
|
*/
|
||||||
if ((*flagp & (SSOP_OPTIONS | SSOP_LOCALOPTIONS))
|
if ((*flagp & (SSOP_OPTIONS | SSOP_LOCALOPTIONS))
|
||||||
&& makemap(fd, wp->w_buffer) == FAIL)
|
&& makemap(fd, wp->w_buffer) == FAIL) {
|
||||||
return FAIL;
|
return FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local options. Need to go to the window temporarily.
|
* Local options. Need to go to the window temporarily.
|
||||||
|
@ -9692,8 +9681,9 @@ put_view(
|
||||||
f = OK;
|
f = OK;
|
||||||
curwin = save_curwin;
|
curwin = save_curwin;
|
||||||
curbuf = curwin->w_buffer;
|
curbuf = curwin->w_buffer;
|
||||||
if (f == FAIL)
|
if (f == FAIL) {
|
||||||
return FAIL;
|
return FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Save Folds when 'buftype' is empty and for help files.
|
// Save Folds when 'buftype' is empty and for help files.
|
||||||
|
@ -9736,8 +9726,7 @@ put_view(
|
||||||
" * winwidth(0) + %" PRId64 ") / %" PRId64 ")\n"
|
" * winwidth(0) + %" PRId64 ") / %" PRId64 ")\n"
|
||||||
"if s:c > 0\n"
|
"if s:c > 0\n"
|
||||||
" exe 'normal! ' . s:c . '|zs' . %" PRId64 " . '|'\n"
|
" exe 'normal! ' . s:c . '|zs' . %" PRId64 " . '|'\n"
|
||||||
"else\n"
|
"else\n",
|
||||||
,
|
|
||||||
(int64_t)wp->w_virtcol + 1,
|
(int64_t)wp->w_virtcol + 1,
|
||||||
(int64_t)(wp->w_virtcol - wp->w_leftcol),
|
(int64_t)(wp->w_virtcol - wp->w_leftcol),
|
||||||
(int64_t)(wp->w_width / 2),
|
(int64_t)(wp->w_width / 2),
|
||||||
|
@ -9761,7 +9750,7 @@ put_view(
|
||||||
&& (flagp != &vop_flags || (*flagp & SSOP_CURDIR))) {
|
&& (flagp != &vop_flags || (*flagp & SSOP_CURDIR))) {
|
||||||
if (fputs("lcd ", fd) < 0
|
if (fputs("lcd ", fd) < 0
|
||||||
|| ses_put_fname(fd, wp->w_localdir, flagp) == FAIL
|
|| ses_put_fname(fd, wp->w_localdir, flagp) == FAIL
|
||||||
|| put_eol(fd) == FAIL) {
|
|| fprintf(fd, "\n") < 0) {
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
did_lcd = true;
|
did_lcd = true;
|
||||||
|
@ -9785,10 +9774,9 @@ static int ses_arglist(FILE *fd, char *cmd, garray_T *gap, int fullname,
|
||||||
char_u *buf = NULL;
|
char_u *buf = NULL;
|
||||||
char_u *s;
|
char_u *s;
|
||||||
|
|
||||||
if (fputs(cmd, fd) < 0 || put_eol(fd) == FAIL) {
|
if (fprintf(fd, "%s\n%s\n", cmd, "%argdel") < 0) {
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
PUTLINE_FAIL("%argdel");
|
|
||||||
for (int i = 0; i < gap->ga_len; i++) {
|
for (int i = 0; i < gap->ga_len; i++) {
|
||||||
// NULL file names are skipped (only happens when out of memory).
|
// NULL file names are skipped (only happens when out of memory).
|
||||||
s = alist_name(&((aentry_T *)gap->ga_data)[i]);
|
s = alist_name(&((aentry_T *)gap->ga_data)[i]);
|
||||||
|
@ -9798,11 +9786,13 @@ static int ses_arglist(FILE *fd, char *cmd, garray_T *gap, int fullname,
|
||||||
(void)vim_FullName((char *)s, (char *)buf, MAXPATHL, FALSE);
|
(void)vim_FullName((char *)s, (char *)buf, MAXPATHL, FALSE);
|
||||||
s = buf;
|
s = buf;
|
||||||
}
|
}
|
||||||
if (fputs("$argadd ", fd) < 0 || ses_put_fname(fd, s, flagp) == FAIL
|
char *fname_esc = ses_escape_fname((char *)s, flagp);
|
||||||
|| put_eol(fd) == FAIL) {
|
if (fprintf(fd, "$argadd %s\n", fname_esc) < 0) {
|
||||||
|
xfree(fname_esc);
|
||||||
xfree(buf);
|
xfree(buf);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
xfree(fname_esc);
|
||||||
xfree(buf);
|
xfree(buf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9810,7 +9800,7 @@ static int ses_arglist(FILE *fd, char *cmd, garray_T *gap, int fullname,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Gets the buffer name for `buf`.
|
/// Gets the buffer name for `buf`.
|
||||||
static char *ses_get_fname(buf_T *buf, unsigned *flagp, bool add_eol)
|
static char *ses_get_fname(buf_T *buf, unsigned *flagp)
|
||||||
{
|
{
|
||||||
// Use the short file name if the current directory is known at the time
|
// Use the short file name if the current directory is known at the time
|
||||||
// the session file will be sourced.
|
// the session file will be sourced.
|
||||||
|
@ -9832,9 +9822,9 @@ static char *ses_get_fname(buf_T *buf, unsigned *flagp, bool add_eol)
|
||||||
/// Returns FAIL if writing fails.
|
/// Returns FAIL if writing fails.
|
||||||
static int ses_fname(FILE *fd, buf_T *buf, unsigned *flagp, bool add_eol)
|
static int ses_fname(FILE *fd, buf_T *buf, unsigned *flagp, bool add_eol)
|
||||||
{
|
{
|
||||||
char *name = ses_get_fname(buf, flagp, add_eol);
|
char *name = ses_get_fname(buf, flagp);
|
||||||
if (ses_put_fname(fd, (char_u *)name, flagp) == FAIL
|
if (ses_put_fname(fd, (char_u *)name, flagp) == FAIL
|
||||||
|| (add_eol && put_eol(fd) == FAIL)) {
|
|| (add_eol && fprintf(fd, "\n") < 0)) {
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
return OK;
|
return OK;
|
||||||
|
@ -9939,8 +9929,7 @@ static char *get_view_file(int c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// TODO(justinmk): remove this. Formerly used to choose CRLF or LF for session
|
// TODO(justinmk): remove this, not needed after 5ba3cecb68cd.
|
||||||
// files, but that's useless--instead we always write LF.
|
|
||||||
int put_eol(FILE *fd)
|
int put_eol(FILE *fd)
|
||||||
{
|
{
|
||||||
if (putc('\n', fd) < 0) {
|
if (putc('\n', fd) < 0) {
|
||||||
|
@ -9949,10 +9938,10 @@ int put_eol(FILE *fd)
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(justinmk): remove this, not needed after 823750fef315.
|
// TODO(justinmk): remove this, not needed after 5ba3cecb68cd.
|
||||||
int put_line(FILE *fd, char *s)
|
int put_line(FILE *fd, char *s)
|
||||||
{
|
{
|
||||||
if (0 > fprintf(fd, "%s\n", s)) {
|
if (fprintf(fd, "%s\n", s) < 0) {
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
return OK;
|
return OK;
|
||||||
|
|
Loading…
Reference in New Issue