changeset 14899:e35d98651e56 v8.1.0461

patch 8.1.0461: quickfix code uses too many /* */ comments commit https://github.com/vim/vim/commit/00bf8cd2115be7c14258aee48c0a7568147c9cd7 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Oct 7 20:26:20 2018 +0200 patch 8.1.0461: quickfix code uses too many /* */ comments Problem: Quickfix code uses too many /* */ comments. Solution: Change to // comments. (Yegappan Lakshmanan)
author Bram Moolenaar <Bram@vim.org>
date Sun, 07 Oct 2018 20:30:07 +0200
parents 732f1b2f4cc0
children caf64d01a0d6
files src/quickfix.c src/version.c
diffstat 2 files changed, 509 insertions(+), 591 deletions(-) [+]
line wrap: on
line diff
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -27,20 +27,20 @@ struct dir_stack_T
 typedef struct qfline_S qfline_T;
 struct qfline_S
 {
-    qfline_T	*qf_next;	/* pointer to next error in the list */
-    qfline_T	*qf_prev;	/* pointer to previous error in the list */
-    linenr_T	qf_lnum;	/* line number where the error occurred */
-    int		qf_fnum;	/* file number for the line */
-    int		qf_col;		/* column where the error occurred */
-    int		qf_nr;		/* error number */
-    char_u	*qf_module;	/* module name for this error */
-    char_u	*qf_pattern;	/* search pattern for the error */
-    char_u	*qf_text;	/* description of the error */
-    char_u	qf_viscol;	/* set to TRUE if qf_col is screen column */
-    char_u	qf_cleared;	/* set to TRUE if line has been deleted */
-    char_u	qf_type;	/* type of the error (mostly 'E'); 1 for
-				   :helpgrep */
-    char_u	qf_valid;	/* valid error message detected */
+    qfline_T	*qf_next;	// pointer to next error in the list
+    qfline_T	*qf_prev;	// pointer to previous error in the list
+    linenr_T	qf_lnum;	// line number where the error occurred
+    int		qf_fnum;	// file number for the line
+    int		qf_col;		// column where the error occurred
+    int		qf_nr;		// error number
+    char_u	*qf_module;	// module name for this error
+    char_u	*qf_pattern;	// search pattern for the error
+    char_u	*qf_text;	// description of the error
+    char_u	qf_viscol;	// set to TRUE if qf_col is screen column
+    char_u	qf_cleared;	// set to TRUE if line has been deleted
+    char_u	qf_type;	// type of the error (mostly 'E'); 1 for
+				// :helpgrep
+    char_u	qf_valid;	// valid error message detected
 };
 
 /*
@@ -60,16 +60,16 @@ struct qfline_S
  */
 typedef struct qf_list_S
 {
-    int_u	qf_id;		/* Unique identifier for this list */
-    qfline_T	*qf_start;	/* pointer to the first error */
-    qfline_T	*qf_last;	/* pointer to the last error */
-    qfline_T	*qf_ptr;	/* pointer to the current error */
-    int		qf_count;	/* number of errors (0 means empty list) */
-    int		qf_index;	/* current index in the error list */
-    int		qf_nonevalid;	/* TRUE if not a single valid entry found */
-    char_u	*qf_title;	/* title derived from the command that created
-				 * the error list or set by setqflist */
-    typval_T	*qf_ctx;	/* context set by setqflist/setloclist */
+    int_u	qf_id;		// Unique identifier for this list
+    qfline_T	*qf_start;	// pointer to the first error
+    qfline_T	*qf_last;	// pointer to the last error
+    qfline_T	*qf_ptr;	// pointer to the current error
+    int		qf_count;	// number of errors (0 means empty list)
+    int		qf_index;	// current index in the error list
+    int		qf_nonevalid;	// TRUE if not a single valid entry found
+    char_u	*qf_title;	// title derived from the command that created
+				// the error list or set by setqflist
+    typval_T	*qf_ctx;	// context set by setqflist/setloclist
 
     struct dir_stack_T	*qf_dir_stack;
     char_u		*qf_directory;
@@ -87,22 +87,20 @@ typedef struct qf_list_S
  */
 struct qf_info_S
 {
-    /*
-     * Count of references to this list. Used only for location lists.
-     * When a location list window reference this list, qf_refcount
-     * will be 2. Otherwise, qf_refcount will be 1. When qf_refcount
-     * reaches 0, the list is freed.
-     */
+    // Count of references to this list. Used only for location lists.
+    // When a location list window reference this list, qf_refcount
+    // will be 2. Otherwise, qf_refcount will be 1. When qf_refcount
+    // reaches 0, the list is freed.
     int		qf_refcount;
-    int		qf_listcount;	    /* current number of lists */
-    int		qf_curlist;	    /* current error list */
+    int		qf_listcount;	    // current number of lists
+    int		qf_curlist;	    // current error list
     qf_list_T	qf_lists[LISTCOUNT];
 };
 
-static qf_info_T ql_info;	/* global quickfix list */
-static int_u last_qf_id = 0;	/* Last used quickfix list id */
-
-#define FMT_PATTERNS 11		/* maximum number of % recognized */
+static qf_info_T ql_info;	// global quickfix list
+static int_u last_qf_id = 0;	// Last used quickfix list id
+
+#define FMT_PATTERNS 11		// maximum number of % recognized
 
 /*
  * Structure used to hold the info of one part of 'errorformat'
@@ -110,29 +108,29 @@ static int_u last_qf_id = 0;	/* Last use
 typedef struct efm_S efm_T;
 struct efm_S
 {
-    regprog_T	    *prog;	/* pre-formatted part of 'errorformat' */
-    efm_T	    *next;	/* pointer to next (NULL if last) */
-    char_u	    addr[FMT_PATTERNS]; /* indices of used % patterns */
-    char_u	    prefix;	/* prefix of this format line: */
-				/*   'D' enter directory */
-				/*   'X' leave directory */
-				/*   'A' start of multi-line message */
-				/*   'E' error message */
-				/*   'W' warning message */
-				/*   'I' informational message */
-				/*   'C' continuation line */
-				/*   'Z' end of multi-line message */
-				/*   'G' general, unspecific message */
-				/*   'P' push file (partial) message */
-				/*   'Q' pop/quit file (partial) message */
-				/*   'O' overread (partial) message */
-    char_u	    flags;	/* additional flags given in prefix */
-				/*   '-' do not include this line */
-				/*   '+' include whole line in message */
-    int		    conthere;	/* %> used */
+    regprog_T	    *prog;	// pre-formatted part of 'errorformat'
+    efm_T	    *next;	// pointer to next (NULL if last)
+    char_u	    addr[FMT_PATTERNS]; // indices of used % patterns
+    char_u	    prefix;	// prefix of this format line:
+				//   'D' enter directory
+				//   'X' leave directory
+				//   'A' start of multi-line message
+				//   'E' error message
+				//   'W' warning message
+				//   'I' informational message
+				//   'C' continuation line
+				//   'Z' end of multi-line message
+				//   'G' general, unspecific message
+				//   'P' push file (partial) message
+				//   'Q' pop/quit file (partial) message
+				//   'O' overread (partial) message
+    char_u	    flags;	// additional flags given in prefix
+				//   '-' do not include this line
+				//   '+' include whole line in message
+    int		    conthere;	// %> used
 };
 
-static efm_T	*fmt_start = NULL; /* cached across qf_parse_line() calls */
+static efm_T	*fmt_start = NULL; // cached across qf_parse_line() calls
 
 static void	qf_new_list(qf_info_T *qi, char_u *qf_title);
 static int	qf_add_entry(qf_info_T *qi, int qf_idx, char_u *dir, char_u *fname, char_u *module, int bufnum, char_u *mesg, long lnum, int col, int vis_col, char_u *pattern, int nr, int type, int valid);
