Commit: patch 9.1.0372: Calling CLEAR_FIELD() on the same struct twice

5 views
Skip to first unread message

Christian Brabandt

unread,
Apr 25, 2024, 3:45:10 PM4/25/24
to vim...@googlegroups.com
patch 9.1.0372: Calling CLEAR_FIELD() on the same struct twice

Commit: https://github.com/vim/vim/commit/f68517c1671dfedcc1555da50bc0b3de6d2842f6
Author: zeertzjq <zeer...@outlook.com>
Date: Thu Apr 25 21:34:10 2024 +0200

patch 9.1.0372: Calling CLEAR_FIELD() on the same struct twice

Problem: Calling CLEAR_FIELD() on the same struct twice.
Solution: Remove the second CLEAR_FIELD(). Move the assignment of
cookie.sourceing_lnum (zeertzjq).

closes: #14627

Signed-off-by: zeertzjq <zeer...@outlook.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/scriptfile.c b/src/scriptfile.c
index 54af7597e..d5ec7cfdd 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -1273,7 +1273,7 @@ cmd_source(char_u *fname, exarg_T *eap)
emsg(_(e_argument_required));
else
// source ex commands from the current buffer
- do_source_ext(NULL, FALSE, FALSE, NULL, eap, clearvars);
+ do_source_ext(NULL, FALSE, DOSO_NONE, NULL, eap, clearvars);
}
else if (eap != NULL && eap->forceit)
// ":source!": read Normal mode commands
@@ -1424,8 +1424,6 @@ do_source_buffer_init(source_cookie_T *sp, exarg_T *eap)
char_u *line = NULL;
char_u *fname;

- CLEAR_FIELD(*sp);
-
if (curbuf == NULL)
return NULL;

@@ -1453,6 +1451,8 @@ do_source_buffer_init(source_cookie_T *sp, exarg_T *eap)
}
sp->buf_lnum = 0;
sp->source_from_buf = TRUE;
+ // When sourcing a range of lines from a buffer, use buffer line number.
+ sp->sourcing_lnum = eap->line1 - 1;

return fname;

@@ -1641,13 +1641,6 @@ do_source_ext(
cookie.fileformat = EOL_UNKNOWN;
#endif

- if (fname == NULL)
- // When sourcing a range of lines from a buffer, use the buffer line
- // number.
- cookie.sourcing_lnum = eap->line1 - 1;
- else
- cookie.sourcing_lnum = 0;
-
#ifdef FEAT_EVAL
// Check if this script has a breakpoint.
cookie.breakpoint = dbg_find_breakpoint(TRUE, fname_exp, (linenr_T)0);
diff --git a/src/version.c b/src/version.c
index 5a2d397b4..124fb664c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 372,
/**/
371,
/**/
Reply all
Reply to author
Forward
0 new messages