changeset 35046:323962c19623 v9.1.0372

patch 9.1.0372: Calling CLEAR_FIELD() on the same struct twice Commit: https://github.com/vim/vim/commit/f68517c1671dfedcc1555da50bc0b3de6d2842f6 Author: zeertzjq <zeertzjq@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 <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 25 Apr 2024 21:45:04 +0200
parents ddcdd52e583c
children 6f7c02ee79f5
files src/scriptfile.c src/version.c
diffstat 2 files changed, 5 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- 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 *s
     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 *s
     }
     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);
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    372,
+/**/
     371,
 /**/
     370,