@@ -153,9 +151,9 @@ static void	wipe_dummy_buffer(buf_T *buf
 static void	unload_dummy_buffer(buf_T *buf, char_u *dirname_start);
 static qf_info_T *ll_get_or_alloc_list(win_T *);
 
-/* Quickfix window check helper macro */
+// Quickfix window check helper macro
 #define IS_QF_WINDOW(wp) (bt_quickfix(wp->w_buffer) && wp->w_llist_ref == NULL)
-/* Location list window check helper macro */
+// Location list window check helper macro
 #define IS_LL_WINDOW(wp) (bt_quickfix(wp->w_buffer) && wp->w_llist_ref != NULL)
 
 // Quickfix and location list stack check helper macros
@@ -189,7 +187,7 @@ static struct fmtpattern
     char	*pattern;
 } fmt_pat[FMT_PATTERNS] =
     {
-	{'f', ".\\+"},	    /* only used when at end */
+	{'f', ".\\+"},	    // only used when at end
 	{'n', "\\d\\+"},
 	{'l', "\\d\\+"},
 	{'c', "\\d\\+"},
@@ -221,7 +219,7 @@ efmpat_to_regpat(
 
     if (efminfo->addr[idx])
     {
-	/* Each errorformat pattern can occur only once */
+	// Each errorformat pattern can occur only once
 	sprintf((char *)errmsg,
 		_("E372: Too many %%%c in format string"), *efmpat);
 	EMSG(errmsg);
@@ -243,9 +241,9 @@ efmpat_to_regpat(
 #ifdef BACKSLASH_IN_FILENAME
     if (*efmpat == 'f')
     {
-	/* Also match "c:" in the file name, even when
-	 * checking for a colon next: "%f:".
-	 * "\%(\a:\)\=" */
+	// Also match "c:" in the file name, even when
+	// checking for a colon next: "%f:".
+	// "\%(\a:\)\="
 	STRCPY(regpat, "\\%(\\a:\\)\\=");
 	regpat += 10;
     }
@@ -254,18 +252,18 @@ efmpat_to_regpat(
     {
 	if (efmpat[1] != '\\' && efmpat[1] != '%')
 	{
-	    /* A file name may contain spaces, but this isn't
-	     * in "\f".  For "%f:%l:%m" there may be a ":" in
-	     * the file name.  Use ".\{-1,}x" instead (x is
-	     * the next character), the requirement that :999:
-	     * follows should work. */
+	    // A file name may contain spaces, but this isn't
+	    // in "\f".  For "%f:%l:%m" there may be a ":" in
+	    // the file name.  Use ".\{-1,}x" instead (x is
+	    // the next character), the requirement that :999:
+	    // follows should work.
 	    STRCPY(regpat, ".\\{-1,}");
 	    regpat += 7;
 	}
 	else
 	{
-	    /* File name followed by '\\' or '%': include as
-	     * many file name chars as possible. */
+	    // File name followed by '\\' or '%': include as
+	    // many file name chars as possible.
 	    STRCPY(regpat, "\\f\\+");
 	    regpat += 4;
 	}
@@ -298,16 +296,16 @@ scanf_fmt_to_regpat(
 
     if (*efmp == '[' || *efmp == '\\')
     {
-	if ((*regpat++ = *efmp) == '[')	/* %*[^a-z0-9] etc. */
+	if ((*regpat++ = *efmp) == '[')	// %*[^a-z0-9] etc.
 	{
 	    if (efmp[1] == '^')
 		*regpat++ = *++efmp;
 	    if (efmp < efm + len)
 	    {
-		*regpat++ = *++efmp;	    /* could be ']' */
+		*regpat++ = *++efmp;	    // could be ']'
 		while (efmp < efm + len
 			&& (*regpat++ = *++efmp) != ']')
-		    /* skip */;
+		    // skip ;
 		if (efmp == efm + len)
 		{
 		    EMSG(_("E374: Missing ] in format string"));
@@ -315,14 +313,14 @@ scanf_fmt_to_regpat(
 		}
 	    }
 	}
-	else if (efmp < efm + len)	/* %*\D, %*\s etc. */
+	else if (efmp < efm + len)	// %*\D, %*\s etc.
 	    *regpat++ = *++efmp;
 	*regpat++ = '\\';
 	*regpat++ = '+';
     }
     else
     {
-	/* TODO: scanf()-like: %*ud, %*3c, %*f, ... ? */
+	// TODO: scanf()-like: %*ud, %*3c, %*f, ... ?
 	sprintf((char *)errmsg,
 		_("E375: Unsupported %%%c in format string"), *efmp);
 	EMSG(errmsg);
@@ -374,9 +372,7 @@ efm_to_regpat(
     int		round;
     int		idx = 0;
 
-    /*
-     * Build a regexp pattern for a 'errorformat' option part
-     */
+    // Build a regexp pattern for a 'errorformat' option part
     ptr = regpat;
     *ptr++ = '^';
     round = 0;
@@ -404,17 +400,15 @@ efm_to_regpat(
 		    return FAIL;
 	    }
 	    else if (vim_strchr((char_u *)"%\\.^$~[", *efmp) != NULL)
-		*ptr++ = *efmp;		/* regexp magic characters */
+		*ptr++ = *efmp;		// regexp magic characters
 	    else if (*efmp == '#')
 		*ptr++ = '*';
 	    else if (*efmp == '>')
 		fmt_ptr->conthere = TRUE;
-	    else if (efmp == efm + 1)		/* analyse prefix */
+	    else if (efmp == efm + 1)		// analyse prefix
 	    {
-		/*
-		 * prefix is allowed only at the beginning of the errorformat
-		 * option part
-		 */
+		// prefix is allowed only at the beginning of the errorformat
+		// option part
 		efmp = efm_analyze_prefix(efmp, fmt_ptr, errmsg);
 		if (efmp == NULL)
 		    return FAIL;
@@ -427,12 +421,12 @@ efm_to_regpat(
 		return FAIL;
 	    }
 	}
-	else			/* copy normal character */
+	else			// copy normal character
 	{
 	    if (*efmp == '\\' && efmp + 1 < efm + len)
 		++efmp;
 	    else if (vim_strchr((char_u *)".*^$~[", *efmp) != NULL)
-		*ptr++ = '\\';	/* escape regexp atoms */
+		*ptr++ = '\\';	// escape regexp atoms
 	    if (*efmp)
 		*ptr++ = *efmp;
 	}
@@ -474,9 +468,9 @@ efm_regpat_bufsz(char_u *efm)
     for (i = FMT_PATTERNS; i > 0; )
 	sz += (int)STRLEN(fmt_pat[--i].pattern);
 #ifdef BACKSLASH_IN_FILENAME
-    sz += 12; /* "%f" can become twelve chars longer (see efm_to_regpat) */
+    sz += 12; // "%f" can become twelve chars longer (see efm_to_regpat)
 #else
-    sz += 2; /* "%f" can become two chars longer */
+    sz += 2; // "%f" can become two chars longer
 #endif
 
     return sz;
@@ -519,48 +513,38 @@ parse_efm_option(char_u *efm)
     if (errmsg == NULL)
 	goto parse_efm_end;
 
-    /*
-     * Each part of the format string is copied and modified from errorformat
-     * to regex prog.  Only a few % characters are allowed.
-     */
-
-    /*
-     * Get some space to modify the format string into.
-     */
+    // Each part of the format string is copied and modified from errorformat
+    // to regex prog.  Only a few % characters are allowed.
+
+    // Get some space to modify the format string into.
     sz = efm_regpat_bufsz(efm);
     if ((fmtstr = alloc(sz)) == NULL)
 	goto parse_efm_error;
 
     while (efm[0] != NUL)
     {
-	/*
-	 * Allocate a new eformat structure and put it at the end of the list
-	 */
+	// Allocate a new eformat structure and put it at the end of the list
 	fmt_ptr = (efm_T *)alloc_clear((unsigned)sizeof(efm_T));
 	if (fmt_ptr == NULL)
 	    goto parse_efm_error;
-	if (fmt_first == NULL)	    /* first one */
+	if (fmt_first == NULL)	    // first one
 	    fmt_first = fmt_ptr;
 	else
 	    fmt_last->next = fmt_ptr;
 	fmt_last = fmt_ptr;
 
-	/*
-	 * Isolate one part in the 'errorformat' option
-	 */
+	// Isolate one part in the 'errorformat' option
 	len = efm_option_part_len(efm);
 
 	if (efm_to_regpat(efm, len, fmt_ptr, fmtstr, errmsg) == FAIL)
 	    goto parse_efm_error;
 	if ((fmt_ptr->prog = vim_regcomp(fmtstr, RE_MAGIC + RE_STRING)) == NULL)
 	    goto parse_efm_error;
-	/*
-	 * Advance to next part
-	 */
-	efm = skip_to_option_part(efm + len);	/* skip comma and spaces */
-    }
-
-    if (fmt_first == NULL)	/* nothing found */
+	// Advance to next part
+	efm = skip_to_option_part(efm + len);	// skip comma and spaces
+    }
+
+    if (fmt_first == NULL)	// nothing found
 	EMSG(_("E378: 'errorformat' contains no pattern"));
 
     goto parse_efm_end;
@@ -611,10 +595,8 @@ qf_grow_linebuf(qfstate_T *state, int ne
 {
     char_u	*p;
 
-    /*
-     * If the line exceeds LINE_MAXLEN exclude the last
-     * byte since it's not a NL character.
-     */
+    // If the line exceeds LINE_MAXLEN exclude the last
+    // byte since it's not a NL character.
     state->linelen = newsz > LINE_MAXLEN ? LINE_MAXLEN - 1 : newsz;
     if (state->growbuf == NULL)
     {
@@ -639,12 +621,12 @@ qf_grow_linebuf(qfstate_T *state, int ne
     static int
 qf_get_next_str_line(qfstate_T *state)
 {
-    /* Get the next line from the supplied string */
+    // Get the next line from the supplied string
     char_u	*p_str = state->p_str;
     char_u	*p;
     int		len;
 
-    if (*p_str == NUL) /* Reached the end of the string */
+    if (*p_str == NUL) // Reached the end of the string
 	return QF_END_OF_INPUT;
 
     p = vim_strchr(p_str, '\n');
@@ -666,10 +648,8 @@ qf_get_next_str_line(qfstate_T *state)
     }
     vim_strncpy(state->linebuf, p_str, state->linelen);
 
-    /*
-     * Increment using len in order to discard the rest of the
-     * line if it exceeds LINE_MAXLEN.
-     */
+    // Increment using len in order to discard the rest of the
+    // line if it exceeds LINE_MAXLEN.
     p_str += len;
     state->p_str = p_str;
 
@@ -688,9 +668,9 @@ qf_get_next_list_line(qfstate_T *state)
     while (p_li != NULL
 	    && (p_li->li_tv.v_type != VAR_STRING
 		|| p_li->li_tv.vval.v_string == NULL))
-	p_li = p_li->li_next;	/* Skip non-string items */
-
-    if (p_li == NULL)		/* End of the list */
+	p_li = p_li->li_next;	// Skip non-string items
+
+    if (p_li == NULL)		// End of the list
     {
 	state->p_li = NULL;
 	return QF_END_OF_INPUT;
@@ -711,7 +691,7 @@ qf_get_next_list_line(qfstate_T *state)
 
     vim_strncpy(state->linebuf, p_li->li_tv.vval.v_string, state->linelen);
 
-    state->p_li = p_li->li_next;	/* next item */
+    state->p_li = p_li->li_next;	// next item
     return QF_OK;
 }
 
@@ -724,7 +704,7 @@ qf_get_next_buf_line(qfstate_T *state)
     char_u	*p_buf = NULL;
     int		len;
 
-    /* Get the next line from the supplied buffer */
+    // Get the next line from the supplied buffer
     if (state->buflnum > state->lnumlast)
 	return QF_END_OF_INPUT;
 
@@ -764,10 +744,8 @@ qf_get_next_file_line(qfstate_T *state)
     state->linelen = (int)STRLEN(IObuff);
     if (state->linelen == IOSIZE - 1 && !(IObuff[state->linelen - 1] == '\n'))
     {
-	/*
-	 * The current line exceeds IObuff, continue reading using
-	 * growbuf until EOL or LINE_MAXLEN bytes is read.
-	 */
+	// The current line exceeds IObuff, continue reading using
+	// growbuf until EOL or LINE_MAXLEN bytes is read.
 	if (state->growbuf == NULL)
 	{
 	    state->growbufsiz = 2 * (IOSIZE - 1);
@@ -776,7 +754,7 @@ qf_get_next_file_line(qfstate_T *state)
 		return QF_NOMEM;
 	}
 
-	/* Copy the read part of the line, excluding null-terminator */
+	// Copy the read part of the line, excluding null-terminator
 	memcpy(state->growbuf, IObuff, IOSIZE - 1);
 	growbuflen = state->linelen;
 
@@ -806,11 +784,9 @@ qf_get_next_file_line(qfstate_T *state)
 
 	while (discard)
 	{
-	    /*
-	     * The current line is longer than LINE_MAXLEN, continue
-	     * reading but discard everything until EOL or EOF is
-	     * reached.
-	     */
+	    // The current line is longer than LINE_MAXLEN, continue
+	    // reading but discard everything until EOL or EOF is
+	    // reached.
 	    if (fgets((char *)IObuff, IOSIZE, state->fd) == NULL
 		    || (int)STRLEN(IObuff) < IOSIZE - 1
 		    || IObuff[IOSIZE - 1] == '\n')
@@ -824,7 +800,7 @@ qf_get_next_file_line(qfstate_T *state)
 	state->linebuf = IObuff;
 
 #ifdef FEAT_MBYTE
-    /* Convert a line if it contains a non-ASCII character. */
+    // Convert a line if it contains a non-ASCII character.
     if (state->vc.vc_type != CONV_NONE && has_non_ascii(state->linebuf))
     {
 	char_u	*line;
@@ -864,24 +840,24 @@ qf_get_nextline(qfstate_T *state)
 	if (state->tv != NULL)
 	{
 	    if (state->tv->v_type == VAR_STRING)
-		/* Get the next line from the supplied string */
+		// Get the next line from the supplied string
 		status = qf_get_next_str_line(state);
 	    else if (state->tv->v_type == VAR_LIST)
-		/* Get the next line from the supplied list */
+		// Get the next line from the supplied list
 		status = qf_get_next_list_line(state);
 	}
 	else
-	    /* Get the next line from the supplied buffer */
+	    // Get the next line from the supplied buffer
 	    status = qf_get_next_buf_line(state);
     }
     else
-	/* Get the next line from the supplied file */
+	// Get the next line from the supplied file
 	status = qf_get_next_file_line(state);
 
     if (status != QF_OK)
 	return status;
 
-    /* remove newline/CR from the line */
+    // remove newline/CR from the line
     if (state->linelen > 0 && state->linebuf[state->linelen - 1] == '\n')
     {
 	state->linebuf[state->linelen - 1] = NUL;
@@ -924,16 +900,14 @@ qf_parse_fmt_f(regmatch_T *rmp, int midx
     if (rmp->startp[midx] == NULL || rmp->endp[midx] == NULL)
 	return QF_FAIL;
 
-    /* Expand ~/file and $HOME/file to full path. */
+    // Expand ~/file and $HOME/file to full path.
     c = *rmp->endp[midx];
     *rmp->endp[midx] = NUL;
     expand_env(rmp->startp[midx], fields->namebuf, CMDBUFFSIZE);
     *rmp->endp[midx] = c;
 
-    /*
-     * For separate filename patterns (%O, %P and %Q), the specified file
-     * should exist.
-     */
+    // For separate filename patterns (%O, %P and %Q), the specified file
+    // should exist.
     if (vim_strchr((char_u *)"OPQ", prefix) != NULL
 	    && mch_getperm(fields->namebuf) == -1)
 	return QF_FAIL;
@@ -1004,7 +978,7 @@ qf_parse_fmt_plus(char_u *linebuf, int l
 
     if (linelen >= fields->errmsglen)
     {
-	/* linelen + null terminator */
+	// linelen + null terminator
 	if ((p = vim_realloc(fields->errmsg, linelen + 1)) == NULL)
 	    return QF_NOMEM;
 	fields->errmsg = p;
@@ -1029,7 +1003,7 @@ qf_parse_fmt_m(regmatch_T *rmp, int midx
     len = (int)(rmp->endp[midx] - rmp->startp[midx]);
     if (len >= fields->errmsglen)
     {
-	/* len + null terminator */
+	// len + null terminator
 	if ((p = vim_realloc(fields->errmsg, len + 1)) == NULL)
 	    return QF_NOMEM;
 	fields->errmsg = p;
@@ -1181,27 +1155,26 @@ qf_parse_match(
 	fields->type = idx;
     else
 	fields->type = 0;
-    /*
-     * Extract error message data from matched line.
-     * We check for an actual submatch, because "\[" and "\]" in
-     * the 'errorformat' may cause the wrong submatch to be used.
-     */
+
+    // Extract error message data from matched line.
+    // We check for an actual submatch, because "\[" and "\]" in
+    // the 'errorformat' may cause the wrong submatch to be used.
     for (i = 0; i < FMT_PATTERNS; i++)
     {
 	status = QF_OK;
 	midx = (int)fmt_ptr->addr[i];
-	if (i == 0 && midx > 0)				/* %f */
+	if (i == 0 && midx > 0)				// %f
 	    status = qf_parse_fmt_f(regmatch, midx, fields, idx);
 	else if (i == 5)
 	{
-	    if (fmt_ptr->flags == '+' && !qf_multiscan)	/* %+ */
+	    if (fmt_ptr->flags == '+' && !qf_multiscan)	// %+
 		status = qf_parse_fmt_plus(linebuf, linelen, fields);
-	    else if (midx > 0)				/* %m */
+	    else if (midx > 0)				// %m
 		status = qf_parse_fmt_m(regmatch, midx, fields);
 	}
-	else if (i == 6 && midx > 0)			/* %r */
+	else if (i == 6 && midx > 0)			// %r
 	    status = qf_parse_fmt_r(regmatch, midx, tail);
-	else if (midx > 0)				/* others */
+	else if (midx > 0)				// others
 	    status = (qf_parse_fmt[i])(regmatch, midx, fields);
 
 	if (status != QF_OK)
@@ -1247,7 +1220,7 @@ qf_parse_get_fields(
     fields->type = 0;
     *tail = NULL;
 
-    /* Always ignore case when looking for a matching error. */
+    // Always ignore case when looking for a matching error.
     regmatch.rm_ic = TRUE;
     regmatch.regprog = fmt_ptr->prog;
     r = vim_regexec(&regmatch, linebuf, (colnr_T)0);
@@ -1267,7 +1240,7 @@ qf_parse_get_fields(
     static int
 qf_parse_dir_pfx(int idx, qffields_T *fields, qf_list_T *qfl)
 {
-    if (idx == 'D')				/* enter directory */
+    if (idx == 'D')				// enter directory
     {
 	if (*fields->namebuf == NUL)
 	{
@@ -1279,7 +1252,7 @@ qf_parse_dir_pfx(int idx, qffields_T *fi
 	if (qfl->qf_directory == NULL)
 	    return QF_FAIL;
     }
-    else if (idx == 'X')			/* leave directory */
+    else if (idx == 'X')			// leave directory
 	qfl->qf_directory = qf_pop_dir(&qfl->qf_dir_stack);
 
     return QF_OK;
@@ -1324,18 +1297,18 @@ qf_parse_line_nomatch(char_u *linebuf, i
 {
     char_u	*p;
 
-    fields->namebuf[0] = NUL;	/* no match found, remove file name */
-    fields->lnum = 0;			/* don't jump to this line */
+    fields->namebuf[0] = NUL;	// no match found, remove file name
+    fields->lnum = 0;		// don't jump to this line
     fields->valid = FALSE;
     if (linelen >= fields->errmsglen)
     {
-	/* linelen + null terminator */
+	// linelen + null terminator
 	if ((p = vim_realloc(fields->errmsg, linelen + 1)) == NULL)
 	    return QF_NOMEM;
 	fields->errmsg = p;
 	fields->errmsglen = linelen + 1;
     }
-    /* copy whole line to error message */
+    // copy whole line to error message
     vim_strncpy(fields->errmsg, linebuf, linelen);
 
     return QF_OK;
@@ -1376,7 +1349,7 @@ qf_parse_multiline_pfx(
 	if (qfprev->qf_nr == -1)
 	    qfprev->qf_nr = fields->enr;
 	if (vim_isprintc(fields->type) && !qfprev->qf_type)
-	    /* only printable chars allowed */
+	    // only printable chars allowed
 	    qfprev->qf_type = fields->type;
 
 	if (!qfprev->qf_lnum)
@@ -1419,20 +1392,18 @@ qf_parse_line(
     int			status;
 
 restofline:
-    /* If there was no %> item start at the first pattern */
+    // If there was no %> item start at the first pattern
     if (fmt_start == NULL)
 	fmt_ptr = fmt_first;
     else
     {
-	/* Otherwise start from the last used pattern */
+	// Otherwise start from the last used pattern
 	fmt_ptr = fmt_start;
 	fmt_start = NULL;
     }
 
-    /*
-     * Try to match each part of 'errorformat' until we find a complete
-     * match or no match.
-     */
+    // Try to match each part of 'errorformat' until we find a complete
+    // match or no match.
     fields->valid = TRUE;
     for ( ; fmt_ptr != NULL; fmt_ptr = fmt_ptr->next)
     {
@@ -1450,7 +1421,7 @@ restofline:
     {
 	if (fmt_ptr != NULL)
 	{
-	    /* 'D' and 'X' directory specifiers */
+	    // 'D' and 'X' directory specifiers
 	    status = qf_parse_dir_pfx(idx, fields, qfl);
 	    if (status != QF_OK)
 		return status;
@@ -1465,31 +1436,31 @@ restofline:
     }
     else if (fmt_ptr != NULL)
     {
-	/* honor %> item */
+	// honor %> item
 	if (fmt_ptr->conthere)
 	    fmt_start = fmt_ptr;
 
 	if (vim_strchr((char_u *)"AEWI", idx) != NULL)
 	{
-	    qfl->qf_multiline = TRUE;	/* start of a multi-line message */
-	    qfl->qf_multiignore = FALSE;/* reset continuation */
+	    qfl->qf_multiline = TRUE;	// start of a multi-line message
+	    qfl->qf_multiignore = FALSE;// reset continuation
 	}
 	else if (vim_strchr((char_u *)"CZ", idx) != NULL)
-	{				/* continuation of multi-line msg */
+	{				// continuation of multi-line msg
 	    status = qf_parse_multiline_pfx(qi, qf_idx, idx, qfl, fields);
 	    if (status != QF_OK)
 		return status;
 	}
 	else if (vim_strchr((char_u *)"OPQ", idx) != NULL)
-	{				/* global file names */
+	{				// global file names
 	    status = qf_parse_file_pfx(idx, fields, qfl, tail);
 	    if (status == QF_MULTISCAN)
 		goto restofline;
 	}
-	if (fmt_ptr->flags == '-')	/* generally exclude this line */
+	if (fmt_ptr->flags == '-')	// generally exclude this line
 	{
 	    if (qfl->qf_multiline)
-		/* also exclude continuation lines */
+		// also exclude continuation lines
 		qfl->qf_multiignore = TRUE;
 	    return QF_IGNORE_LINE;
 	}
@@ -1624,9 +1595,9 @@ qf_init_ext(
     buf_T	    *buf,
     typval_T	    *tv,
     char_u	    *errorformat,
-    int		    newlist,		/* TRUE: start a new error list */
-    linenr_T	    lnumfirst,		/* first line number to use */
-    linenr_T	    lnumlast,		/* last line number to use */
+    int		    newlist,		// TRUE: start a new error list
+    linenr_T	    lnumfirst,		// first line number to use
+    linenr_T	    lnumlast,		// last line number to use
     char_u	    *qf_title,
     char_u	    *enc)
 {
@@ -1638,10 +1609,10 @@ qf_init_ext(
     static efm_T    *fmt_first = NULL;
     char_u	    *efm;
     static char_u   *last_efm = NULL;
-    int		    retval = -1;	/* default: return error flag */
+    int		    retval = -1;	// default: return error flag
     int		    status;
 
-    /* Do not used the cached buffer, it may have been wiped out. */
+    // Do not used the cached buffer, it may have been wiped out.
     VIM_CLEAR(qf_last_bufname);
 
     vim_memset(&state, 0, sizeof(state));
@@ -1653,13 +1624,13 @@ qf_init_ext(
 
     if (newlist || qf_idx == qi->qf_listcount)
     {
-	/* make place for a new list */
+	// make place for a new list
 	qf_new_list(qi, qf_title);
 	qf_idx = qi->qf_curlist;
     }
     else
     {
-	/* Adding to existing list, use last entry. */
+	// Adding to existing list, use last entry.
 	adding = TRUE;
 	if (!qf_list_empty(qi, qf_idx))
 	    old_last = qi->qf_lists[qf_idx].qf_last;
@@ -1667,48 +1638,42 @@ qf_init_ext(
 
     qfl = &qi->qf_lists[qf_idx];
 
-    /* Use the local value of 'errorformat' if it's set. */
+    // Use the local value of 'errorformat' if it's set.
     if (errorformat == p_efm && tv == NULL && *buf->b_p_efm != NUL)
 	efm = buf->b_p_efm;
     else
 	efm = errorformat;
 
-    /*
-     * If the errorformat didn't change between calls, then reuse the
-     * previously parsed values.
-     */
+    // If the errorformat didn't change between calls, then reuse the
+    // previously parsed values.
     if (last_efm == NULL || (STRCMP(last_efm, efm) != 0))
     {
-	/* free the previously parsed data */
+	// free the previously parsed data
 	VIM_CLEAR(last_efm);
 	free_efm_list(&fmt_first);
 
-	/* parse the current 'efm' */
+	// parse the current 'efm'
 	fmt_first = parse_efm_option(efm);
 	if (fmt_first != NULL)
 	    last_efm = vim_strsave(efm);
     }
 
-    if (fmt_first == NULL)	/* nothing found */
+    if (fmt_first == NULL)	// nothing found
 	goto error2;
 
-    /*
-     * got_int is reset here, because it was probably set when killing the
-     * ":make" command, but we still want to read the errorfile then.
-     */
+    // got_int is reset here, because it was probably set when killing the
+    // ":make" command, but we still want to read the errorfile then.
     got_int = FALSE;
 
-    /*
-     * Read the lines in the error file one by one.
-     * Try to recognize one of the error formats in each line.
-     */
+    // Read the lines in the error file one by one.
+    // Try to recognize one of the error formats in each line.
     while (!got_int)
     {
-	/* Get the next line from a file/buffer/list/string */
+	// Get the next line from a file/buffer/list/string
 	status = qf_get_nextline(&state);
-	if (status == QF_NOMEM)		/* memory alloc failure */
+	if (status == QF_NOMEM)		// memory alloc failure
 	    goto qf_init_end;
-	if (status == QF_END_OF_INPUT)	/* end of input */
+	if (status == QF_END_OF_INPUT)	// end of input
 	    break;
 
 	status = qf_parse_line(qi, qf_idx, state.linebuf, state.linelen,
@@ -1744,7 +1709,7 @@ qf_init_ext(
     {
 	if (qfl->qf_index == 0)
 	{
-	    /* no valid entry found */
+	    // no valid entry found
 	    qfl->qf_ptr = qfl->qf_start;
 	    qfl->qf_index = 1;
 	    qfl->qf_nonevalid = TRUE;
@@ -1755,7 +1720,7 @@ qf_init_ext(
 	    if (qfl->qf_ptr == NULL)
 		qfl->qf_ptr = qfl->qf_start;
 	}
-	/* return number of matches */
+	// return number of matches
 	retval = qfl->qf_count;
 	goto qf_init_end;
     }
@@ -1763,7 +1728,7 @@ qf_init_ext(
 error2:
     if (!adding)
     {
-	/* Error when creating a new list. Free the new list */
+	// Error when creating a new list. Free the new list
 	qf_free(&qi->qf_lists[qi->qf_curlist]);
 	qi->qf_listcount--;
 	if (qi->qf_curlist > 0)
@@ -1787,7 +1752,7 @@ qf_init_end:
 qf_init(win_T	    *wp,
 	char_u	    *efile,
 	char_u	    *errorformat,
-	int	    newlist,		/* TRUE: start a new error list */
+	int	    newlist,		// TRUE: start a new error list
 	char_u	    *qf_title,
 	char_u	    *enc)
 {
@@ -1848,18 +1813,14 @@ qf_new_list(qf_info_T *qi, char_u *qf_ti
 {
     int		i;
 
-    /*
-     * If the current entry is not the last entry, delete entries beyond
-     * the current entry.  This makes it possible to browse in a tree-like
-     * way with ":grep'.
-     */
+    // If the current entry is not the last entry, delete entries beyond
+    // the current entry.  This makes it possible to browse in a tree-like
+    // way with ":grep'.
     while (qi->qf_listcount > qi->qf_curlist + 1)
 	qf_free(&qi->qf_lists[--qi->qf_listcount]);
 
-    /*
-     * When the stack is full, remove to oldest entry
-     * Otherwise, add a new entry.
-     */
+    // When the stack is full, remove to oldest entry
+    // Otherwise, add a new entry.
     if (qi->qf_listcount == LISTCOUNT)
     {
 	qf_free(&qi->qf_lists[0]);
@@ -1886,12 +1847,12 @@ ll_free_all(qf_info_T **pqi)
     qi = *pqi;
     if (qi == NULL)
 	return;
-    *pqi = NULL;	/* Remove reference to this list */
+    *pqi = NULL;	// Remove reference to this list
 
     qi->qf_refcount--;
     if (qi->qf_refcount < 1)
     {
-	/* No references to this location list */
+	// No references to this location list
 	for (i = 0; i < qi->qf_listcount; ++i)
 	    qf_free(&qi->qf_lists[i]);
 	vim_free(qi);
@@ -1909,12 +1870,12 @@ qf_free_all(win_T *wp)
 
     if (wp != NULL)
     {
-	/* location list */
+	// location list
 	ll_free_all(&wp->w_llist);
 	ll_free_all(&wp->w_llist_ref);
     }
     else
-	/* quickfix list */
+	// quickfix list
 	for (i = 0; i < qi->qf_listcount; ++i)
 	    qf_free(&qi->qf_lists[i]);
 }
@@ -1925,24 +1886,24 @@ qf_free_all(win_T *wp)
  */
     static int
 qf_add_entry(
-    qf_info_T	*qi,		/* quickfix list */
-    int		qf_idx,		/* list index */
-    char_u	*dir,		/* optional directory name */
-    char_u	*fname,		/* file name or NULL */
-    char_u	*module,	/* module name or NULL */
-    int		bufnum,		/* buffer number or zero */
-    char_u	*mesg,		/* message */
-    long	lnum,		/* line number */
-    int		col,		/* column */
-    int		vis_col,	/* using visual column */
-    char_u	*pattern,	/* search pattern */
-    int		nr,		/* error number */
-    int		type,		/* type character */
-    int		valid)		/* valid entry */
+    qf_info_T	*qi,		// quickfix list
+    int		qf_idx,		// list index
+    char_u	*dir,		// optional directory name
+    char_u	*fname,		// file name or NULL
+    char_u	*module,	// module name or NULL
+    int		bufnum,		// buffer number or zero
+    char_u	*mesg,		// message
+    long	lnum,		// line number
+    int		col,		// column
+    int		vis_col,	// using visual column
+    char_u	*pattern,	// search pattern
+    int		nr,		// error number
+    int		type,		// type character
+    int		valid)		// valid entry
 {
     qf_list_T	*qfl = &qi->qf_lists[qf_idx];
     qfline_T	*qfp;
-    qfline_T	**lastp;	/* pointer to qf_last or NULL */
+    qfline_T	**lastp;	// pointer to qf_last or NULL
 
     if ((qfp = (qfline_T *)alloc((unsigned)sizeof(qfline_T))) == NULL)
 	return FAIL;
@@ -1983,13 +1944,13 @@ qf_add_entry(
 	return FAIL;
     }
     qfp->qf_nr = nr;
-    if (type != 1 && !vim_isprintc(type)) /* only printable chars allowed */
+    if (type != 1 && !vim_isprintc(type)) // only printable chars allowed
 	type = 0;
     qfp->qf_type = type;
     qfp->qf_valid = valid;
 
     lastp = &qfl->qf_last;
-    if (qf_list_empty(qi, qf_idx))	/* first element in the list */
+    if (qf_list_empty(qi, qf_idx))	// first element in the list
     {
 	qfl->qf_start = qfp;
 	qfl->qf_ptr = qfp;
@@ -2005,8 +1966,7 @@ qf_add_entry(
     qfp->qf_cleared = FALSE;
     *lastp = qfp;
     ++qfl->qf_count;
-    if (qfl->qf_index == 0 && qfp->qf_valid)
-				/* first valid entry */
+    if (qfl->qf_index == 0 && qfp->qf_valid)	// first valid entry
     {
 	qfl->qf_index = qfl->qf_count;
 	qfl->qf_ptr = qfp;
@@ -2037,17 +1997,15 @@ ll_new_list(void)
 ll_get_or_alloc_list(win_T *wp)
 {
     if (IS_LL_WINDOW(wp))
-	/* For a location list window, use the referenced location list */
+	// For a location list window, use the referenced location list
 	return wp->w_llist_ref;
 
-    /*
-     * For a non-location list window, w_llist_ref should not point to a
-     * location list.
-     */
+    // For a non-location list window, w_llist_ref should not point to a
+    // location list.
     ll_free_all(&wp->w_llist_ref);
 
     if (wp->w_llist == NULL)
-	wp->w_llist = ll_new_list();	    /* new location list */
+	wp->w_llist = ll_new_list();	    // new location list
     return wp->w_llist;
 }
 
@@ -2195,7 +2153,7 @@ qf_get_fnum(qf_info_T *qi, int qf_idx, c
     buf_T	*buf;
     char_u	*bufname;
 
-    if (fname == NULL || *fname == NUL)		/* no file name */
+    if (fname == NULL || *fname == NUL)		// no file name
 	return 0;
 
 #ifdef VMS
@@ -2209,12 +2167,10 @@ qf_get_fnum(qf_info_T *qi, int qf_idx, c
     if (directory != NULL && !vim_isAbsName(fname)
 	    && (ptr = concat_fnames(directory, fname, TRUE)) != NULL)
     {
-	/*
-	 * Here we check if the file really exists.
-	 * This should normally be true, but if make works without
-	 * "leaving directory"-messages we might have missed a
-	 * directory change.
-	 */
+	// Here we check if the file really exists.
+	// This should normally be true, but if make works without
+	// "leaving directory"-messages we might have missed a
+	// directory change.
 	if (mch_getperm(ptr) < 0)
 	{
 	    vim_free(ptr);
@@ -2224,7 +2180,7 @@ qf_get_fnum(qf_info_T *qi, int qf_idx, c
 	    else
 		ptr = vim_strsave(fname);
 	}
-	/* Use concatenated directory name and file name */
+	// Use concatenated directory name and file name
 	bufname = ptr;
     }
     else
@@ -2264,7 +2220,7 @@ qf_push_dir(char_u *dirbuf, struct dir_s
     struct dir_stack_T  *ds_new;
     struct dir_stack_T  *ds_ptr;
 
-    /* allocate new stack element and hook it in */
+    // allocate new stack element and hook it in
     ds_new = (struct dir_stack_T *)alloc((unsigned)sizeof(struct dir_stack_T));
     if (ds_new == NULL)
 	return NULL;
@@ -2272,17 +2228,16 @@ qf_push_dir(char_u *dirbuf, struct dir_s
     ds_new->next = *stackptr;
     *stackptr = ds_new;
 
-    /* store directory on the stack */
+    // store directory on the stack
     if (vim_isAbsName(dirbuf)
 	    || (*stackptr)->next == NULL
 	    || (*stackptr && is_file_stack))
 	(*stackptr)->dirname = vim_strsave(dirbuf);
     else
     {
-	/* Okay we don't have an absolute path.
-	 * dirbuf must be a subdir of one of the directories on the stack.
-	 * Let's search...
-	 */
+	// Okay we don't have an absolute path.
+	// dirbuf must be a subdir of one of the directories on the stack.
+	// Let's search...
 	ds_new = (*stackptr)->next;
 	(*stackptr)->dirname = NULL;
 	while (ds_new)
@@ -2296,7 +2251,7 @@ qf_push_dir(char_u *dirbuf, struct dir_s
 	    ds_new = ds_new->next;
 	}
 
-	/* clean up all dirs we already left */
+	// clean up all dirs we already left
 	while ((*stackptr)->next != ds_new)
 	{
 	    ds_ptr = (*stackptr)->next;
@@ -2305,7 +2260,7 @@ qf_push_dir(char_u *dirbuf, struct dir_s
 	    vim_free(ds_ptr);
 	}
 
-	/* Nothing found -> it must be on top level */
+	// Nothing found -> it must be on top level
 	if (ds_new == NULL)
 	{
 	    vim_free((*stackptr)->dirname);
@@ -2333,10 +2288,10 @@ qf_pop_dir(struct dir_stack_T **stackptr
 {
     struct dir_stack_T  *ds_ptr;
 
-    /* TODO: Should we check if dirbuf is the directory on top of the stack?
-     * What to do if it isn't? */
-
-    /* pop top element and free it */
+    // TODO: Should we check if dirbuf is the directory on top of the stack?
+    // What to do if it isn't?
+
+    // pop top element and free it
     if (*stackptr != NULL)
     {
 	ds_ptr = *stackptr;
@@ -2345,7 +2300,7 @@ qf_pop_dir(struct dir_stack_T **stackptr
 	vim_free(ds_ptr);
     }
 
-    /* return NEW top element as current dir or NULL if stack is empty*/
+    // return NEW top element as current dir or NULL if stack is empty
     return *stackptr ? (*stackptr)->dirname : NULL;
 }
 
@@ -2392,7 +2347,7 @@ qf_guess_filepath(qf_list_T *qfl, char_u
     struct dir_stack_T     *ds_tmp;
     char_u		   *fullname;
 
-    /* no dirs on the stack - there's nothing we can do */
+    // no dirs on the stack - there's nothing we can do
     if (qfl->qf_dir_stack == NULL)
 	return NULL;
 
@@ -2403,9 +2358,8 @@ qf_guess_filepath(qf_list_T *qfl, char_u
 	vim_free(fullname);
 	fullname = concat_fnames(ds_ptr->dirname, filename, TRUE);
 
-	/* If concat_fnames failed, just go on. The worst thing that can happen
-	 * is that we delete the entire stack.
-	 */
+	// If concat_fnames failed, just go on. The worst thing that can happen
+	// is that we delete the entire stack.
 	if ((fullname != NULL) && (mch_getperm(fullname) >= 0))
 	    break;
 
@@ -2414,7 +2368,7 @@ qf_guess_filepath(qf_list_T *qfl, char_u
 
     vim_free(fullname);
 
-    /* clean up all dirs we already left */
+    // clean up all dirs we already left
     while (qfl->qf_dir_stack->next != ds_ptr)
     {
 	ds_tmp = qfl->qf_dir_stack->next;
@@ -2437,7 +2391,7 @@ qflist_valid (win_T *wp, int_u qf_id)
 
     if (wp != NULL)
     {
-	qi = GET_LOC_LIST(wp);	    /* Location list */
+	qi = GET_LOC_LIST(wp);	    // Location list
 	if (qi == NULL)
 	    return FALSE;
     }
@@ -2461,13 +2415,13 @@ is_qf_entry_present(qf_list_T *qfl, qfli
     qfline_T	*qfp;
     int		i;
 
-    /* Search for the entry in the current list */
+    // Search for the entry in the current list
     for (i = 0, qfp = qfl->qf_start; i < qfl->qf_count;
 	    ++i, qfp = qfp->qf_next)
 	if (qfp == NULL || qfp == qf_ptr)
 	    break;
 
-    if (i == qfl->qf_count) /* Entry is not found */
+    if (i == qfl->qf_count) // Entry is not found
 	return FALSE;
 
     return TRUE;
@@ -2667,16 +2621,14 @@ jump_to_help_window(qf_info_T *qi, int *
 	win_enter(wp, TRUE);
     else
     {
-	/*
-	 * Split off help window; put it at far top if no position
-	 * specified, the current window is vertically split and narrow.
-	 */
+	// Split off help window; put it at far top if no position
+	// specified, the current window is vertically split and narrow.
 	flags = WSP_HELP;
 	if (cmdmod.split == 0 && curwin->w_width != Columns
 		&& curwin->w_width < 80)
 	    flags |= WSP_TOP;
 	if (IS_LL_STACK(qi))
-	    flags |= WSP_NEWLOC;  /* don't copy the location list */
+	    flags |= WSP_NEWLOC;  // don't copy the location list
 
 	if (win_split(0, flags) == FAIL)
 	    return FAIL;
@@ -2688,14 +2640,14 @@ jump_to_help_window(qf_info_T *qi, int *
 
 	if (IS_LL_STACK(qi))		// not a quickfix list
 	{
-	    /* The new window should use the supplied location list */
+	    // The new window should use the supplied location list
 	    curwin->w_llist = qi;
 	    qi->qf_refcount++;
 	}
     }
 
     if (!p_im)
-	restart_edit = 0;	    /* don't want insert mode in help file */
+	restart_edit = 0;	    // don't want insert mode in help file
 
     return OK;
 }
@@ -2764,14 +2716,14 @@ qf_open_new_file_win(qf_info_T *ll_ref)
     if (ll_ref != NULL)
 	flags |= WSP_NEWLOC;
     if (win_split(0, flags) == FAIL)
-	return FAIL;		/* not enough room for window */
-    p_swb = empty_option;	/* don't split again */
+	return FAIL;		// not enough room for window
+    p_swb = empty_option;	// don't split again
     swb_flags = 0;
     RESET_BINDING(curwin);
     if (ll_ref != NULL)
     {
-	/* The new window should use the location list from the
-	 * location list window */
+	// The new window should use the location list from the
+	// location list window
 	curwin->w_llist = ll_ref;
 	ll_ref->qf_refcount++;
     }
@@ -2791,29 +2743,29 @@ qf_goto_win_with_ll_file(win_T *use_win,
 
     if (win == NULL)
     {
-	/* Find the window showing the selected file */
+	// Find the window showing the selected file
 	FOR_ALL_WINDOWS(win)
 	    if (win->w_buffer->b_fnum == qf_fnum)
 		break;
 	if (win == NULL)
 	{
-	    /* Find a previous usable window */
+	    // Find a previous usable window
 	    win = curwin;
 	    do
 	    {
 		if (bt_normal(win->w_buffer))
 		    break;
 		if (win->w_prev == NULL)
-		    win = lastwin;	/* wrap around the top */
+		    win = lastwin;	// wrap around the top
 		else
-		    win = win->w_prev; /* go to previous window */
+		    win = win->w_prev; // go to previous window
 	    } while (win != curwin);
 	}
     }
     win_goto(win);
 
-    /* If the location list for the window is not set, then set it
-     * to the location list from the location window */
+    // If the location list for the window is not set, then set it
+    // to the location list from the location window
     if (win->w_llist == NULL)
     {
 	win->w_llist = ll_ref;
@@ -2841,14 +2793,14 @@ qf_goto_win_with_qfl_file(int qf_fnum)
 	if (win->w_buffer->b_fnum == qf_fnum)
 	    break;
 	if (win->w_prev == NULL)
-	    win = lastwin;	/* wrap around the top */
+	    win = lastwin;	// wrap around the top
 	else
-	    win = win->w_prev;	/* go to previous window */
+	    win = win->w_prev;	// go to previous window
 
 	if (IS_QF_WINDOW(win))
 	{
-	    /* Didn't find it, go to the window before the quickfix
-	     * window. */
+	    // Didn't find it, go to the window before the quickfix
+	    // window.
 	    if (altwin != NULL)
 		win = altwin;
 	    else if (curwin->w_prev != NULL)
@@ -2858,7 +2810,7 @@ qf_goto_win_with_qfl_file(int qf_fnum)
 	    break;
 	}
 
-	/* Remember a usable window. */
+	// Remember a usable window.
 	if (altwin == NULL && !win->w_p_pvw && bt_normal(win->w_buffer))
 	    altwin = win;
     }
@@ -2885,7 +2837,7 @@ qf_jump_to_usable_window(int qf_fnum, in
     ll_ref = curwin->w_llist_ref;
     if (ll_ref != NULL)
     {
-	/* Find a non-quickfix window with this location list */
+	// Find a non-quickfix window with this location list
 	usable_win_ptr = qf_find_win_with_loclist(ll_ref);
 	if (usable_win_ptr != NULL)
 	    usable_win = 1;
@@ -2893,34 +2845,30 @@ qf_jump_to_usable_window(int qf_fnum, in
 
     if (!usable_win)
     {
-	/* Locate a window showing a normal buffer */
+	// Locate a window showing a normal buffer
 	win = qf_find_win_with_normal_buf();
 	if (win != NULL)
 	    usable_win = 1;
     }
 
-    /*
-     * If no usable window is found and 'switchbuf' contains "usetab"
-     * then search in other tabs.
-     */
+    // If no usable window is found and 'switchbuf' contains "usetab"
+    // then search in other tabs.
     if (!usable_win && (swb_flags & SWB_USETAB))
 	usable_win = qf_goto_tabwin_with_file(qf_fnum);
 
-    /*
-     * If there is only one window and it is the quickfix window, create a
-     * new one above the quickfix window.
-     */
+    // If there is only one window and it is the quickfix window, create a
+    // new one above the quickfix window.
     if ((ONE_WINDOW && bt_quickfix(curbuf)) || !usable_win)
     {
 	if (qf_open_new_file_win(ll_ref) != OK)
 	    return FAIL;
-	*opened_window = TRUE;	/* close it when fail */
+	*opened_window = TRUE;	// close it when fail
     }
     else
     {
-	if (curwin->w_llist_ref != NULL)	/* In a location window */
+	if (curwin->w_llist_ref != NULL)	// In a location window
 	    qf_goto_win_with_ll_file(usable_win_ptr, qf_fnum, ll_ref);
-	else					/* In a quickfix window */
+	else					// In a quickfix window
 	    qf_goto_win_with_qfl_file(qf_fnum);
     }
 
@@ -2946,8 +2894,8 @@ qf_jump_edit_buffer(
 
     if (qf_ptr->qf_type == 1)
     {
-	/* Open help file (do_ecmd() will set b_help flag, readfile() will
-	 * set b_p_ro flag). */
+	// Open help file (do_ecmd() will set b_help flag, readfile() will
+	// set b_p_ro flag).
 	if (!can_abandon(curbuf, forceit))
 	{
 	    no_write_message();
@@ -2968,10 +2916,8 @@ qf_jump_edit_buffer(
 
 	if (IS_LL_STACK(qi))
 	{
-	    /*
-	     * Location list. Check whether the associated window is still
-	     * present and the list is still valid.
-	     */
+	    // Location list. Check whether the associated window is still
+	    // present and the list is still valid.
 	    if (!win_valid_any_tab(oldwin))
 	    {
 		EMSG(_("E924: Current window was closed"));
@@ -3016,9 +2962,7 @@ qf_jump_goto_line(
 
     if (qf_pattern == NULL)
     {
-	/*
-	 * Go to line with error, unless qf_lnum is 0.
-	 */
+	// Go to line with error, unless qf_lnum is 0.
 	i = qf_lnum;
 	if (i > 0)
 	{
@@ -3034,12 +2978,10 @@ qf_jump_goto_line(
 #endif
 	    if (qf_viscol == TRUE)
 	    {
-		/*
-		 * Check each character from the beginning of the error
-		 * line up to the error column.  For each tab character
-		 * found, reduce the error column value by the length of
-		 * a tab character.
-		 */
+		// Check each character from the beginning of the error
+		// line up to the error column.  For each tab character
+		// found, reduce the error column value by the length of
+		// a tab character.
 		line = ml_get_curline();
 		screen_col = 0;
 		for (char_col = 0; char_col < curwin->w_cursor.col; ++char_col)
@@ -3065,7 +3007,7 @@ qf_jump_goto_line(
     {
 	pos_T save_cursor;
 
-	/* Move the cursor to the first line in the buffer */
+	// Move the cursor to the first line in the buffer
 	save_cursor = curwin->w_cursor;
 	curwin->w_cursor.lnum = 0;
 	if (!do_search(NULL, '/', qf_pattern, (long)1,
@@ -3088,21 +3030,21 @@ qf_jump_print_msg(
     linenr_T		i;
     int			len;
 
-    /* Update the screen before showing the message, unless the screen
-     * scrolled up. */
+    // Update the screen before showing the message, unless the screen
+    // scrolled up.
     if (!msg_scrolled)
 	update_topline_redraw();
     sprintf((char *)IObuff, _("(%d of %d)%s%s: "), qf_index,
 	    qi->qf_lists[qi->qf_curlist].qf_count,
 	    qf_ptr->qf_cleared ? _(" (line deleted)") : "",
 	    (char *)qf_types(qf_ptr->qf_type, qf_ptr->qf_nr));
-    /* Add the message, skipping leading whitespace and newlines. */
+    // Add the message, skipping leading whitespace and newlines.
     len = (int)STRLEN(IObuff);
     qf_fmt_text(skipwhite(qf_ptr->qf_text), IObuff + len, IOSIZE - len);
 
-    /* Output the message.  Overwrite to avoid scrolling when the 'O'
-     * flag is present in 'shortmess'; But when not jumping, print the
-     * whole message. */
+    // Output the message.  Overwrite to avoid scrolling when the 'O'
+    // flag is present in 'shortmess'; But when not jumping, print the
+    // whole message.
     i = msg_scroll;
     if (curbuf == old_curbuf && curwin->w_cursor.lnum == old_lnum)
 	msg_scroll = TRUE;
@@ -3304,9 +3246,7 @@ theend:
     }
 }
 
-/*
- * Highlight attributes used for displaying entries from the quickfix list.
- */
+// Highlight attributes used for displaying entries from the quickfix list.
 static int	qfFileAttr;
 static int	qfSepAttr;
 static int	qfLineAttr;
@@ -3333,7 +3273,7 @@ qf_list_entry(qfline_T *qfp, int qf_idx,
 		&& (buf = buflist_findnr(qfp->qf_fnum)) != NULL)
 	{
 	    fname = buf->b_fname;
-	    if (qfp->qf_type == 1)	/* :helpgrep */
+	    if (qfp->qf_type == 1)	// :helpgrep
 		fname = gettail(fname);
 	}
 	if (fname == NULL)
@@ -3382,14 +3322,14 @@ qf_list_entry(qfline_T *qfp, int qf_idx,
     }
     msg_puts((char_u *)" ");
 
-    /* Remove newlines and leading whitespace from the text.  For an
-     * unrecognized line keep the indent, the compiler may mark a word
-     * with ^^^^. */
+    // Remove newlines and leading whitespace from the text.  For an
+    // unrecognized line keep the indent, the compiler may mark a word
+    // with ^^^^.
     qf_fmt_text((fname != NULL || qfp->qf_lnum != 0)
 				? skipwhite(qfp->qf_text) : qfp->qf_text,
 				IObuff, IOSIZE);
     msg_prt_line(IObuff, FALSE);
-    out_flush();		/* show one line at a time */
+    out_flush();		// show one line at a time
 }
 
 /*
@@ -3406,8 +3346,8 @@ qf_list(exarg_T *eap)
     int		idx2 = -1;
     char_u	*arg = eap->arg;
     int		plus = FALSE;
-    int		all = eap->forceit;	/* if not :cl!, only show
-						   recognised errors */
+    int		all = eap->forceit;	// if not :cl!, only show
+					// recognised errors
     qf_info_T	*qi = &ql_info;
 
     if (is_loclist_cmd(eap->cmdidx))
@@ -3451,13 +3391,11 @@ qf_list(exarg_T *eap)
 	    idx2 = (-idx2 > i) ? 0 : idx2 + i + 1;
     }
 
-    /* Shorten all the file names, so that it is easy to read */
+    // Shorten all the file names, so that it is easy to read
     shorten_fnames(FALSE);
 
-    /*
-     * Get the attributes for the different quickfix highlight items.  Note
-     * that this depends on syntax items defined in the qf.vim syntax file
-     */
+    // Get the attributes for the different quickfix highlight items.  Note
+    // that this depends on syntax items defined in the qf.vim syntax file
     qfFileAttr = syn_name2attr((char_u *)"qfFileName");
     if (qfFileAttr == 0)
 	qfFileAttr = HL_ATTR(HLF_D);
@@ -3638,9 +3576,9 @@ qf_free_items(qf_list_T *qfl)
 	    stop = (qfp == qfpnext);
 	    vim_free(qfp);
 	    if (stop)
-		/* Somehow qf_count may have an incorrect value, set it to 1
-		 * to avoid crashing when it's wrong.
-		 * TODO: Avoid qf_count being incorrect. */
+		// Somehow qf_count may have an incorrect value, set it to 1
+		// to avoid crashing when it's wrong.
+		// TODO: Avoid qf_count being incorrect.
 		qfl->qf_count = 1;
 	}
 	qfl->qf_start = qfpnext;
@@ -3828,14 +3766,12 @@ ex_cwindow(exarg_T *eap)
 	    return;
     }
 
-    /* Look for an existing quickfix window.  */
+    // Look for an existing quickfix window.
     win = qf_find_win(qi);
 
-    /*
-     * If a quickfix window is open but we have no errors to display,
-     * close the window.  If a quickfix window is not open, then open
-     * it if we have errors; otherwise, leave it closed.
-     */
+    // If a quickfix window is open but we have no errors to display,
+    // close the window.  If a quickfix window is not open, then open
+    // it if we have errors; otherwise, leave it closed.
     if (qf_stack_empty(qi)
 	    || qi->qf_lists[qi->qf_curlist].qf_nonevalid
 	    || qf_list_empty(qi, qi->qf_curlist))
@@ -3864,7 +3800,7 @@ ex_cclose(exarg_T *eap)
 	    return;
     }
 
-    /* Find existing quickfix window and close it. */
+    // Find existing quickfix window and close it.
     win = qf_find_win(qi);
     if (win != NULL)
 	win_close(win, FALSE);
@@ -4052,9 +3988,9 @@ qf_win_goto(win_T *win, linenr_T lnum)
     curwin->w_cursor.coladd = 0;
 #endif
     curwin->w_curswant = 0;
-    update_topline();		/* scroll to show the line */
+    update_topline();		// scroll to show the line
     redraw_later(VALID);
-    curwin->w_redr_status = TRUE;	/* update ruler */
+    curwin->w_redr_status = TRUE;	// update ruler
     curwin = old_curwin;
     curbuf = curwin->w_buffer;
 }
@@ -4093,7 +4029,7 @@ qf_current_entry(win_T *wp)
     qf_info_T	*qi = &ql_info;
 
     if (IS_LL_WINDOW(wp))
-	/* In the location list window, use the referenced location list */
+	// In the location list window, use the referenced location list
 	qi = wp->w_llist_ref;
 
     return qi->qf_lists[qi->qf_curlist].qf_index;
@@ -4106,15 +4042,13 @@ qf_current_entry(win_T *wp)
     static int
 qf_win_pos_update(
     qf_info_T	*qi,
-    int		old_qf_index)	/* previous qf_index or zero */
+    int		old_qf_index)	// previous qf_index or zero
 {
     win_T	*win;
     int		qf_index = qi->qf_lists[qi->qf_curlist].qf_index;
 
-    /*
-     * Put the cursor on the current error in the quickfix window, so that
-     * it's viewable.
-     */
+    // Put the cursor on the current error in the quickfix window, so that
+    // it's viewable.
     win = qf_find_win(qi);
     if (win != NULL
 	    && qf_index <= win->w_buffer->b_ml.ml_line_count
@@ -4142,12 +4076,10 @@ qf_win_pos_update(
     static int
 is_qf_win(win_T *win, qf_info_T *qi)
 {
-    /*
-     * A window displaying the quickfix buffer will have the w_llist_ref field
-     * set to NULL.
-     * A window displaying a location list buffer will have the w_llist_ref
-     * pointing to the location list.
-     */
+    // A window displaying the quickfix buffer will have the w_llist_ref field
+    // set to NULL.
+    // A window displaying a location list buffer will have the w_llist_ref
+    // pointing to the location list.
     if (bt_quickfix(win->w_buffer))
 	if ((IS_QF_STACK(qi) && win->w_llist_ref == NULL)
 		|| (IS_LL_STACK(qi) && win->w_llist_ref == qi))
@@ -4216,14 +4148,14 @@ qf_update_buffer(qf_info_T *qi, qfline_T
     win_T	*win;
     aco_save_T	aco;
 
-    /* Check if a buffer for the quickfix list exists.  Update it. */
+    // Check if a buffer for the quickfix list exists.  Update it.
     buf = qf_find_buf(qi);
     if (buf != NULL)
     {
 	linenr_T	old_line_count = buf->b_ml.ml_line_count;
 
 	if (old_last == NULL)
-	    /* set curwin/curbuf to buf and save a few things */
+	    // set curwin/curbuf to buf and save a few things
 	    aucmd_prepbuf(&aco, buf);
 
 	qf_update_win_titlevar(qi);
@@ -4235,12 +4167,12 @@ qf_update_buffer(qf_info_T *qi, qfline_T
 	{
 	    (void)qf_win_pos_update(qi, 0);
 
-	    /* restore curwin/curbuf and a few other things */
+	    // restore curwin/curbuf and a few other things
 	    aucmd_restbuf(&aco);
 	}
 
-	/* Only redraw when added lines are visible.  This avoids flickering
-	 * when the added lines are not visible. */
+	// Only redraw when added lines are visible.  This avoids flickering
+	// when the added lines are not visible.
 	if ((win = qf_find_win(qi)) != NULL && old_line_count < win->w_botline)
 	    redraw_buf_later(buf, NOT_VALID);
     }
@@ -4264,11 +4196,11 @@ qf_buf_add_line(buf_T *buf, linenr_T lnu
 	    && (errbuf = buflist_findnr(qfp->qf_fnum)) != NULL
 	    && errbuf->b_fname != NULL)
     {
-	if (qfp->qf_type == 1)	/* :helpgrep */
+	if (qfp->qf_type == 1)	// :helpgrep
 	    STRCPY(IObuff, gettail(errbuf->b_fname));
 	else
 	{
-	    /* shorten the file name if not done already */
+	    // shorten the file name if not done already
 	    if (errbuf->b_sfname == NULL
 		    || mch_isFullName(errbuf->b_sfname))
 	    {
@@ -4307,9 +4239,9 @@ qf_buf_add_line(buf_T *buf, linenr_T lnu
     IObuff[len++] = '|';
     IObuff[len++] = ' ';
 
-    /* Remove newlines and leading whitespace from the text.
-     * For an unrecognized line keep the indent, the compiler may
-     * mark a word with ^^^^. */
+    // Remove newlines and leading whitespace from the text.
+    // For an unrecognized line keep the indent, the compiler may
+    // mark a word with ^^^^.
     qf_fmt_text(len > 3 ? skipwhite(qfp->qf_text) : qfp->qf_text,
 	    IObuff + len, IOSIZE - len);
 
@@ -4342,19 +4274,19 @@ qf_fill_buffer(qf_info_T *qi, buf_T *buf
 	    return;
 	}
 
-	/* delete all existing lines */
+	// delete all existing lines
 	while ((curbuf->b_ml.ml_flags & ML_EMPTY) == 0)
 	    (void)ml_delete((linenr_T)1, FALSE);
     }
 
-    /* Check if there is anything to display */
+    // Check if there is anything to display
     if (!qf_stack_empty(qi))
     {
 	char_u	dirname[MAXPATHL];
 
 	*dirname = NUL;
 
-	/* Add one line for each error */
+	// Add one line for each error
 	if (old_last == NULL)
 	{
 	    qfp = qi->qf_lists[qi->qf_curlist].qf_start;
@@ -4377,23 +4309,23 @@ qf_fill_buffer(qf_info_T *qi, buf_T *buf
 	}
 
 	if (old_last == NULL)
-	    /* Delete the empty line which is now at the end */
+	    // Delete the empty line which is now at the end
 	    (void)ml_delete(lnum + 1, FALSE);
     }
 
-    /* correct cursor position */
+    // correct cursor position
     check_lnums(TRUE);
 
     if (old_last == NULL)
     {
-	/* Set the 'filetype' to "qf" each time after filling the buffer.
-	 * This resembles reading a file into a buffer, it's more logical when
-	 * using autocommands. */
+	// Set the 'filetype' to "qf" each time after filling the buffer.
+	// This resembles reading a file into a buffer, it's more logical when
+	// using autocommands.
 	++curbuf_lock;
 	set_option_value((char_u *)"ft", 0L, (char_u *)"qf", OPT_LOCAL);
 	curbuf->b_p_ma = FALSE;
 
-	keep_filetype = TRUE;		/* don't detect 'filetype' */
+	keep_filetype = TRUE;		// don't detect 'filetype'
 	apply_autocmds(EVENT_BUFREADPOST, (char_u *)"quickfix", NULL,
 							       FALSE, curbuf);
 	apply_autocmds(EVENT_BUFWINENTER, (char_u *)"quickfix", NULL,
@@ -4401,11 +4333,11 @@ qf_fill_buffer(qf_info_T *qi, buf_T *buf
 	keep_filetype = FALSE;
 	--curbuf_lock;
 
-	/* make sure it will be redrawn */
+	// make sure it will be redrawn
 	redraw_curbuf_later(NOT_VALID);
     }
 
-    /* Restore KeyTyped, setting 'filetype' may reset it. */
+    // Restore KeyTyped, setting 'filetype' may reset it.
     KeyTyped = old_KeyTyped;
 }
 
@@ -4694,7 +4626,7 @@ qf_get_size(exarg_T *eap)
 
     if (is_loclist_cmd(eap->cmdidx))
     {
-	/* Location list */
+	// Location list
 	qi = GET_LOC_LIST(curwin);
 	if (qi == NULL)
 	    return 0;
@@ -4707,10 +4639,10 @@ qf_get_size(exarg_T *eap)
 	if (qfp->qf_valid)
 	{
 	    if (eap->cmdidx == CMD_cdo || eap->cmdidx == CMD_ldo)
-		sz++;	/* Count all valid entries */
+		sz++;	// Count all valid entries
 	    else if (qfp->qf_fnum > 0 && qfp->qf_fnum != prev_fnum)
 	    {
-		/* Count the number of files */
+		// Count the number of files
 		sz++;
 		prev_fnum = qfp->qf_fnum;
 	    }
@@ -4731,7 +4663,7 @@ qf_get_cur_idx(exarg_T *eap)
 
     if (is_loclist_cmd(eap->cmdidx))
     {
-	/* Location list */
+	// Location list
 	qi = GET_LOC_LIST(curwin);
 	if (qi == NULL)
 	    return 0;
@@ -4755,7 +4687,7 @@ qf_get_cur_valid_idx(exarg_T *eap)
 
     if (is_loclist_cmd(eap->cmdidx))
     {
-	/* Location list */
+	// Location list
 	qi = GET_LOC_LIST(curwin);
 	if (qi == NULL)
 	    return 1;
@@ -4764,7 +4696,7 @@ qf_get_cur_valid_idx(exarg_T *eap)
     qfl = &qi->qf_lists[qi->qf_curlist];
     qfp = qfl->qf_start;
 
-    /* check if the list has valid errors */
+    // check if the list has valid errors
     if (qfl->qf_count <= 0 || qfl->qf_nonevalid)
 	return 1;
 
@@ -4776,7 +4708,7 @@ qf_get_cur_valid_idx(exarg_T *eap)
 	    {
 		if (qfp->qf_fnum > 0 && qfp->qf_fnum != prev_fnum)
 		{
-		    /* Count the number of files */
+		    // Count the number of files
 		    eidx++;
 		    prev_fnum = qfp->qf_fnum;
 		}
@@ -4802,7 +4734,7 @@ qf_get_nth_valid_entry(qf_list_T *qfl, i
     int		i, eidx;
     int		prev_fnum = 0;
 
-    /* check if the list has valid errors */
+    // check if the list has valid errors
     if (qfl->qf_count <= 0 || qfl->qf_nonevalid)
 	return 1;
 
@@ -4815,7 +4747,7 @@ qf_get_nth_valid_entry(qf_list_T *qfl, i
 	    {
 		if (qfp->qf_fnum > 0 && qfp->qf_fnum != prev_fnum)
 		{
-		    /* Count the number of files */
+		    // Count the number of files
 		    eidx++;
 		    prev_fnum = qfp->qf_fnum;
 		}
@@ -4873,9 +4805,8 @@ ex_cc(exarg_T *eap)
 	}
     }
 
-    /* For cdo and ldo commands, jump to the nth valid error.
-     * For cfdo and lfdo commands, jump to the nth valid file entry.
-     */
+    // For cdo and ldo commands, jump to the nth valid error.
+    // For cfdo and lfdo commands, jump to the nth valid file entry.
     if (eap->cmdidx == CMD_cdo || eap->cmdidx == CMD_ldo
 	    || eap->cmdidx == CMD_cfdo || eap->cmdidx == CMD_lfdo)
 	errornr = qf_get_nth_valid_entry(&qi->qf_lists[qi->qf_curlist],
@@ -4949,7 +4880,7 @@ ex_cfile(exarg_T *eap)
     win_T	*wp = NULL;
     qf_info_T	*qi = &ql_info;
     char_u	*au_name = NULL;
-    int_u	save_qfid = 0;		/* init for gcc */
+    int_u	save_qfid = 0;		// init for gcc
     int		res;
 
     switch (eap->cmdidx)
@@ -4986,16 +4917,14 @@ ex_cfile(exarg_T *eap)
     if (is_loclist_cmd(eap->cmdidx))
 	wp = curwin;
 
-    /*
-     * This function is used by the :cfile, :cgetfile and :caddfile
-     * commands.
-     * :cfile always creates a new quickfix list and jumps to the
-     * first error.
-     * :cgetfile creates a new quickfix list but doesn't jump to the
-     * first error.
-     * :caddfile adds to an existing quickfix list. If there is no
-     * quickfix list then a new list is created.
-     */
+    // This function is used by the :cfile, :cgetfile and :caddfile
+    // commands.
+    // :cfile always creates a new quickfix list and jumps to the
+    // first error.
+    // :cgetfile creates a new quickfix list but doesn't jump to the
+    // first error.
+    // :caddfile adds to an existing quickfix list. If there is no
+    // quickfix list then a new list is created.
     res = qf_init(wp, p_ef, p_efm, (eap->cmdidx != CMD_caddfile
 			&& eap->cmdidx != CMD_laddfile),
 			qf_cmdtitle(*eap->cmdlinep), enc);
@@ -5045,12 +4974,12 @@ vgr_get_auname(cmdidx_T cmdidx)
     static void
 vgr_init_regmatch(regmmatch_T *regmatch, char_u *s)
 {
-    /* Get the search pattern: either white-separated or enclosed in // */
+    // Get the search pattern: either white-separated or enclosed in //
     regmatch->regprog = NULL;
 
     if (s == NULL || *s == NUL)
     {
-	/* Pattern is empty, use last search pattern. */
+	// Pattern is empty, use last search pattern.
 	if (last_search_pat() == NULL)
 	{
 	    EMSG(_(e_noprevre));
@@ -5083,8 +5012,8 @@ vgr_display_fname(char_u *fname)
 	vim_free(p);
     }
     msg_clr_eos();
-    msg_didout = FALSE;	    /* overwrite this message */
-    msg_nowait = TRUE;	    /* don't wait for this message */
+    msg_didout = FALSE;	    // overwrite this message
+    msg_nowait = TRUE;	    // don't wait for this message
     msg_col = 0;
     out_flush();
 }
@@ -5105,16 +5034,16 @@ vgr_load_dummy_buf(
     buf_T	*buf;
 
 #if defined(FEAT_SYN_HL)
-    /* Don't do Filetype autocommands to avoid loading syntax and
-     * indent scripts, a great speed improvement. */
+    // Don't do Filetype autocommands to avoid loading syntax and
+    // indent scripts, a great speed improvement.
     save_ei = au_event_disable(",Filetype");
 #endif
-    /* Don't use modelines here, it's useless. */
+    // Don't use modelines here, it's useless.
     save_mls = p_mls;
     p_mls = 0;
 
-    /* Load file into a buffer, so that 'fileencoding' is detected,
-     * autocommands applied, etc. */
+    // Load file into a buffer, so that 'fileencoding' is detected,
+    // autocommands applied, etc.
     buf = load_dummy_buffer(fname, dirname_start, dirname_now);
 
     p_mls = save_mls;
@@ -5137,18 +5066,18 @@ vgr_qflist_valid(
 	int_u	    qfid,
 	char_u	    *title)
 {
-    /* Verify that the quickfix/location list was not freed by an autocmd */
+    // Verify that the quickfix/location list was not freed by an autocmd
     if (!qflist_valid(wp, qfid))
     {
 	if (wp != NULL)
 	{
-	    /* An autocmd has freed the location list. */
+	    // An autocmd has freed the location list.
 	    EMSG(_(e_loc_list_changed));
 	    return FALSE;
 	}
 	else
 	{
-	    /* Quickfix list is not found, create a new one. */
+	    // Quickfix list is not found, create a new one.
 	    qf_new_list(qi, title);
 	    return TRUE;
 	}
@@ -5184,12 +5113,12 @@ vgr_match_buflines(
 	while (vim_regexec_multi(regmatch, curwin, buf, lnum,
 		    col, NULL, NULL) > 0)
 	{
-	    /* Pass the buffer number so that it gets used even for a
-	     * dummy buffer, unless duplicate_name is set, then the
-	     * buffer will be wiped out below. */
+	    // Pass the buffer number so that it gets used even for a
+	    // dummy buffer, unless duplicate_name is set, then the
+	    // buffer will be wiped out below.
 	    if (qf_add_entry(qi,
 			qi->qf_curlist,
-			NULL,       /* dir */
+			NULL,       // dir
 			fname,
 			NULL,
 			duplicate_name ? 0 : buf->b_fnum,
@@ -5197,11 +5126,11 @@ vgr_match_buflines(
 			    regmatch->startpos[0].lnum + lnum, FALSE),
 			regmatch->startpos[0].lnum + lnum,
 			regmatch->startpos[0].col + 1,
-			FALSE,      /* vis_col */
-			NULL,	    /* search pattern */
-			0,	    /* nr */
-			0,	    /* type */
-			TRUE	    /* valid */
+			FALSE,      // vis_col
+			NULL,	    // search pattern
+			0,	    // nr
+			0,	    // type
+			TRUE	    // valid
 			) == FAIL)
 	    {
 		got_int = TRUE;
@@ -5242,11 +5171,11 @@ vgr_jump_to_match(
     buf = curbuf;
     qf_jump(qi, 0, 0, forceit);
     if (buf != curbuf)
-	/* If we jumped to another buffer redrawing will already be
-	 * taken care of. */
+	// If we jumped to another buffer redrawing will already be
+	// taken care of.
 	*redraw_for_dummy = FALSE;
 
-    /* Jump to the directory used after loading the buffer. */
+    // Jump to the directory used after loading the buffer.
     if (curbuf == first_match_buf && target_dir != NULL)
     {
 	exarg_T ea;
@@ -5315,7 +5244,7 @@ ex_vimgrep(exarg_T *eap)
     else
 	tomatch = MAXLNUM;
 
-    /* Get the search pattern: either white-separated or enclosed in // */
+    // Get the search pattern: either white-separated or enclosed in //
     regmatch.regprog = NULL;
     title = vim_strsave(qf_cmdtitle(*eap->cmdlinep));
     p = skip_vimgrep_pat(eap->arg, &s, &flags);
@@ -5340,10 +5269,10 @@ ex_vimgrep(exarg_T *eap)
 		&& eap->cmdidx != CMD_vimgrepadd
 		&& eap->cmdidx != CMD_lvimgrepadd)
 					|| qf_stack_empty(qi))
-	/* make place for a new list */
+	// make place for a new list
 	qf_new_list(qi, title != NULL ? title : qf_cmdtitle(*eap->cmdlinep));
 
-    /* parse the list of arguments */
+    // parse the list of arguments
     if (get_arglist_exp(p, &fcount, &fnames, TRUE) == FAIL)
 	goto theend;
     if (fcount == 0)
@@ -5360,12 +5289,12 @@ ex_vimgrep(exarg_T *eap)
 	goto theend;
     }
 
-    /* Remember the current directory, because a BufRead autocommand that does
-     * ":lcd %:p:h" changes the meaning of short path names. */
+    // Remember the current directory, because a BufRead autocommand that does
+    // ":lcd %:p:h" changes the meaning of short path names.
     mch_dirname(dirname_start, MAXPATHL);
 
-     /* Remember the current quickfix list identifier, so that we can check for
-      * autocommands changing the current quickfix list. */
+    // Remember the current quickfix list identifier, so that we can check for
+    // autocommands changing the current quickfix list.
     save_qfid = qi->qf_lists[qi->qf_curlist].qf_id;
 
     seconds = (time_t)0;
@@ -5374,8 +5303,8 @@ ex_vimgrep(exarg_T *eap)
 	fname = shorten_fname1(fnames[fi]);
 	if (time(NULL) > seconds)
 	{
-	    /* Display the file name every second or so, show the user we are
-	     * working on it. */
+	    // Display the file name every second or so, show the user we are
+	    // working on it.
 	    seconds = time(NULL);
 	    vgr_display_fname(fname);
 	}
@@ -5383,7 +5312,7 @@ ex_vimgrep(exarg_T *eap)
 	buf = buflist_findname_exp(fnames[fi]);
 	if (buf == NULL || buf->b_ml.ml_mfp == NULL)
 	{
-	    /* Remember that a buffer with this name already exists. */
+	    // Remember that a buffer with this name already exists.
 	    duplicate_name = (buf != NULL);
 	    using_dummy = TRUE;
 	    redraw_for_dummy = TRUE;
@@ -5391,11 +5320,11 @@ ex_vimgrep(exarg_T *eap)
 	    buf = vgr_load_dummy_buf(fname, dirname_start, dirname_now);
 	}
 	else
-	    /* Use existing, loaded buffer. */
+	    // Use existing, loaded buffer.
 	    using_dummy = FALSE;
 
-	/* Check whether the quickfix list is still valid. When loading a
-	 * buffer above, autocommands might have changed the quickfix list. */
+	// Check whether the quickfix list is still valid. When loading a
+	// buffer above, autocommands might have changed the quickfix list.
 	if (!vgr_qflist_valid(wp, qi, save_qfid, qf_cmdtitle(*eap->cmdlinep)))
 	{
 	    FreeWild(fcount, fnames);
@@ -5410,8 +5339,8 @@ ex_vimgrep(exarg_T *eap)
 	}
 	else
 	{
-	    /* Try for a match in all lines of the buffer.
-	     * For ":1vimgrep" look for first match only. */
+	    // Try for a match in all lines of the buffer.
+	    // For ":1vimgrep" look for first match only.
 	    found_match = vgr_match_buflines(qi, fname, buf, &regmatch,
 		    tomatch, duplicate_name, flags);
 
@@ -5421,22 +5350,22 @@ ex_vimgrep(exarg_T *eap)
 		    first_match_buf = buf;
 		if (duplicate_name)
 		{
-		    /* Never keep a dummy buffer if there is another buffer
-		     * with the same name. */
+		    // Never keep a dummy buffer if there is another buffer
+		    // with the same name.
 		    wipe_dummy_buffer(buf, dirname_start);
 		    buf = NULL;
 		}
 		else if (!cmdmod.hide
-			    || buf->b_p_bh[0] == 'u'	/* "unload" */
-			    || buf->b_p_bh[0] == 'w'	/* "wipe" */
-			    || buf->b_p_bh[0] == 'd')	/* "delete" */
+			    || buf->b_p_bh[0] == 'u'	// "unload"
+			    || buf->b_p_bh[0] == 'w'	// "wipe"
+			    || buf->b_p_bh[0] == 'd')	// "delete"
 		{
-		    /* When no match was found we don't need to remember the
-		     * buffer, wipe it out.  If there was a match and it
-		     * wasn't the first one or we won't jump there: only
-		     * unload the buffer.
-		     * Ignore 'hidden' here, because it may lead to having too
-		     * many swap files. */
+		    // When no match was found we don't need to remember the
+		    // buffer, wipe it out.  If there was a match and it
+		    // wasn't the first one or we won't jump there: only
+		    // unload the buffer.
+		    // Ignore 'hidden' here, because it may lead to having too
+		    // many swap files.
 		    if (!found_match)
 		    {
 			wipe_dummy_buffer(buf, dirname_start);
@@ -5445,7 +5374,7 @@ ex_vimgrep(exarg_T *eap)
 		    else if (buf != first_match_buf || (flags & VGR_NOJUMP))
 		    {
 			unload_dummy_buffer(buf, dirname_start);
-			/* Keeping the buffer, remove the dummy flag. */
+			// Keeping the buffer, remove the dummy flag.
 			buf->b_flags &= ~BF_DUMMY;
 			buf = NULL;
 		    }
@@ -5453,20 +5382,20 @@ ex_vimgrep(exarg_T *eap)
 
 		if (buf != NULL)
 		{
-		    /* Keeping the buffer, remove the dummy flag. */
+		    // Keeping the buffer, remove the dummy flag.
 		    buf->b_flags &= ~BF_DUMMY;
 
-		    /* If the buffer is still loaded we need to use the
-		     * directory we jumped to below. */
+		    // If the buffer is still loaded we need to use the
+		    // directory we jumped to below.
 		    if (buf == first_match_buf
 			    && target_dir == NULL
 			    && STRCMP(dirname_start, dirname_now) != 0)
 			target_dir = vim_strsave(dirname_now);
 
-		    /* The buffer is still loaded, the Filetype autocommands
-		     * need to be done now, in that buffer.  And the modelines
-		     * need to be done (again).  But not the window-local
-		     * options! */
+		    // The buffer is still loaded, the Filetype autocommands
+		    // need to be done now, in that buffer.  And the modelines
+		    // need to be done (again).  But not the window-local
+		    // options!
 		    aucmd_prepbuf(&aco, buf);
 #if defined(FEAT_SYN_HL)
 		    apply_autocmds(EVENT_FILETYPE, buf->b_p_ft,
@@ -5491,10 +5420,8 @@ ex_vimgrep(exarg_T *eap)
     if (au_name != NULL)
 	apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
 					       curbuf->b_fname, TRUE, curbuf);
-    /*
-     * The QuickFixCmdPost autocmd may free the quickfix list. Check the list
-     * is still valid.
-     */
+    // The QuickFixCmdPost autocmd may free the quickfix list. Check the list
+    // is still valid.
     if (!qflist_valid(wp, save_qfid))
 	goto theend;
 
@@ -5511,8 +5438,8 @@ ex_vimgrep(exarg_T *eap)
     else
 	EMSG2(_(e_nomatch2), s);
 
-    /* If we loaded a dummy buffer into the current window, the autocommands
-     * may have messed up things, need to redraw and recompute folds. */
+    // If we loaded a dummy buffer into the current window, the autocommands
+    // may have messed up things, need to redraw and recompute folds.
     if (redraw_for_dummy)
     {
 #ifdef FEAT_FOLDING
@@ -5544,8 +5471,8 @@ restore_start_dir(char_u *dirname_start)
 	mch_dirname(dirname_now, MAXPATHL);
 	if (STRCMP(dirname_start, dirname_now) != 0)
 	{
-	    /* If the directory has changed, change it back by building up an
-	     * appropriate ex command and executing it. */
+	    // If the directory has changed, change it back by building up an
+	    // appropriate ex command and executing it.
 	    exarg_T ea;
 
 	    ea.arg = dirname_start;
@@ -5571,8 +5498,8 @@ restore_start_dir(char_u *dirname_start)
     static buf_T *
 load_dummy_buffer(
     char_u	*fname,
-    char_u	*dirname_start,  /* in: old directory */
-    char_u	*resulting_dir)  /* out: new directory */
+    char_u	*dirname_start,  // in: old directory
+    char_u	*resulting_dir)  // out: new directory
 {
     buf_T	*newbuf;
     bufref_T	newbufref;
@@ -5581,32 +5508,32 @@ load_dummy_buffer(
     aco_save_T	aco;
     int		readfile_result;
 
-    /* Allocate a buffer without putting it in the buffer list. */
+    // Allocate a buffer without putting it in the buffer list.
     newbuf = buflist_new(NULL, NULL, (linenr_T)1, BLN_DUMMY);
     if (newbuf == NULL)
 	return NULL;
     set_bufref(&newbufref, newbuf);
 
-    /* Init the options. */
+    // Init the options.
     buf_copy_options(newbuf, BCO_ENTER | BCO_NOHELP);
 
-    /* need to open the memfile before putting the buffer in a window */
+    // need to open the memfile before putting the buffer in a window
     if (ml_open(newbuf) == OK)
     {
-	/* Make sure this buffer isn't wiped out by autocommands. */
+	// Make sure this buffer isn't wiped out by autocommands.
 	++newbuf->b_locked;
 
-	/* set curwin/curbuf to buf and save a few things */
+	// set curwin/curbuf to buf and save a few things
 	aucmd_prepbuf(&aco, newbuf);
 
-	/* Need to set the filename for autocommands. */
+	// Need to set the filename for autocommands.
 	(void)setfname(curbuf, fname, NULL, FALSE);
 
-	/* Create swap file now to avoid the ATTENTION message. */
+	// Create swap file now to avoid the ATTENTION message.
 	check_need_swap(TRUE);
 
-	/* Remove the "dummy" flag, otherwise autocommands may not
-	 * work. */
+	// Remove the "dummy" flag, otherwise autocommands may not
+	// work.
 	curbuf->b_flags &= ~BF_DUMMY;
 
 	newbuf_to_wipe.br_buf = NULL;
@@ -5621,30 +5548,28 @@ load_dummy_buffer(
 	    failed = FALSE;
 	    if (curbuf != newbuf)
 	    {
-		/* Bloody autocommands changed the buffer!  Can happen when
-		 * using netrw and editing a remote file.  Use the current
-		 * buffer instead, delete the dummy one after restoring the
-		 * window stuff. */
+		// Bloody autocommands changed the buffer!  Can happen when
+		// using netrw and editing a remote file.  Use the current
+		// buffer instead, delete the dummy one after restoring the
+		// window stuff.
 		set_bufref(&newbuf_to_wipe, newbuf);
 		newbuf = curbuf;
 	    }
 	}
 
-	/* restore curwin/curbuf and a few other things */
+	// restore curwin/curbuf and a few other things
 	aucmd_restbuf(&aco);
 	if (newbuf_to_wipe.br_buf != NULL && bufref_valid(&newbuf_to_wipe))
 	    wipe_buffer(newbuf_to_wipe.br_buf, FALSE);
 
-	/* Add back the "dummy" flag, otherwise buflist_findname_stat() won't
-	 * skip it. */
+	// Add back the "dummy" flag, otherwise buflist_findname_stat() won't
+	// skip it.
 	newbuf->b_flags |= BF_DUMMY;
     }
 
-    /*
-     * When autocommands/'autochdir' option changed directory: go back.
-     * Let the caller know what the resulting dir was first, in case it is
-     * important.
-     */
+    // When autocommands/'autochdir' option changed directory: go back.
+    // Let the caller know what the resulting dir was first, in case it is
+    // important.
     mch_dirname(resulting_dir, MAXPATHL);
     restore_start_dir(dirname_start);
 
@@ -5666,25 +5591,25 @@ load_dummy_buffer(
     static void
 wipe_dummy_buffer(buf_T *buf, char_u *dirname_start)
 {
-    if (curbuf != buf)		/* safety check */
+    if (curbuf != buf)		// safety check
     {
 #if defined(FEAT_EVAL)
 	cleanup_T   cs;
 
-	/* Reset the error/interrupt/exception state here so that aborting()
-	 * returns FALSE when wiping out the buffer.  Otherwise it doesn't
-	 * work when got_int is set. */
+	// Reset the error/interrupt/exception state here so that aborting()
+	// returns FALSE when wiping out the buffer.  Otherwise it doesn't
+	// work when got_int is set.
 	enter_cleanup(&cs);
 #endif
 
 	wipe_buffer(buf, FALSE);
 
 #if defined(FEAT_EVAL)
-	/* Restore the error/interrupt/exception state if not discarded by a
-	 * new aborting error, interrupt, or uncaught exception. */
+	// Restore the error/interrupt/exception state if not discarded by a
+	// new aborting error, interrupt, or uncaught exception.
 	leave_cleanup(&cs);
 #endif
-	/* When autocommands/'autochdir' option changed directory: go back. */
+	// When autocommands/'autochdir' option changed directory: go back.
 	restore_start_dir(dirname_start);
     }
 }
@@ -5697,11 +5622,11 @@ wipe_dummy_buffer(buf_T *buf, char_u *di
     static void
 unload_dummy_buffer(buf_T *buf, char_u *dirname_start)
 {
-    if (curbuf != buf)		/* safety check */
+    if (curbuf != buf)		// safety check
     {
 	close_buffer(NULL, buf, DOBUF_UNLOAD, FALSE);
 
-	/* When autocommands/'autochdir' option changed directory: go back. */
+	// When autocommands/'autochdir' option changed directory: go back.
 	restore_start_dir(dirname_start);
     }
 }
@@ -5741,7 +5666,7 @@ get_errorlist(qf_info_T *qi_arg, win_T *
     qfp = qi->qf_lists[qf_idx].qf_start;
     for (i = 1; !got_int && i <= qi->qf_lists[qf_idx].qf_count; ++i)
     {
-	/* Handle entries with a non-existing buffer number. */
+	// Handle entries with a non-existing buffer number.
 	bufnum = qfp->qf_fnum;
 	if (bufnum != 0 && (buflist_findnr(bufnum) == NULL))
 	    bufnum = 0;
@@ -5772,9 +5697,7 @@ get_errorlist(qf_info_T *qi_arg, win_T *
     return OK;
 }
 
-/*
- * Flags used by getqflist()/getloclist() to determine which fields to return.
- */
+// Flags used by getqflist()/getloclist() to determine which fields to return.
 enum {
     QF_GETLIST_NONE	= 0x0,
     QF_GETLIST_TITLE	= 0x1,
@@ -5803,12 +5726,11 @@ qf_get_list_from_lines(dict_T *what, dic
     dictitem_T	*efm_di;
     list_T	*l;
 
-    /* Only a List value is supported */
+    // Only a List value is supported
     if (di->di_tv.v_type == VAR_LIST && di->di_tv.vval.v_list != NULL)
     {
-	/* If errorformat is supplied then use it, otherwise use the 'efm'
-	 * option setting
-	 */
+	// If errorformat is supplied then use it, otherwise use the 'efm'
+	// option setting
 	if ((efm_di = dict_find(what, (char_u *)"efm", -1)) != NULL)
 	{
 	    if (efm_di->di_tv.v_type != VAR_STRING ||
@@ -5847,8 +5769,8 @@ qf_winid(qf_info_T *qi)
 {
     win_T	*win;
 
-    /* The quickfix window can be opened even if the quickfix list is not set
-     * using ":copen". This is not true for location lists.  */
+    // The quickfix window can be opened even if the quickfix list is not set
+    // using ":copen". This is not true for location lists.
     if (qi == NULL)
 	return 0;
     win = qf_find_win(qi);
@@ -5922,13 +5844,13 @@ qf_getprop_qfidx(qf_info_T *qi, dict_T *
     int		qf_idx;
     dictitem_T	*di;
 
-    qf_idx = qi->qf_curlist;	/* default is the current list */
+    qf_idx = qi->qf_curlist;	// default is the current list
     if ((di = dict_find(what, (char_u *)"nr", -1)) != NULL)
     {
-	/* Use the specified quickfix/location list */
+	// Use the specified quickfix/location list
 	if (di->di_tv.v_type == VAR_NUMBER)
 	{
-	    /* for zero use the current list */
+	    // for zero use the current list
 	    if (di->di_tv.vval.v_number != 0)
 	    {
 		qf_idx = di->di_tv.vval.v_number - 1;
@@ -5939,7 +5861,7 @@ qf_getprop_qfidx(qf_info_T *qi, dict_T *
 	else if (di->di_tv.v_type == VAR_STRING
 		&& di->di_tv.vval.v_string != NULL
 		&& STRCMP(di->di_tv.vval.v_string, "$") == 0)
-	    /* Get the last quickfix list number */
+	    // Get the last quickfix list number
 	    qf_idx = qi->qf_listcount - 1;
 	else
 	    qf_idx = INVALID_QFIDX;
@@ -5947,12 +5869,10 @@ qf_getprop_qfidx(qf_info_T *qi, dict_T *
 
     if ((di = dict_find(what, (char_u *)"id", -1)) != NULL)
     {
-	/* Look for a list with the specified id */
+	// Look for a list with the specified id
 	if (di->di_tv.v_type == VAR_NUMBER)
 	{
-	    /*
-	     * For zero, use the current list or the list specified by 'nr'
-	     */
+	    // For zero, use the current list or the list specified by 'nr'
 	    if (di->di_tv.vval.v_number != 0)
 		qf_idx = qf_id2nr(qi, di->di_tv.vval.v_number);
 	}
@@ -6085,7 +6005,7 @@ qf_getprop_idx(qf_info_T *qi, int qf_idx
 {
     int idx = qi->qf_lists[qf_idx].qf_index;
     if (qf_list_empty(qi, qf_idx))
-	/* For empty lists, qf_index is set to 1 */
+	// For empty lists, qf_index is set to 1
 	idx = 0;
     return dict_add_number(retdict, "idx", idx);
 }
@@ -6116,7 +6036,7 @@ qf_get_properties(win_T *wp, dict_T *wha
     if (!qf_stack_empty(qi))
 	qf_idx = qf_getprop_qfidx(qi, what);
 
-    /* List is not present or is empty */
+    // List is not present or is empty
     if (qf_stack_empty(qi) || qf_idx == INVALID_QFIDX)
 	return qf_getprop_defaults(qi, flags, retdict);
 
@@ -6243,13 +6163,13 @@ qf_add_entries(
 
     if (action == ' ' || qf_idx == qi->qf_listcount)
     {
-	/* make place for a new list */
+	// make place for a new list
 	qf_new_list(qi, title);
 	qf_idx = qi->qf_curlist;
 	qfl = &qi->qf_lists[qf_idx];
     }
     else if (action == 'a' && !qf_list_empty(qi, qf_idx))
-	/* Adding to existing list, use last entry. */
+	// Adding to existing list, use last entry.
 	old_last = qfl->qf_last;
     else if (action == 'r')
     {
@@ -6260,7 +6180,7 @@ qf_add_entries(
     for (li = list->lv_first; li != NULL; li = li->li_next)
     {
 	if (li->li_tv.v_type != VAR_DICT)
-	    continue; /* Skip non-dict items */
+	    continue; // Skip non-dict items
 
 	d = li->li_tv.vval.v_dict;
 	if (d == NULL)
@@ -6272,7 +6192,7 @@ qf_add_entries(
     }
 
     if (qfl->qf_index == 0)
-	/* no valid entry */
+	// no valid entry
 	qfl->qf_nonevalid = TRUE;
     else
 	qfl->qf_nonevalid = FALSE;
@@ -6283,7 +6203,7 @@ qf_add_entries(
 	    qfl->qf_index = 1;
     }
 
-    /* Don't update the cursor in quickfix window when appending entries */
+    // Don't update the cursor in quickfix window when appending entries
     qf_update_buffer(qi, old_last);
 
     return retval;
@@ -6300,31 +6220,29 @@ qf_setprop_get_qfidx(
 	int		*newlist)
 {
     dictitem_T	*di;
-    int		qf_idx = qi->qf_curlist;    /* default is the current list */
+    int		qf_idx = qi->qf_curlist;    // default is the current list
 
     if ((di = dict_find(what, (char_u *)"nr", -1)) != NULL)
     {
-	/* Use the specified quickfix/location list */
+	// Use the specified quickfix/location list
 	if (di->di_tv.v_type == VAR_NUMBER)
 	{
-	    /* for zero use the current list */
+	    // for zero use the current list
 	    if (di->di_tv.vval.v_number != 0)
 		qf_idx = di->di_tv.vval.v_number - 1;
 
 	    if ((action == ' ' || action == 'a') && qf_idx == qi->qf_listcount)
 	    {
-		/*
-		 * When creating a new list, accept qf_idx pointing to the next
-		 * non-available list and add the new list at the end of the
-		 * stack.
-		 */
+		// When creating a new list, accept qf_idx pointing to the next
+		// non-available list and add the new list at the end of the
+		// stack.
 		*newlist = TRUE;
 		qf_idx = qf_stack_empty(qi) ? 0 : qi->qf_listcount - 1;
 	    }
 	    else if (qf_idx < 0 || qf_idx >= qi->qf_listcount)
 		return INVALID_QFIDX;
 	    else if (action != ' ')
-		*newlist = FALSE;	/* use the specified list */
+		*newlist = FALSE;	// use the specified list
 	}
 	else if (di->di_tv.v_type == VAR_STRING
 		&& di->di_tv.vval.v_string != NULL
@@ -6343,7 +6261,7 @@ qf_setprop_get_qfidx(
 
     if (!*newlist && (di = dict_find(what, (char_u *)"id", -1)) != NULL)
     {
-	/* Use the quickfix/location list with the specified id */
+	// Use the quickfix/location list with the specified id
 	if (di->di_tv.v_type != VAR_NUMBER)
 	    return INVALID_QFIDX;
 
@@ -6406,7 +6324,7 @@ qf_setprop_items_from_lines(
     dictitem_T	*efm_di;
     int		retval = FAIL;
 
-    /* Use the user supplied errorformat settings (if present) */
+    // Use the user supplied errorformat settings (if present)
     if ((efm_di = dict_find(what, (char_u *)"efm", -1)) != NULL)
     {
 	if (efm_di->di_tv.v_type != VAR_STRING ||
@@ -6415,7 +6333,7 @@ qf_setprop_items_from_lines(
 	errorformat = efm_di->di_tv.vval.v_string;
     }
 
-    /* Only a List value is supported */
+    // Only a List value is supported
     if (di->di_tv.v_type != VAR_LIST || di->di_tv.vval.v_list == NULL)
 	return FAIL;
 
@@ -6462,7 +6380,7 @@ qf_set_properties(qf_info_T *qi, dict_T 
 	newlist = TRUE;
 
     qf_idx = qf_setprop_get_qfidx(qi, what, action, &newlist);
-    if (qf_idx == INVALID_QFIDX)	/* List not found */
+    if (qf_idx == INVALID_QFIDX)	// List not found
 	return FAIL;
 
     if (newlist)
@@ -6516,7 +6434,7 @@ qf_free_stack(win_T *wp, qf_info_T *qi)
 
     if (qfwin != NULL)
     {
-	/* If the quickfix/location list window is open, then clear it */
+	// If the quickfix/location list window is open, then clear it
 	if (qi->qf_curlist < qi->qf_listcount)
 	    qf_free(&qi->qf_lists[qi->qf_curlist]);
 	qf_update_buffer(qi, NULL);
@@ -6524,9 +6442,8 @@ qf_free_stack(win_T *wp, qf_info_T *qi)
 
     if (wp != NULL && IS_LL_WINDOW(wp))
     {
-	/* If in the location list window, then use the non-location list
-	 * window with this location list (if present)
-	 */
+	// If in the location list window, then use the non-location list
+	// window with this location list (if present)
 	llwin = find_win_with_ll(qi);
 	if (llwin != NULL)
 	    wp = llwin;
@@ -6535,17 +6452,17 @@ qf_free_stack(win_T *wp, qf_info_T *qi)
     qf_free_all(wp);
     if (wp == NULL)
     {
-	/* quickfix list */
+	// quickfix list
 	qi->qf_curlist = 0;
 	qi->qf_listcount = 0;
     }
     else if (IS_LL_WINDOW(orig_wp))
     {
-	/* If the location list window is open, then create a new empty
-	 * location list */
+	// If the location list window is open, then create a new empty
+	// location list
 	qf_info_T *new_ll = ll_new_list();
 
-	/* first free the list reference in the location list window */
+	// first free the list reference in the location list window
 	ll_free_all(&orig_wp->w_llist_ref);
 
 	orig_wp->w_llist_ref = new_ll;
@@ -6582,7 +6499,7 @@ set_errorlist(
 
     if (action == 'f')
     {
-	/* Free the entire quickfix or location list stack */
+	// Free the entire quickfix or location list stack
 	qf_free_stack(wp, qi);
     }
     else if (what != NULL)
@@ -6643,10 +6560,9 @@ set_ref_in_quickfix(int copyID)
 	}
 	if (IS_LL_WINDOW(win) && (win->w_llist_ref->qf_refcount == 1))
 	{
-	    /* In a location list window and none of the other windows is
-	     * referring to this location list. Mark the location list
-	     * context as still in use.
-	     */
+	    // In a location list window and none of the other windows is
+	    // referring to this location list. Mark the location list
+	    // context as still in use.
 	    abort = mark_quickfix_ctx(win->w_llist_ref, copyID);
 	    if (abort)
 		return abort;
@@ -6694,7 +6610,7 @@ ex_cbuffer(exarg_T *eap)
 #endif
     }
 
-    /* Must come after autocommands. */
+    // Must come after autocommands.
     if (is_loclist_cmd(eap->cmdidx))
     {
 	qi = ll_get_or_alloc_list(curwin);
@@ -6807,8 +6723,8 @@ ex_cexpr(exarg_T *eap)
 	wp = curwin;
     }
 
-    /* Evaluate the expression.  When the result is a string or a list we can
-     * use it to fill the errorlist. */
+    // Evaluate the expression.  When the result is a string or a list we can
+    // use it to fill the errorlist.
     tv = eval_expr(eap->arg, NULL);
     if (tv != NULL)
     {
@@ -6854,21 +6770,21 @@ hgr_get_ll(int *new_ll)
     win_T	*wp;
     qf_info_T	*qi;
 
-    /* If the current window is a help window, then use it */
+    // If the current window is a help window, then use it
     if (bt_help(curwin->w_buffer))
 	wp = curwin;
     else
-	/* Find an existing help window */
+	// Find an existing help window
 	wp = qf_find_help_win();
 
-    if (wp == NULL)	    /* Help window not found */
+    if (wp == NULL)	    // Help window not found
 	qi = NULL;
     else
 	qi = wp->w_llist;
 
     if (qi == NULL)
     {
-	/* Allocate a new location list for help text matches */
+	// Allocate a new location list for help text matches
 	if ((qi = ll_new_list()) == NULL)
 	    return NULL;
 	*new_ll = TRUE;
@@ -6901,8 +6817,8 @@ hgr_search_file(
     {
 	char_u    *line = IObuff;
 #ifdef FEAT_MBYTE
-	/* Convert a line if 'encoding' is not utf-8 and
-	 * the line contains a non-ASCII character. */
+	// Convert a line if 'encoding' is not utf-8 and
+	// the line contains a non-ASCII character.
 	if (p_vc->vc_type != CONV_NONE
 		&& has_non_ascii(IObuff))
 	{
@@ -6916,25 +6832,25 @@ hgr_search_file(
 	{
 	    int	l = (int)STRLEN(line);
 
-	    /* remove trailing CR, LF, spaces, etc. */
+	    // remove trailing CR, LF, spaces, etc.
 	    while (l > 0 && line[l - 1] <= ' ')
 		line[--l] = NUL;
 
 	    if (qf_add_entry(qi,
 			qi->qf_curlist,
-			NULL,	/* dir */
+			NULL,	// dir
 			fname,
 			NULL,
 			0,
 			line,
 			lnum,
 			(int)(p_regmatch->startp[0] - line)
-			+ 1, /* col */
-			FALSE,	/* vis_col */
-			NULL,	/* search pattern */
-			0,		/* nr */
-			1,		/* type */
-			TRUE	/* valid */
+			+ 1,	// col
+			FALSE,	// vis_col
+			NULL,	// search pattern
+			0,	// nr
+			1,	// type
+			TRUE	// valid
 			) == FAIL)
 	    {
 		got_int = TRUE;
@@ -6976,7 +6892,7 @@ hgr_search_files_in_dir(
     char_u	**fnames;
     int		fi;
 
-    /* Find all "*.txt" and "*.??x" files in the "doc" directory. */
+    // Find all "*.txt" and "*.??x" files in the "doc" directory.
     add_pathsep(dirname);
     STRCAT(dirname, "doc/*.\\(txt\\|??x\\)");
     if (gen_expand_wildcards(1, &dirname, &fcount,
@@ -6986,7 +6902,7 @@ hgr_search_files_in_dir(
 	for (fi = 0; fi < fcount && !got_int; ++fi)
 	{
 #ifdef FEAT_MULTI_LANG
-	    /* Skip files for a different language. */
+	    // Skip files for a different language.
 	    if (lang != NULL
 		    && STRNICMP(lang, fnames[fi]
 				    + STRLEN(fnames[fi]) - 3, 2) != 0
@@ -7020,15 +6936,15 @@ hgr_search_in_rtp(qf_info_T *qi, regmatc
 #ifdef FEAT_MBYTE
     vimconv_T	vc;
 
-    /* Help files are in utf-8 or latin1, convert lines when 'encoding'
-     * differs. */
+    // Help files are in utf-8 or latin1, convert lines when 'encoding'
+    // differs.
     vc.vc_type = CONV_NONE;
     if (!enc_utf8)
 	convert_setup(&vc, (char_u *)"utf-8", p_enc);
 #endif
 
 
-    /* Go through all the directories in 'runtimepath' */
+    // Go through all the directories in 'runtimepath'
     p = p_rtp;
     while (*p != NUL && !got_int)
     {
@@ -7124,11 +7040,11 @@ ex_helpgrep(exarg_T *eap)
 	apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
 					       curbuf->b_fname, TRUE, curbuf);
 	if (!new_qi && IS_LL_STACK(qi) && qf_find_buf(qi) == NULL)
-	    /* autocommands made "qi" invalid */
+	    // autocommands made "qi" invalid
 	    return;
     }
 
-    /* Jump to first match. */
+    // Jump to first match.
     if (!qf_list_empty(qi, qi->qf_curlist))
 	qf_jump(qi, 0, 0, FALSE);
     else
--- a/src/version.c
+++ b/src/version.c
@@ -793,6 +793,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    461,
+/**/
     460,
 /**/
     459,