]> granicus.if.org Git - vim/commitdiff
patch 8.1.2395: using old C style comments v8.1.2395
authorBram Moolenaar <Bram@vim.org>
Thu, 5 Dec 2019 20:33:15 +0000 (21:33 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 5 Dec 2019 20:33:15 +0000 (21:33 +0100)
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.

src/spell.c
src/spellfile.c
src/syntax.c
src/tag.c
src/term.c
src/terminal.c
src/termlib.c
src/testing.c
src/version.c

index 46209077c60baced5356c38bc3a7ed57da5d58f6..572f7fbb9c7e27a3d028cf925b937adcaf036168 100644 (file)
 
 #if defined(FEAT_SPELL) || defined(PROTO)
 
-#ifndef UNIX           /* it's in os_unix.h for Unix */
-# include <time.h>     /* for time_t */
+#ifndef UNIX           // it's in os_unix.h for Unix
+# include <time.h>     // for time_t
 #endif
 
-#define REGION_ALL 0xff                /* word valid in all regions */
+#define REGION_ALL 0xff                // word valid in all regions
 
-#define VIMSUGMAGIC "VIMsug"   /* string at start of Vim .sug file */
+#define VIMSUGMAGIC "VIMsug"   // string at start of Vim .sug file
 #define VIMSUGMAGICL 6
 #define VIMSUGVERSION 1
 
-/* Result values.  Lower number is accepted over higher one. */
+// Result values.  Lower number is accepted over higher one.
 #define SP_BANNED      -1
 #define SP_OK          0
 #define SP_RARE                1
  */
 typedef struct matchinf_S
 {
-    langp_T    *mi_lp;                 /* info for language and region */
-
-    /* pointers to original text to be checked */
-    char_u     *mi_word;               /* start of word being checked */
-    char_u     *mi_end;                /* end of matching word so far */
-    char_u     *mi_fend;               /* next char to be added to mi_fword */
-    char_u     *mi_cend;               /* char after what was used for
-                                          mi_capflags */
-
-    /* case-folded text */
-    char_u     mi_fword[MAXWLEN + 1];  /* mi_word case-folded */
-    int                mi_fwordlen;            /* nr of valid bytes in mi_fword */
-
-    /* for when checking word after a prefix */
-    int                mi_prefarridx;          /* index in sl_pidxs with list of
-                                          affixID/condition */
-    int                mi_prefcnt;             /* number of entries at mi_prefarridx */
-    int                mi_prefixlen;           /* byte length of prefix */
-    int                mi_cprefixlen;          /* byte length of prefix in original
-                                          case */
-
-    /* for when checking a compound word */
-    int                mi_compoff;             /* start of following word offset */
-    char_u     mi_compflags[MAXWLEN];  /* flags for compound words used */
-    int                mi_complen;             /* nr of compound words used */
-    int                mi_compextra;           /* nr of COMPOUNDROOT words */
-
-    /* others */
-    int                mi_result;              /* result so far: SP_BAD, SP_OK, etc. */
-    int                mi_capflags;            /* WF_ONECAP WF_ALLCAP WF_KEEPCAP */
-    win_T      *mi_win;                /* buffer being checked */
-
-    /* for NOBREAK */
-    int                mi_result2;             /* "mi_resul" without following word */
-    char_u     *mi_end2;               /* "mi_end" without following word */
+    langp_T    *mi_lp;                 // info for language and region
+
+    // pointers to original text to be checked
+    char_u     *mi_word;               // start of word being checked
+    char_u     *mi_end;                // end of matching word so far
+    char_u     *mi_fend;               // next char to be added to mi_fword
+    char_u     *mi_cend;               // char after what was used for
+                                       // mi_capflags
+
+    // case-folded text
+    char_u     mi_fword[MAXWLEN + 1];  // mi_word case-folded
+    int                mi_fwordlen;            // nr of valid bytes in mi_fword
+
+    // for when checking word after a prefix
+    int                mi_prefarridx;          // index in sl_pidxs with list of
+                                       // affixID/condition
+    int                mi_prefcnt;             // number of entries at mi_prefarridx
+    int                mi_prefixlen;           // byte length of prefix
+    int                mi_cprefixlen;          // byte length of prefix in original
+                                       // case
+
+    // for when checking a compound word
+    int                mi_compoff;             // start of following word offset
+    char_u     mi_compflags[MAXWLEN];  // flags for compound words used
+    int                mi_complen;             // nr of compound words used
+    int                mi_compextra;           // nr of COMPOUNDROOT words
+
+    // others
+    int                mi_result;              // result so far: SP_BAD, SP_OK, etc.
+    int                mi_capflags;            // WF_ONECAP WF_ALLCAP WF_KEEPCAP
+    win_T      *mi_win;                // buffer being checked
+
+    // for NOBREAK
+    int                mi_result2;             // "mi_resul" without following word
+    char_u     *mi_end2;               // "mi_end" without following word
 } matchinf_T;
 
 
 static int spell_mb_isword_class(int cl, win_T *wp);
 
-/* mode values for find_word */
-#define FIND_FOLDWORD      0   /* find word case-folded */
-#define FIND_KEEPWORD      1   /* find keep-case word */
-#define FIND_PREFIX        2   /* find word after prefix */
-#define FIND_COMPOUND      3   /* find case-folded compound word */
-#define FIND_KEEPCOMPOUND   4  /* find keep-case compound word */
+// mode values for find_word
+#define FIND_FOLDWORD      0   // find word case-folded
+#define FIND_KEEPWORD      1   // find keep-case word
+#define FIND_PREFIX        2   // find word after prefix
+#define FIND_COMPOUND      3   // find case-folded compound word
+#define FIND_KEEPCOMPOUND   4  // find keep-case compound word
 
 static void find_word(matchinf_T *mip, int mode);
 static void find_prefix(matchinf_T *mip, int mode);
@@ -160,34 +160,34 @@ static linenr_T dump_prefixes(slang_T *slang, char_u *word, char_u *pat, int *di
  */
     int
 spell_check(
-    win_T      *wp,            /* current window */
+    win_T      *wp,            // current window
     char_u     *ptr,
     hlf_T      *attrp,
-    int                *capcol,        /* column to check for Capital */
-    int                docount)        /* count good words */
+    int                *capcol,        // column to check for Capital
+    int                docount)        // count good words
 {
-    matchinf_T mi;             /* Most things are put in "mi" so that it can
-                                  be passed to functions quickly. */
-    int                nrlen = 0;      /* found a number first */
+    matchinf_T mi;             // Most things are put in "mi" so that it can
+                               // be passed to functions quickly.
+    int                nrlen = 0;      // found a number first
     int                c;
     int                wrongcaplen = 0;
     int                lpi;
     int                count_word = docount;
 
-    /* A word never starts at a space or a control character.  Return quickly
-     * then, skipping over the character. */
+    // A word never starts at a space or a control character.  Return quickly
+    // then, skipping over the character.
     if (*ptr <= ' ')
        return 1;
 
-    /* Return here when loading language files failed. */
+    // Return here when loading language files failed.
     if (wp->w_s->b_langp.ga_len == 0)
        return 1;
 
     vim_memset(&mi, 0, sizeof(matchinf_T));
 
-    /* A number is always OK.  Also skip hexadecimal numbers 0xFF99 and
-     * 0X99FF.  But always do check spelling to find "3GPP" and "11
-     * julifeest". */
+    // A number is always OK.  Also skip hexadecimal numbers 0xFF99 and
+    // 0X99FF.  But always do check spelling to find "3GPP" and "11
+    // julifeest".
     if (*ptr >= '0' && *ptr <= '9')
     {
        if (*ptr == '0' && (ptr[1] == 'b' || ptr[1] == 'B'))
@@ -199,7 +199,7 @@ spell_check(
        nrlen = (int)(mi.mi_end - ptr);
     }
 
-    /* Find the normal end of the word (until the next non-word character). */
+    // Find the normal end of the word (until the next non-word character).
     mi.mi_word = ptr;
     mi.mi_fend = ptr;
     if (spell_iswordp(mi.mi_fend, wp))
@@ -210,7 +210,7 @@ spell_check(
 
        if (capcol != NULL && *capcol == 0 && wp->w_s->b_cap_prog != NULL)
        {
-           /* Check word starting with capital letter. */
+           // Check word starting with capital letter.
            c = PTR2CHAR(ptr);
            if (!SPELL_ISUPPER(c))
                wrongcaplen = (int)(mi.mi_fend - ptr);
@@ -219,17 +219,17 @@ spell_check(
     if (capcol != NULL)
        *capcol = -1;
 
-    /* We always use the characters up to the next non-word character,
-     * also for bad words. */
+    // We always use the characters up to the next non-word character,
+    // also for bad words.
     mi.mi_end = mi.mi_fend;
 
-    /* Check caps type later. */
+    // Check caps type later.
     mi.mi_capflags = 0;
     mi.mi_cend = NULL;
     mi.mi_win = wp;
 
-    /* case-fold the word with one non-word character, so that we can check
-     * for the word end. */
+    // case-fold the word with one non-word character, so that we can check
+    // for the word end.
     if (*mi.mi_fend != NUL)
        MB_PTR_ADV(mi.mi_fend);
 
@@ -237,7 +237,7 @@ spell_check(
                                                             MAXWLEN + 1);
     mi.mi_fwordlen = (int)STRLEN(mi.mi_fword);
 
-    /* The word is bad unless we recognize it. */
+    // The word is bad unless we recognize it.
     mi.mi_result = SP_BAD;
     mi.mi_result2 = SP_BAD;
 
@@ -250,22 +250,22 @@ spell_check(
     {
        mi.mi_lp = LANGP_ENTRY(wp->w_s->b_langp, lpi);
 
-       /* If reloading fails the language is still in the list but everything
-        * has been cleared. */
+       // If reloading fails the language is still in the list but everything
+       // has been cleared.
        if (mi.mi_lp->lp_slang->sl_fidxs == NULL)
            continue;
 
-       /* Check for a matching word in case-folded words. */
+       // Check for a matching word in case-folded words.
        find_word(&mi, FIND_FOLDWORD);
 
-       /* Check for a matching word in keep-case words. */
+       // Check for a matching word in keep-case words.
        find_word(&mi, FIND_KEEPWORD);
 
-       /* Check for matching prefixes. */
+       // Check for matching prefixes.
        find_prefix(&mi, FIND_FOLDWORD);
 
-       /* For a NOBREAK language, may want to use a word without a following
-        * word as a backup. */
+       // For a NOBREAK language, may want to use a word without a following
+       // word as a backup.
        if (mi.mi_lp->lp_slang->sl_nobreak && mi.mi_result == SP_BAD
                                                   && mi.mi_result2 != SP_BAD)
        {
@@ -273,7 +273,7 @@ spell_check(
            mi.mi_end = mi.mi_end2;
        }
 
-       /* Count the word in the first language where it's found to be OK. */
+       // Count the word in the first language where it's found to be OK.
        if (count_word && mi.mi_result == SP_OK)
        {
            count_common_word(mi.mi_lp->lp_slang, ptr,
@@ -284,16 +284,16 @@ spell_check(
 
     if (mi.mi_result != SP_OK)
     {
-       /* If we found a number skip over it.  Allows for "42nd".  Do flag
-        * rare and local words, e.g., "3GPP". */
+       // If we found a number skip over it.  Allows for "42nd".  Do flag
+       // rare and local words, e.g., "3GPP".
        if (nrlen > 0)
        {
            if (mi.mi_result == SP_BAD || mi.mi_result == SP_BANNED)
                return nrlen;
        }
 
-       /* When we are at a non-word character there is no error, just
-        * skip over the character (try looking for a word after it). */
+       // When we are at a non-word character there is no error, just
+       // skip over the character (try looking for a word after it).
        else if (!spell_iswordp_nmw(ptr, wp))
        {
            if (capcol != NULL && wp->w_s->b_cap_prog != NULL)
@@ -301,7 +301,7 @@ spell_check(
                regmatch_T      regmatch;
                int             r;
 
-               /* Check for end of sentence. */
+               // Check for end of sentence.
                regmatch.regprog = wp->w_s->b_cap_prog;
                regmatch.rm_ic = FALSE;
                r = vim_regexec(&regmatch, ptr, 0);
@@ -315,8 +315,8 @@ spell_check(
            return 1;
        }
        else if (mi.mi_end == ptr)
-           /* Always include at least one character.  Required for when there
-            * is a mixup in "midword". */
+           // Always include at least one character.  Required for when there
+           // is a mixup in "midword".
            MB_PTR_ADV(mi.mi_end);
        else if (mi.mi_result == SP_BAD
                && LANGP_ENTRY(wp->w_s->b_langp, 0)->lp_slang->sl_nobreak)
@@ -324,8 +324,8 @@ spell_check(
            char_u      *p, *fp;
            int         save_result = mi.mi_result;
 
-           /* First language in 'spelllang' is NOBREAK.  Find first position
-            * at which any word would be valid. */
+           // First language in 'spelllang' is NOBREAK.  Find first position
+           // at which any word would be valid.
            mi.mi_lp = LANGP_ENTRY(wp->w_s->b_langp, 0);
            if (mi.mi_lp->lp_slang->sl_fidxs != NULL)
            {
@@ -359,7 +359,7 @@ spell_check(
 
     if (wrongcaplen > 0 && (mi.mi_result == SP_OK || mi.mi_result == SP_RARE))
     {
-       /* Report SpellCap only when the word isn't badly spelled. */
+       // Report SpellCap only when the word isn't badly spelled.
        *attrp = HLF_SPC;
        return wrongcaplen;
     }
@@ -380,8 +380,8 @@ spell_check(
 find_word(matchinf_T *mip, int mode)
 {
     idx_T      arridx = 0;
-    int                endlen[MAXWLEN];    /* length at possible word endings */
-    idx_T      endidx[MAXWLEN];    /* possible word endings */
+    int                endlen[MAXWLEN];    // length at possible word endings
+    idx_T      endidx[MAXWLEN];    // possible word endings
     int                endidxcnt = 0;
     int                len;
     int                wlen = 0;
@@ -402,33 +402,33 @@ find_word(matchinf_T *mip, int mode)
 
     if (mode == FIND_KEEPWORD || mode == FIND_KEEPCOMPOUND)
     {
-       /* Check for word with matching case in keep-case tree. */
+       // Check for word with matching case in keep-case tree.
        ptr = mip->mi_word;
-       flen = 9999;                /* no case folding, always enough bytes */
+       flen = 9999;                // no case folding, always enough bytes
        byts = slang->sl_kbyts;
        idxs = slang->sl_kidxs;
 
        if (mode == FIND_KEEPCOMPOUND)
-           /* Skip over the previously found word(s). */
+           // Skip over the previously found word(s).
            wlen += mip->mi_compoff;
     }
     else
     {
-       /* Check for case-folded in case-folded tree. */
+       // Check for case-folded in case-folded tree.
        ptr = mip->mi_fword;
-       flen = mip->mi_fwordlen;    /* available case-folded bytes */
+       flen = mip->mi_fwordlen;    // available case-folded bytes
        byts = slang->sl_fbyts;
        idxs = slang->sl_fidxs;
 
        if (mode == FIND_PREFIX)
        {
-           /* Skip over the prefix. */
+           // Skip over the prefix.
            wlen = mip->mi_prefixlen;
            flen -= mip->mi_prefixlen;
        }
        else if (mode == FIND_COMPOUND)
        {
-           /* Skip over the previously found word(s). */
+           // Skip over the previously found word(s).
            wlen = mip->mi_compoff;
            flen -= mip->mi_compoff;
        }
@@ -436,7 +436,7 @@ find_word(matchinf_T *mip, int mode)
     }
 
     if (byts == NULL)
-       return;                 /* array is empty */
+       return;                 // array is empty
 
     /*
      * Repeat advancing in the tree until:
@@ -451,13 +451,13 @@ find_word(matchinf_T *mip, int mode)
 
        len = byts[arridx++];
 
-       /* If the first possible byte is a zero the word could end here.
-        * Remember this index, we first check for the longest word. */
+       // If the first possible byte is a zero the word could end here.
+       // Remember this index, we first check for the longest word.
        if (byts[arridx] == 0)
        {
            if (endidxcnt == MAXWLEN)
            {
-               /* Must be a corrupted spell file. */
+               // Must be a corrupted spell file.
                emsg(_(e_format));
                return;
            }
@@ -465,24 +465,24 @@ find_word(matchinf_T *mip, int mode)
            endidx[endidxcnt++] = arridx++;
            --len;
 
-           /* Skip over the zeros, there can be several flag/region
-            * combinations. */
+           // Skip over the zeros, there can be several flag/region
+           // combinations.
            while (len > 0 && byts[arridx] == 0)
            {
                ++arridx;
                --len;
            }
            if (len == 0)
-               break;      /* no children, word must end here */
+               break;      // no children, word must end here
        }
 
-       /* Stop looking at end of the line. */
+       // Stop looking at end of the line.
        if (ptr[wlen] == NUL)
            break;
 
-       /* Perform a binary search in the list of accepted bytes. */
+       // Perform a binary search in the list of accepted bytes.
        c = ptr[wlen];
-       if (c == TAB)       /* <Tab> is handled like <Space> */
+       if (c == TAB)       // <Tab> is handled like <Space>
            c = ' ';
        lo = arridx;
        hi = arridx + len - 1;
@@ -500,17 +500,17 @@ find_word(matchinf_T *mip, int mode)
            }
        }
 
-       /* Stop if there is no matching byte. */
+       // Stop if there is no matching byte.
        if (hi < lo || byts[lo] != c)
            break;
 
-       /* Continue at the child (if there is one). */
+       // Continue at the child (if there is one).
        arridx = idxs[lo];
        ++wlen;
        --flen;
 
-       /* One space in the good word may stand for several spaces in the
-        * checked word. */
+       // One space in the good word may stand for several spaces in the
+       // checked word.
        if (c == ' ')
        {
            for (;;)
@@ -536,24 +536,24 @@ find_word(matchinf_T *mip, int mode)
        wlen = endlen[endidxcnt];
 
        if ((*mb_head_off)(ptr, ptr + wlen) > 0)
-           continue;       /* not at first byte of character */
+           continue;       // not at first byte of character
        if (spell_iswordp(ptr + wlen, mip->mi_win))
        {
            if (slang->sl_compprog == NULL && !slang->sl_nobreak)
-               continue;           /* next char is a word character */
+               continue;           // next char is a word character
            word_ends = FALSE;
        }
        else
            word_ends = TRUE;
-       /* The prefix flag is before compound flags.  Once a valid prefix flag
-        * has been found we try compound flags. */
+       // The prefix flag is before compound flags.  Once a valid prefix flag
+       // has been found we try compound flags.
        prefix_found = FALSE;
 
        if (mode != FIND_KEEPWORD && has_mbyte)
        {
-           /* Compute byte length in original word, length may change
-            * when folding case.  This can be slow, take a shortcut when the
-            * case-folded word is equal to the keep-case word. */
+           // Compute byte length in original word, length may change
+           // when folding case.  This can be slow, take a shortcut when the
+           // case-folded word is equal to the keep-case word.
            p = mip->mi_word;
            if (STRNCMP(ptr, p, wlen) != 0)
            {
@@ -563,26 +563,26 @@ find_word(matchinf_T *mip, int mode)
            }
        }
 
-       /* Check flags and region.  For FIND_PREFIX check the condition and
-        * prefix ID.
-        * Repeat this if there are more flags/region alternatives until there
-        * is a match. */
+       // Check flags and region.  For FIND_PREFIX check the condition and
+       // prefix ID.
+       // Repeat this if there are more flags/region alternatives until there
+       // is a match.
        res = SP_BAD;
        for (len = byts[arridx - 1]; len > 0 && byts[arridx] == 0;
                                                              --len, ++arridx)
        {
            flags = idxs[arridx];
 
-           /* For the fold-case tree check that the case of the checked word
-            * matches with what the word in the tree requires.
-            * For keep-case tree the case is always right.  For prefixes we
-            * don't bother to check. */
+           // For the fold-case tree check that the case of the checked word
+           // matches with what the word in the tree requires.
+           // For keep-case tree the case is always right.  For prefixes we
+           // don't bother to check.
            if (mode == FIND_FOLDWORD)
            {
                if (mip->mi_cend != mip->mi_word + wlen)
                {
-                   /* mi_capflags was set for a different word length, need
-                    * to do it again. */
+                   // mi_capflags was set for a different word length, need
+                   // to do it again.
                    mip->mi_cend = mip->mi_word + wlen;
                    mip->mi_capflags = captype(mip->mi_word, mip->mi_cend);
                }
@@ -592,9 +592,9 @@ find_word(matchinf_T *mip, int mode)
                    continue;
            }
 
-           /* When mode is FIND_PREFIX the word must support the prefix:
-            * check the prefix ID and the condition.  Do that for the list at
-            * mip->mi_prefarridx that find_prefix() filled. */
+           // When mode is FIND_PREFIX the word must support the prefix:
+           // check the prefix ID and the condition.  Do that for the list at
+           // mip->mi_prefarridx that find_prefix() filled.
            else if (mode == FIND_PREFIX && !prefix_found)
            {
                c = valid_word_prefix(mip->mi_prefcnt, mip->mi_prefarridx,
@@ -604,7 +604,7 @@ find_word(matchinf_T *mip, int mode)
                if (c == 0)
                    continue;
 
-               /* Use the WF_RARE flag for a rare prefix. */
+               // Use the WF_RARE flag for a rare prefix.
                if (c & WF_RAREPFX)
                    flags |= WF_RARE;
                prefix_found = TRUE;
@@ -615,8 +615,8 @@ find_word(matchinf_T *mip, int mode)
                if ((mode == FIND_COMPOUND || mode == FIND_KEEPCOMPOUND)
                        && (flags & WF_BANNED) == 0)
                {
-                   /* NOBREAK: found a valid following word.  That's all we
-                    * need to know, so return. */
+                   // NOBREAK: found a valid following word.  That's all we
+                   // need to know, so return.
                    mip->mi_result = SP_OK;
                    break;
                }
@@ -625,45 +625,45 @@ find_word(matchinf_T *mip, int mode)
            else if ((mode == FIND_COMPOUND || mode == FIND_KEEPCOMPOUND
                                                                || !word_ends))
            {
-               /* If there is no compound flag or the word is shorter than
-                * COMPOUNDMIN reject it quickly.
-                * Makes you wonder why someone puts a compound flag on a word
-                * that's too short...  Myspell compatibility requires this
-                * anyway. */
+               // If there is no compound flag or the word is shorter than
+               // COMPOUNDMIN reject it quickly.
+               // Makes you wonder why someone puts a compound flag on a word
+               // that's too short...  Myspell compatibility requires this
+               // anyway.
                if (((unsigned)flags >> 24) == 0
                             || wlen - mip->mi_compoff < slang->sl_compminlen)
                    continue;
-               /* For multi-byte chars check character length against
-                * COMPOUNDMIN. */
+               // For multi-byte chars check character length against
+               // COMPOUNDMIN.
                if (has_mbyte
                        && slang->sl_compminlen > 0
                        && mb_charlen_len(mip->mi_word + mip->mi_compoff,
                                wlen - mip->mi_compoff) < slang->sl_compminlen)
                        continue;
 
-               /* Limit the number of compound words to COMPOUNDWORDMAX if no
-                * maximum for syllables is specified. */
+               // Limit the number of compound words to COMPOUNDWORDMAX if no
+               // maximum for syllables is specified.
                if (!word_ends && mip->mi_complen + mip->mi_compextra + 2
                                                           > slang->sl_compmax
                                           && slang->sl_compsylmax == MAXWLEN)
                    continue;
 
-               /* Don't allow compounding on a side where an affix was added,
-                * unless COMPOUNDPERMITFLAG was used. */
+               // Don't allow compounding on a side where an affix was added,
+               // unless COMPOUNDPERMITFLAG was used.
                if (mip->mi_complen > 0 && (flags & WF_NOCOMPBEF))
                    continue;
                if (!word_ends && (flags & WF_NOCOMPAFT))
                    continue;
 
-               /* Quickly check if compounding is possible with this flag. */
+               // Quickly check if compounding is possible with this flag.
                if (!byte_in_str(mip->mi_complen == 0
                                        ? slang->sl_compstartflags
                                        : slang->sl_compallflags,
                                            ((unsigned)flags >> 24)))
                    continue;
 
-               /* If there is a match with a CHECKCOMPOUNDPATTERN rule
-                * discard the compound word. */
+               // If there is a match with a CHECKCOMPOUNDPATTERN rule
+               // discard the compound word.
                if (match_checkcompoundpattern(ptr, wlen, &slang->sl_comppat))
                    continue;
 
@@ -671,12 +671,12 @@ find_word(matchinf_T *mip, int mode)
                {
                    int     capflags;
 
-                   /* Need to check the caps type of the appended compound
-                    * word. */
+                   // Need to check the caps type of the appended compound
+                   // word.
                    if (has_mbyte && STRNCMP(ptr, mip->mi_word,
                                                        mip->mi_compoff) != 0)
                    {
-                       /* case folding may have changed the length */
+                       // case folding may have changed the length
                        p = mip->mi_word;
                        for (s = ptr; s < ptr + mip->mi_compoff; MB_PTR_ADV(s))
                            MB_PTR_ADV(p);
@@ -690,10 +690,10 @@ find_word(matchinf_T *mip, int mode)
 
                    if (capflags != WF_ALLCAP)
                    {
-                       /* When the character before the word is a word
-                        * character we do not accept a Onecap word.  We do
-                        * accept a no-caps word, even when the dictionary
-                        * word specifies ONECAP. */
+                       // When the character before the word is a word
+                       // character we do not accept a Onecap word.  We do
+                       // accept a no-caps word, even when the dictionary
+                       // word specifies ONECAP.
                        MB_PTR_BACK(mip->mi_word, p);
                        if (spell_iswordp_nmw(p, mip->mi_win)
                                ? capflags == WF_ONECAP
@@ -703,9 +703,9 @@ find_word(matchinf_T *mip, int mode)
                    }
                }
 
-               /* If the word ends the sequence of compound flags of the
-                * words must match with one of the COMPOUNDRULE items and
-                * the number of syllables must not be too large. */
+               // If the word ends the sequence of compound flags of the
+               // words must match with one of the COMPOUNDRULE items and
+               // the number of syllables must not be too large.
                mip->mi_compflags[mip->mi_complen] = ((unsigned)flags >> 24);
                mip->mi_compflags[mip->mi_complen + 1] = NUL;
                if (word_ends)
@@ -714,7 +714,7 @@ find_word(matchinf_T *mip, int mode)
 
                    if (slang->sl_compsylmax < MAXWLEN)
                    {
-                       /* "fword" is only needed for checking syllables. */
+                       // "fword" is only needed for checking syllables.
                        if (ptr == mip->mi_word)
                            (void)spell_casefold(ptr, wlen, fword, MAXWLEN);
                        else
@@ -725,12 +725,12 @@ find_word(matchinf_T *mip, int mode)
                }
                else if (slang->sl_comprules != NULL
                             && !match_compoundrule(slang, mip->mi_compflags))
-                   /* The compound flags collected so far do not match any
-                    * COMPOUNDRULE, discard the compounded word. */
+                   // The compound flags collected so far do not match any
+                   // COMPOUNDRULE, discard the compounded word.
                    continue;
            }
 
-           /* Check NEEDCOMPOUND: can't use word without compounding. */
+           // Check NEEDCOMPOUND: can't use word without compounding.
            else if (flags & WF_NEEDCOMP)
                continue;
 
@@ -743,22 +743,22 @@ find_word(matchinf_T *mip, int mode)
                langp_T *save_lp = mip->mi_lp;
                int     lpi;
 
-               /* Check that a valid word follows.  If there is one and we
-                * are compounding, it will set "mi_result", thus we are
-                * always finished here.  For NOBREAK we only check that a
-                * valid word follows.
-                * Recursive! */
+               // Check that a valid word follows.  If there is one and we
+               // are compounding, it will set "mi_result", thus we are
+               // always finished here.  For NOBREAK we only check that a
+               // valid word follows.
+               // Recursive!
                if (slang->sl_nobreak)
                    mip->mi_result = SP_BAD;
 
-               /* Find following word in case-folded tree. */
+               // Find following word in case-folded tree.
                mip->mi_compoff = endlen[endidxcnt];
                if (has_mbyte && mode == FIND_KEEPWORD)
                {
-                   /* Compute byte length in case-folded word from "wlen":
-                    * byte length in keep-case word.  Length may change when
-                    * folding case.  This can be slow, take a shortcut when
-                    * the case-folded word is equal to the keep-case word. */
+                   // Compute byte length in case-folded word from "wlen":
+                   // byte length in keep-case word.  Length may change when
+                   // folding case.  This can be slow, take a shortcut when
+                   // the case-folded word is equal to the keep-case word.
                    p = mip->mi_fword;
                    if (STRNCMP(ptr, p, wlen) != 0)
                    {
@@ -767,15 +767,15 @@ find_word(matchinf_T *mip, int mode)
                        mip->mi_compoff = (int)(p - mip->mi_fword);
                    }
                }
-#if 0 /* Disabled, see below */
+#if 0 // Disabled, see below
                c = mip->mi_compoff;
 #endif
                ++mip->mi_complen;
                if (flags & WF_COMPROOT)
                    ++mip->mi_compextra;
 
-               /* For NOBREAK we need to try all NOBREAK languages, at least
-                * to find the ".add" file(s). */
+               // For NOBREAK we need to try all NOBREAK languages, at least
+               // to find the ".add" file(s).
                for (lpi = 0; lpi < mip->mi_win->w_s->b_langp.ga_len; ++lpi)
                {
                    if (slang->sl_nobreak)
@@ -788,21 +788,21 @@ find_word(matchinf_T *mip, int mode)
 
                    find_word(mip, FIND_COMPOUND);
 
-                   /* When NOBREAK any word that matches is OK.  Otherwise we
-                    * need to find the longest match, thus try with keep-case
-                    * and prefix too. */
+                   // When NOBREAK any word that matches is OK.  Otherwise we
+                   // need to find the longest match, thus try with keep-case
+                   // and prefix too.
                    if (!slang->sl_nobreak || mip->mi_result == SP_BAD)
                    {
-                       /* Find following word in keep-case tree. */
+                       // Find following word in keep-case tree.
                        mip->mi_compoff = wlen;
                        find_word(mip, FIND_KEEPCOMPOUND);
 
-#if 0      /* Disabled, a prefix must not appear halfway a compound word,
-              unless the COMPOUNDPERMITFLAG is used and then it can't be a
-              postponed prefix. */
+#if 0      // Disabled, a prefix must not appear halfway a compound word,
+           // unless the COMPOUNDPERMITFLAG is used and then it can't be a
+           // postponed prefix.
                        if (!slang->sl_nobreak || mip->mi_result == SP_BAD)
                        {
-                           /* Check for following word with prefix. */
+                           // Check for following word with prefix.
                            mip->mi_compoff = c;
                            find_prefix(mip, FIND_COMPOUND);
                        }
@@ -835,7 +835,7 @@ find_word(matchinf_T *mip, int mode)
                res = SP_BANNED;
            else if (flags & WF_REGION)
            {
-               /* Check region. */
+               // Check region.
                if ((mip->mi_lp->lp_region & (flags >> 16)) != 0)
                    res = SP_OK;
                else
@@ -846,9 +846,9 @@ find_word(matchinf_T *mip, int mode)
            else
                res = SP_OK;
 
-           /* Always use the longest match and the best result.  For NOBREAK
-            * we separately keep the longest match without a following good
-            * word as a fall-back. */
+           // Always use the longest match and the best result.  For NOBREAK
+           // we separately keep the longest match without a following good
+           // word as a fall-back.
            if (nobreak_result == SP_BAD)
            {
                if (mip->mi_result2 > res)
@@ -888,7 +888,7 @@ find_word(matchinf_T *mip, int mode)
 match_checkcompoundpattern(
     char_u     *ptr,
     int                wlen,
-    garray_T   *gap)  /* &sl_comppat */
+    garray_T   *gap)  // &sl_comppat
 {
     int                i;
     char_u     *p;
@@ -899,8 +899,8 @@ match_checkcompoundpattern(
        p = ((char_u **)gap->ga_data)[i + 1];
        if (STRNCMP(ptr + wlen, p, STRLEN(p)) == 0)
        {
-           /* Second part matches at start of following compound word, now
-            * check if first part matches at end of previous word. */
+           // Second part matches at start of following compound word, now
+           // check if first part matches at end of previous word.
            p = ((char_u **)gap->ga_data)[i];
            len = (int)STRLEN(p);
            if (len <= wlen && STRNCMP(ptr + wlen - len, p, len) == 0)
@@ -925,7 +925,7 @@ can_compound(slang_T *slang, char_u *word, char_u *flags)
        return FALSE;
     if (enc_utf8)
     {
-       /* Need to convert the single byte flags to utf8 characters. */
+       // Need to convert the single byte flags to utf8 characters.
        p = uflags;
        for (i = 0; flags[i] != NUL; ++i)
            p += utf_char2bytes(flags[i], p);
@@ -937,9 +937,9 @@ can_compound(slang_T *slang, char_u *word, char_u *flags)
     if (!vim_regexec_prog(&slang->sl_compprog, FALSE, p, 0))
        return FALSE;
 
-    /* Count the number of syllables.  This may be slow, do it last.  If there
-     * are too many syllables AND the number of compound words is above
-     * COMPOUNDWORDMAX then compounding is not allowed. */
+    // Count the number of syllables.  This may be slow, do it last.  If there
+    // are too many syllables AND the number of compound words is above
+    // COMPOUNDWORDMAX then compounding is not allowed.
     if (slang->sl_compsylmax < MAXWLEN
                       && count_syllables(slang, word) > slang->sl_compsylmax)
        return (int)STRLEN(flags) < slang->sl_compmax;
@@ -959,44 +959,44 @@ match_compoundrule(slang_T *slang, char_u *compflags)
     int                i;
     int                c;
 
-    /* loop over all the COMPOUNDRULE entries */
+    // loop over all the COMPOUNDRULE entries
     for (p = slang->sl_comprules; *p != NUL; ++p)
     {
-       /* loop over the flags in the compound word we have made, match
-        * them against the current rule entry */
+       // loop over the flags in the compound word we have made, match
+       // them against the current rule entry
        for (i = 0; ; ++i)
        {
            c = compflags[i];
            if (c == NUL)
-               /* found a rule that matches for the flags we have so far */
+               // found a rule that matches for the flags we have so far
                return TRUE;
            if (*p == '/' || *p == NUL)
-               break;  /* end of rule, it's too short */
+               break;  // end of rule, it's too short
            if (*p == '[')
            {
                int match = FALSE;
 
-               /* compare against all the flags in [] */
+               // compare against all the flags in []
                ++p;
                while (*p != ']' && *p != NUL)
                    if (*p++ == c)
                        match = TRUE;
                if (!match)
-                   break;  /* none matches */
+                   break;  // none matches
            }
            else if (*p != c)
-               break;  /* flag of word doesn't match flag in pattern */
+               break;  // flag of word doesn't match flag in pattern
            ++p;
        }
 
-       /* Skip to the next "/", where the next pattern starts. */
+       // Skip to the next "/", where the next pattern starts.
        p = vim_strchr(p, '/');
        if (p == NULL)
            break;
     }
 
-    /* Checked all the rules and none of them match the flags, so there
-     * can't possibly be a compound starting with these flags. */
+    // Checked all the rules and none of them match the flags, so there
+    // can't possibly be a compound starting with these flags.
     return FALSE;
 }
 
@@ -1007,12 +1007,12 @@ match_compoundrule(slang_T *slang, char_u *compflags)
  */
     int
 valid_word_prefix(
-    int                totprefcnt,     /* nr of prefix IDs */
-    int                arridx,         /* idx in sl_pidxs[] */
+    int                totprefcnt,     // nr of prefix IDs
+    int                arridx,         // idx in sl_pidxs[]
     int                flags,
     char_u     *word,
     slang_T    *slang,
-    int                cond_req)       /* only use prefixes with a condition */
+    int                cond_req)       // only use prefixes with a condition
 {
     int                prefcnt;
     int                pidx;
@@ -1024,17 +1024,17 @@ valid_word_prefix(
     {
        pidx = slang->sl_pidxs[arridx + prefcnt];
 
-       /* Check the prefix ID. */
+       // Check the prefix ID.
        if (prefid != (pidx & 0xff))
            continue;
 
-       /* Check if the prefix doesn't combine and the word already has a
-        * suffix. */
+       // Check if the prefix doesn't combine and the word already has a
+       // suffix.
        if ((flags & WF_HAS_AFF) && (pidx & WF_PFX_NC))
            continue;
 
-       /* Check the condition, if there is one.  The condition index is
-        * stored in the two bytes above the prefix ID byte.  */
+       // Check the condition, if there is one.  The condition index is
+       // stored in the two bytes above the prefix ID byte.
        rp = &slang->sl_prefprog[((unsigned)pidx >> 8) & 0xffff];
        if (*rp != NULL)
        {
@@ -1044,7 +1044,7 @@ valid_word_prefix(
        else if (cond_req)
            continue;
 
-       /* It's a match!  Return the WF_ flags. */
+       // It's a match!  Return the WF_ flags.
        return pidx;
     }
     return 0;
@@ -1075,15 +1075,15 @@ find_prefix(matchinf_T *mip, int mode)
 
     byts = slang->sl_pbyts;
     if (byts == NULL)
-       return;                 /* array is empty */
+       return;                 // array is empty
 
-    /* We use the case-folded word here, since prefixes are always
-     * case-folded. */
+    // We use the case-folded word here, since prefixes are always
+    // case-folded.
     ptr = mip->mi_fword;
-    flen = mip->mi_fwordlen;    /* available case-folded bytes */
+    flen = mip->mi_fwordlen;    // available case-folded bytes
     if (mode == FIND_COMPOUND)
     {
-       /* Skip over the previously found word(s). */
+       // Skip over the previously found word(s).
        ptr += mip->mi_compoff;
        flen -= mip->mi_compoff;
     }
@@ -1102,14 +1102,14 @@ find_prefix(matchinf_T *mip, int mode)
 
        len = byts[arridx++];
 
-       /* If the first possible byte is a zero the prefix could end here.
-        * Check if the following word matches and supports the prefix. */
+       // If the first possible byte is a zero the prefix could end here.
+       // Check if the following word matches and supports the prefix.
        if (byts[arridx] == 0)
        {
-           /* There can be several prefixes with different conditions.  We
-            * try them all, since we don't know which one will give the
-            * longest match.  The word is the same each time, pass the list
-            * of possible prefixes to find_word(). */
+           // There can be several prefixes with different conditions.  We
+           // try them all, since we don't know which one will give the
+           // longest match.  The word is the same each time, pass the list
+           // of possible prefixes to find_word().
            mip->mi_prefarridx = arridx;
            mip->mi_prefcnt = len;
            while (len > 0 && byts[arridx] == 0)
@@ -1119,15 +1119,15 @@ find_prefix(matchinf_T *mip, int mode)
            }
            mip->mi_prefcnt -= len;
 
-           /* Find the word that comes after the prefix. */
+           // Find the word that comes after the prefix.
            mip->mi_prefixlen = wlen;
            if (mode == FIND_COMPOUND)
-               /* Skip over the previously found word(s). */
+               // Skip over the previously found word(s).
                mip->mi_prefixlen += mip->mi_compoff;
 
            if (has_mbyte)
            {
-               /* Case-folded length may differ from original length. */
+               // Case-folded length may differ from original length.
                mip->mi_cprefixlen = nofold_len(mip->mi_fword,
                                             mip->mi_prefixlen, mip->mi_word);
            }
@@ -1137,14 +1137,14 @@ find_prefix(matchinf_T *mip, int mode)
 
 
            if (len == 0)
-               break;      /* no children, word must end here */
+               break;      // no children, word must end here
        }
 
-       /* Stop looking at end of the line. */
+       // Stop looking at end of the line.
        if (ptr[wlen] == NUL)
            break;
 
-       /* Perform a binary search in the list of accepted bytes. */
+       // Perform a binary search in the list of accepted bytes.
        c = ptr[wlen];
        lo = arridx;
        hi = arridx + len - 1;
@@ -1162,11 +1162,11 @@ find_prefix(matchinf_T *mip, int mode)
            }
        }
 
-       /* Stop if there is no matching byte. */
+       // Stop if there is no matching byte.
        if (hi < lo || byts[lo] != c)
            break;
 
-       /* Continue at the child (if there is one). */
+       // Continue at the child (if there is one).
        arridx = idxs[lo];
        ++wlen;
        --flen;
@@ -1189,7 +1189,7 @@ fold_more(matchinf_T *mip)
        MB_PTR_ADV(mip->mi_fend);
     while (*mip->mi_fend != NUL && spell_iswordp(mip->mi_fend, mip->mi_win));
 
-    /* Include the non-word character so that we can check for the word end. */
+    // Include the non-word character so that we can check for the word end.
     if (*mip->mi_fend != NUL)
        MB_PTR_ADV(mip->mi_fend);
 
@@ -1207,8 +1207,8 @@ fold_more(matchinf_T *mip)
  */
     int
 spell_valid_case(
-    int            wordflags,      /* flags for the checked word. */
-    int            treeflags)      /* flags for the word in the spell tree */
+    int            wordflags,      // flags for the checked word.
+    int            treeflags)      // flags for the word in the spell tree
 {
     return ((wordflags == WF_ALLCAP && (treeflags & WF_FIXCAP) == 0)
            || ((treeflags & (WF_ALLCAP | WF_KEEPCAP)) == 0
@@ -1242,11 +1242,11 @@ no_spell_checking(win_T *wp)
     int
 spell_move_to(
     win_T      *wp,
-    int                dir,            /* FORWARD or BACKWARD */
-    int                allwords,       /* TRUE for "[s"/"]s", FALSE for "[S"/"]S" */
+    int                dir,            // FORWARD or BACKWARD
+    int                allwords,       // TRUE for "[s"/"]s", FALSE for "[S"/"]S"
     int                curline,
-    hlf_T      *attrp)         /* return: attributes of bad word or NULL
-                                  (only when "dir" is FORWARD) */
+    hlf_T      *attrp)         // return: attributes of bad word or NULL
+                               // (only when "dir" is FORWARD)
 {
     linenr_T   lnum;
     pos_T      found_pos;
@@ -1299,27 +1299,27 @@ spell_move_to(
                break;
        }
 
-       /* In first line check first word for Capital. */
+       // In first line check first word for Capital.
        if (lnum == 1)
            capcol = 0;
 
-       /* For checking first word with a capital skip white space. */
+       // For checking first word with a capital skip white space.
        if (capcol == 0)
            capcol = getwhitecols(line);
        else if (curline && wp == curwin)
        {
-           /* For spellbadword(): check if first word needs a capital. */
+           // For spellbadword(): check if first word needs a capital.
            col = getwhitecols(line);
            if (check_need_cap(lnum, col))
                capcol = col;
 
-           /* Need to get the line again, may have looked at the previous
-            * one. */
+           // Need to get the line again, may have looked at the previous
+           // one.
            line = ml_get_buf(wp->w_buffer, lnum, FALSE);
        }
 
-       /* Copy the line into "buf" and append the start of the next line if
-        * possible. */
+       // Copy the line into "buf" and append the start of the next line if
+       // possible.
        STRCPY(buf, line);
        if (lnum < wp->w_buffer->b_ml.ml_line_count)
            spell_cat_line(buf + STRLEN(buf),
@@ -1329,25 +1329,25 @@ spell_move_to(
        endp = buf + len;
        while (p < endp)
        {
-           /* When searching backward don't search after the cursor.  Unless
-            * we wrapped around the end of the buffer. */
+           // When searching backward don't search after the cursor.  Unless
+           // we wrapped around the end of the buffer.
            if (dir == BACKWARD
                    && lnum == wp->w_cursor.lnum
                    && !wrapped
                    && (colnr_T)(p - buf) >= wp->w_cursor.col)
                break;
 
-           /* start of word */
+           // start of word
            attr = HLF_COUNT;
            len = spell_check(wp, p, &attr, &capcol, FALSE);
 
            if (attr != HLF_COUNT)
            {
-               /* We found a bad word.  Check the attribute. */
+               // We found a bad word.  Check the attribute.
                if (allwords || attr == HLF_SPB)
                {
-                   /* When searching forward only accept a bad word after
-                    * the cursor. */
+                   // When searching forward only accept a bad word after
+                   // the cursor.
                    if (dir == BACKWARD
                            || lnum != wp->w_cursor.lnum
                            || (lnum == wp->w_cursor.lnum
@@ -1377,7 +1377,7 @@ spell_move_to(
                            found_pos.coladd = 0;
                            if (dir == FORWARD)
                            {
-                               /* No need to search further. */
+                               // No need to search further.
                                wp->w_cursor = found_pos;
                                vim_free(buf);
                                if (attrp != NULL)
@@ -1385,8 +1385,8 @@ spell_move_to(
                                return len;
                            }
                            else if (curline)
-                               /* Insert mode completion: put cursor after
-                                * the bad word. */
+                               // Insert mode completion: put cursor after
+                               // the bad word.
                                found_pos.col += len;
                            found_len = len;
                        }
@@ -1396,38 +1396,38 @@ spell_move_to(
                }
            }
 
-           /* advance to character after the word */
+           // advance to character after the word
            p += len;
            capcol -= len;
        }
 
        if (dir == BACKWARD && found_pos.lnum != 0)
        {
-           /* Use the last match in the line (before the cursor). */
+           // Use the last match in the line (before the cursor).
            wp->w_cursor = found_pos;
            vim_free(buf);
            return found_len;
        }
 
        if (curline)
-           break;      /* only check cursor line */
+           break;      // only check cursor line
 
-       /* If we are back at the starting line and searched it again there
-        * is no match, give up. */
+       // If we are back at the starting line and searched it again there
+       // is no match, give up.
        if (lnum == wp->w_cursor.lnum && wrapped)
            break;
 
-       /* Advance to next line. */
+       // Advance to next line.
        if (dir == BACKWARD)
        {
            if (lnum > 1)
                --lnum;
            else if (!p_ws)
-               break;      /* at first line and 'nowrapscan' */
+               break;      // at first line and 'nowrapscan'
            else
            {
-               /* Wrap around to the end of the buffer.  May search the
-                * starting line again and accept the last match. */
+               // Wrap around to the end of the buffer.  May search the
+               // starting line again and accept the last match.
                lnum = wp->w_buffer->b_ml.ml_line_count;
                wrapped = TRUE;
                if (!shortmess(SHM_SEARCH))
@@ -1440,33 +1440,33 @@ spell_move_to(
            if (lnum < wp->w_buffer->b_ml.ml_line_count)
                ++lnum;
            else if (!p_ws)
-               break;      /* at first line and 'nowrapscan' */
+               break;      // at first line and 'nowrapscan'
            else
            {
-               /* Wrap around to the start of the buffer.  May search the
-                * starting line again and accept the first match. */
+               // Wrap around to the start of the buffer.  May search the
+               // starting line again and accept the first match.
                lnum = 1;
                wrapped = TRUE;
                if (!shortmess(SHM_SEARCH))
                    give_warning((char_u *)_(bot_top_msg), TRUE);
            }
 
-           /* If we are back at the starting line and there is no match then
-            * give up. */
+           // If we are back at the starting line and there is no match then
+           // give up.
            if (lnum == wp->w_cursor.lnum && !found_one)
                break;
 
-           /* Skip the characters at the start of the next line that were
-            * included in a match crossing line boundaries. */
+           // Skip the characters at the start of the next line that were
+           // included in a match crossing line boundaries.
            if (attr == HLF_COUNT)
                skip = (int)(p - endp);
            else
                skip = 0;
 
-           /* Capcol skips over the inserted space. */
+           // Capcol skips over the inserted space.
            --capcol;
 
-           /* But after empty line check first word in next line */
+           // But after empty line check first word in next line
            if (*skipwhite(line) == NUL)
                capcol = 0;
        }
@@ -1496,8 +1496,8 @@ spell_cat_line(char_u *buf, char_u *line, int maxlen)
 
     if (*p != NUL)
     {
-       /* Only worth concatenating if there is something else than spaces to
-        * concatenate. */
+       // Only worth concatenating if there is something else than spaces to
+       // concatenate.
        n = (int)(p - line) + 1;
        if (n < maxlen - 1)
        {
@@ -1512,9 +1512,9 @@ spell_cat_line(char_u *buf, char_u *line, int maxlen)
  */
 typedef struct spelload_S
 {
-    char_u  sl_lang[MAXWLEN + 1];      /* language name */
-    slang_T *sl_slang;                 /* resulting slang_T struct */
-    int            sl_nobreak;                 /* NOBREAK language found */
+    char_u  sl_lang[MAXWLEN + 1];      // language name
+    slang_T *sl_slang;                 // resulting slang_T struct
+    int            sl_nobreak;                 // NOBREAK language found
 } spelload_T;
 
 /*
@@ -1529,14 +1529,14 @@ spell_load_lang(char_u *lang)
     spelload_T sl;
     int                round;
 
-    /* Copy the language name to pass it to spell_load_cb() as a cookie.
-     * It's truncated when an error is detected. */
+    // Copy the language name to pass it to spell_load_cb() as a cookie.
+    // It's truncated when an error is detected.
     STRCPY(sl.sl_lang, lang);
     sl.sl_slang = NULL;
     sl.sl_nobreak = FALSE;
 
-    /* We may retry when no spell file is found for the language, an
-     * autocommand may load it then. */
+    // We may retry when no spell file is found for the language, an
+    // autocommand may load it then.
     for (round = 1; round <= 2; ++round)
     {
        /*
@@ -1553,7 +1553,7 @@ spell_load_lang(char_u *lang)
 
        if (r == FAIL && *sl.sl_lang != NUL)
        {
-           /* Try loading the ASCII version. */
+           // Try loading the ASCII version.
            vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
 #ifdef VMS
                                                  "spell/%s_ascii.spl",
@@ -1584,7 +1584,7 @@ spell_load_lang(char_u *lang)
     }
     else if (sl.sl_slang != NULL)
     {
-       /* At least one file was loaded, now load ALL the additions. */
+       // At least one file was loaded, now load ALL the additions.
        STRCPY(fname_enc + STRLEN(fname_enc) - 3, "add.spl");
        do_in_runtimepath(fname_enc, DIP_ALL, spell_load_cb, &sl);
     }
@@ -1685,19 +1685,19 @@ slang_clear(slang_T *lp)
     gap = &lp->sl_sal;
     if (lp->sl_sofo)
     {
-       /* "ga_len" is set to 1 without adding an item for latin1 */
+       // "ga_len" is set to 1 without adding an item for latin1
        if (gap->ga_data != NULL)
-           /* SOFOFROM and SOFOTO items: free lists of wide characters. */
+           // SOFOFROM and SOFOTO items: free lists of wide characters.
            for (i = 0; i < gap->ga_len; ++i)
                vim_free(((int **)gap->ga_data)[i]);
     }
     else
-       /* SAL items: free salitem_T items */
+       // SAL items: free salitem_T items
        while (gap->ga_len > 0)
        {
            smp = &((salitem_T *)gap->ga_data)[--gap->ga_len];
            vim_free(smp->sm_lead);
-           /* Don't free sm_oneof and sm_rules, they point into sm_lead. */
+           // Don't free sm_oneof and sm_rules, they point into sm_lead.
            vim_free(smp->sm_to);
            vim_free(smp->sm_lead_w);
            vim_free(smp->sm_oneof_w);
@@ -1730,7 +1730,7 @@ slang_clear(slang_T *lp)
 
     hash_clear_all(&lp->sl_map_hash, 0);
 
-    /* Clear info from .sug file. */
+    // Clear info from .sug file.
     slang_clear_sug(lp);
 
     lp->sl_compmax = MAXWLEN;
@@ -1766,8 +1766,8 @@ spell_load_cb(char_u *fname, void *cookie)
     slang = spell_load_file(fname, slp->sl_lang, NULL, FALSE);
     if (slang != NULL)
     {
-       /* When a previously loaded file has NOBREAK also use it for the
-        * ".add" files. */
+       // When a previously loaded file has NOBREAK also use it for the
+       // ".add" files.
        if (slp->sl_nobreak && slang->sl_add)
            slang->sl_nobreak = TRUE;
        else if (slang->sl_nobreak)
@@ -1786,8 +1786,8 @@ spell_load_cb(char_u *fname, void *cookie)
 count_common_word(
     slang_T    *lp,
     char_u     *word,
-    int                len,        /* word length, -1 for upto NUL */
-    int                count)      /* 1 to count once, 10 to init */
+    int                len,        // word length, -1 for upto NUL
+    int                count)      // 1 to count once, 10 to init
 {
     hash_T     hash;
     hashitem_T *hi;
@@ -1819,7 +1819,7 @@ count_common_word(
     else
     {
        wc = HI2WC(hi);
-       if ((wc->wc_count += count) < (unsigned)count)  /* check for overflow */
+       if ((wc->wc_count += count) < (unsigned)count)  // check for overflow
            wc->wc_count = MAXWORDCOUNT;
     }
 }
@@ -1842,7 +1842,7 @@ byte_in_str(char_u *str, int n)
 #define SY_MAXLEN   30
 typedef struct syl_item_S
 {
-    char_u     sy_chars[SY_MAXLEN];        /* the sequence of chars */
+    char_u     sy_chars[SY_MAXLEN];        // the sequence of chars
     int                sy_len;
 } syl_item_T;
 
@@ -1863,7 +1863,7 @@ init_syl_tab(slang_T *slang)
     while (p != NULL)
     {
        *p++ = NUL;
-       if (*p == NUL)      /* trailing slash */
+       if (*p == NUL)      // trailing slash
            break;
        s = p;
        p = vim_strchr(p, '/');
@@ -1904,7 +1904,7 @@ count_syllables(slang_T *slang, char_u *word)
 
     for (p = word; *p != NUL; p += len)
     {
-       /* When running into a space reset counter. */
+       // When running into a space reset counter.
        if (*p == ' ')
        {
            len = 1;
@@ -1912,7 +1912,7 @@ count_syllables(slang_T *slang, char_u *word)
            continue;
        }
 
-       /* Find longest match of syllable items. */
+       // Find longest match of syllable items.
        len = 0;
        for (i = 0; i < slang->sl_syl_items.ga_len; ++i)
        {
@@ -1921,22 +1921,22 @@ count_syllables(slang_T *slang, char_u *word)
                               && STRNCMP(p, syl->sy_chars, syl->sy_len) == 0)
                len = syl->sy_len;
        }
-       if (len != 0)   /* found a match, count syllable  */
+       if (len != 0)   // found a match, count syllable
        {
            ++cnt;
            skip = FALSE;
        }
        else
        {
-           /* No recognized syllable item, at least a syllable char then? */
+           // No recognized syllable item, at least a syllable char then?
            c = mb_ptr2char(p);
            len = (*mb_ptr2len)(p);
            if (vim_strchr(slang->sl_syllable, c) == NULL)
-               skip = FALSE;       /* No, search for next syllable */
+               skip = FALSE;       // No, search for next syllable
            else if (!skip)
            {
-               ++cnt;              /* Yes, count it */
-               skip = TRUE;        /* don't count following syllable chars */
+               ++cnt;              // Yes, count it
+               skip = TRUE;        // don't count following syllable chars
            }
        }
     }
@@ -1976,9 +1976,9 @@ did_set_spelllang(win_T *wp)
 
     set_bufref(&bufref, wp->w_buffer);
 
-    /* We don't want to do this recursively.  May happen when a language is
-     * not available and the SpellFileMissing autocommand opens a new buffer
-     * in which 'spell' is set. */
+    // We don't want to do this recursively.  May happen when a language is
+    // not available and the SpellFileMissing autocommand opens a new buffer
+    // in which 'spell' is set.
     if (recursive)
        return NULL;
     recursive = TRUE;
@@ -1986,15 +1986,15 @@ did_set_spelllang(win_T *wp)
     ga_init2(&ga, sizeof(langp_T), 2);
     clear_midword(wp);
 
-    /* Make a copy of 'spelllang', the SpellFileMissing autocommands may change
-     * it under our fingers. */
+    // Make a copy of 'spelllang', the SpellFileMissing autocommands may change
+    // it under our fingers.
     spl_copy = vim_strsave(wp->w_s->b_p_spl);
     if (spl_copy == NULL)
        goto theend;
 
     wp->w_s->b_cjk = 0;
 
-    /* Loop over comma separated language names. */
+    // Loop over comma separated language names.
     for (splp = spl_copy; *splp != NUL; )
     {
        // Get one language name.
@@ -2011,14 +2011,14 @@ did_set_spelllang(win_T *wp)
            continue;
        }
 
-       /* If the name ends in ".spl" use it as the name of the spell file.
-        * If there is a region name let "region" point to it and remove it
-        * from the name. */
+       // If the name ends in ".spl" use it as the name of the spell file.
+       // If there is a region name let "region" point to it and remove it
+       // from the name.
        if (len > 4 && fnamecmp(lang + len - 4, ".spl") == 0)
        {
            filename = TRUE;
 
-           /* Locate a region and remove it from the file name. */
+           // Locate a region and remove it from the file name.
            p = vim_strchr(gettail(lang), '_');
            if (p != NULL && ASCII_ISALPHA(p[1]) && ASCII_ISALPHA(p[2])
                                                      && !ASCII_ISALPHA(p[3]))
@@ -2030,7 +2030,7 @@ did_set_spelllang(win_T *wp)
            else
                dont_use_region = TRUE;
 
-           /* Check if we loaded this language before. */
+           // Check if we loaded this language before.
            for (slang = first_lang; slang != NULL; slang = slang->sl_next)
                if (fullpathcmp(lang, slang->sl_fname, FALSE, TRUE) == FPC_SAME)
                    break;
@@ -2047,7 +2047,7 @@ did_set_spelllang(win_T *wp)
            else
                dont_use_region = TRUE;
 
-           /* Check if we loaded this language before. */
+           // Check if we loaded this language before.
            for (slang = first_lang; slang != NULL; slang = slang->sl_next)
                if (STRICMP(lang, slang->sl_name) == 0)
                    break;
@@ -2055,14 +2055,14 @@ did_set_spelllang(win_T *wp)
 
        if (region != NULL)
        {
-           /* If the region differs from what was used before then don't
-            * use it for 'spellfile'. */
+           // If the region differs from what was used before then don't
+           // use it for 'spellfile'.
            if (use_region != NULL && STRCMP(region, use_region) != 0)
                dont_use_region = TRUE;
            use_region = region;
        }
 
-       /* If not found try loading the language now. */
+       // If not found try loading the language now.
        if (slang == NULL)
        {
            if (filename)
@@ -2070,8 +2070,8 @@ did_set_spelllang(win_T *wp)
            else
            {
                spell_load_lang(lang);
-               /* SpellFileMissing autocommands may do anything, including
-                * destroying the buffer we are using... */
+               // SpellFileMissing autocommands may do anything, including
+               // destroying the buffer we are using...
                if (!bufref_valid(&bufref))
                {
                    ret_msg = N_("E797: SpellFileMissing autocommand deleted buffer");
@@ -2091,19 +2091,19 @@ did_set_spelllang(win_T *wp)
                region_mask = REGION_ALL;
                if (!filename && region != NULL)
                {
-                   /* find region in sl_regions */
+                   // find region in sl_regions
                    c = find_region(slang->sl_regions, region);
                    if (c == REGION_ALL)
                    {
                        if (slang->sl_add)
                        {
                            if (*slang->sl_regions != NUL)
-                               /* This addition file is for other regions. */
+                               // This addition file is for other regions.
                                region_mask = 0;
                        }
                        else
-                           /* This is probably an error.  Give a warning and
-                            * accept the words anyway. */
+                           // This is probably an error.  Give a warning and
+                           // accept the words anyway.
                            smsg(_("Warning: region %s not supported"),
                                                                      region);
                    }
@@ -2129,27 +2129,27 @@ did_set_spelllang(win_T *wp)
            }
     }
 
-    /* round 0: load int_wordlist, if possible.
-     * round 1: load first name in 'spellfile'.
-     * round 2: load second name in 'spellfile.
-     * etc. */
+    // round 0: load int_wordlist, if possible.
+    // round 1: load first name in 'spellfile'.
+    // round 2: load second name in 'spellfile.
+    // etc.
     spf = curwin->w_s->b_p_spf;
     for (round = 0; round == 0 || *spf != NUL; ++round)
     {
        if (round == 0)
        {
-           /* Internal wordlist, if there is one. */
+           // Internal wordlist, if there is one.
            if (int_wordlist == NULL)
                continue;
            int_wordlist_spl(spf_name);
        }
        else
        {
-           /* One entry in 'spellfile'. */
+           // One entry in 'spellfile'.
            copy_option_part(&spf, spf_name, MAXPATHL - 5, ",");
            STRCAT(spf_name, ".spl");
 
-           /* If it was already found above then skip it. */
+           // If it was already found above then skip it.
            for (c = 0; c < ga.ga_len; ++c)
            {
                p = LANGP_ENTRY(ga, c)->lp_slang->sl_fname;
@@ -2161,16 +2161,16 @@ did_set_spelllang(win_T *wp)
                continue;
        }
 
-       /* Check if it was loaded already. */
+       // Check if it was loaded already.
        for (slang = first_lang; slang != NULL; slang = slang->sl_next)
            if (fullpathcmp(spf_name, slang->sl_fname, FALSE, TRUE)
                                                                == FPC_SAME)
                break;
        if (slang == NULL)
        {
-           /* Not loaded, try loading it now.  The language name includes the
-            * region name, the region is ignored otherwise.  for int_wordlist
-            * use an arbitrary name. */
+           // Not loaded, try loading it now.  The language name includes the
+           // region name, the region is ignored otherwise.  for int_wordlist
+           // use an arbitrary name.
            if (round == 0)
                STRCPY(lang, "internal wordlist");
            else
@@ -2178,12 +2178,12 @@ did_set_spelllang(win_T *wp)
                vim_strncpy(lang, gettail(spf_name), MAXWLEN);
                p = vim_strchr(lang, '.');
                if (p != NULL)
-                   *p = NUL;   /* truncate at ".encoding.add" */
+                   *p = NUL;   // truncate at ".encoding.add"
            }
            slang = spell_load_file(spf_name, lang, NULL, TRUE);
 
-           /* If one of the languages has NOBREAK we assume the addition
-            * files also have this. */
+           // If one of the languages has NOBREAK we assume the addition
+           // files also have this.
            if (slang != NULL && nobreak)
                slang->sl_nobreak = TRUE;
        }
@@ -2192,12 +2192,12 @@ did_set_spelllang(win_T *wp)
            region_mask = REGION_ALL;
            if (use_region != NULL && !dont_use_region)
            {
-               /* find region in sl_regions */
+               // find region in sl_regions
                c = find_region(slang->sl_regions, use_region);
                if (c != REGION_ALL)
                    region_mask = 1 << c;
                else if (*slang->sl_regions != NUL)
-                   /* This spell file is for other regions. */
+                   // This spell file is for other regions.
                    region_mask = 0;
            }
 
@@ -2213,23 +2213,23 @@ did_set_spelllang(win_T *wp)
        }
     }
 
-    /* Everything is fine, store the new b_langp value. */
+    // Everything is fine, store the new b_langp value.
     ga_clear(&wp->w_s->b_langp);
     wp->w_s->b_langp = ga;
 
-    /* For each language figure out what language to use for sound folding and
-     * REP items.  If the language doesn't support it itself use another one
-     * with the same name.  E.g. for "en-math" use "en". */
+    // For each language figure out what language to use for sound folding and
+    // REP items.  If the language doesn't support it itself use another one
+    // with the same name.  E.g. for "en-math" use "en".
     for (i = 0; i < ga.ga_len; ++i)
     {
        lp = LANGP_ENTRY(ga, i);
 
-       /* sound folding */
+       // sound folding
        if (lp->lp_slang->sl_sal.ga_len > 0)
-           /* language does sound folding itself */
+           // language does sound folding itself
            lp->lp_sallang = lp->lp_slang;
        else
-           /* find first similar language that does sound folding */
+           // find first similar language that does sound folding
            for (j = 0; j < ga.ga_len; ++j)
            {
                lp2 = LANGP_ENTRY(ga, j);
@@ -2242,12 +2242,12 @@ did_set_spelllang(win_T *wp)
                }
            }
 
-       /* REP items */
+       // REP items
        if (lp->lp_slang->sl_rep.ga_len > 0)
-           /* language has REP items itself */
+           // language has REP items itself
            lp->lp_replang = lp->lp_slang;
        else
-           /* find first similar language that has REP items */
+           // find first similar language that has REP items
            for (j = 0; j < ga.ga_len; ++j)
            {
                lp2 = LANGP_ENTRY(ga, j);
@@ -2287,7 +2287,7 @@ use_midword(slang_T *lp, win_T *wp)
 {
     char_u     *p;
 
-    if (lp->sl_midword == NULL)            /* there aren't any */
+    if (lp->sl_midword == NULL)            // there aren't any
        return;
 
     for (p = lp->sl_midword; *p != NUL; )
@@ -2301,11 +2301,11 @@ use_midword(slang_T *lp, win_T *wp)
            if (c < 256 && l <= 2)
                wp->w_s->b_spell_ismw[c] = TRUE;
            else if (wp->w_s->b_spell_ismw_mb == NULL)
-               /* First multi-byte char in "b_spell_ismw_mb". */
+               // First multi-byte char in "b_spell_ismw_mb".
                wp->w_s->b_spell_ismw_mb = vim_strnsave(p, l);
            else
            {
-               /* Append multi-byte chars to "b_spell_ismw_mb". */
+               // Append multi-byte chars to "b_spell_ismw_mb".
                n = (int)STRLEN(wp->w_s->b_spell_ismw_mb);
                bp = vim_strnsave(wp->w_s->b_spell_ismw_mb, n + l);
                if (bp != NULL)
@@ -2351,18 +2351,18 @@ find_region(char_u *rp, char_u *region)
     int
 captype(
     char_u     *word,
-    char_u     *end)       /* When NULL use up to NUL byte. */
+    char_u     *end)       // When NULL use up to NUL byte.
 {
     char_u     *p;
     int                c;
     int                firstcap;
     int                allcap;
-    int                past_second = FALSE;    /* past second word char */
+    int                past_second = FALSE;    // past second word char
 
-    /* find first letter */
+    // find first letter
     for (p = word; !spell_iswordp_nmw(p, curwin); MB_PTR_ADV(p))
        if (end == NULL ? *p == NUL : p >= end)
-           return 0;       /* only non-word characters, illegal word */
+           return 0;       // only non-word characters, illegal word
     if (has_mbyte)
        c = mb_ptr2char_adv(&p);
     else
@@ -2379,13 +2379,13 @@ captype(
            c = PTR2CHAR(p);
            if (!SPELL_ISUPPER(c))
            {
-               /* UUl -> KEEPCAP */
+               // UUl -> KEEPCAP
                if (past_second && allcap)
                    return WF_KEEPCAP;
                allcap = FALSE;
            }
            else if (!allcap)
-               /* UlU -> KEEPCAP */
+               // UlU -> KEEPCAP
                return WF_KEEPCAP;
            past_second = TRUE;
        }
@@ -2423,7 +2423,7 @@ spell_free_all(void)
     slang_T    *slang;
     buf_T      *buf;
 
-    /* Go through all buffers and handle 'spelllang'. <VN> */
+    // Go through all buffers and handle 'spelllang'. <VN>
     FOR_ALL_BUFFERS(buf)
        ga_clear(&buf->b_s.b_langp);
 
@@ -2449,17 +2449,17 @@ spell_reload(void)
 {
     win_T      *wp;
 
-    /* Initialize the table for spell_iswordp(). */
+    // Initialize the table for spell_iswordp().
     init_spell_chartab();
 
-    /* Unload all allocated memory. */
+    // Unload all allocated memory.
     spell_free_all();
 
-    /* Go through all buffers and handle 'spelllang'. */
+    // Go through all buffers and handle 'spelllang'.
     FOR_ALL_WINDOWS(wp)
     {
-       /* Only load the wordlists when 'spelllang' is set and there is a
-        * window for this buffer in which 'spell' is set. */
+       // Only load the wordlists when 'spelllang' is set and there is a
+       // window for this buffer in which 'spell' is set.
        if (*wp->w_s->b_p_spl != NUL)
        {
                if (wp->w_p_spell)
@@ -2488,12 +2488,12 @@ open_spellbuf(void)
     if (buf != NULL)
     {
        buf->b_spell = TRUE;
-       buf->b_p_swf = TRUE;    /* may create a swap file */
+       buf->b_p_swf = TRUE;    // may create a swap file
 #ifdef FEAT_CRYPT
        buf->b_p_key = empty_option;
 #endif
        ml_open(buf);
-       ml_open_file(buf);      /* create swap file now */
+       ml_open_file(buf);      // create swap file now
     }
     return buf;
 }
@@ -2520,7 +2520,7 @@ clear_spell_chartab(spelltab_T *sp)
 {
     int                i;
 
-    /* Init everything to FALSE. */
+    // Init everything to FALSE.
     vim_memset(sp->st_isw, FALSE, sizeof(sp->st_isw));
     vim_memset(sp->st_isu, FALSE, sizeof(sp->st_isu));
     for (i = 0; i < 256; ++i)
@@ -2529,8 +2529,8 @@ clear_spell_chartab(spelltab_T *sp)
        sp->st_upper[i] = i;
     }
 
-    /* We include digits.  A word shouldn't start with a digit, but handling
-     * that is done separately. */
+    // We include digits.  A word shouldn't start with a digit, but handling
+    // that is done separately.
     for (i = '0'; i <= '9'; ++i)
        sp->st_isw[i] = TRUE;
     for (i = 'A'; i <= 'Z'; ++i)
@@ -2562,7 +2562,7 @@ init_spell_chartab(void)
     clear_spell_chartab(&spelltab);
     if (enc_dbcs)
     {
-       /* DBCS: assume double-wide characters are word characters. */
+       // DBCS: assume double-wide characters are word characters.
        for (i = 128; i <= 255; ++i)
            if (MB_BYTE2LEN(i) == 2)
                spelltab.st_isw[i] = TRUE;
@@ -2576,16 +2576,16 @@ init_spell_chartab(void)
 
            spelltab.st_isu[i] = utf_isupper(i);
            spelltab.st_isw[i] = spelltab.st_isu[i] || utf_islower(i);
-           /* The folded/upper-cased value is different between latin1 and
-            * utf8 for 0xb5, causing E763 for no good reason.  Use the latin1
-            * value for utf-8 to avoid this. */
+           // The folded/upper-cased value is different between latin1 and
+           // utf8 for 0xb5, causing E763 for no good reason.  Use the latin1
+           // value for utf-8 to avoid this.
            spelltab.st_fold[i] = (f < 256) ? f : i;
            spelltab.st_upper[i] = (u < 256) ? u : i;
        }
     }
     else
     {
-       /* Rough guess: use locale-dependent library functions. */
+       // Rough guess: use locale-dependent library functions.
        for (i = 128; i < 256; ++i)
        {
            if (MB_ISUPPER(i))
@@ -2613,7 +2613,7 @@ init_spell_chartab(void)
     int
 spell_iswordp(
     char_u     *p,
-    win_T      *wp)        /* buffer used */
+    win_T      *wp)        // buffer used
 {
     char_u     *s;
     int                l;
@@ -2625,9 +2625,9 @@ spell_iswordp(
        s = p;
        if (l == 1)
        {
-           /* be quick for ASCII */
+           // be quick for ASCII
            if (wp->w_s->b_spell_ismw[*p])
-               s = p + 1;              /* skip a mid-word character */
+               s = p + 1;              // skip a mid-word character
        }
        else
        {
@@ -2676,7 +2676,7 @@ spell_iswordp_nmw(char_u *p, win_T *wp)
 spell_mb_isword_class(int cl, win_T *wp)
 {
     if (wp->w_s->b_cjk)
-       /* East Asian characters are not considered word characters. */
+       // East Asian characters are not considered word characters.
        return cl == 2 || cl == 0x2800;
     return cl >= 2 && cl != 0x2070 && cl != 0x2080 && cl != 3;
 }
@@ -2727,7 +2727,7 @@ spell_casefold(
     if (len >= buflen)
     {
        buf[0] = NUL;
-       return FAIL;            /* result will not fit */
+       return FAIL;            // result will not fit
     }
 
     if (has_mbyte)
@@ -2736,7 +2736,7 @@ spell_casefold(
        char_u  *p;
        int     c;
 
-       /* Fold one character at a time. */
+       // Fold one character at a time.
        for (p = str; p < str + len; )
        {
            if (outi + MB_MAXBYTES > buflen)
@@ -2751,7 +2751,7 @@ spell_casefold(
     }
     else
     {
-       /* Be quick for non-multibyte encodings. */
+       // Be quick for non-multibyte encodings.
        for (i = 0; i < len; ++i)
            buf[i] = spelltab.st_fold[str[i]];
        buf[i] = NUL;
@@ -2781,8 +2781,8 @@ check_need_cap(linenr_T lnum, colnr_T col)
     endcol = 0;
     if (getwhitecols(line) >= (int)col)
     {
-       /* At start of line, check if previous line is empty or sentence
-        * ends there. */
+       // At start of line, check if previous line is empty or sentence
+       // ends there.
        if (lnum == 1)
            need_cap = TRUE;
        else
@@ -2792,7 +2792,7 @@ check_need_cap(linenr_T lnum, colnr_T col)
                need_cap = TRUE;
            else
            {
-               /* Append a space in place of the line break. */
+               // Append a space in place of the line break.
                line_copy = concat_str(line, (char_u *)" ");
                line = line_copy;
                endcol = (colnr_T)STRLEN(line);
@@ -2804,7 +2804,7 @@ check_need_cap(linenr_T lnum, colnr_T col)
 
     if (endcol > 0)
     {
-       /* Check if sentence ends before the bad word. */
+       // Check if sentence ends before the bad word.
        regmatch.regprog = curwin->w_s->b_cap_prog;
        regmatch.rm_ic = FALSE;
        p = line + endcol;
@@ -2865,8 +2865,8 @@ ex_spellrepall(exarg_T *eap UNUSED)
                                                   || u_save_cursor() == FAIL)
            break;
 
-       /* Only replace when the right word isn't there yet.  This happens
-        * when changing "etc" to "etc.". */
+       // Only replace when the right word isn't there yet.  This happens
+       // when changing "etc" to "etc.".
        line = ml_get_curline();
        if (addlen <= 0 || STRNCMP(line + curwin->w_cursor.col,
                                               repl_to, STRLEN(repl_to)) != 0)
@@ -2909,7 +2909,7 @@ ex_spellrepall(exarg_T *eap UNUSED)
 onecap_copy(
     char_u     *word,
     char_u     *wcopy,
-    int                upper)      /* TRUE: first letter made upper case */
+    int                upper)      // TRUE: first letter made upper case
 {
     char_u     *p;
     int                c;
@@ -2953,8 +2953,8 @@ allcap_copy(char_u *word, char_u *wcopy)
        else
            c = *s++;
 
-       /* We only change 0xdf to SS when we are certain latin1 is used.  It
-        * would cause weird errors in other 8-bit encodings. */
+       // We only change 0xdf to SS when we are certain latin1 is used.  It
+       // would cause weird errors in other 8-bit encodings.
        if (enc_latin1like && c == 0xdf)
        {
            c = 'S';
@@ -3005,13 +3005,13 @@ nofold_len(char_u *fword, int flen, char_u *word)
 make_case_word(char_u *fword, char_u *cword, int flags)
 {
     if (flags & WF_ALLCAP)
-       /* Make it all upper-case */
+       // Make it all upper-case
        allcap_copy(fword, cword);
     else if (flags & WF_ONECAP)
-       /* Make the first letter upper-case */
+       // Make the first letter upper-case
        onecap_copy(fword, cword, TRUE);
     else
-       /* Use goodword as-is. */
+       // Use goodword as-is.
        STRCPY(cword, fword);
 }
 
@@ -3028,19 +3028,19 @@ eval_soundfold(char_u *word)
     int                lpi;
 
     if (curwin->w_p_spell && *curwin->w_s->b_p_spl != NUL)
-       /* Use the sound-folding of the first language that supports it. */
+       // Use the sound-folding of the first language that supports it.
        for (lpi = 0; lpi < curwin->w_s->b_langp.ga_len; ++lpi)
        {
            lp = LANGP_ENTRY(curwin->w_s->b_langp, lpi);
            if (lp->lp_slang->sl_sal.ga_len > 0)
            {
-               /* soundfold the word */
+               // soundfold the word
                spell_soundfold(lp->lp_slang, word, FALSE, sound);
                return vim_strsave(sound);
            }
        }
 
-    /* No language with sound folding, return word as-is. */
+    // No language with sound folding, return word as-is.
     return vim_strsave(word);
 }
 #endif
@@ -3061,18 +3061,18 @@ eval_soundfold(char_u *word)
 spell_soundfold(
     slang_T    *slang,
     char_u     *inword,
-    int                folded,     /* "inword" is already case-folded */
+    int                folded,     // "inword" is already case-folded
     char_u     *res)
 {
     char_u     fword[MAXWLEN];
     char_u     *word;
 
     if (slang->sl_sofo)
-       /* SOFOFROM and SOFOTO used */
+       // SOFOFROM and SOFOTO used
        spell_soundfold_sofo(slang, inword, res);
     else
     {
-       /* SAL items used.  Requires the word to be case-folded. */
+       // SAL items used.  Requires the word to be case-folded.
        if (folded)
            word = inword;
        else
@@ -3104,8 +3104,8 @@ spell_soundfold_sofo(slang_T *slang, char_u *inword, char_u *res)
        int     prevc = 0;
        int     *ip;
 
-       /* The sl_sal_first[] table contains the translation for chars up to
-        * 255, sl_sal the rest. */
+       // The sl_sal_first[] table contains the translation for chars up to
+       // 255, sl_sal the rest.
        for (s = inword; *s != NUL; )
        {
            c = mb_cptr2char_adv(&s);
@@ -3116,17 +3116,17 @@ spell_soundfold_sofo(slang_T *slang, char_u *inword, char_u *res)
            else
            {
                ip = ((int **)slang->sl_sal.ga_data)[c & 0xff];
-               if (ip == NULL)         /* empty list, can't match */
+               if (ip == NULL)         // empty list, can't match
                    c = NUL;
                else
-                   for (;;)            /* find "c" in the list */
+                   for (;;)            // find "c" in the list
                    {
-                       if (*ip == 0)   /* not found */
+                       if (*ip == 0)   // not found
                        {
                            c = NUL;
                            break;
                        }
-                       if (*ip == c)   /* match! */
+                       if (*ip == c)   // match!
                        {
                            c = ip[1];
                            break;
@@ -3146,7 +3146,7 @@ spell_soundfold_sofo(slang_T *slang, char_u *inword, char_u *res)
     }
     else
     {
-       /* The sl_sal_first[] table contains the translation. */
+       // The sl_sal_first[] table contains the translation.
        for (s = inword; (c = *s) != NUL; ++s)
        {
            if (VIM_ISWHITE(c))
@@ -3180,8 +3180,8 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
     int                p0 = -333;
     int                c0;
 
-    /* Remove accents, if wanted.  We actually remove all non-word characters.
-     * But keep white space.  We need a copy, the word may be changed here. */
+    // Remove accents, if wanted.  We actually remove all non-word characters.
+    // But keep white space.  We need a copy, the word may be changed here.
     if (slang->sl_rem_accents)
     {
        t = word;
@@ -3213,17 +3213,17 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
     i = reslen = z = 0;
     while ((c = word[i]) != NUL)
     {
-       /* Start with the first rule that has the character in the word. */
+       // Start with the first rule that has the character in the word.
        n = slang->sl_sal_first[c];
        z0 = 0;
 
        if (n >= 0)
        {
-           /* check all rules for the same letter */
+           // check all rules for the same letter
            for (; (s = smp[n].sm_lead)[0] == c; ++n)
            {
-               /* Quickly skip entries that don't match the word.  Most
-                * entries are less then three chars, optimize for that. */
+               // Quickly skip entries that don't match the word.  Most
+               // entries are less then three chars, optimize for that.
                k = smp[n].sm_leadlen;
                if (k > 1)
                {
@@ -3241,7 +3241,7 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
 
                if ((pf = smp[n].sm_oneof) != NULL)
                {
-                   /* Check for match with one of the chars in "sm_oneof". */
+                   // Check for match with one of the chars in "sm_oneof".
                    while (*pf != NUL && *pf != word[i + k])
                        ++pf;
                    if (*pf == NUL)
@@ -3249,7 +3249,7 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
                    ++k;
                }
                s = smp[n].sm_rules;
-               pri = 5;    /* default priority */
+               pri = 5;    // default priority
 
                p0 = *s;
                k0 = k;
@@ -3262,7 +3262,7 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
                    s++;
                if (VIM_ISDIGIT(*s))
                {
-                   /* determine priority */
+                   // determine priority
                    pri = *s - '0';
                    s++;
                }
@@ -3279,19 +3279,19 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
                            && spell_iswordp(word + i - 1, curwin)
                            && (!spell_iswordp(word + i + k0, curwin))))
                {
-                   /* search for followup rules, if:    */
-                   /* followup and k > 1  and  NO '-' in searchstring */
+                   // search for followup rules, if:
+                   // followup and k > 1  and  NO '-' in searchstring
                    c0 = word[i + k - 1];
                    n0 = slang->sl_sal_first[c0];
 
                    if (slang->sl_followup && k > 1 && n0 >= 0
                                           && p0 != '-' && word[i + k] != NUL)
                    {
-                       /* test follow-up rule for "word[i + k]" */
+                       // test follow-up rule for "word[i + k]"
                        for ( ; (s = smp[n0].sm_lead)[0] == c0; ++n0)
                        {
-                           /* Quickly skip entries that don't match the word.
-                            * */
+                           // Quickly skip entries that don't match the word.
+                           //
                            k0 = smp[n0].sm_leadlen;
                            if (k0 > 1)
                            {
@@ -3311,8 +3311,8 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
 
                            if ((pf = smp[n0].sm_oneof) != NULL)
                            {
-                               /* Check for match with one of the chars in
-                                * "sm_oneof". */
+                               // Check for match with one of the chars in
+                               // "sm_oneof".
                                while (*pf != NUL && *pf != word[i + k0])
                                    ++pf;
                                if (*pf == NUL)
@@ -3324,8 +3324,8 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
                            s = smp[n0].sm_rules;
                            while (*s == '-')
                            {
-                               /* "k0" gets NOT reduced because
-                                * "if (k0 == k)" */
+                               // "k0" gets NOT reduced because
+                               // "if (k0 == k)"
                                s++;
                            }
                            if (*s == '<')
@@ -3337,19 +3337,19 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
                            }
 
                            if (*s == NUL
-                                   /* *s == '^' cuts */
+                                   // *s == '^' cuts
                                    || (*s == '$'
                                            && !spell_iswordp(word + i + k0,
                                                                     curwin)))
                            {
                                if (k0 == k)
-                                   /* this is just a piece of the string */
+                                   // this is just a piece of the string
                                    continue;
 
                                if (p0 < pri)
-                                   /* priority too low */
+                                   // priority too low
                                    continue;
-                               /* rule fits; stop search */
+                               // rule fits; stop search
                                break;
                            }
                        }
@@ -3358,7 +3358,7 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
                            continue;
                    }
 
-                   /* replace string */
+                   // replace string
                    s = smp[n].sm_to;
                    if (s == NULL)
                        s = (char_u *)"";
@@ -3366,7 +3366,7 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
                    p0 = (vim_strchr(pf, '<') != NULL) ? 1 : 0;
                    if (p0 == 1 && z == 0)
                    {
-                       /* rule with '<' is used */
+                       // rule with '<' is used
                        if (reslen > 0 && *s != NUL && (res[reslen - 1] == c
                                                    || res[reslen - 1] == *s))
                            reslen--;
@@ -3382,12 +3382,12 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
                        if (k > k0)
                            STRMOVE(word + i + k0, word + i + k);
 
-                       /* new "actual letter" */
+                       // new "actual letter"
                        c = word[i];
                    }
                    else
                    {
-                       /* no '<' rule used */
+                       // no '<' rule used
                        i += k - 1;
                        z = 0;
                        while (*s != NUL && s[1] != NUL && reslen < MAXWLEN)
@@ -3396,7 +3396,7 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
                                res[reslen++] = *s;
                            s++;
                        }
-                       /* new "actual letter" */
+                       // new "actual letter"
                        c = *s;
                        if (strstr((char *)pf, "^^") != NULL)
                        {
@@ -3422,7 +3422,7 @@ spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
            if (k && !p0 && reslen < MAXWLEN && c != NUL
                    && (!slang->sl_collapse || reslen == 0
                                                     || res[reslen - 1] != c))
-               /* condense only double letters */
+               // condense only double letters
                res[reslen++] = c;
 
            i++;
@@ -3501,20 +3501,20 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
     i = reslen = z = 0;
     while ((c = word[i]) != NUL)
     {
-       /* Start with the first rule that has the character in the word. */
+       // Start with the first rule that has the character in the word.
        n = slang->sl_sal_first[c & 0xff];
        z0 = 0;
 
        if (n >= 0)
        {
-           /* Check all rules for the same index byte.
-            * If c is 0x300 need extra check for the end of the array, as
-            * (c & 0xff) is NUL. */
+           // Check all rules for the same index byte.
+           // If c is 0x300 need extra check for the end of the array, as
+           // (c & 0xff) is NUL.
            for (; ((ws = smp[n].sm_lead_w)[0] & 0xff) == (c & 0xff)
                                                         && ws[0] != NUL; ++n)
            {
-               /* Quickly skip entries that don't match the word.  Most
-                * entries are less then three chars, optimize for that. */
+               // Quickly skip entries that don't match the word.  Most
+               // entries are less then three chars, optimize for that.
                if (c != ws[0])
                    continue;
                k = smp[n].sm_leadlen;
@@ -3534,7 +3534,7 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
 
                if ((pf = smp[n].sm_oneof_w) != NULL)
                {
-                   /* Check for match with one of the chars in "sm_oneof". */
+                   // Check for match with one of the chars in "sm_oneof".
                    while (*pf != NUL && *pf != word[i + k])
                        ++pf;
                    if (*pf == NUL)
@@ -3542,7 +3542,7 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
                    ++k;
                }
                s = smp[n].sm_rules;
-               pri = 5;    /* default priority */
+               pri = 5;    // default priority
 
                p0 = *s;
                k0 = k;
@@ -3555,7 +3555,7 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
                    s++;
                if (VIM_ISDIGIT(*s))
                {
-                   /* determine priority */
+                   // determine priority
                    pri = *s - '0';
                    s++;
                }
@@ -3572,21 +3572,20 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
                            && spell_iswordp_w(word + i - 1, curwin)
                            && (!spell_iswordp_w(word + i + k0, curwin))))
                {
-                   /* search for followup rules, if:    */
-                   /* followup and k > 1  and  NO '-' in searchstring */
+                   // search for followup rules, if:
+                   // followup and k > 1  and  NO '-' in searchstring
                    c0 = word[i + k - 1];
                    n0 = slang->sl_sal_first[c0 & 0xff];
 
                    if (slang->sl_followup && k > 1 && n0 >= 0
                                           && p0 != '-' && word[i + k] != NUL)
                    {
-                       /* Test follow-up rule for "word[i + k]"; loop over
-                        * all entries with the same index byte. */
+                       // Test follow-up rule for "word[i + k]"; loop over
+                       // all entries with the same index byte.
                        for ( ; ((ws = smp[n0].sm_lead_w)[0] & 0xff)
                                                         == (c0 & 0xff); ++n0)
                        {
-                           /* Quickly skip entries that don't match the word.
-                            */
+                           // Quickly skip entries that don't match the word.
                            if (c0 != ws[0])
                                continue;
                            k0 = smp[n0].sm_leadlen;
@@ -3608,8 +3607,8 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
 
                            if ((pf = smp[n0].sm_oneof_w) != NULL)
                            {
-                               /* Check for match with one of the chars in
-                                * "sm_oneof". */
+                               // Check for match with one of the chars in
+                               // "sm_oneof".
                                while (*pf != NUL && *pf != word[i + k0])
                                    ++pf;
                                if (*pf == NUL)
@@ -3621,8 +3620,8 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
                            s = smp[n0].sm_rules;
                            while (*s == '-')
                            {
-                               /* "k0" gets NOT reduced because
-                                * "if (k0 == k)" */
+                               // "k0" gets NOT reduced because
+                               // "if (k0 == k)"
                                s++;
                            }
                            if (*s == '<')
@@ -3634,19 +3633,19 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
                            }
 
                            if (*s == NUL
-                                   /* *s == '^' cuts */
+                                   // *s == '^' cuts
                                    || (*s == '$'
                                         && !spell_iswordp_w(word + i + k0,
                                                                     curwin)))
                            {
                                if (k0 == k)
-                                   /* this is just a piece of the string */
+                                   // this is just a piece of the string
                                    continue;
 
                                if (p0 < pri)
-                                   /* priority too low */
+                                   // priority too low
                                    continue;
-                               /* rule fits; stop search */
+                               // rule fits; stop search
                                break;
                            }
                        }
@@ -3656,13 +3655,13 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
                            continue;
                    }
 
-                   /* replace string */
+                   // replace string
                    ws = smp[n].sm_to_w;
                    s = smp[n].sm_rules;
                    p0 = (vim_strchr(s, '<') != NULL) ? 1 : 0;
                    if (p0 == 1 && z == 0)
                    {
-                       /* rule with '<' is used */
+                       // rule with '<' is used
                        if (reslen > 0 && ws != NULL && *ws != NUL
                                && (wres[reslen - 1] == c
                                                    || wres[reslen - 1] == *ws))
@@ -3681,12 +3680,12 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
                            mch_memmove(word + i + k0, word + i + k,
                                    sizeof(int) * (wordlen - (i + k) + 1));
 
-                       /* new "actual letter" */
+                       // new "actual letter"
                        c = word[i];
                    }
                    else
                    {
-                       /* no '<' rule used */
+                       // no '<' rule used
                        i += k - 1;
                        z = 0;
                        if (ws != NULL)
@@ -3697,7 +3696,7 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
                                    wres[reslen++] = *ws;
                                ws++;
                            }
-                       /* new "actual letter" */
+                       // new "actual letter"
                        if (ws == NULL)
                            c = NUL;
                        else
@@ -3727,7 +3726,7 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
            if (k && !p0 && reslen < MAXWLEN && c != NUL
                    && (!slang->sl_collapse || reslen == 0
                                                     || wres[reslen - 1] != c))
-               /* condense only double letters */
+               // condense only double letters
                wres[reslen++] = c;
 
            i++;
@@ -3736,7 +3735,7 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
        }
     }
 
-    /* Convert wide characters in "wres" to a multi-byte string in "res". */
+    // Convert wide characters in "wres" to a multi-byte string in "res".
     l = 0;
     for (n = 0; n < reslen; ++n)
     {
@@ -3777,11 +3776,11 @@ ex_spellinfo(exarg_T *eap UNUSED)
     msg_end();
 }
 
-#define DUMPFLAG_KEEPCASE   1  /* round 2: keep-case tree */
-#define DUMPFLAG_COUNT     2   /* include word count */
-#define DUMPFLAG_ICASE     4   /* ignore case when finding matches */
-#define DUMPFLAG_ONECAP            8   /* pattern starts with capital */
-#define DUMPFLAG_ALLCAP            16  /* pattern is all capitals */
+#define DUMPFLAG_KEEPCASE   1  // round 2: keep-case tree
+#define DUMPFLAG_COUNT     2   // include word count
+#define DUMPFLAG_ICASE     4   // ignore case when finding matches
+#define DUMPFLAG_ONECAP            8   // pattern starts with capital
+#define DUMPFLAG_ALLCAP            16  // pattern is all capitals
 
 /*
  * ":spelldump"
@@ -3796,10 +3795,10 @@ ex_spelldump(exarg_T *eap)
        return;
     get_option_value((char_u*)"spl", &dummy, &spl, OPT_LOCAL);
 
-    /* Create a new empty buffer in a new window. */
+    // Create a new empty buffer in a new window.
     do_cmdline_cmd((char_u *)"new");
 
-    /* enable spelling locally in the new window */
+    // enable spelling locally in the new window
     set_option_value((char_u*)"spell", TRUE, (char_u*)"", OPT_LOCAL);
     set_option_value((char_u*)"spl",  dummy, spl, OPT_LOCAL);
     vim_free(spl);
@@ -3809,7 +3808,7 @@ ex_spelldump(exarg_T *eap)
 
     spell_dump_compl(NULL, 0, NULL, eap->forceit ? DUMPFLAG_COUNT : 0);
 
-    /* Delete the empty line that we started with. */
+    // Delete the empty line that we started with.
     if (curbuf->b_ml.ml_line_count > 1)
        ml_delete(curbuf->b_ml.ml_line_count, FALSE);
 
@@ -3824,10 +3823,10 @@ ex_spelldump(exarg_T *eap)
  */
     void
 spell_dump_compl(
-    char_u     *pat,       /* leading part of the word */
-    int                ic,         /* ignore case */
-    int                *dir,       /* direction for adding matches */
-    int                dumpflags_arg)  /* DUMPFLAG_* */
+    char_u     *pat,       // leading part of the word
+    int                ic,         // ignore case
+    int                *dir,       // direction for adding matches
+    int                dumpflags_arg)  // DUMPFLAG_*
 {
     langp_T    *lp;
     slang_T    *slang;
@@ -3842,15 +3841,15 @@ spell_dump_compl(
     int                depth;
     int                n;
     int                flags;
-    char_u     *region_names = NULL;       /* region names being used */
-    int                do_region = TRUE;           /* dump region names and numbers */
+    char_u     *region_names = NULL;       // region names being used
+    int                do_region = TRUE;           // dump region names and numbers
     char_u     *p;
     int                lpi;
     int                dumpflags = dumpflags_arg;
     int                patlen;
 
-    /* When ignoring case or when the pattern starts with capital pass this on
-     * to dump_word(). */
+    // When ignoring case or when the pattern starts with capital pass this on
+    // to dump_word().
     if (pat != NULL)
     {
        if (ic)
@@ -3865,19 +3864,19 @@ spell_dump_compl(
        }
     }
 
-    /* Find out if we can support regions: All languages must support the same
-     * regions or none at all. */
+    // Find out if we can support regions: All languages must support the same
+    // regions or none at all.
     for (lpi = 0; lpi < curwin->w_s->b_langp.ga_len; ++lpi)
     {
        lp = LANGP_ENTRY(curwin->w_s->b_langp, lpi);
        p = lp->lp_slang->sl_regions;
        if (p[0] != 0)
        {
-           if (region_names == NULL)       /* first language with regions */
+           if (region_names == NULL)       // first language with regions
                region_names = p;
            else if (STRCMP(region_names, p) != 0)
            {
-               do_region = FALSE;          /* region names are different */
+               do_region = FALSE;          // region names are different
                break;
            }
        }
@@ -3901,7 +3900,7 @@ spell_dump_compl(
     {
        lp = LANGP_ENTRY(curwin->w_s->b_langp, lpi);
        slang = lp->lp_slang;
-       if (slang->sl_fbyts == NULL)        /* reloading failed */
+       if (slang->sl_fbyts == NULL)        // reloading failed
            continue;
 
        if (pat == NULL)
@@ -3910,15 +3909,15 @@ spell_dump_compl(
            ml_append(lnum++, IObuff, (colnr_T)0, FALSE);
        }
 
-       /* When matching with a pattern and there are no prefixes only use
-        * parts of the tree that match "pat". */
+       // When matching with a pattern and there are no prefixes only use
+       // parts of the tree that match "pat".
        if (pat != NULL && slang->sl_pbyts == NULL)
            patlen = (int)STRLEN(pat);
        else
            patlen = -1;
 
-       /* round 1: case-folded tree
-        * round 2: keep-case tree */
+       // round 1: case-folded tree
+       // round 2: keep-case tree
        for (round = 1; round <= 2; ++round)
        {
            if (round == 1)
@@ -3934,7 +3933,7 @@ spell_dump_compl(
                idxs = slang->sl_kidxs;
            }
            if (byts == NULL)
-               continue;               /* array is empty */
+               continue;               // array is empty
 
            depth = 0;
            arridx[0] = 0;
@@ -3944,23 +3943,23 @@ spell_dump_compl(
            {
                if (curi[depth] > byts[arridx[depth]])
                {
-                   /* Done all bytes at this node, go up one level. */
+                   // Done all bytes at this node, go up one level.
                    --depth;
                    line_breakcheck();
                    ins_compl_check_keys(50, FALSE);
                }
                else
                {
-                   /* Do one more byte at this node. */
+                   // Do one more byte at this node.
                    n = arridx[depth] + curi[depth];
                    ++curi[depth];
                    c = byts[n];
                    if (c == 0)
                    {
-                       /* End of word, deal with the word.
-                        * Don't use keep-case words in the fold-case tree,
-                        * they will appear in the keep-case tree.
-                        * Only use the word when the region matches. */
+                       // End of word, deal with the word.
+                       // Don't use keep-case words in the fold-case tree,
+                       // they will appear in the keep-case tree.
+                       // Only use the word when the region matches.
                        flags = (int)idxs[n];
                        if ((round == 2 || (flags & WF_KEEPCAP) == 0)
                                && (flags & WF_NEEDCOMP) == 0
@@ -3973,8 +3972,8 @@ spell_dump_compl(
                            if (!do_region)
                                flags &= ~WF_REGION;
 
-                           /* Dump the basic word if there is no prefix or
-                            * when it's the first one. */
+                           // Dump the basic word if there is no prefix or
+                           // when it's the first one.
                            c = (unsigned)flags >> 24;
                            if (c == 0 || curi[depth] == 2)
                            {
@@ -3984,7 +3983,7 @@ spell_dump_compl(
                                    ++lnum;
                            }
 
-                           /* Apply the prefix, if there is one. */
+                           // Apply the prefix, if there is one.
                            if (c != 0)
                                lnum = dump_prefixes(slang, word, pat, dir,
                                                      dumpflags, flags, lnum);
@@ -3992,17 +3991,17 @@ spell_dump_compl(
                    }
                    else
                    {
-                       /* Normal char, go one level deeper. */
+                       // Normal char, go one level deeper.
                        word[depth++] = c;
                        arridx[depth] = idxs[n];
                        curi[depth] = 1;
 
-                       /* Check if this characters matches with the pattern.
-                        * If not skip the whole tree below it.
-                        * Always ignore case here, dump_word() will check
-                        * proper case later.  This isn't exactly right when
-                        * length changes for multi-byte characters with
-                        * ignore case... */
+                       // Check if this characters matches with the pattern.
+                       // If not skip the whole tree below it.
+                       // Always ignore case here, dump_word() will check
+                       // proper case later.  This isn't exactly right when
+                       // length changes for multi-byte characters with
+                       // ignore case...
                        if (depth <= patlen
                                        && MB_STRNICMP(word, pat, depth) != 0)
                            --depth;
@@ -4042,7 +4041,7 @@ dump_word(
 
     if ((dumpflags & DUMPFLAG_KEEPCASE) == 0 && (flags & WF_CAPMASK) != 0)
     {
-       /* Need to fix case according to "flags". */
+       // Need to fix case according to "flags".
        make_case_word(word, cword, flags);
        p = cword;
     }
@@ -4058,7 +4057,7 @@ dump_word(
 
     if (pat == NULL)
     {
-       /* Add flags and regions after a slash. */
+       // Add flags and regions after a slash.
        if ((flags & (WF_BANNED | WF_RARE | WF_REGION)) || keepcap)
        {
            STRCPY(badword, p);
@@ -4080,7 +4079,7 @@ dump_word(
        {
            hashitem_T  *hi;
 
-           /* Include the word count for ":spelldump!". */
+           // Include the word count for ":spelldump!".
            hi = hash_find(&slang->sl_wordcount, tw);
            if (!HASHITEM_EMPTY(hi))
            {
@@ -4097,7 +4096,7 @@ dump_word(
                    : STRNCMP(p, pat, STRLEN(pat)) == 0)
                && ins_compl_add_infercase(p, (int)STRLEN(p),
                                          p_ic, NULL, *dir, FALSE) == OK)
-       /* if dir was BACKWARD then honor it just once */
+       // if dir was BACKWARD then honor it just once
        *dir = FORWARD;
 }
 
@@ -4110,11 +4109,11 @@ dump_word(
     static linenr_T
 dump_prefixes(
     slang_T    *slang,
-    char_u     *word,      /* case-folded word */
+    char_u     *word,      // case-folded word
     char_u     *pat,
     int                *dir,
     int                dumpflags,
-    int                flags,      /* flags with prefix ID */
+    int                flags,      // flags with prefix ID
     linenr_T   startlnum)
 {
     idx_T      arridx[MAXWLEN];
@@ -4131,8 +4130,8 @@ dump_prefixes(
     int                len;
     int                i;
 
-    /* If the word starts with a lower-case letter make the word with an
-     * upper-case letter in word_up[]. */
+    // If the word starts with a lower-case letter make the word with an
+    // upper-case letter in word_up[].
     c = PTR2CHAR(word);
     if (SPELL_TOUPPER(c) != c)
     {
@@ -4142,7 +4141,7 @@ dump_prefixes(
 
     byts = slang->sl_pbyts;
     idxs = slang->sl_pidxs;
-    if (byts != NULL)          /* array not is empty */
+    if (byts != NULL)          // array not is empty
     {
        /*
         * Loop over all prefixes, building them byte-by-byte in prefix[].
@@ -4157,19 +4156,19 @@ dump_prefixes(
            len = byts[n];
            if (curi[depth] > len)
            {
-               /* Done all bytes at this node, go up one level. */
+               // Done all bytes at this node, go up one level.
                --depth;
                line_breakcheck();
            }
            else
            {
-               /* Do one more byte at this node. */
+               // Do one more byte at this node.
                n += curi[depth];
                ++curi[depth];
                c = byts[n];
                if (c == 0)
                {
-                   /* End of prefix, find out how many IDs there are. */
+                   // End of prefix, find out how many IDs there are.
                    for (i = 1; i < len; ++i)
                        if (byts[n + i] != 0)
                            break;
@@ -4186,9 +4185,9 @@ dump_prefixes(
                            ++lnum;
                    }
 
-                   /* Check for prefix that matches the word when the
-                    * first letter is upper-case, but only if the prefix has
-                    * a condition. */
+                   // Check for prefix that matches the word when the
+                   // first letter is upper-case, but only if the prefix has
+                   // a condition.
                    if (has_word_up)
                    {
                        c = valid_word_prefix(i, n, flags, word_up, slang,
@@ -4207,7 +4206,7 @@ dump_prefixes(
                }
                else
                {
-                   /* Normal char, go one level deeper. */
+                   // Normal char, go one level deeper.
                    prefix[depth++] = c;
                    arridx[depth] = idxs[n];
                    curi[depth] = 1;
@@ -4250,7 +4249,7 @@ spell_word_start(int startcol)
     if (no_spell_checking(curwin))
        return startcol;
 
-    /* Find a word character before "startcol". */
+    // Find a word character before "startcol".
     line = ml_get_curline();
     for (p = line + startcol; p > line; )
     {
@@ -4259,7 +4258,7 @@ spell_word_start(int startcol)
            break;
     }
 
-    /* Go back to start of the word. */
+    // Go back to start of the word.
     while (p > line)
     {
        col = (int)(p - line);
index 4b364421d4686eb1461c1c40a0a36b955177cb86..b9451ecd6d28751fd722bb079d451c7fa9b43fb4 100644 (file)
 
 #if defined(FEAT_SPELL) || defined(PROTO)
 
-#ifndef UNIX           /* it's in os_unix.h for Unix */
-# include <time.h>     /* for time_t */
+#ifndef UNIX           // it's in os_unix.h for Unix
+# include <time.h>     // for time_t
 #endif
 
-#ifndef UNIX           /* it's in os_unix.h for Unix */
-# include <time.h>     /* for time_t */
+#ifndef UNIX           // it's in os_unix.h for Unix
+# include <time.h>     // for time_t
 #endif
 
-/* Special byte values for <byte>.  Some are only used in the tree for
- * postponed prefixes, some only in the other trees.  This is a bit messy... */
-#define BY_NOFLAGS     0       /* end of word without flags or region; for
-                                * postponed prefix: no <pflags> */
-#define BY_INDEX       1       /* child is shared, index follows */
-#define BY_FLAGS       2       /* end of word, <flags> byte follows; for
-                                * postponed prefix: <pflags> follows */
-#define BY_FLAGS2      3       /* end of word, <flags> and <flags2> bytes
-                                * follow; never used in prefix tree */
-#define BY_SPECIAL  BY_FLAGS2  /* highest special byte value */
+// Special byte values for <byte>.  Some are only used in the tree for
+// postponed prefixes, some only in the other trees.  This is a bit messy...
+#define BY_NOFLAGS     0       // end of word without flags or region; for
+                               // postponed prefix: no <pflags>
+#define BY_INDEX       1       // child is shared, index follows
+#define BY_FLAGS       2       // end of word, <flags> byte follows; for
+                               // postponed prefix: <pflags> follows
+#define BY_FLAGS2      3       // end of word, <flags> and <flags2> bytes
+                               // follow; never used in prefix tree
+#define BY_SPECIAL  BY_FLAGS2  // highest special byte value
 
 #define ZERO_FLAG      65009   // used when flag is zero: "0"
 
-/* Flags used in .spl file for soundsalike flags. */
+// Flags used in .spl file for soundsalike flags.
 #define SAL_F0LLOWUP           1
 #define SAL_COLLAPSE           2
 #define SAL_REM_ACCENTS                4
 
-#define VIMSPELLMAGIC "VIMspell"  /* string at start of Vim spell file */
+#define VIMSPELLMAGIC "VIMspell"  // string at start of Vim spell file
 #define VIMSPELLMAGICL 8
 #define VIMSPELLVERSION 50
 
-/* Section IDs.  Only renumber them when VIMSPELLVERSION changes! */
-#define SN_REGION      0       /* <regionname> section */
-#define SN_CHARFLAGS   1       /* charflags section */
-#define SN_MIDWORD     2       /* <midword> section */
-#define SN_PREFCOND    3       /* <prefcond> section */
-#define SN_REP         4       /* REP items section */
-#define SN_SAL         5       /* SAL items section */
-#define SN_SOFO                6       /* soundfolding section */
-#define SN_MAP         7       /* MAP items section */
-#define SN_COMPOUND    8       /* compound words section */
-#define SN_SYLLABLE    9       /* syllable section */
-#define SN_NOBREAK     10      /* NOBREAK section */
-#define SN_SUGFILE     11      /* timestamp for .sug file */
-#define SN_REPSAL      12      /* REPSAL items section */
-#define SN_WORDS       13      /* common words */
-#define SN_NOSPLITSUGS 14      /* don't split word for suggestions */
-#define SN_INFO                15      /* info section */
-#define SN_NOCOMPOUNDSUGS 16   /* don't compound for suggestions */
-#define SN_END         255     /* end of sections */
-
-#define SNF_REQUIRED   1       /* <sectionflags>: required section */
+// Section IDs.  Only renumber them when VIMSPELLVERSION changes!
+#define SN_REGION      0       // <regionname> section
+#define SN_CHARFLAGS   1       // charflags section
+#define SN_MIDWORD     2       // <midword> section
+#define SN_PREFCOND    3       // <prefcond> section
+#define SN_REP         4       // REP items section
+#define SN_SAL         5       // SAL items section
+#define SN_SOFO                6       // soundfolding section
+#define SN_MAP         7       // MAP items section
+#define SN_COMPOUND    8       // compound words section
+#define SN_SYLLABLE    9       // syllable section
+#define SN_NOBREAK     10      // NOBREAK section
+#define SN_SUGFILE     11      // timestamp for .sug file
+#define SN_REPSAL      12      // REPSAL items section
+#define SN_WORDS       13      // common words
+#define SN_NOSPLITSUGS 14      // don't split word for suggestions
+#define SN_INFO                15      // info section
+#define SN_NOCOMPOUNDSUGS 16   // don't compound for suggestions
+#define SN_END         255     // end of sections
+
+#define SNF_REQUIRED   1       // <sectionflags>: required section
 
 #define CF_WORD                0x01
 #define CF_UPPER       0x02
@@ -341,7 +341,7 @@ spell_load_file(
     char_u     *fname,
     char_u     *lang,
     slang_T    *old_lp,
-    int                silent)         /* no error if file doesn't exist */
+    int                silent)         // no error if file doesn't exist
 {
     FILE       *fd;
     char_u     buf[VIMSPELLMAGICL];
@@ -381,18 +381,18 @@ spell_load_file(
        if (lp == NULL)
            goto endFAIL;
 
-       /* Remember the file name, used to reload the file when it's updated. */
+       // Remember the file name, used to reload the file when it's updated.
        lp->sl_fname = vim_strsave(fname);
        if (lp->sl_fname == NULL)
            goto endFAIL;
 
-       /* Check for .add.spl (_add.spl for VMS). */
+       // Check for .add.spl (_add.spl for VMS).
        lp->sl_add = strstr((char *)gettail(fname), SPL_FNAME_ADD) != NULL;
     }
     else
        lp = old_lp;
 
-    /* Set sourcing_name, so that error messages mention the file name. */
+    // Set sourcing_name, so that error messages mention the file name.
     sourcing_name = fname;
     sourcing_lnum = 0;
 
@@ -400,13 +400,13 @@ spell_load_file(
      * <HEADER>: <fileID>
      */
     for (i = 0; i < VIMSPELLMAGICL; ++i)
-       buf[i] = getc(fd);                              /* <fileID> */
+       buf[i] = getc(fd);                              // <fileID>
     if (STRNCMP(buf, VIMSPELLMAGIC, VIMSPELLMAGICL) != 0)
     {
        emsg(_("E757: This does not look like a spell file"));
        goto endFAIL;
     }
-    c = getc(fd);                                      /* <versionnr> */
+    c = getc(fd);                                      // <versionnr>
     if (c < VIMSPELLVERSION)
     {
        emsg(_("E771: Old spell file, needs to be updated"));
@@ -425,11 +425,11 @@ spell_load_file(
      */
     for (;;)
     {
-       n = getc(fd);                       /* <sectionID> or <sectionend> */
+       n = getc(fd);                       // <sectionID> or <sectionend>
        if (n == SN_END)
            break;
-       c = getc(fd);                                   /* <sectionflags> */
-       len = get4c(fd);                                /* <sectionlen> */
+       c = getc(fd);                                   // <sectionflags>
+       len = get4c(fd);                                // <sectionlen>
        if (len < 0)
            goto truncerr;
 
@@ -437,7 +437,7 @@ spell_load_file(
        switch (n)
        {
            case SN_INFO:
-               lp->sl_info = read_string(fd, len);     /* <infotext> */
+               lp->sl_info = read_string(fd, len);     // <infotext>
                if (lp->sl_info == NULL)
                    goto endFAIL;
                break;
@@ -451,7 +451,7 @@ spell_load_file(
                break;
 
            case SN_MIDWORD:
-               lp->sl_midword = read_string(fd, len);  /* <midword> */
+               lp->sl_midword = read_string(fd, len);  // <midword>
                if (lp->sl_midword == NULL)
                    goto endFAIL;
                break;
@@ -477,7 +477,7 @@ spell_load_file(
                break;
 
            case SN_MAP:
-               p = read_string(fd, len);               /* <mapstr> */
+               p = read_string(fd, len);               // <mapstr>
                if (p == NULL)
                    goto endFAIL;
                set_map_str(lp, p);
@@ -489,7 +489,7 @@ spell_load_file(
                break;
 
            case SN_SUGFILE:
-               lp->sl_sugtime = get8ctime(fd);         /* <timestamp> */
+               lp->sl_sugtime = get8ctime(fd);         // <timestamp>
                break;
 
            case SN_NOSPLITSUGS:
@@ -509,7 +509,7 @@ spell_load_file(
                break;
 
            case SN_SYLLABLE:
-               lp->sl_syllable = read_string(fd, len); /* <syllable> */
+               lp->sl_syllable = read_string(fd, len); // <syllable>
                if (lp->sl_syllable == NULL)
                    goto endFAIL;
                if (init_syl_tab(lp) == FAIL)
@@ -517,8 +517,8 @@ spell_load_file(
                break;
 
            default:
-               /* Unsupported section.  When it's required give an error
-                * message.  When it's not required skip the contents. */
+               // Unsupported section.  When it's required give an error
+               // message.  When it's not required skip the contents.
                if (c & SNF_REQUIRED)
                {
                    emsg(_("E770: Unsupported section in spell file"));
@@ -545,23 +545,23 @@ truncerr:
            goto endFAIL;
     }
 
-    /* <LWORDTREE> */
+    // <LWORDTREE>
     res = spell_read_tree(fd, &lp->sl_fbyts, &lp->sl_fidxs, FALSE, 0);
     if (res != 0)
        goto someerror;
 
-    /* <KWORDTREE> */
+    // <KWORDTREE>
     res = spell_read_tree(fd, &lp->sl_kbyts, &lp->sl_kidxs, FALSE, 0);
     if (res != 0)
        goto someerror;
 
-    /* <PREFIXTREE> */
+    // <PREFIXTREE>
     res = spell_read_tree(fd, &lp->sl_pbyts, &lp->sl_pidxs, TRUE,
                                                            lp->sl_prefixcnt);
     if (res != 0)
        goto someerror;
 
-    /* For a new file link it in the list of spell files. */
+    // For a new file link it in the list of spell files.
     if (old_lp == NULL && lang != NULL)
     {
        lp->sl_next = first_lang;
@@ -572,7 +572,7 @@ truncerr:
 
 endFAIL:
     if (lang != NULL)
-       /* truncating the name signals the error to spell_load_lang() */
+       // truncating the name signals the error to spell_load_lang()
        *lang = NUL;
     if (lp != NULL && old_lp == NULL)
        slang_free(lp);
@@ -609,7 +609,7 @@ tree_count_words(char_u *byts, idx_T *idxs)
     {
        if (curi[depth] > byts[arridx[depth]])
        {
-           /* Done all bytes at this node, go up one level. */
+           // Done all bytes at this node, go up one level.
            idxs[arridx[depth]] = wordcount[depth];
            if (depth > 0)
                wordcount[depth - 1] += wordcount[depth];
@@ -619,18 +619,18 @@ tree_count_words(char_u *byts, idx_T *idxs)
        }
        else
        {
-           /* Do one more byte at this node. */
+           // Do one more byte at this node.
            n = arridx[depth] + curi[depth];
            ++curi[depth];
 
            c = byts[n];
            if (c == 0)
            {
-               /* End of word, count it. */
+               // End of word, count it.
                ++wordcount[depth];
 
-               /* Skip over any other NUL bytes (same word with different
-                * flags). */
+               // Skip over any other NUL bytes (same word with different
+               // flags).
                while (byts[n + 1] == 0)
                {
                    ++n;
@@ -639,7 +639,7 @@ tree_count_words(char_u *byts, idx_T *idxs)
            }
            else
            {
-               /* Normal char, go one level deeper to count the words. */
+               // Normal char, go one level deeper to count the words.
                ++depth;
                arridx[depth] = idxs[n];
                curi[depth] = 1;
@@ -668,16 +668,16 @@ suggest_load_files(void)
     garray_T   ga;
     int                c;
 
-    /* Do this for all languages that support sound folding. */
+    // Do this for all languages that support sound folding.
     for (lpi = 0; lpi < curwin->w_s->b_langp.ga_len; ++lpi)
     {
        lp = LANGP_ENTRY(curwin->w_s->b_langp, lpi);
        slang = lp->lp_slang;
        if (slang->sl_sugtime != 0 && !slang->sl_sugloaded)
        {
-           /* Change ".spl" to ".sug" and open the file.  When the file isn't
-            * found silently skip it.  Do set "sl_sugloaded" so that we
-            * don't try again and again. */
+           // Change ".spl" to ".sug" and open the file.  When the file isn't
+           // found silently skip it.  Do set "sl_sugloaded" so that we
+           // don't try again and again.
            slang->sl_sugloaded = TRUE;
 
            dotp = vim_strrchr(slang->sl_fname, '.');
@@ -692,14 +692,14 @@ suggest_load_files(void)
             * <SUGHEADER>: <fileID> <versionnr> <timestamp>
             */
            for (i = 0; i < VIMSUGMAGICL; ++i)
-               buf[i] = getc(fd);                      /* <fileID> */
+               buf[i] = getc(fd);                      // <fileID>
            if (STRNCMP(buf, VIMSUGMAGIC, VIMSUGMAGICL) != 0)
            {
                semsg(_("E778: This does not look like a .sug file: %s"),
                                                             slang->sl_fname);
                goto nextone;
            }
-           c = getc(fd);                               /* <versionnr> */
+           c = getc(fd);                               // <versionnr>
            if (c < VIMSUGVERSION)
            {
                semsg(_("E779: Old .sug file, needs to be updated: %s"),
@@ -713,9 +713,9 @@ suggest_load_files(void)
                goto nextone;
            }
 
-           /* Check the timestamp, it must be exactly the same as the one in
-            * the .spl file.  Otherwise the word numbers won't match. */
-           timestamp = get8ctime(fd);                  /* <timestamp> */
+           // Check the timestamp, it must be exactly the same as the one in
+           // the .spl file.  Otherwise the word numbers won't match.
+           timestamp = get8ctime(fd);                  // <timestamp>
            if (timestamp != slang->sl_sugtime)
            {
                semsg(_("E781: .sug file doesn't match .spl file: %s"),
@@ -747,20 +747,20 @@ someerror:
            slang->sl_sugbuf = open_spellbuf();
            if (slang->sl_sugbuf == NULL)
                goto someerror;
-                                                           /* <sugwcount> */
+                                                           // <sugwcount>
            wcount = get4c(fd);
            if (wcount < 0)
                goto someerror;
 
-           /* Read all the wordnr lists into the buffer, one NUL terminated
-            * list per line. */
+           // Read all the wordnr lists into the buffer, one NUL terminated
+           // list per line.
            ga_init2(&ga, 1, 100);
            for (wordnr = 0; wordnr < wcount; ++wordnr)
            {
                ga.ga_len = 0;
                for (;;)
                {
-                   c = getc(fd);                           /* <sugline> */
+                   c = getc(fd);                           // <sugline>
                    if (c < 0 || ga_grow(&ga, 1) == FAIL)
                        goto someerror;
                    ((char_u *)ga.ga_data)[ga.ga_len++] = c;
@@ -803,7 +803,7 @@ read_cnt_string(FILE *fd, int cnt_bytes, int *cntp)
     int                i;
     char_u     *str;
 
-    /* read the length bytes, MSB first */
+    // read the length bytes, MSB first
     for (i = 0; i < cnt_bytes; ++i)
        cnt = (cnt << 8) + getc(fd);
     if (cnt < 0)
@@ -813,7 +813,7 @@ read_cnt_string(FILE *fd, int cnt_bytes, int *cntp)
     }
     *cntp = cnt;
     if (cnt == 0)
-       return NULL;        /* nothing to read, return NULL */
+       return NULL;        // nothing to read, return NULL
 
     str = read_string(fd, cnt);
     if (str == NULL)
@@ -833,7 +833,7 @@ read_region_section(FILE *fd, slang_T *lp, int len)
     if (len > MAXREGIONS * 2)
        return SP_FORMERROR;
     for (i = 0; i < len; ++i)
-       lp->sl_regions[i] = getc(fd);                   /* <regionname> */
+       lp->sl_regions[i] = getc(fd);                   // <regionname>
     lp->sl_regions[len] = NUL;
     return 0;
 }
@@ -850,12 +850,12 @@ read_charflags_section(FILE *fd)
     char_u     *fol;
     int                flagslen, follen;
 
-    /* <charflagslen> <charflags> */
+    // <charflagslen> <charflags>
     flags = read_cnt_string(fd, 1, &flagslen);
     if (flagslen < 0)
        return flagslen;
 
-    /* <folcharslen> <folchars> */
+    // <folcharslen> <folchars>
     fol = read_cnt_string(fd, 2, &follen);
     if (follen < 0)
     {
@@ -863,14 +863,14 @@ read_charflags_section(FILE *fd)
        return follen;
     }
 
-    /* Set the word-char flags and fill SPELL_ISUPPER() table. */
+    // Set the word-char flags and fill SPELL_ISUPPER() table.
     if (flags != NULL && fol != NULL)
        set_spell_charflags(flags, flagslen, fol);
 
     vim_free(flags);
     vim_free(fol);
 
-    /* When <charflagslen> is zero then <fcharlen> must also be zero. */
+    // When <charflagslen> is zero then <fcharlen> must also be zero.
     if ((flags == NULL) != (fol == NULL))
        return SP_FORMERROR;
     return 0;
@@ -889,8 +889,8 @@ read_prefcond_section(FILE *fd, slang_T *lp)
     char_u     *p;
     char_u     buf[MAXWLEN + 1];
 
-    /* <prefcondcnt> <prefcond> ... */
-    cnt = get2c(fd);                                   /* <prefcondcnt> */
+    // <prefcondcnt> <prefcond> ...
+    cnt = get2c(fd);                                   // <prefcondcnt>
     if (cnt <= 0)
        return SP_FORMERROR;
 
@@ -901,19 +901,19 @@ read_prefcond_section(FILE *fd, slang_T *lp)
 
     for (i = 0; i < cnt; ++i)
     {
-       /* <prefcond> : <condlen> <condstr> */
-       n = getc(fd);                                   /* <condlen> */
+       // <prefcond> : <condlen> <condstr>
+       n = getc(fd);                                   // <condlen>
        if (n < 0 || n >= MAXWLEN)
            return SP_FORMERROR;
 
-       /* When <condlen> is zero we have an empty condition.  Otherwise
-        * compile the regexp program used to check for the condition. */
+       // When <condlen> is zero we have an empty condition.  Otherwise
+       // compile the regexp program used to check for the condition.
        if (n > 0)
        {
-           buf[0] = '^';           /* always match at one position only */
+           buf[0] = '^';           // always match at one position only
            p = buf + 1;
            while (n-- > 0)
-               *p++ = getc(fd);                        /* <condstr> */
+               *p++ = getc(fd);                        // <condstr>
            *p = NUL;
            lp->sl_prefprog[i] = vim_regcomp(buf, RE_MAGIC + RE_STRING);
        }
@@ -932,14 +932,14 @@ read_rep_section(FILE *fd, garray_T *gap, short *first)
     fromto_T   *ftp;
     int                i;
 
-    cnt = get2c(fd);                                   /* <repcount> */
+    cnt = get2c(fd);                                   // <repcount>
     if (cnt < 0)
        return SP_TRUNCERROR;
 
     if (ga_grow(gap, cnt) == FAIL)
        return SP_OTHERERROR;
 
-    /* <rep> : <repfromlen> <repfrom> <reptolen> <repto> */
+    // <rep> : <repfromlen> <repfrom> <reptolen> <repto>
     for (; gap->ga_len < cnt; ++gap->ga_len)
     {
        ftp = &((fromto_T *)gap->ga_data)[gap->ga_len];
@@ -958,7 +958,7 @@ read_rep_section(FILE *fd, garray_T *gap, short *first)
        }
     }
 
-    /* Fill the first-index table. */
+    // Fill the first-index table.
     for (i = 0; i < 256; ++i)
        first[i] = -1;
     for (i = 0; i < gap->ga_len; ++i)
@@ -987,7 +987,7 @@ read_sal_section(FILE *fd, slang_T *slang)
 
     slang->sl_sofo = FALSE;
 
-    i = getc(fd);                              /* <salflags> */
+    i = getc(fd);                              // <salflags>
     if (i & SAL_F0LLOWUP)
        slang->sl_followup = TRUE;
     if (i & SAL_COLLAPSE)
@@ -995,7 +995,7 @@ read_sal_section(FILE *fd, slang_T *slang)
     if (i & SAL_REM_ACCENTS)
        slang->sl_rem_accents = TRUE;
 
-    cnt = get2c(fd);                           /* <salcount> */
+    cnt = get2c(fd);                           // <salcount>
     if (cnt < 0)
        return SP_TRUNCERROR;
 
@@ -1004,21 +1004,21 @@ read_sal_section(FILE *fd, slang_T *slang)
     if (ga_grow(gap, cnt + 1) == FAIL)
        return SP_OTHERERROR;
 
-    /* <sal> : <salfromlen> <salfrom> <saltolen> <salto> */
+    // <sal> : <salfromlen> <salfrom> <saltolen> <salto>
     for (; gap->ga_len < cnt; ++gap->ga_len)
     {
        smp = &((salitem_T *)gap->ga_data)[gap->ga_len];
-       ccnt = getc(fd);                        /* <salfromlen> */
+       ccnt = getc(fd);                        // <salfromlen>
        if (ccnt < 0)
            return SP_TRUNCERROR;
        if ((p = alloc(ccnt + 2)) == NULL)
            return SP_OTHERERROR;
        smp->sm_lead = p;
 
-       /* Read up to the first special char into sm_lead. */
+       // Read up to the first special char into sm_lead.
        for (i = 0; i < ccnt; ++i)
        {
-           c = getc(fd);                       /* <salfrom> */
+           c = getc(fd);                       // <salfrom>
            if (vim_strchr((char_u *)"0123456789(-<^$", c) != NULL)
                break;
            *p++ = c;
@@ -1026,13 +1026,13 @@ read_sal_section(FILE *fd, slang_T *slang)
        smp->sm_leadlen = (int)(p - smp->sm_lead);
        *p++ = NUL;
 
-       /* Put (abc) chars in sm_oneof, if any. */
+       // Put (abc) chars in sm_oneof, if any.
        if (c == '(')
        {
            smp->sm_oneof = p;
            for (++i; i < ccnt; ++i)
            {
-               c = getc(fd);                   /* <salfrom> */
+               c = getc(fd);                   // <salfrom>
                if (c == ')')
                    break;
                *p++ = c;
@@ -1044,16 +1044,16 @@ read_sal_section(FILE *fd, slang_T *slang)
        else
            smp->sm_oneof = NULL;
 
-       /* Any following chars go in sm_rules. */
+       // Any following chars go in sm_rules.
        smp->sm_rules = p;
        if (i < ccnt)
-           /* store the char we got while checking for end of sm_lead */
+           // store the char we got while checking for end of sm_lead
            *p++ = c;
        for (++i; i < ccnt; ++i)
-           *p++ = getc(fd);                    /* <salfrom> */
+           *p++ = getc(fd);                    // <salfrom>
        *p++ = NUL;
 
-       /* <saltolen> <salto> */
+       // <saltolen> <salto>
        smp->sm_to = read_cnt_string(fd, 1, &ccnt);
        if (ccnt < 0)
        {
@@ -1063,7 +1063,7 @@ read_sal_section(FILE *fd, slang_T *slang)
 
        if (has_mbyte)
        {
-           /* convert the multi-byte strings to wide char strings */
+           // convert the multi-byte strings to wide char strings
            smp->sm_lead_w = mb_str2wide(smp->sm_lead);
            smp->sm_leadlen = mb_charlen(smp->sm_lead);
            if (smp->sm_oneof == NULL)
@@ -1090,8 +1090,8 @@ read_sal_section(FILE *fd, slang_T *slang)
 
     if (gap->ga_len > 0)
     {
-       /* Add one extra entry to mark the end with an empty sm_lead.  Avoids
-        * that we need to check the index every time. */
+       // Add one extra entry to mark the end with an empty sm_lead.  Avoids
+       // that we need to check the index every time.
        smp = &((salitem_T *)gap->ga_data)[gap->ga_len];
        if ((p = alloc(1)) == NULL)
            return SP_OTHERERROR;
@@ -1111,7 +1111,7 @@ read_sal_section(FILE *fd, slang_T *slang)
        ++gap->ga_len;
     }
 
-    /* Fill the first-index table. */
+    // Fill the first-index table.
     set_sal_first(slang);
 
     return 0;
@@ -1131,7 +1131,7 @@ read_words_section(FILE *fd, slang_T *lp, int len)
 
     while (done < len)
     {
-       /* Read one word at a time. */
+       // Read one word at a time.
        for (i = 0; ; ++i)
        {
            c = getc(fd);
@@ -1144,7 +1144,7 @@ read_words_section(FILE *fd, slang_T *lp, int len)
                return SP_FORMERROR;
        }
 
-       /* Init the count to 10. */
+       // Init the count to 10.
        count_common_word(lp, word, -1, 10);
        done += i + 1;
     }
@@ -1164,12 +1164,12 @@ read_sofo_section(FILE *fd, slang_T *slang)
 
     slang->sl_sofo = TRUE;
 
-    /* <sofofromlen> <sofofrom> */
+    // <sofofromlen> <sofofrom>
     from = read_cnt_string(fd, 2, &cnt);
     if (cnt < 0)
        return cnt;
 
-    /* <sofotolen> <sofoto> */
+    // <sofotolen> <sofoto>
     to = read_cnt_string(fd, 2, &cnt);
     if (cnt < 0)
     {
@@ -1177,11 +1177,11 @@ read_sofo_section(FILE *fd, slang_T *slang)
        return cnt;
     }
 
-    /* Store the info in slang->sl_sal and/or slang->sl_sal_first. */
+    // Store the info in slang->sl_sal and/or slang->sl_sal_first.
     if (from != NULL && to != NULL)
        res = set_sofo(slang, from, to);
     else if (from != NULL || to != NULL)
-       res = SP_FORMERROR;    /* only one of two strings is an error */
+       res = SP_FORMERROR;    // only one of two strings is an error
     else
        res = 0;
 
@@ -1210,38 +1210,38 @@ read_compound(FILE *fd, slang_T *slang, int len)
     garray_T   *gap;
 
     if (todo < 2)
-       return SP_FORMERROR;    /* need at least two bytes */
+       return SP_FORMERROR;    // need at least two bytes
 
     --todo;
-    c = getc(fd);                                      /* <compmax> */
+    c = getc(fd);                                      // <compmax>
     if (c < 2)
        c = MAXWLEN;
     slang->sl_compmax = c;
 
     --todo;
-    c = getc(fd);                                      /* <compminlen> */
+    c = getc(fd);                                      // <compminlen>
     if (c < 1)
        c = 0;
     slang->sl_compminlen = c;
 
     --todo;
-    c = getc(fd);                                      /* <compsylmax> */
+    c = getc(fd);                                      // <compsylmax>
     if (c < 1)
        c = MAXWLEN;
     slang->sl_compsylmax = c;
 
-    c = getc(fd);                                      /* <compoptions> */
+    c = getc(fd);                                      // <compoptions>
     if (c != 0)
-       ungetc(c, fd);      /* be backwards compatible with Vim 7.0b */
+       ungetc(c, fd);      // be backwards compatible with Vim 7.0b
     else
     {
        --todo;
-       c = getc(fd);       /* only use the lower byte for now */
+       c = getc(fd);       // only use the lower byte for now
        --todo;
        slang->sl_compoptions = c;
 
        gap = &slang->sl_comppat;
-       c = get2c(fd);                                  /* <comppatcount> */
+       c = get2c(fd);                                  // <comppatcount>
        todo -= 2;
        ga_init2(gap, sizeof(char_u *), c);
        if (ga_grow(gap, c) == OK)
@@ -1249,7 +1249,7 @@ read_compound(FILE *fd, slang_T *slang, int len)
            {
                ((char_u **)(gap->ga_data))[gap->ga_len++] =
                                                 read_cnt_string(fd, 1, &cnt);
-                                           /* <comppatlen> <comppattext> */
+                                           // <comppatlen> <comppattext>
                if (cnt < 0)
                    return cnt;
                todo -= cnt + 1;
@@ -1258,10 +1258,10 @@ read_compound(FILE *fd, slang_T *slang, int len)
     if (todo < 0)
        return SP_FORMERROR;
 
-    /* Turn the COMPOUNDRULE items into a regexp pattern:
-     * "a[bc]/a*b+" -> "^\(a[bc]\|a*b\+\)$".
-     * Inserting backslashes may double the length, "^\(\)$<Nul>" is 7 bytes.
-     * Conversion to utf-8 may double the size. */
+    // Turn the COMPOUNDRULE items into a regexp pattern:
+    // "a[bc]/a*b+" -> "^\(a[bc]\|a*b\+\)$".
+    // Inserting backslashes may double the length, "^\(\)$<Nul>" is 7 bytes.
+    // Conversion to utf-8 may double the size.
     c = todo * 2 + 7;
     if (enc_utf8)
        c += todo * 2;
@@ -1269,8 +1269,8 @@ read_compound(FILE *fd, slang_T *slang, int len)
     if (pat == NULL)
        return SP_OTHERERROR;
 
-    /* We also need a list of all flags that can appear at the start and one
-     * for all flags. */
+    // We also need a list of all flags that can appear at the start and one
+    // for all flags.
     cp = alloc(todo + 1);
     if (cp == NULL)
     {
@@ -1289,9 +1289,9 @@ read_compound(FILE *fd, slang_T *slang, int len)
     slang->sl_compallflags = ap;
     *ap = NUL;
 
-    /* And a list of all patterns in their original form, for checking whether
-     * compounding may work in match_compoundrule().  This is freed when we
-     * encounter a wildcard, the check doesn't work then. */
+    // And a list of all patterns in their original form, for checking whether
+    // compounding may work in match_compoundrule().  This is freed when we
+    // encounter a wildcard, the check doesn't work then.
     crp = alloc(todo + 1);
     slang->sl_comprules = crp;
 
@@ -1303,14 +1303,14 @@ read_compound(FILE *fd, slang_T *slang, int len)
     atstart = 1;
     while (todo-- > 0)
     {
-       c = getc(fd);                                   /* <compflags> */
+       c = getc(fd);                                   // <compflags>
        if (c == EOF)
        {
            vim_free(pat);
            return SP_TRUNCERROR;
        }
 
-       /* Add all flags to "sl_compallflags". */
+       // Add all flags to "sl_compallflags".
        if (vim_strchr((char_u *)"?*+[]/", c) == NULL
                && !byte_in_str(slang->sl_compallflags, c))
        {
@@ -1320,8 +1320,8 @@ read_compound(FILE *fd, slang_T *slang, int len)
 
        if (atstart != 0)
        {
-           /* At start of item: copy flags to "sl_compstartflags".  For a
-            * [abc] item set "atstart" to 2 and copy up to the ']'. */
+           // At start of item: copy flags to "sl_compstartflags".  For a
+           // [abc] item set "atstart" to 2 and copy up to the ']'.
            if (c == '[')
                atstart = 2;
            else if (c == ']')
@@ -1338,7 +1338,7 @@ read_compound(FILE *fd, slang_T *slang, int len)
            }
        }
 
-       /* Copy flag to "sl_comprules", unless we run into a wildcard. */
+       // Copy flag to "sl_comprules", unless we run into a wildcard.
        if (crp != NULL)
        {
            if (c == '?' || c == '+' || c == '*')
@@ -1350,16 +1350,16 @@ read_compound(FILE *fd, slang_T *slang, int len)
                *crp++ = c;
        }
 
-       if (c == '/')       /* slash separates two items */
+       if (c == '/')       // slash separates two items
        {
            *pp++ = '\\';
            *pp++ = '|';
            atstart = 1;
        }
-       else                /* normal char, "[abc]" and '*' are copied as-is */
+       else                // normal char, "[abc]" and '*' are copied as-is
        {
            if (c == '?' || c == '+' || c == '~')
-               *pp++ = '\\';       /* "a?" becomes "a\?", "a+" becomes "a\+" */
+               *pp++ = '\\';       // "a?" becomes "a\?", "a+" becomes "a\+"
            if (enc_utf8)
                pp += mb_char2bytes(c, pp);
            else
@@ -1400,10 +1400,10 @@ set_sofo(slang_T *lp, char_u *from, char_u *to)
 
     if (has_mbyte)
     {
-       /* Use "sl_sal" as an array with 256 pointers to a list of wide
-        * characters.  The index is the low byte of the character.
-        * The list contains from-to pairs with a terminating NUL.
-        * sl_sal_first[] is used for latin1 "from" characters. */
+       // Use "sl_sal" as an array with 256 pointers to a list of wide
+       // characters.  The index is the low byte of the character.
+       // The list contains from-to pairs with a terminating NUL.
+       // sl_sal_first[] is used for latin1 "from" characters.
        gap = &lp->sl_sal;
        ga_init2(gap, sizeof(int *), 1);
        if (ga_grow(gap, 256) == FAIL)
@@ -1411,8 +1411,8 @@ set_sofo(slang_T *lp, char_u *from, char_u *to)
        vim_memset(gap->ga_data, 0, sizeof(int *) * 256);
        gap->ga_len = 256;
 
-       /* First count the number of items for each list.  Temporarily use
-        * sl_sal_first[] for this. */
+       // First count the number of items for each list.  Temporarily use
+       // sl_sal_first[] for this.
        for (p = from, s = to; *p != NUL && *s != NUL; )
        {
            c = mb_cptr2char_adv(&p);
@@ -1420,10 +1420,10 @@ set_sofo(slang_T *lp, char_u *from, char_u *to)
            if (c >= 256)
                ++lp->sl_sal_first[c & 0xff];
        }
-       if (*p != NUL || *s != NUL)         /* lengths differ */
+       if (*p != NUL || *s != NUL)         // lengths differ
            return SP_FORMERROR;
 
-       /* Allocate the lists. */
+       // Allocate the lists.
        for (i = 0; i < 256; ++i)
            if (lp->sl_sal_first[i] > 0)
            {
@@ -1434,8 +1434,8 @@ set_sofo(slang_T *lp, char_u *from, char_u *to)
                *(int *)p = 0;
            }
 
-       /* Put the characters up to 255 in sl_sal_first[] the rest in a sl_sal
-        * list. */
+       // Put the characters up to 255 in sl_sal_first[] the rest in a sl_sal
+       // list.
        vim_memset(lp->sl_sal_first, 0, sizeof(salfirst_T) * 256);
        for (p = from, s = to; *p != NUL && *s != NUL; )
        {
@@ -1443,29 +1443,29 @@ set_sofo(slang_T *lp, char_u *from, char_u *to)
            i = mb_cptr2char_adv(&s);
            if (c >= 256)
            {
-               /* Append the from-to chars at the end of the list with
-                * the low byte. */
+               // Append the from-to chars at the end of the list with
+               // the low byte.
                inp = ((int **)gap->ga_data)[c & 0xff];
                while (*inp != 0)
                    ++inp;
-               *inp++ = c;             /* from char */
-               *inp++ = i;             /* to char */
-               *inp++ = NUL;           /* NUL at the end */
+               *inp++ = c;             // from char
+               *inp++ = i;             // to char
+               *inp++ = NUL;           // NUL at the end
            }
            else
-               /* mapping byte to char is done in sl_sal_first[] */
+               // mapping byte to char is done in sl_sal_first[]
                lp->sl_sal_first[c] = i;
        }
     }
     else
     {
-       /* mapping bytes to bytes is done in sl_sal_first[] */
+       // mapping bytes to bytes is done in sl_sal_first[]
        if (STRLEN(from) != STRLEN(to))
            return SP_FORMERROR;
 
        for (i = 0; to[i] != NUL; ++i)
            lp->sl_sal_first[from[i]] = to[i];
-       lp->sl_sal.ga_len = 1;          /* indicates we have soundfolding */
+       lp->sl_sal.ga_len = 1;          // indicates we have soundfolding
     }
 
     return 0;
@@ -1490,9 +1490,9 @@ set_sal_first(slang_T *lp)
     for (i = 0; i < gap->ga_len; ++i)
     {
        if (has_mbyte)
-           /* Use the lowest byte of the first character.  For latin1 it's
-            * the character, for other encodings it should differ for most
-            * characters. */
+           // Use the lowest byte of the first character.  For latin1 it's
+           // the character, for other encodings it should differ for most
+           // characters.
            c = *smp[i].sm_lead_w & 0xff;
        else
            c = *smp[i].sm_lead;
@@ -1503,12 +1503,12 @@ set_sal_first(slang_T *lp)
            {
                int             n;
 
-               /* Make sure all entries with this byte are following each
-                * other.  Move the ones that are in the wrong position.  Do
-                * keep the same ordering! */
+               // Make sure all entries with this byte are following each
+               // other.  Move the ones that are in the wrong position.  Do
+               // keep the same ordering!
                while (i + 1 < gap->ga_len
                                       && (*smp[i + 1].sm_lead_w & 0xff) == c)
-                   /* Skip over entry with same index byte. */
+                   // Skip over entry with same index byte.
                    ++i;
 
                for (n = 1; i + n < gap->ga_len; ++n)
@@ -1516,8 +1516,8 @@ set_sal_first(slang_T *lp)
                    {
                        salitem_T  tsal;
 
-                       /* Move entry with same index byte after the entries
-                        * we already found. */
+                       // Move entry with same index byte after the entries
+                       // we already found.
                        ++i;
                        --n;
                        tsal = smp[i + n];
@@ -1562,37 +1562,37 @@ spell_read_tree(
     FILE       *fd,
     char_u     **bytsp,
     idx_T      **idxsp,
-    int                prefixtree,     /* TRUE for the prefix tree */
-    int                prefixcnt)      /* when "prefixtree" is TRUE: prefix count */
+    int                prefixtree,     // TRUE for the prefix tree
+    int                prefixcnt)      // when "prefixtree" is TRUE: prefix count
 {
     long       len;
     int                idx;
     char_u     *bp;
     idx_T      *ip;
 
-    /* The tree size was computed when writing the file, so that we can
-     * allocate it as one long block. <nodecount> */
+    // The tree size was computed when writing the file, so that we can
+    // allocate it as one long block. <nodecount>
     len = get4c(fd);
     if (len < 0)
        return SP_TRUNCERROR;
     if (len >= LONG_MAX / (long)sizeof(int))
-       /* Invalid length, multiply with sizeof(int) would overflow. */
+       // Invalid length, multiply with sizeof(int) would overflow.
        return SP_FORMERROR;
     if (len > 0)
     {
-       /* Allocate the byte array. */
+       // Allocate the byte array.
        bp = alloc(len);
        if (bp == NULL)
            return SP_OTHERERROR;
        *bytsp = bp;
 
-       /* Allocate the index array. */
+       // Allocate the index array.
        ip = lalloc_clear(len * sizeof(int), TRUE);
        if (ip == NULL)
            return SP_OTHERERROR;
        *idxsp = ip;
 
-       /* Recursively read the tree and store it in the array. */
+       // Recursively read the tree and store it in the array.
        idx = read_tree_node(fd, bp, ip, len, 0, prefixtree, prefixcnt);
        if (idx < 0)
            return idx;
@@ -1615,10 +1615,10 @@ read_tree_node(
     FILE       *fd,
     char_u     *byts,
     idx_T      *idxs,
-    int                maxidx,             /* size of arrays */
-    idx_T      startidx,           /* current index in "byts" and "idxs" */
-    int                prefixtree,         /* TRUE for reading PREFIXTREE */
-    int                maxprefcondnr)      /* maximum for <prefcondnr> */
+    int                maxidx,             // size of arrays
+    idx_T      startidx,           // current index in "byts" and "idxs"
+    int                prefixtree,         // TRUE for reading PREFIXTREE
+    int                maxprefcondnr)      // maximum for <prefcondnr>
 {
     int                len;
     int                i;
@@ -1628,7 +1628,7 @@ read_tree_node(
     int                c2;
 #define SHARED_MASK    0x8000000
 
-    len = getc(fd);                                    /* <siblingcount> */
+    len = getc(fd);                                    // <siblingcount>
     if (len <= 0)
        return SP_TRUNCERROR;
 
@@ -1636,17 +1636,17 @@ read_tree_node(
        return SP_FORMERROR;
     byts[idx++] = len;
 
-    /* Read the byte values, flag/region bytes and shared indexes. */
+    // Read the byte values, flag/region bytes and shared indexes.
     for (i = 1; i <= len; ++i)
     {
-       c = getc(fd);                                   /* <byte> */
+       c = getc(fd);                                   // <byte>
        if (c < 0)
            return SP_TRUNCERROR;
        if (c <= BY_SPECIAL)
        {
            if (c == BY_NOFLAGS && !prefixtree)
            {
-               /* No flags, all regions. */
+               // No flags, all regions.
                idxs[idx] = 0;
                c = 0;
            }
@@ -1654,56 +1654,56 @@ read_tree_node(
            {
                if (prefixtree)
                {
-                   /* Read the optional pflags byte, the prefix ID and the
-                    * condition nr.  In idxs[] store the prefix ID in the low
-                    * byte, the condition index shifted up 8 bits, the flags
-                    * shifted up 24 bits. */
+                   // Read the optional pflags byte, the prefix ID and the
+                   // condition nr.  In idxs[] store the prefix ID in the low
+                   // byte, the condition index shifted up 8 bits, the flags
+                   // shifted up 24 bits.
                    if (c == BY_FLAGS)
-                       c = getc(fd) << 24;             /* <pflags> */
+                       c = getc(fd) << 24;             // <pflags>
                    else
                        c = 0;
 
-                   c |= getc(fd);                      /* <affixID> */
+                   c |= getc(fd);                      // <affixID>
 
-                   n = get2c(fd);                      /* <prefcondnr> */
+                   n = get2c(fd);                      // <prefcondnr>
                    if (n >= maxprefcondnr)
                        return SP_FORMERROR;
                    c |= (n << 8);
                }
-               else /* c must be BY_FLAGS or BY_FLAGS2 */
+               else // c must be BY_FLAGS or BY_FLAGS2
                {
-                   /* Read flags and optional region and prefix ID.  In
-                    * idxs[] the flags go in the low two bytes, region above
-                    * that and prefix ID above the region. */
+                   // Read flags and optional region and prefix ID.  In
+                   // idxs[] the flags go in the low two bytes, region above
+                   // that and prefix ID above the region.
                    c2 = c;
-                   c = getc(fd);                       /* <flags> */
+                   c = getc(fd);                       // <flags>
                    if (c2 == BY_FLAGS2)
-                       c = (getc(fd) << 8) + c;        /* <flags2> */
+                       c = (getc(fd) << 8) + c;        // <flags2>
                    if (c & WF_REGION)
-                       c = (getc(fd) << 16) + c;       /* <region> */
+                       c = (getc(fd) << 16) + c;       // <region>
                    if (c & WF_AFX)
-                       c = (getc(fd) << 24) + c;       /* <affixID> */
+                       c = (getc(fd) << 24) + c;       // <affixID>
                }
 
                idxs[idx] = c;
                c = 0;
            }
-           else /* c == BY_INDEX */
+           else // c == BY_INDEX
            {
-                                                       /* <nodeidx> */
+                                                       // <nodeidx>
                n = get3c(fd);
                if (n < 0 || n >= maxidx)
                    return SP_FORMERROR;
                idxs[idx] = n + SHARED_MASK;
-               c = getc(fd);                           /* <xbyte> */
+               c = getc(fd);                           // <xbyte>
            }
        }
        byts[idx++] = c;
     }
 
-    /* Recursively read the children for non-shared siblings.
-     * Skip the end-of-word ones (zero byte value) and the shared ones (and
-     * remove SHARED_MASK) */
+    // Recursively read the children for non-shared siblings.
+    // Skip the end-of-word ones (zero byte value) and the shared ones (and
+    // remove SHARED_MASK)
     for (i = 1; i <= len; ++i)
        if (byts[startidx + i] != 0)
        {
@@ -1728,7 +1728,7 @@ read_tree_node(
     static void
 spell_reload_one(
     char_u     *fname,
-    int                added_word)     /* invoked through "zg" */
+    int                added_word)     // invoked through "zg"
 {
     slang_T    *slang;
     int                didit = FALSE;
@@ -1739,15 +1739,15 @@ spell_reload_one(
        {
            slang_clear(slang);
            if (spell_load_file(fname, NULL, slang, FALSE) == NULL)
-               /* reloading failed, clear the language */
+               // reloading failed, clear the language
                slang_clear(slang);
            redraw_all_later(SOME_VALID);
            didit = TRUE;
        }
     }
 
-    /* When "zg" was used and the file wasn't loaded yet, should redo
-     * 'spelllang' to load it now. */
+    // When "zg" was used and the file wasn't loaded yet, should redo
+    // 'spelllang' to load it now.
     if (added_word && !didit)
        did_set_spelllang(curwin);
 }
@@ -1757,73 +1757,73 @@ spell_reload_one(
  * Functions for ":mkspell".
  */
 
-#define MAXLINELEN  500                /* Maximum length in bytes of a line in a .aff
-                                  and .dic file. */
+#define MAXLINELEN  500                // Maximum length in bytes of a line in a .aff
+                               // and .dic file.
 /*
  * Main structure to store the contents of a ".aff" file.
  */
 typedef struct afffile_S
 {
-    char_u     *af_enc;        /* "SET", normalized, alloc'ed string or NULL */
-    int                af_flagtype;    /* AFT_CHAR, AFT_LONG, AFT_NUM or AFT_CAPLONG */
-    unsigned   af_rare;        /* RARE ID for rare word */
-    unsigned   af_keepcase;    /* KEEPCASE ID for keep-case word */
-    unsigned   af_bad;         /* BAD ID for banned word */
-    unsigned   af_needaffix;   /* NEEDAFFIX ID */
-    unsigned   af_circumfix;   /* CIRCUMFIX ID */
-    unsigned   af_needcomp;    /* NEEDCOMPOUND ID */
-    unsigned   af_comproot;    /* COMPOUNDROOT ID */
-    unsigned   af_compforbid;  /* COMPOUNDFORBIDFLAG ID */
-    unsigned   af_comppermit;  /* COMPOUNDPERMITFLAG ID */
-    unsigned   af_nosuggest;   /* NOSUGGEST ID */
-    int                af_pfxpostpone; /* postpone prefixes without chop string and
-                                  without flags */
-    int                af_ignoreextra; /* IGNOREEXTRA present */
-    hashtab_T  af_pref;        /* hashtable for prefixes, affheader_T */
-    hashtab_T  af_suff;        /* hashtable for suffixes, affheader_T */
-    hashtab_T  af_comp;        /* hashtable for compound flags, compitem_T */
+    char_u     *af_enc;        // "SET", normalized, alloc'ed string or NULL
+    int                af_flagtype;    // AFT_CHAR, AFT_LONG, AFT_NUM or AFT_CAPLONG
+    unsigned   af_rare;        // RARE ID for rare word
+    unsigned   af_keepcase;    // KEEPCASE ID for keep-case word
+    unsigned   af_bad;         // BAD ID for banned word
+    unsigned   af_needaffix;   // NEEDAFFIX ID
+    unsigned   af_circumfix;   // CIRCUMFIX ID
+    unsigned   af_needcomp;    // NEEDCOMPOUND ID
+    unsigned   af_comproot;    // COMPOUNDROOT ID
+    unsigned   af_compforbid;  // COMPOUNDFORBIDFLAG ID
+    unsigned   af_comppermit;  // COMPOUNDPERMITFLAG ID
+    unsigned   af_nosuggest;   // NOSUGGEST ID
+    int                af_pfxpostpone; // postpone prefixes without chop string and
+                               // without flags
+    int                af_ignoreextra; // IGNOREEXTRA present
+    hashtab_T  af_pref;        // hashtable for prefixes, affheader_T
+    hashtab_T  af_suff;        // hashtable for suffixes, affheader_T
+    hashtab_T  af_comp;        // hashtable for compound flags, compitem_T
 } afffile_T;
 
-#define AFT_CHAR       0       /* flags are one character */
-#define AFT_LONG       1       /* flags are two characters */
-#define AFT_CAPLONG    2       /* flags are one or two characters */
-#define AFT_NUM                3       /* flags are numbers, comma separated */
+#define AFT_CHAR       0       // flags are one character
+#define AFT_LONG       1       // flags are two characters
+#define AFT_CAPLONG    2       // flags are one or two characters
+#define AFT_NUM                3       // flags are numbers, comma separated
 
 typedef struct affentry_S affentry_T;
-/* Affix entry from ".aff" file.  Used for prefixes and suffixes. */
+// Affix entry from ".aff" file.  Used for prefixes and suffixes.
 struct affentry_S
 {
-    affentry_T *ae_next;       /* next affix with same name/number */
-    char_u     *ae_chop;       /* text to chop off basic word (can be NULL) */
-    char_u     *ae_add;        /* text to add to basic word (can be NULL) */
-    char_u     *ae_flags;      /* flags on the affix (can be NULL) */
-    char_u     *ae_cond;       /* condition (NULL for ".") */
-    regprog_T  *ae_prog;       /* regexp program for ae_cond or NULL */
-    char       ae_compforbid;  /* COMPOUNDFORBIDFLAG found */
-    char       ae_comppermit;  /* COMPOUNDPERMITFLAG found */
+    affentry_T *ae_next;       // next affix with same name/number
+    char_u     *ae_chop;       // text to chop off basic word (can be NULL)
+    char_u     *ae_add;        // text to add to basic word (can be NULL)
+    char_u     *ae_flags;      // flags on the affix (can be NULL)
+    char_u     *ae_cond;       // condition (NULL for ".")
+    regprog_T  *ae_prog;       // regexp program for ae_cond or NULL
+    char       ae_compforbid;  // COMPOUNDFORBIDFLAG found
+    char       ae_comppermit;  // COMPOUNDPERMITFLAG found
 };
 
-#define AH_KEY_LEN 17          /* 2 x 8 bytes + NUL */
+#define AH_KEY_LEN 17          // 2 x 8 bytes + NUL
 
-/* Affix header from ".aff" file.  Used for af_pref and af_suff. */
+// Affix header from ".aff" file.  Used for af_pref and af_suff.
 typedef struct affheader_S
 {
-    char_u     ah_key[AH_KEY_LEN]; /* key for hashtab == name of affix */
-    unsigned   ah_flag;        /* affix name as number, uses "af_flagtype" */
-    int                ah_newID;       /* prefix ID after renumbering; 0 if not used */
-    int                ah_combine;     /* suffix may combine with prefix */
-    int                ah_follows;     /* another affix block should be following */
-    affentry_T *ah_first;      /* first affix entry */
+    char_u     ah_key[AH_KEY_LEN]; // key for hashtab == name of affix
+    unsigned   ah_flag;        // affix name as number, uses "af_flagtype"
+    int                ah_newID;       // prefix ID after renumbering; 0 if not used
+    int                ah_combine;     // suffix may combine with prefix
+    int                ah_follows;     // another affix block should be following
+    affentry_T *ah_first;      // first affix entry
 } affheader_T;
 
 #define HI2AH(hi)   ((affheader_T *)(hi)->hi_key)
 
-/* Flag used in compound items. */
+// Flag used in compound items.
 typedef struct compitem_S
 {
-    char_u     ci_key[AH_KEY_LEN]; /* key for hashtab == name of compound */
-    unsigned   ci_flag;        /* affix name as number, uses "af_flagtype" */
-    int                ci_newID;       /* affix ID after renumbering. */
+    char_u     ci_key[AH_KEY_LEN]; // key for hashtab == name of compound
+    unsigned   ci_flag;        // affix name as number, uses "af_flagtype"
+    int                ci_newID;       // affix ID after renumbering.
 } compitem_T;
 
 #define HI2CI(hi)   ((compitem_T *)(hi)->hi_key)
@@ -1836,13 +1836,13 @@ typedef struct compitem_S
  * "sb_data" is correct for systems where pointers must be aligned on
  * pointer-size boundaries and sizeof(pointer) > sizeof(int) (e.g., Sparc).
  */
-#define  SBLOCKSIZE 16000      /* size of sb_data */
+#define  SBLOCKSIZE 16000      // size of sb_data
 typedef struct sblock_S sblock_T;
 struct sblock_S
 {
-    int                sb_used;        /* nr of bytes already in use */
-    sblock_T   *sb_next;       /* next block in list */
-    char_u     sb_data[1];     /* data, actually longer */
+    int                sb_used;        // nr of bytes already in use
+    sblock_T   *sb_next;       // next block in list
+    char_u     sb_data[1];     // data, actually longer
 };
 
 /*
@@ -1851,40 +1851,40 @@ struct sblock_S
 typedef struct wordnode_S wordnode_T;
 struct wordnode_S
 {
-    union   /* shared to save space */
+    union   // shared to save space
     {
-       char_u  hashkey[6];     /* the hash key, only used while compressing */
-       int     index;          /* index in written nodes (valid after first
-                                  round) */
+       char_u  hashkey[6];     // the hash key, only used while compressing
+       int     index;          // index in written nodes (valid after first
+                               // round)
     } wn_u1;
-    union   /* shared to save space */
+    union   // shared to save space
     {
-       wordnode_T *next;       /* next node with same hash key */
-       wordnode_T *wnode;      /* parent node that will write this node */
+       wordnode_T *next;       // next node with same hash key
+       wordnode_T *wnode;      // parent node that will write this node
     } wn_u2;
-    wordnode_T *wn_child;      /* child (next byte in word) */
-    wordnode_T  *wn_sibling;   /* next sibling (alternate byte in word,
-                                  always sorted) */
-    int                wn_refs;        /* Nr. of references to this node.  Only
-                                  relevant for first node in a list of
-                                  siblings, in following siblings it is
-                                  always one. */
-    char_u     wn_byte;        /* Byte for this node. NUL for word end */
-
-    /* Info for when "wn_byte" is NUL.
-     * In PREFIXTREE "wn_region" is used for the prefcondnr.
-     * In the soundfolded word tree "wn_flags" has the MSW of the wordnr and
-     * "wn_region" the LSW of the wordnr. */
-    char_u     wn_affixID;     /* supported/required prefix ID or 0 */
-    short_u    wn_flags;       /* WF_ flags */
-    short      wn_region;      /* region mask */
+    wordnode_T *wn_child;      // child (next byte in word)
+    wordnode_T  *wn_sibling;   // next sibling (alternate byte in word,
+                               // always sorted)
+    int                wn_refs;        // Nr. of references to this node.  Only
+                               // relevant for first node in a list of
+                               // siblings, in following siblings it is
+                               // always one.
+    char_u     wn_byte;        // Byte for this node. NUL for word end
+
+    // Info for when "wn_byte" is NUL.
+    // In PREFIXTREE "wn_region" is used for the prefcondnr.
+    // In the soundfolded word tree "wn_flags" has the MSW of the wordnr and
+    // "wn_region" the LSW of the wordnr.
+    char_u     wn_affixID;     // supported/required prefix ID or 0
+    short_u    wn_flags;       // WF_ flags
+    short      wn_region;      // region mask
 
 #ifdef SPELL_PRINTTREE
-    int                wn_nr;          /* sequence nr for printing */
+    int                wn_nr;          // sequence nr for printing
 #endif
 };
 
-#define WN_MASK         0xffff         /* mask relevant bits of "wn_flags" */
+#define WN_MASK         0xffff         // mask relevant bits of "wn_flags"
 
 #define HI2WN(hi)    (wordnode_T *)((hi)->hi_key)
 
@@ -1893,73 +1893,73 @@ struct wordnode_S
  */
 typedef struct spellinfo_S
 {
-    wordnode_T *si_foldroot;   /* tree with case-folded words */
-    long       si_foldwcount;  /* nr of words in si_foldroot */
+    wordnode_T *si_foldroot;   // tree with case-folded words
+    long       si_foldwcount;  // nr of words in si_foldroot
 
-    wordnode_T *si_keeproot;   /* tree with keep-case words */
-    long       si_keepwcount;  /* nr of words in si_keeproot */
+    wordnode_T *si_keeproot;   // tree with keep-case words
+    long       si_keepwcount;  // nr of words in si_keeproot
 
-    wordnode_T *si_prefroot;   /* tree with postponed prefixes */
+    wordnode_T *si_prefroot;   // tree with postponed prefixes
 
-    long       si_sugtree;     /* creating the soundfolding trie */
+    long       si_sugtree;     // creating the soundfolding trie
 
-    sblock_T   *si_blocks;     /* memory blocks used */
-    long       si_blocks_cnt;  /* memory blocks allocated */
-    int                si_did_emsg;    /* TRUE when ran out of memory */
+    sblock_T   *si_blocks;     // memory blocks used
+    long       si_blocks_cnt;  // memory blocks allocated
+    int                si_did_emsg;    // TRUE when ran out of memory
 
-    long       si_compress_cnt;    /* words to add before lowering
-                                      compression limit */
-    wordnode_T *si_first_free; /* List of nodes that have been freed during
-                                  compression, linked by "wn_child" field. */
-    long       si_free_count;  /* number of nodes in si_first_free */
+    long       si_compress_cnt;    // words to add before lowering
+                                   // compression limit
+    wordnode_T *si_first_free; // List of nodes that have been freed during
+                               // compression, linked by "wn_child" field.
+    long       si_free_count;  // number of nodes in si_first_free
 #ifdef SPELL_PRINTTREE
-    int                si_wordnode_nr; /* sequence nr for nodes */
+    int                si_wordnode_nr; // sequence nr for nodes
 #endif
-    buf_T      *si_spellbuf;   /* buffer used to store soundfold word table */
-
-    int                si_ascii;       /* handling only ASCII words */
-    int                si_add;         /* addition file */
-    int                si_clear_chartab;   /* when TRUE clear char tables */
-    int                si_region;      /* region mask */
-    vimconv_T  si_conv;        /* for conversion to 'encoding' */
-    int                si_memtot;      /* runtime memory used */
-    int                si_verbose;     /* verbose messages */
-    int                si_msg_count;   /* number of words added since last message */
-    char_u     *si_info;       /* info text chars or NULL  */
-    int                si_region_count; /* number of regions supported (1 when there
-                                   are no regions) */
+    buf_T      *si_spellbuf;   // buffer used to store soundfold word table
+
+    int                si_ascii;       // handling only ASCII words
+    int                si_add;         // addition file
+    int                si_clear_chartab;   // when TRUE clear char tables
+    int                si_region;      // region mask
+    vimconv_T  si_conv;        // for conversion to 'encoding'
+    int                si_memtot;      // runtime memory used
+    int                si_verbose;     // verbose messages
+    int                si_msg_count;   // number of words added since last message
+    char_u     *si_info;       // info text chars or NULL
+    int                si_region_count; // number of regions supported (1 when there
+                                // are no regions)
     char_u     si_region_name[MAXREGIONS * 2 + 1];
-                               /* region names; used only if
-                                * si_region_count > 1) */
-
-    garray_T   si_rep;         /* list of fromto_T entries from REP lines */
-    garray_T   si_repsal;      /* list of fromto_T entries from REPSAL lines */
-    garray_T   si_sal;         /* list of fromto_T entries from SAL lines */
-    char_u     *si_sofofr;     /* SOFOFROM text */
-    char_u     *si_sofoto;     /* SOFOTO text */
-    int                si_nosugfile;   /* NOSUGFILE item found */
-    int                si_nosplitsugs; /* NOSPLITSUGS item found */
-    int                si_nocompoundsugs; /* NOCOMPOUNDSUGS item found */
-    int                si_followup;    /* soundsalike: ? */
-    int                si_collapse;    /* soundsalike: ? */
-    hashtab_T  si_commonwords; /* hashtable for common words */
-    time_t     si_sugtime;     /* timestamp for .sug file */
-    int                si_rem_accents; /* soundsalike: remove accents */
-    garray_T   si_map;         /* MAP info concatenated */
-    char_u     *si_midword;    /* MIDWORD chars or NULL  */
-    int                si_compmax;     /* max nr of words for compounding */
-    int                si_compminlen;  /* minimal length for compounding */
-    int                si_compsylmax;  /* max nr of syllables for compounding */
-    int                si_compoptions; /* COMP_ flags */
-    garray_T   si_comppat;     /* CHECKCOMPOUNDPATTERN items, each stored as
-                                  a string */
-    char_u     *si_compflags;  /* flags used for compounding */
-    char_u     si_nobreak;     /* NOBREAK */
-    char_u     *si_syllable;   /* syllable string */
-    garray_T   si_prefcond;    /* table with conditions for postponed
-                                * prefixes, each stored as a string */
-    int                si_newprefID;   /* current value for ah_newID */
-    int                si_newcompID;   /* current value for compound ID */
+                               // region names; used only if
+                               // si_region_count > 1)
+
+    garray_T   si_rep;         // list of fromto_T entries from REP lines
+    garray_T   si_repsal;      // list of fromto_T entries from REPSAL lines
+    garray_T   si_sal;         // list of fromto_T entries from SAL lines
+    char_u     *si_sofofr;     // SOFOFROM text
+    char_u     *si_sofoto;     // SOFOTO text
+    int                si_nosugfile;   // NOSUGFILE item found
+    int                si_nosplitsugs; // NOSPLITSUGS item found
+    int                si_nocompoundsugs; // NOCOMPOUNDSUGS item found
+    int                si_followup;    // soundsalike: ?
+    int                si_collapse;    // soundsalike: ?
+    hashtab_T  si_commonwords; // hashtable for common words
+    time_t     si_sugtime;     // timestamp for .sug file
+    int                si_rem_accents; // soundsalike: remove accents
+    garray_T   si_map;         // MAP info concatenated
+    char_u     *si_midword;    // MIDWORD chars or NULL
+    int                si_compmax;     // max nr of words for compounding
+    int                si_compminlen;  // minimal length for compounding
+    int                si_compsylmax;  // max nr of syllables for compounding
+    int                si_compoptions; // COMP_ flags
+    garray_T   si_comppat;     // CHECKCOMPOUNDPATTERN items, each stored as
+                               // a string
+    char_u     *si_compflags;  // flags used for compounding
+    char_u     si_nobreak;     // NOBREAK
+    char_u     *si_syllable;   // syllable string
+    garray_T   si_prefcond;    // table with conditions for postponed
+                               // prefixes, each stored as a string
+    int                si_newprefID;   // current value for ah_newID
+    int                si_newcompID;   // current value for compound ID
 } spellinfo_T;
 
 static int is_aff_rule(char_u **items, int itemcnt, char *rulename, int         mincount);
@@ -1997,23 +1997,23 @@ static void sug_write(spellinfo_T *spin, char_u *fname);
 static void spell_message(spellinfo_T *spin, char_u *str);
 static void init_spellfile(void);
 
-/* In the postponed prefixes tree wn_flags is used to store the WFP_ flags,
- * but it must be negative to indicate the prefix tree to tree_add_word().
- * Use a negative number with the lower 8 bits zero. */
+// In the postponed prefixes tree wn_flags is used to store the WFP_ flags,
+// but it must be negative to indicate the prefix tree to tree_add_word().
+// Use a negative number with the lower 8 bits zero.
 #define PFX_FLAGS      -256
 
-/* flags for "condit" argument of store_aff_word() */
-#define CONDIT_COMB    1       /* affix must combine */
-#define CONDIT_CFIX    2       /* affix must have CIRCUMFIX flag */
-#define CONDIT_SUF     4       /* add a suffix for matching flags */
-#define CONDIT_AFF     8       /* word already has an affix */
+// flags for "condit" argument of store_aff_word()
+#define CONDIT_COMB    1       // affix must combine
+#define CONDIT_CFIX    2       // affix must have CIRCUMFIX flag
+#define CONDIT_SUF     4       // add a suffix for matching flags
+#define CONDIT_AFF     8       // word already has an affix
 
 /*
  * Tunable parameters for when the tree is compressed.  See 'mkspellmem'.
  */
-static long compress_start = 30000;    /* memory / SBLOCKSIZE */
-static long compress_inc = 100;                /* memory / SBLOCKSIZE */
-static long compress_added = 500000;   /* word count */
+static long compress_start = 30000;    // memory / SBLOCKSIZE
+static long compress_inc = 100;                // memory / SBLOCKSIZE
+static long compress_added = 500000;   // word count
 
 /*
  * Check the 'mkspellmem' option.  Return FAIL if it's wrong.
@@ -2029,7 +2029,7 @@ spell_check_msm(void)
 
     if (!VIM_ISDIGIT(*p))
        return FAIL;
-    /* block count = (value * 1024) / SBLOCKSIZE (but avoid overflow)*/
+    // block count = (value * 1024) / SBLOCKSIZE (but avoid overflow)
     start = (getdigits(&p) * 10) / (SBLOCKSIZE / 102);
     if (*p != ',')
        return FAIL;
@@ -2089,7 +2089,7 @@ spell_print_node(wordnode_T *node, int depth)
 {
     if (node->wn_u1.index)
     {
-       /* Done this node before, print the reference. */
+       // Done this node before, print the reference.
        PRINTSOME(line1, depth, "(%d)", node->wn_nr, 0);
        PRINTSOME(line2, depth, "    ", 0, 0);
        PRINTSOME(line3, depth, "    ", 0, 0);
@@ -2106,7 +2106,7 @@ spell_print_node(wordnode_T *node, int depth)
            if (node->wn_child != NULL)
                PRINTSOME(line1, depth, " %c -> ", node->wn_byte, 0);
            else
-               /* Cannot happen? */
+               // Cannot happen?
                PRINTSOME(line1, depth, " %c ???", node->wn_byte, 0);
        }
        else
@@ -2126,14 +2126,14 @@ spell_print_node(wordnode_T *node, int depth)
            msg(line3);
        }
 
-       /* do the children */
+       // do the children
        if (node->wn_byte != NUL && node->wn_child != NULL)
            spell_print_node(node->wn_child, depth + 1);
 
-       /* do the siblings */
+       // do the siblings
        if (node->wn_sibling != NULL)
        {
-           /* get rid of all parent details except | */
+           // get rid of all parent details except |
            STRCPY(line1, line3);
            STRCPY(line2, line3);
            spell_print_node(node->wn_sibling, depth);
@@ -2146,15 +2146,15 @@ spell_print_tree(wordnode_T *root)
 {
     if (root != NULL)
     {
-       /* Clear the "wn_u1.index" fields, used to remember what has been
-        * done. */
+       // Clear the "wn_u1.index" fields, used to remember what has been
+       // done.
        spell_clear_flags(root);
 
-       /* Recursively print the tree. */
+       // Recursively print the tree.
        spell_print_node(root, 0);
     }
 }
-#endif /* SPELL_PRINTTREE */
+#endif // SPELL_PRINTTREE
 
 /*
  * Read the affix file "fname".
@@ -2187,16 +2187,16 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
     int                found_map = FALSE;
     hashitem_T *hi;
     int                l;
-    int                compminlen = 0;         /* COMPOUNDMIN value */
-    int                compsylmax = 0;         /* COMPOUNDSYLMAX value */
-    int                compoptions = 0;        /* COMP_ flags */
-    int                compmax = 0;            /* COMPOUNDWORDMAX value */
-    char_u     *compflags = NULL;      /* COMPOUNDFLAG and COMPOUNDRULE
-                                          concatenated */
-    char_u     *midword = NULL;        /* MIDWORD value */
-    char_u     *syllable = NULL;       /* SYLLABLE value */
-    char_u     *sofofrom = NULL;       /* SOFOFROM value */
-    char_u     *sofoto = NULL;         /* SOFOTO value */
+    int                compminlen = 0;         // COMPOUNDMIN value
+    int                compsylmax = 0;         // COMPOUNDSYLMAX value
+    int                compoptions = 0;        // COMP_ flags
+    int                compmax = 0;            // COMPOUNDWORDMAX value
+    char_u     *compflags = NULL;      // COMPOUNDFLAG and COMPOUNDRULE
+                                       // concatenated
+    char_u     *midword = NULL;        // MIDWORD value
+    char_u     *syllable = NULL;       // SYLLABLE value
+    char_u     *sofofrom = NULL;       // SOFOFROM value
+    char_u     *sofoto = NULL;         // SOFOTO value
 
     /*
      * Open the file.
@@ -2211,16 +2211,16 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
     vim_snprintf((char *)IObuff, IOSIZE, _("Reading affix file %s..."), fname);
     spell_message(spin, IObuff);
 
-    /* Only do REP lines when not done in another .aff file already. */
+    // Only do REP lines when not done in another .aff file already.
     do_rep = spin->si_rep.ga_len == 0;
 
-    /* Only do REPSAL lines when not done in another .aff file already. */
+    // Only do REPSAL lines when not done in another .aff file already.
     do_repsal = spin->si_repsal.ga_len == 0;
 
-    /* Only do SAL lines when not done in another .aff file already. */
+    // Only do SAL lines when not done in another .aff file already.
     do_sal = spin->si_sal.ga_len == 0;
 
-    /* Only do MAP lines when not done in another .aff file already. */
+    // Only do MAP lines when not done in another .aff file already.
     do_mapline = spin->si_map.ga_len == 0;
 
     /*
@@ -2244,11 +2244,11 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
        line_breakcheck();
        ++lnum;
 
-       /* Skip comment lines. */
+       // Skip comment lines.
        if (*rline == '#')
            continue;
 
-       /* Convert from "SET" to 'encoding' when needed. */
+       // Convert from "SET" to 'encoding' when needed.
        vim_free(pc);
        if (spin->si_conv.vc_type != CONV_NONE)
        {
@@ -2267,36 +2267,36 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
            line = rline;
        }
 
-       /* Split the line up in white separated items.  Put a NUL after each
-        * item. */
+       // Split the line up in white separated items.  Put a NUL after each
+       // item.
        itemcnt = 0;
        for (p = line; ; )
        {
-           while (*p != NUL && *p <= ' ')  /* skip white space and CR/NL */
+           while (*p != NUL && *p <= ' ')  // skip white space and CR/NL
                ++p;
            if (*p == NUL)
                break;
-           if (itemcnt == MAXITEMCNT)      /* too many items */
+           if (itemcnt == MAXITEMCNT)      // too many items
                break;
            items[itemcnt++] = p;
-           /* A few items have arbitrary text argument, don't split them. */
+           // A few items have arbitrary text argument, don't split them.
            if (itemcnt == 2 && spell_info_item(items[0]))
-               while (*p >= ' ' || *p == TAB)    /* skip until CR/NL */
+               while (*p >= ' ' || *p == TAB)    // skip until CR/NL
                    ++p;
            else
-               while (*p > ' ')    /* skip until white space or CR/NL */
+               while (*p > ' ')    // skip until white space or CR/NL
                    ++p;
            if (*p == NUL)
                break;
            *p++ = NUL;
        }
 
-       /* Handle non-empty lines. */
+       // Handle non-empty lines.
        if (itemcnt > 0)
        {
            if (is_aff_rule(items, itemcnt, "SET", 2) && aff->af_enc == NULL)
            {
-               /* Setup for conversion from "ENC" to 'encoding'. */
+               // Setup for conversion from "ENC" to 'encoding'.
                aff->af_enc = enc_canonize(items[1]);
                if (aff->af_enc != NULL && !spin->si_ascii
                        && convert_setup(&spin->si_conv, aff->af_enc,
@@ -2357,9 +2357,9 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
            }
            else if (is_aff_rule(items, itemcnt, "TRY", 2))
            {
-               /* ignored, we look in the tree for what chars may appear */
+               // ignored, we look in the tree for what chars may appear
            }
-           /* TODO: remove "RAR" later */
+           // TODO: remove "RAR" later
            else if ((is_aff_rule(items, itemcnt, "RAR", 2)
                        || is_aff_rule(items, itemcnt, "RARE", 2))
                                                         && aff->af_rare == 0)
@@ -2367,7 +2367,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                aff->af_rare = affitem2flag(aff->af_flagtype, items[1],
                                                                 fname, lnum);
            }
-           /* TODO: remove "KEP" later */
+           // TODO: remove "KEP" later
            else if ((is_aff_rule(items, itemcnt, "KEP", 2)
                        || is_aff_rule(items, itemcnt, "KEEPCASE", 2))
                                                     && aff->af_keepcase == 0)
@@ -2434,8 +2434,8 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
            else if (is_aff_rule(items, itemcnt, "COMPOUNDFLAG", 2)
                                                         && compflags == NULL)
            {
-               /* Turn flag "c" into COMPOUNDRULE compatible string "c+",
-                * "Na" into "Na+", "1234" into "1234+". */
+               // Turn flag "c" into COMPOUNDRULE compatible string "c+",
+               // "Na" into "Na+", "1234" into "1234+".
                p = getroom(spin, STRLEN(items[1]) + 2, FALSE);
                if (p != NULL)
                {
@@ -2446,19 +2446,19 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
            }
            else if (is_aff_rule(items, itemcnt, "COMPOUNDRULES", 2))
            {
-               /* We don't use the count, but do check that it's a number and
-                * not COMPOUNDRULE mistyped. */
+               // We don't use the count, but do check that it's a number and
+               // not COMPOUNDRULE mistyped.
                if (atoi((char *)items[1]) == 0)
                    smsg(_("Wrong COMPOUNDRULES value in %s line %d: %s"),
                                                       fname, lnum, items[1]);
            }
            else if (is_aff_rule(items, itemcnt, "COMPOUNDRULE", 2))
            {
-               /* Don't use the first rule if it is a number. */
+               // Don't use the first rule if it is a number.
                if (compflags != NULL || *skipdigits(items[1]) != NUL)
                {
-                   /* Concatenate this string to previously defined ones,
-                    * using a slash to separate them. */
+                   // Concatenate this string to previously defined ones,
+                   // using a slash to separate them.
                    l = (int)STRLEN(items[1]) + 1;
                    if (compflags != NULL)
                        l += (int)STRLEN(compflags) + 1;
@@ -2526,7 +2526,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                garray_T    *gap = &spin->si_comppat;
                int         i;
 
-               /* Only add the couple if it isn't already there. */
+               // Only add the couple if it isn't already there.
                for (i = 0; i < gap->ga_len - 1; i += 2)
                    if (STRCMP(((char_u **)(gap->ga_data))[i], items[1]) == 0
                            && STRCMP(((char_u **)(gap->ga_data))[i + 1],
@@ -2582,10 +2582,10 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                else
                    tp = &aff->af_suff;
 
-               /* Myspell allows the same affix name to be used multiple
-                * times.  The affix files that do this have an undocumented
-                * "S" flag on all but the last block, thus we check for that
-                * and store it in ah_follows. */
+               // Myspell allows the same affix name to be used multiple
+               // times.  The affix files that do this have an undocumented
+               // "S" flag on all but the last block, thus we check for that
+               // and store it in ah_follows.
                vim_strncpy(key, items[1], AH_KEY_LEN - 1);
                hi = hash_find(tp, key);
                if (!HASHITEM_EMPTY(hi))
@@ -2600,7 +2600,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                }
                else
                {
-                   /* New affix letter. */
+                   // New affix letter.
                    cur_aff = (affheader_T *)getroom(spin,
                                                   sizeof(affheader_T), TRUE);
                    if (cur_aff == NULL)
@@ -2625,8 +2625,8 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                    cur_aff->ah_combine = (*items[2] == 'Y');
                }
 
-               /* Check for the "S" flag, which apparently means that another
-                * block with the same affix name is following. */
+               // Check for the "S" flag, which apparently means that another
+               // block with the same affix name is following.
                if (itemcnt > lasti && STRCMP(items[lasti], "S") == 0)
                {
                    ++lasti;
@@ -2635,8 +2635,8 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                else
                    cur_aff->ah_follows = FALSE;
 
-               /* Myspell allows extra text after the item, but that might
-                * mean mistakes go unnoticed.  Require a comment-starter. */
+               // Myspell allows extra text after the item, but that might
+               // mean mistakes go unnoticed.  Require a comment-starter.
                if (itemcnt > lasti && *items[lasti] != '#')
                    smsg(_(e_afftrailing), fname, lnum, items[lasti]);
 
@@ -2648,18 +2648,18 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                {
                    if (cur_aff->ah_newID == 0)
                    {
-                       /* Use a new number in the .spl file later, to be able
-                        * to handle multiple .aff files. */
+                       // Use a new number in the .spl file later, to be able
+                       // to handle multiple .aff files.
                        check_renumber(spin);
                        cur_aff->ah_newID = ++spin->si_newprefID;
 
-                       /* We only really use ah_newID if the prefix is
-                        * postponed.  We know that only after handling all
-                        * the items. */
+                       // We only really use ah_newID if the prefix is
+                       // postponed.  We know that only after handling all
+                       // the items.
                        did_postpone_prefix = FALSE;
                    }
                    else
-                       /* Did use the ID in a previous block. */
+                       // Did use the ID in a previous block.
                        did_postpone_prefix = TRUE;
                }
 
@@ -2675,9 +2675,9 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                int             upper = FALSE;
                int             lasti = 5;
 
-               /* Myspell allows extra text after the item, but that might
-                * mean mistakes go unnoticed.  Require a comment-starter,
-                * unless IGNOREEXTRA is used.  Hunspell uses a "-" item. */
+               // Myspell allows extra text after the item, but that might
+               // mean mistakes go unnoticed.  Require a comment-starter,
+               // unless IGNOREEXTRA is used.  Hunspell uses a "-" item.
                if (itemcnt > lasti
                        && !aff->af_ignoreextra
                        && *items[lasti] != '#'
@@ -2685,7 +2685,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                                                     || itemcnt != lasti + 1))
                    smsg(_(e_afftrailing), fname, lnum, items[lasti]);
 
-               /* New item for an affix letter. */
+               // New item for an affix letter.
                --aff_todo;
                aff_entry = (affentry_T *)getroom(spin,
                                                    sizeof(affentry_T), TRUE);
@@ -2698,7 +2698,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                {
                    aff_entry->ae_add = getroom_save(spin, items[3]);
 
-                   /* Recognize flags on the affix: abcd/XYZ */
+                   // Recognize flags on the affix: abcd/XYZ
                    aff_entry->ae_flags = vim_strchr(aff_entry->ae_add, '/');
                    if (aff_entry->ae_flags != NULL)
                    {
@@ -2707,8 +2707,8 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                    }
                }
 
-               /* Don't use an affix entry with non-ASCII characters when
-                * "spin->si_ascii" is TRUE. */
+               // Don't use an affix entry with non-ASCII characters when
+               // "spin->si_ascii" is TRUE.
                if (!spin->si_ascii || !(has_non_ascii(aff_entry->ae_chop)
                                          || has_non_ascii(aff_entry->ae_add)))
                {
@@ -2731,18 +2731,18 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                                                       fname, lnum, items[4]);
                    }
 
-                   /* For postponed prefixes we need an entry in si_prefcond
-                    * for the condition.  Use an existing one if possible.
-                    * Can't be done for an affix with flags, ignoring
-                    * COMPOUNDFORBIDFLAG and COMPOUNDPERMITFLAG. */
+                   // For postponed prefixes we need an entry in si_prefcond
+                   // for the condition.  Use an existing one if possible.
+                   // Can't be done for an affix with flags, ignoring
+                   // COMPOUNDFORBIDFLAG and COMPOUNDPERMITFLAG.
                    if (*items[0] == 'P' && aff->af_pfxpostpone
                                               && aff_entry->ae_flags == NULL)
                    {
-                       /* When the chop string is one lower-case letter and
-                        * the add string ends in the upper-case letter we set
-                        * the "upper" flag, clear "ae_chop" and remove the
-                        * letters from "ae_add".  The condition must either
-                        * be empty or start with the same letter. */
+                       // When the chop string is one lower-case letter and
+                       // the add string ends in the upper-case letter we set
+                       // the "upper" flag, clear "ae_chop" and remove the
+                       // letters from "ae_add".  The condition must either
+                       // be empty or start with the same letter.
                        if (aff_entry->ae_chop != NULL
                                && aff_entry->ae_add != NULL
                                && aff_entry->ae_chop[(*mb_ptr2len)(
@@ -2765,9 +2765,9 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                                    aff_entry->ae_chop = NULL;
                                    *p = NUL;
 
-                                   /* The condition is matched with the
-                                    * actual word, thus must check for the
-                                    * upper-case letter. */
+                                   // The condition is matched with the
+                                   // actual word, thus must check for the
+                                   // upper-case letter.
                                    if (aff_entry->ae_cond != NULL)
                                    {
                                        char_u  buf[MAXLINELEN];
@@ -2800,7 +2800,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                            char_u      **pp;
                            int         n;
 
-                           /* Find a previously used condition. */
+                           // Find a previously used condition.
                            for (idx = spin->si_prefcond.ga_len - 1; idx >= 0;
                                                                        --idx)
                            {
@@ -2810,7 +2810,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                            }
                            if (idx < 0 && ga_grow(&spin->si_prefcond, 1) == OK)
                            {
-                               /* Not found, add a new condition. */
+                               // Not found, add a new condition.
                                idx = spin->si_prefcond.ga_len++;
                                pp = ((char_u **)spin->si_prefcond.ga_data)
                                                                        + idx;
@@ -2821,14 +2821,14 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                                                          aff_entry->ae_cond);
                            }
 
-                           /* Add the prefix to the prefix tree. */
+                           // Add the prefix to the prefix tree.
                            if (aff_entry->ae_add == NULL)
                                p = (char_u *)"";
                            else
                                p = aff_entry->ae_add;
 
-                           /* PFX_FLAGS is a negative number, so that
-                            * tree_add_word() knows this is the prefix tree. */
+                           // PFX_FLAGS is a negative number, so that
+                           // tree_add_word() knows this is the prefix tree.
                            n = PFX_FLAGS;
                            if (!cur_aff->ah_combine)
                                n |= WFP_NC;
@@ -2843,7 +2843,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                            did_postpone_prefix = TRUE;
                        }
 
-                       /* Didn't actually use ah_newID, backup si_newprefID. */
+                       // Didn't actually use ah_newID, backup si_newprefID.
                        if (aff_todo == 0 && !did_postpone_prefix)
                        {
                            --spin->si_newprefID;
@@ -2867,7 +2867,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
            else if (is_aff_rule(items, itemcnt, "REP", 2)
                     || is_aff_rule(items, itemcnt, "REPSAL", 2))
            {
-               /* Ignore REP/REPSAL count */;
+               // Ignore REP/REPSAL count
                if (!isdigit(*items[1]))
                    smsg(_("Expected REP(SAL) count in %s line %d"),
                                                                 fname, lnum);
@@ -2876,15 +2876,15 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                        || STRCMP(items[0], "REPSAL") == 0)
                    && itemcnt >= 3)
            {
-               /* REP/REPSAL item */
-               /* Myspell ignores extra arguments, we require it starts with
-                * # to detect mistakes. */
+               // REP/REPSAL item
+               // Myspell ignores extra arguments, we require it starts with
+               // # to detect mistakes.
                if (itemcnt > 3 && items[3][0] != '#')
                    smsg(_(e_afftrailing), fname, lnum, items[3]);
                if (items[0][3] == 'S' ? do_repsal : do_rep)
                {
-                   /* Replace underscore with space (can't include a space
-                    * directly). */
+                   // Replace underscore with space (can't include a space
+                   // directly).
                    for (p = items[1]; *p != NUL; MB_PTR_ADV(p))
                        if (*p == '_')
                            *p = ' ';
@@ -2898,10 +2898,10 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
            }
            else if (is_aff_rule(items, itemcnt, "MAP", 2))
            {
-               /* MAP item or count */
+               // MAP item or count
                if (!found_map)
                {
-                   /* First line contains the count. */
+                   // First line contains the count.
                    found_map = TRUE;
                    if (!isdigit(*items[1]))
                        smsg(_("Expected MAP count in %s line %d"),
@@ -2911,7 +2911,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                {
                    int         c;
 
-                   /* Check that every character appears only once. */
+                   // Check that every character appears only once.
                    for (p = items[1]; *p != NUL; )
                    {
                        c = mb_ptr2char_adv(&p);
@@ -2923,19 +2923,19 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                                                                 fname, lnum);
                    }
 
-                   /* We simply concatenate all the MAP strings, separated by
-                    * slashes. */
+                   // We simply concatenate all the MAP strings, separated by
+                   // slashes.
                    ga_concat(&spin->si_map, items[1]);
                    ga_append(&spin->si_map, '/');
                }
            }
-           /* Accept "SAL from to" and "SAL from to  #comment". */
+           // Accept "SAL from to" and "SAL from to  #comment".
            else if (is_aff_rule(items, itemcnt, "SAL", 3))
            {
                if (do_sal)
                {
-                   /* SAL item (sounds-a-like)
-                    * Either one of the known keys or a from-to pair. */
+                   // SAL item (sounds-a-like)
+                   // Either one of the known keys or a from-to pair.
                    if (STRCMP(items[1], "followup") == 0)
                        spin->si_followup = sal_to_bool(items[2]);
                    else if (STRCMP(items[1], "collapse_result") == 0)
@@ -2943,7 +2943,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
                    else if (STRCMP(items[1], "remove_accents") == 0)
                        spin->si_rem_accents = sal_to_bool(items[2]);
                    else
-                       /* when "to" is "_" it means empty */
+                       // when "to" is "_" it means empty
                        add_fromto(spin, &spin->si_sal, items[1],
                                     STRCMP(items[2], "_") == 0 ? (char_u *)""
                                                                : items[2]);
@@ -2985,8 +2985,8 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
     {
        if (spin->si_clear_chartab)
        {
-           /* Clear the char type tables, don't want to use any of the
-            * currently used spell properties. */
+           // Clear the char type tables, don't want to use any of the
+           // currently used spell properties.
            init_spell_chartab();
            spin->si_clear_chartab = FALSE;
        }
@@ -3010,7 +3010,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
        vim_free(upp);
     }
 
-    /* Use compound specifications of the .aff file for the spell info. */
+    // Use compound specifications of the .aff file for the spell info.
     if (compmax != 0)
     {
        aff_check_number(spin->si_compmax, compmax, "COMPOUNDWORDMAX");
@@ -3040,7 +3040,7 @@ spell_read_aff(spellinfo_T *spin, char_u *fname)
     if (compflags != NULL)
        process_compflags(spin, aff, compflags);
 
-    /* Check that we didn't use too many renumbered flags. */
+    // Check that we didn't use too many renumbered flags.
     if (spin->si_newcompID < spin->si_newprefID)
     {
        if (spin->si_newcompID == 127 || spin->si_newcompID == 255)
@@ -3131,7 +3131,7 @@ aff_process_flags(afffile_T *affile, affentry_T *entry)
                ++p;
        }
        if (*entry->ae_flags == NUL)
-           entry->ae_flags = NULL;     /* nothing left */
+           entry->ae_flags = NULL;     // nothing left
     }
 }
 
@@ -3196,7 +3196,7 @@ get_affitem(int flagtype, char_u **pp)
     {
        if (!VIM_ISDIGIT(**pp))
        {
-           ++*pp;      /* always advance, avoid getting stuck */
+           ++*pp;      // always advance, avoid getting stuck
            return 0;
        }
        res = getdigits(pp);
@@ -3239,9 +3239,9 @@ process_compflags(
     char_u     key[AH_KEY_LEN];
     hashitem_T *hi;
 
-    /* Make room for the old and the new compflags, concatenated with a / in
-     * between.  Processing it makes it shorter, but we don't know by how
-     * much, thus allocate the maximum. */
+    // Make room for the old and the new compflags, concatenated with a / in
+    // between.  Processing it makes it shorter, but we don't know by how
+    // much, thus allocate the maximum.
     len = (int)STRLEN(compflags) + 1;
     if (spin->si_compflags != NULL)
        len += (int)STRLEN(spin->si_compflags) + 1;
@@ -3259,17 +3259,17 @@ process_compflags(
     for (p = compflags; *p != NUL; )
     {
        if (vim_strchr((char_u *)"/?*+[]", *p) != NULL)
-           /* Copy non-flag characters directly. */
+           // Copy non-flag characters directly.
            *tp++ = *p++;
        else
        {
-           /* First get the flag number, also checks validity. */
+           // First get the flag number, also checks validity.
            prevp = p;
            flag = get_affitem(aff->af_flagtype, &p);
            if (flag != 0)
            {
-               /* Find the flag in the hashtable.  If it was used before, use
-                * the existing ID.  Otherwise add a new entry. */
+               // Find the flag in the hashtable.  If it was used before, use
+               // the existing ID.  Otherwise add a new entry.
                vim_strncpy(key, prevp, p - prevp);
                hi = hash_find(&aff->af_comp, key);
                if (!HASHITEM_EMPTY(hi))
@@ -3281,8 +3281,8 @@ process_compflags(
                        break;
                    STRCPY(ci->ci_key, key);
                    ci->ci_flag = flag;
-                   /* Avoid using a flag ID that has a special meaning in a
-                    * regexp (also inside []). */
+                   // Avoid using a flag ID that has a special meaning in a
+                   // regexp (also inside []).
                    do
                    {
                        check_renumber(spin);
@@ -3352,7 +3352,7 @@ flag_in_afflist(int flagtype, char_u *afflist, unsigned flag)
                    n = ZERO_FLAG;
                if (n == flag)
                    return TRUE;
-               if (*p != NUL)  /* skip over comma */
+               if (*p != NUL)  // skip over comma
                    ++p;
            }
            break;
@@ -3440,7 +3440,7 @@ spell_free_aff(afffile_T *aff)
 
     vim_free(aff->af_enc);
 
-    /* All this trouble to free the "ae_prog" items... */
+    // All this trouble to free the "ae_prog" items...
     for (ht = &aff->af_pref; ; ht = &aff->af_suff)
     {
        todo = (int)ht->ht_used;
@@ -3501,17 +3501,17 @@ spell_read_dic(spellinfo_T *spin, char_u *fname, afffile_T *affile)
        return FAIL;
     }
 
-    /* The hashtable is only used to detect duplicated words. */
+    // The hashtable is only used to detect duplicated words.
     hash_init(&ht);
 
     vim_snprintf((char *)IObuff, IOSIZE,
                                  _("Reading dictionary file %s..."), fname);
     spell_message(spin, IObuff);
 
-    /* start with a message for the first line */
+    // start with a message for the first line
     spin->si_msg_count = 999999;
 
-    /* Read and ignore the first line: word count. */
+    // Read and ignore the first line: word count.
     (void)vim_fgets(line, MAXLINELEN, fd);
     if (!vim_isdigit(*skipwhite(line)))
        semsg(_("E760: No word count in %s"), fname);
@@ -3526,18 +3526,18 @@ spell_read_dic(spellinfo_T *spin, char_u *fname, afffile_T *affile)
        line_breakcheck();
        ++lnum;
        if (line[0] == '#' || line[0] == '/')
-           continue;   /* comment line */
+           continue;   // comment line
 
-       /* Remove CR, LF and white space from the end.  White space halfway
-        * the word is kept to allow e.g., "et al.". */
+       // Remove CR, LF and white space from the end.  White space halfway
+       // the word is kept to allow e.g., "et al.".
        l = (int)STRLEN(line);
        while (l > 0 && line[l - 1] <= ' ')
            --l;
        if (l == 0)
-           continue;   /* empty line */
+           continue;   // empty line
        line[l] = NUL;
 
-       /* Convert from "SET" to 'encoding' when needed. */
+       // Convert from "SET" to 'encoding' when needed.
        if (spin->si_conv.vc_type != CONV_NONE)
        {
            pc = string_convert(&spin->si_conv, line, NULL);
@@ -3555,8 +3555,8 @@ spell_read_dic(spellinfo_T *spin, char_u *fname, afffile_T *affile)
            w = line;
        }
 
-       /* Truncate the word at the "/", set "afflist" to what follows.
-        * Replace "\/" by "/" and "\\" by "\". */
+       // Truncate the word at the "/", set "afflist" to what follows.
+       // Replace "\/" by "/" and "\\" by "\".
        afflist = NULL;
        for (p = w; *p != NUL; MB_PTR_ADV(p))
        {
@@ -3570,7 +3570,7 @@ spell_read_dic(spellinfo_T *spin, char_u *fname, afffile_T *affile)
            }
        }
 
-       /* Skip non-ASCII words when "spin->si_ascii" is TRUE. */
+       // Skip non-ASCII words when "spin->si_ascii" is TRUE.
        if (spin->si_ascii && has_non_ascii(w))
        {
            ++non_ascii;
@@ -3578,7 +3578,7 @@ spell_read_dic(spellinfo_T *spin, char_u *fname, afffile_T *affile)
            continue;
        }
 
-       /* This takes time, print a message every 10000 words. */
+       // This takes time, print a message every 10000 words.
        if (spin->si_verbose && spin->si_msg_count > 10000)
        {
            spin->si_msg_count = 0;
@@ -3593,7 +3593,7 @@ spell_read_dic(spellinfo_T *spin, char_u *fname, afffile_T *affile)
            out_flush();
        }
 
-       /* Store the word in the hashtable to be able to find duplicates. */
+       // Store the word in the hashtable to be able to find duplicates.
        dw = (char_u *)getroom_save(spin, w);
        if (dw == NULL)
        {
@@ -3623,7 +3623,7 @@ spell_read_dic(spellinfo_T *spin, char_u *fname, afffile_T *affile)
        need_affix = FALSE;
        if (afflist != NULL)
        {
-           /* Extract flags from the affix list. */
+           // Extract flags from the affix list.
            flags |= get_affix_flags(affile, afflist);
 
            if (affile->af_needaffix != 0 && flag_in_afflist(
@@ -3631,30 +3631,30 @@ spell_read_dic(spellinfo_T *spin, char_u *fname, afffile_T *affile)
                need_affix = TRUE;
 
            if (affile->af_pfxpostpone)
-               /* Need to store the list of prefix IDs with the word. */
+               // Need to store the list of prefix IDs with the word.
                pfxlen = get_pfxlist(affile, afflist, store_afflist);
 
            if (spin->si_compflags != NULL)
-               /* Need to store the list of compound flags with the word.
-                * Concatenate them to the list of prefix IDs. */
+               // Need to store the list of compound flags with the word.
+               // Concatenate them to the list of prefix IDs.
                get_compflags(affile, afflist, store_afflist + pfxlen);
        }
 
-       /* Add the word to the word tree(s). */
+       // Add the word to the word tree(s).
        if (store_word(spin, dw, flags, spin->si_region,
                                           store_afflist, need_affix) == FAIL)
            retval = FAIL;
 
        if (afflist != NULL)
        {
-           /* Find all matching suffixes and add the resulting words.
-            * Additionally do matching prefixes that combine. */
+           // Find all matching suffixes and add the resulting words.
+           // Additionally do matching prefixes that combine.
            if (store_aff_word(spin, dw, afflist, affile,
                           &affile->af_suff, &affile->af_pref,
                            CONDIT_SUF, flags, store_afflist, pfxlen) == FAIL)
                retval = FAIL;
 
-           /* Find all matching prefixes and add the resulting words. */
+           // Find all matching prefixes and add the resulting words.
            if (store_aff_word(spin, dw, afflist, affile,
                          &affile->af_pref, NULL,
                            CONDIT_SUF, flags, store_afflist, pfxlen) == FAIL)
@@ -3729,8 +3729,8 @@ get_pfxlist(
        prevp = p;
        if (get_affitem(affile->af_flagtype, &p) != 0)
        {
-           /* A flag is a postponed prefix flag if it appears in "af_pref"
-            * and its ID is not zero. */
+           // A flag is a postponed prefix flag if it appears in "af_pref"
+           // and its ID is not zero.
            vim_strncpy(key, prevp, p - prevp);
            hi = hash_find(&affile->af_pref, key);
            if (!HASHITEM_EMPTY(hi))
@@ -3770,7 +3770,7 @@ get_compflags(
        prevp = p;
        if (get_affitem(affile->af_flagtype, &p) != 0)
        {
-           /* A flag is a compound flag if it appears in "af_comp". */
+           // A flag is a compound flag if it appears in "af_comp".
            vim_strncpy(key, prevp, p - prevp);
            hi = hash_find(&affile->af_comp, key);
            if (!HASHITEM_EMPTY(hi))
@@ -3794,17 +3794,17 @@ get_compflags(
  */
     static int
 store_aff_word(
-    spellinfo_T        *spin,          /* spell info */
-    char_u     *word,          /* basic word start */
-    char_u     *afflist,       /* list of names of supported affixes */
+    spellinfo_T        *spin,          // spell info
+    char_u     *word,          // basic word start
+    char_u     *afflist,       // list of names of supported affixes
     afffile_T  *affile,
     hashtab_T  *ht,
     hashtab_T  *xht,
-    int                condit,         /* CONDIT_SUF et al. */
-    int                flags,          /* flags for the word */
-    char_u     *pfxlist,       /* list of prefix IDs */
-    int                pfxlen)         /* nr of flags in "pfxlist" for prefixes, rest
-                                * is compound flags */
+    int                condit,         // CONDIT_SUF et al.
+    int                flags,          // flags for the word
+    char_u     *pfxlist,       // list of prefix IDs
+    int                pfxlen)         // nr of flags in "pfxlist" for prefixes, rest
+                               // is compound flags
 {
     int                todo;
     hashitem_T *hi;
@@ -3831,25 +3831,25 @@ store_aff_word(
            --todo;
            ah = HI2AH(hi);
 
-           /* Check that the affix combines, if required, and that the word
-            * supports this affix. */
+           // Check that the affix combines, if required, and that the word
+           // supports this affix.
            if (((condit & CONDIT_COMB) == 0 || ah->ah_combine)
                    && flag_in_afflist(affile->af_flagtype, afflist,
                                                                 ah->ah_flag))
            {
-               /* Loop over all affix entries with this name. */
+               // Loop over all affix entries with this name.
                for (ae = ah->ah_first; ae != NULL; ae = ae->ae_next)
                {
-                   /* Check the condition.  It's not logical to match case
-                    * here, but it is required for compatibility with
-                    * Myspell.
-                    * Another requirement from Myspell is that the chop
-                    * string is shorter than the word itself.
-                    * For prefixes, when "PFXPOSTPONE" was used, only do
-                    * prefixes with a chop string and/or flags.
-                    * When a previously added affix had CIRCUMFIX this one
-                    * must have it too, if it had not then this one must not
-                    * have one either. */
+                   // Check the condition.  It's not logical to match case
+                   // here, but it is required for compatibility with
+                   // Myspell.
+                   // Another requirement from Myspell is that the chop
+                   // string is shorter than the word itself.
+                   // For prefixes, when "PFXPOSTPONE" was used, only do
+                   // prefixes with a chop string and/or flags.
+                   // When a previously added affix had CIRCUMFIX this one
+                   // must have it too, if it had not then this one must not
+                   // have one either.
                    if ((xht != NULL || !affile->af_pfxpostpone
                                || ae->ae_chop != NULL
                                || ae->ae_flags != NULL)
@@ -3864,10 +3864,10 @@ store_aff_word(
                                    || !flag_in_afflist(affile->af_flagtype,
                                        ae->ae_flags, affile->af_circumfix))))
                    {
-                       /* Match.  Remove the chop and add the affix. */
+                       // Match.  Remove the chop and add the affix.
                        if (xht == NULL)
                        {
-                           /* prefix: chop/add at the start of the word */
+                           // prefix: chop/add at the start of the word
                            if (ae->ae_add == NULL)
                                *newword = NUL;
                            else
@@ -3875,7 +3875,7 @@ store_aff_word(
                            p = word;
                            if (ae->ae_chop != NULL)
                            {
-                               /* Skip chop string. */
+                               // Skip chop string.
                                if (has_mbyte)
                                {
                                    i = mb_charlen(ae->ae_chop);
@@ -3889,11 +3889,11 @@ store_aff_word(
                        }
                        else
                        {
-                           /* suffix: chop/add at the end of the word */
+                           // suffix: chop/add at the end of the word
                            vim_strncpy(newword, word, MAXWLEN - 1);
                            if (ae->ae_chop != NULL)
                            {
-                               /* Remove chop string. */
+                               // Remove chop string.
                                p = newword + STRLEN(newword);
                                i = (int)MB_CHARLEN(ae->ae_chop);
                                for ( ; i > 0; --i)
@@ -3911,7 +3911,7 @@ store_aff_word(
                        use_condit = condit | CONDIT_COMB | CONDIT_AFF;
                        if (ae->ae_flags != NULL)
                        {
-                           /* Extract flags from the affix list. */
+                           // Extract flags from the affix list.
                            use_flags |= get_affix_flags(affile, ae->ae_flags);
 
                            if (affile->af_needaffix != 0 && flag_in_afflist(
@@ -3919,9 +3919,9 @@ store_aff_word(
                                                        affile->af_needaffix))
                                need_affix = TRUE;
 
-                           /* When there is a CIRCUMFIX flag the other affix
-                            * must also have it and we don't add the word
-                            * with one affix. */
+                           // When there is a CIRCUMFIX flag the other affix
+                           // must also have it and we don't add the word
+                           // with one affix.
                            if (affile->af_circumfix != 0 && flag_in_afflist(
                                        affile->af_flagtype, ae->ae_flags,
                                                        affile->af_circumfix))
@@ -3935,15 +3935,15 @@ store_aff_word(
                                                || spin->si_compflags != NULL)
                            {
                                if (affile->af_pfxpostpone)
-                                   /* Get prefix IDS from the affix list. */
+                                   // Get prefix IDS from the affix list.
                                    use_pfxlen = get_pfxlist(affile,
                                                 ae->ae_flags, store_afflist);
                                else
                                    use_pfxlen = 0;
                                use_pfxlist = store_afflist;
 
-                               /* Combine the prefix IDs. Avoid adding the
-                                * same ID twice. */
+                               // Combine the prefix IDs. Avoid adding the
+                               // same ID twice.
                                for (i = 0; i < pfxlen; ++i)
                                {
                                    for (j = 0; j < use_pfxlen; ++j)
@@ -3954,13 +3954,13 @@ store_aff_word(
                                }
 
                                if (spin->si_compflags != NULL)
-                                   /* Get compound IDS from the affix list. */
+                                   // Get compound IDS from the affix list.
                                    get_compflags(affile, ae->ae_flags,
                                                  use_pfxlist + use_pfxlen);
 
-                               /* Combine the list of compound flags.
-                                * Concatenate them to the prefix IDs list.
-                                * Avoid adding the same ID twice. */
+                               // Combine the list of compound flags.
+                               // Concatenate them to the prefix IDs list.
+                               // Avoid adding the same ID twice.
                                for (i = pfxlen; pfxlist[i] != NUL; ++i)
                                {
                                    for (j = use_pfxlen;
@@ -3976,31 +3976,31 @@ store_aff_word(
                            }
                        }
 
-                       /* Obey a "COMPOUNDFORBIDFLAG" of the affix: don't
-                        * use the compound flags. */
+                       // Obey a "COMPOUNDFORBIDFLAG" of the affix: don't
+                       // use the compound flags.
                        if (use_pfxlist != NULL && ae->ae_compforbid)
                        {
                            vim_strncpy(pfx_pfxlist, use_pfxlist, use_pfxlen);
                            use_pfxlist = pfx_pfxlist;
                        }
 
-                       /* When there are postponed prefixes... */
+                       // When there are postponed prefixes...
                        if (spin->si_prefroot != NULL
                                && spin->si_prefroot->wn_sibling != NULL)
                        {
-                           /* ... add a flag to indicate an affix was used. */
+                           // ... add a flag to indicate an affix was used.
                            use_flags |= WF_HAS_AFF;
 
-                           /* ... don't use a prefix list if combining
-                            * affixes is not allowed.  But do use the
-                            * compound flags after them. */
+                           // ... don't use a prefix list if combining
+                           // affixes is not allowed.  But do use the
+                           // compound flags after them.
                            if (!ah->ah_combine && use_pfxlist != NULL)
                                use_pfxlist += use_pfxlen;
                        }
 
-                       /* When compounding is supported and there is no
-                        * "COMPOUNDPERMITFLAG" then forbid compounding on the
-                        * side where the affix is applied. */
+                       // When compounding is supported and there is no
+                       // "COMPOUNDPERMITFLAG" then forbid compounding on the
+                       // side where the affix is applied.
                        if (spin->si_compflags != NULL && !ae->ae_comppermit)
                        {
                            if (xht != NULL)
@@ -4009,14 +4009,14 @@ store_aff_word(
                                use_flags |= WF_NOCOMPBEF;
                        }
 
-                       /* Store the modified word. */
+                       // Store the modified word.
                        if (store_word(spin, newword, use_flags,
                                                 spin->si_region, use_pfxlist,
                                                          need_affix) == FAIL)
                            retval = FAIL;
 
-                       /* When added a prefix or a first suffix and the affix
-                        * has flags may add a(nother) suffix.  RECURSIVE! */
+                       // When added a prefix or a first suffix and the affix
+                       // has flags may add a(nother) suffix.  RECURSIVE!
                        if ((condit & CONDIT_SUF) && ae->ae_flags != NULL)
                            if (store_aff_word(spin, newword, ae->ae_flags,
                                        affile, &affile->af_suff, xht,
@@ -4025,9 +4025,9 @@ store_aff_word(
                                      use_flags, use_pfxlist, pfxlen) == FAIL)
                                retval = FAIL;
 
-                       /* When added a suffix and combining is allowed also
-                        * try adding a prefix additionally.  Both for the
-                        * word flags and for the affix flags.  RECURSIVE! */
+                       // When added a suffix and combining is allowed also
+                       // try adding a prefix additionally.  Both for the
+                       // word flags and for the affix flags.  RECURSIVE!
                        if (xht != NULL && ah->ah_combine)
                        {
                            if (store_aff_word(spin, newword,
@@ -4092,19 +4092,19 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
        line_breakcheck();
        ++lnum;
 
-       /* Skip comment lines. */
+       // Skip comment lines.
        if (*rline == '#')
            continue;
 
-       /* Remove CR, LF and white space from the end. */
+       // Remove CR, LF and white space from the end.
        l = (int)STRLEN(rline);
        while (l > 0 && rline[l - 1] <= ' ')
            --l;
        if (l == 0)
-           continue;   /* empty or blank line */
+           continue;   // empty or blank line
        rline[l] = NUL;
 
-       /* Convert from "/encoding={encoding}" to 'encoding' when needed. */
+       // Convert from "/encoding={encoding}" to 'encoding' when needed.
        vim_free(pc);
        if (spin->si_conv.vc_type != CONV_NONE)
        {
@@ -4138,7 +4138,7 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
                {
                    char_u      *enc;
 
-                   /* Setup for conversion to 'encoding'. */
+                   // Setup for conversion to 'encoding'.
                    line += 9;
                    enc = enc_canonize(line);
                    if (enc != NULL && !spin->si_ascii
@@ -4168,7 +4168,7 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
                        spin->si_region_count = (int)STRLEN(line) / 2;
                        STRCPY(spin->si_region_name, line);
 
-                       /* Adjust the mask for a word valid in all regions. */
+                       // Adjust the mask for a word valid in all regions.
                        spin->si_region = (1 << spin->si_region_count) - 1;
                    }
                }
@@ -4183,22 +4183,22 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
        flags = 0;
        regionmask = spin->si_region;
 
-       /* Check for flags and region after a slash. */
+       // Check for flags and region after a slash.
        p = vim_strchr(line, '/');
        if (p != NULL)
        {
            *p++ = NUL;
            while (*p != NUL)
            {
-               if (*p == '=')          /* keep-case word */
+               if (*p == '=')          // keep-case word
                    flags |= WF_KEEPCAP | WF_FIXCAP;
-               else if (*p == '!')     /* Bad, bad, wicked word. */
+               else if (*p == '!')     // Bad, bad, wicked word.
                    flags |= WF_BANNED;
-               else if (*p == '?')     /* Rare word. */
+               else if (*p == '?')     // Rare word.
                    flags |= WF_RARE;
-               else if (VIM_ISDIGIT(*p)) /* region number(s) */
+               else if (VIM_ISDIGIT(*p)) // region number(s)
                {
-                   if ((flags & WF_REGION) == 0)   /* first one */
+                   if ((flags & WF_REGION) == 0)   // first one
                        regionmask = 0;
                    flags |= WF_REGION;
 
@@ -4221,14 +4221,14 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
            }
        }
 
-       /* Skip non-ASCII words when "spin->si_ascii" is TRUE. */
+       // Skip non-ASCII words when "spin->si_ascii" is TRUE.
        if (spin->si_ascii && has_non_ascii(line))
        {
            ++non_ascii;
            continue;
        }
 
-       /* Normal word: store it. */
+       // Normal word: store it.
        if (store_word(spin, line, flags, regionmask, NULL, FALSE) == FAIL)
        {
            retval = FAIL;
@@ -4260,15 +4260,15 @@ spell_read_wordfile(spellinfo_T *spin, char_u *fname)
     static void *
 getroom(
     spellinfo_T *spin,
-    size_t     len,            /* length needed */
-    int                align)          /* align for pointer */
+    size_t     len,            // length needed
+    int                align)          // align for pointer
 {
     char_u     *p;
     sblock_T   *bl = spin->si_blocks;
 
     if (align && bl != NULL)
-       /* Round size up for alignment.  On some systems structures need to be
-        * aligned to the size of a pointer (e.g., SPARC). */
+       // Round size up for alignment.  On some systems structures need to be
+       // aligned to the size of a pointer (e.g., SPARC).
        bl->sb_used = (bl->sb_used + sizeof(char *) - 1)
                                                      & ~(sizeof(char *) - 1);
 
@@ -4277,7 +4277,7 @@ getroom(
        if (len >= SBLOCKSIZE)
            bl = NULL;
        else
-           /* Allocate a block of memory. It is not freed until much later. */
+           // Allocate a block of memory. It is not freed until much later.
            bl = alloc_clear(sizeof(sblock_T) + SBLOCKSIZE);
        if (bl == NULL)
        {
@@ -4355,10 +4355,10 @@ wordtree_alloc(spellinfo_T *spin)
 store_word(
     spellinfo_T        *spin,
     char_u     *word,
-    int                flags,          /* extra flags, WF_BANNED */
-    int                region,         /* supported region(s) */
-    char_u     *pfxlist,       /* list of prefix IDs or NULL */
-    int                need_affix)     /* only store word with affix ID */
+    int                flags,          // extra flags, WF_BANNED
+    int                region,         // supported region(s)
+    char_u     *pfxlist,       // list of prefix IDs or NULL
+    int                need_affix)     // only store word with affix ID
 {
     int                len = (int)STRLEN(word);
     int                ct = captype(word, word + len);
@@ -4413,25 +4413,25 @@ tree_add_word(
     wordnode_T **prev = NULL;
     int                i;
 
-    /* Add each byte of the word to the tree, including the NUL at the end. */
+    // Add each byte of the word to the tree, including the NUL at the end.
     for (i = 0; ; ++i)
     {
-       /* When there is more than one reference to this node we need to make
-        * a copy, so that we can modify it.  Copy the whole list of siblings
-        * (we don't optimize for a partly shared list of siblings). */
+       // When there is more than one reference to this node we need to make
+       // a copy, so that we can modify it.  Copy the whole list of siblings
+       // (we don't optimize for a partly shared list of siblings).
        if (node != NULL && node->wn_refs > 1)
        {
            --node->wn_refs;
            copyprev = prev;
            for (copyp = node; copyp != NULL; copyp = copyp->wn_sibling)
            {
-               /* Allocate a new node and copy the info. */
+               // Allocate a new node and copy the info.
                np = get_wordnode(spin);
                if (np == NULL)
                    return FAIL;
                np->wn_child = copyp->wn_child;
                if (np->wn_child != NULL)
-                   ++np->wn_child->wn_refs;    /* child gets extra ref */
+                   ++np->wn_child->wn_refs;    // child gets extra ref
                np->wn_byte = copyp->wn_byte;
                if (np->wn_byte == NUL)
                {
@@ -4440,22 +4440,22 @@ tree_add_word(
                    np->wn_affixID = copyp->wn_affixID;
                }
 
-               /* Link the new node in the list, there will be one ref. */
+               // Link the new node in the list, there will be one ref.
                np->wn_refs = 1;
                if (copyprev != NULL)
                    *copyprev = np;
                copyprev = &np->wn_sibling;
 
-               /* Let "node" point to the head of the copied list. */
+               // Let "node" point to the head of the copied list.
                if (copyp == node)
                    node = np;
            }
        }
 
-       /* Look for the sibling that has the same character.  They are sorted
-        * on byte value, thus stop searching when a sibling is found with a
-        * higher byte value.  For zero bytes (end of word) the sorting is
-        * done on flags and then on affixID. */
+       // Look for the sibling that has the same character.  They are sorted
+       // on byte value, thus stop searching when a sibling is found with a
+       // higher byte value.  For zero bytes (end of word) the sorting is
+       // done on flags and then on affixID.
        while (node != NULL
                && (node->wn_byte < word[i]
                    || (node->wn_byte == NUL
@@ -4479,16 +4479,16 @@ tree_add_word(
                        || node->wn_flags != (flags & WN_MASK)
                        || node->wn_affixID != affixID)))
        {
-           /* Allocate a new node. */
+           // Allocate a new node.
            np = get_wordnode(spin);
            if (np == NULL)
                return FAIL;
            np->wn_byte = word[i];
 
-           /* If "node" is NULL this is a new child or the end of the sibling
-            * list: ref count is one.  Otherwise use ref count of sibling and
-            * make ref count of sibling one (matters when inserting in front
-            * of the list of siblings). */
+           // If "node" is NULL this is a new child or the end of the sibling
+           // list: ref count is one.  Otherwise use ref count of sibling and
+           // make ref count of sibling one (matters when inserting in front
+           // of the list of siblings).
            if (node == NULL)
                np->wn_refs = 1;
            else
@@ -4517,13 +4517,13 @@ tree_add_word(
     spell_print_tree(root->wn_sibling);
 #endif
 
-    /* count nr of words added since last message */
+    // count nr of words added since last message
     ++spin->si_msg_count;
 
     if (spin->si_compress_cnt > 1)
     {
        if (--spin->si_compress_cnt == 1)
-           /* Did enough words to lower the block count limit. */
+           // Did enough words to lower the block count limit.
            spin->si_blocks_cnt += compress_inc;
     }
 
@@ -4545,10 +4545,10 @@ tree_add_word(
            : spin->si_blocks_cnt >= compress_start)
 #endif
     {
-       /* Decrement the block counter.  The effect is that we compress again
-        * when the freed up room has been used and another "compress_inc"
-        * blocks have been allocated.  Unless "compress_added" words have
-        * been added, then the limit is put back again. */
+       // Decrement the block counter.  The effect is that we compress again
+       // when the freed up room has been used and another "compress_inc"
+       // blocks have been allocated.  Unless "compress_added" words have
+       // been added, then the limit is put back again.
        spin->si_blocks_cnt -= compress_inc;
        spin->si_compress_cnt = compress_added;
 
@@ -4562,10 +4562,10 @@ tree_add_word(
            out_flush();
        }
 
-       /* Compress both trees.  Either they both have many nodes, which makes
-        * compression useful, or one of them is small, which means
-        * compression goes fast.  But when filling the soundfold word tree
-        * there is no keep-case tree. */
+       // Compress both trees.  Either they both have many nodes, which makes
+       // compression useful, or one of them is small, which means
+       // compression goes fast.  But when filling the soundfold word tree
+       // there is no keep-case tree.
        wordtree_compress(spin, spin->si_foldroot);
        if (affixID >= 0)
            wordtree_compress(spin, spin->si_keeproot);
@@ -4621,7 +4621,7 @@ deref_wordnode(spellinfo_T *spin, wordnode_T *node)
            free_wordnode(spin, np);
            ++cnt;
        }
-       ++cnt;      /* length field */
+       ++cnt;      // length field
     }
     return cnt;
 }
@@ -4649,8 +4649,8 @@ wordtree_compress(spellinfo_T *spin, wordnode_T *root)
     int                    tot = 0;
     int                    perc;
 
-    /* Skip the root itself, it's not actually used.  The first sibling is the
-     * start of the tree. */
+    // Skip the root itself, it's not actually used.  The first sibling is the
+    // start of the tree.
     if (root->wn_sibling != NULL)
     {
        hash_init(&ht);
@@ -4687,8 +4687,8 @@ node_compress(
     spellinfo_T        *spin,
     wordnode_T *node,
     hashtab_T  *ht,
-    int                *tot)       /* total count of nodes before compressing,
-                              incremented while going through the tree */
+    int                *tot)       // total count of nodes before compressing,
+                           // incremented while going through the tree
 {
     wordnode_T *np;
     wordnode_T *tp;
@@ -4710,23 +4710,23 @@ node_compress(
        ++len;
        if ((child = np->wn_child) != NULL)
        {
-           /* Compress the child first.  This fills hashkey. */
+           // Compress the child first.  This fills hashkey.
            compressed += node_compress(spin, child, ht, tot);
 
-           /* Try to find an identical child. */
+           // Try to find an identical child.
            hash = hash_hash(child->wn_u1.hashkey);
            hi = hash_lookup(ht, child->wn_u1.hashkey, hash);
            if (!HASHITEM_EMPTY(hi))
            {
-               /* There are children we encountered before with a hash value
-                * identical to the current child.  Now check if there is one
-                * that is really identical. */
+               // There are children we encountered before with a hash value
+               // identical to the current child.  Now check if there is one
+               // that is really identical.
                for (tp = HI2WN(hi); tp != NULL; tp = tp->wn_u2.next)
                    if (node_equal(child, tp))
                    {
-                       /* Found one!  Now use that child in place of the
-                        * current one.  This means the current child and all
-                        * its siblings is unlinked from the tree. */
+                       // Found one!  Now use that child in place of the
+                       // current one.  This means the current child and all
+                       // its siblings is unlinked from the tree.
                        ++tp->wn_refs;
                        compressed += deref_wordnode(spin, child);
                        np->wn_child = tp;
@@ -4734,21 +4734,21 @@ node_compress(
                    }
                if (tp == NULL)
                {
-                   /* No other child with this hash value equals the child of
-                    * the node, add it to the linked list after the first
-                    * item. */
+                   // No other child with this hash value equals the child of
+                   // the node, add it to the linked list after the first
+                   // item.
                    tp = HI2WN(hi);
                    child->wn_u2.next = tp->wn_u2.next;
                    tp->wn_u2.next = child;
                }
            }
            else
-               /* No other child has this hash value, add it to the
-                * hashtable. */
+               // No other child has this hash value, add it to the
+               // hashtable.
                hash_add_item(ht, hi, child->wn_u1.hashkey, hash);
        }
     }
-    *tot += len + 1;   /* add one for the node that stores the length */
+    *tot += len + 1;   // add one for the node that stores the length
 
     /*
      * Make a hash key for the node and its siblings, so that we can quickly
@@ -4760,15 +4760,15 @@ node_compress(
     for (np = node; np != NULL; np = np->wn_sibling)
     {
        if (np->wn_byte == NUL)
-           /* end node: use wn_flags, wn_region and wn_affixID */
+           // end node: use wn_flags, wn_region and wn_affixID
            n = np->wn_flags + (np->wn_region << 8) + (np->wn_affixID << 16);
        else
-           /* byte node: use the byte value and the child pointer */
+           // byte node: use the byte value and the child pointer
            n = (unsigned)(np->wn_byte + ((long_u)np->wn_child << 8));
        nr = nr * 101 + n;
     }
 
-    /* Avoid NUL bytes, it terminates the hash key. */
+    // Avoid NUL bytes, it terminates the hash key.
     n = nr & 0xff;
     node->wn_u1.hashkey[1] = n == 0 ? 1 : n;
     n = (nr >> 8) & 0xff;
@@ -4779,7 +4779,7 @@ node_compress(
     node->wn_u1.hashkey[4] = n == 0 ? 1 : n;
     node->wn_u1.hashkey[5] = NUL;
 
-    /* Check for CTRL-C pressed now and then. */
+    // Check for CTRL-C pressed now and then.
     fast_breakcheck();
 
     return compressed;
@@ -4840,8 +4840,8 @@ write_vim_spell(spellinfo_T *spin, char_u *fname)
     char_u     *p;
     int                rr;
     int                retval = OK;
-    size_t     fwv = 1;  /* collect return value of fwrite() to avoid
-                            warnings from picky compiler */
+    size_t     fwv = 1;  // collect return value of fwrite() to avoid
+                         // warnings from picky compiler
 
     fd = mch_fopen((char *)fname, "w");
     if (fd == NULL)
@@ -4850,64 +4850,63 @@ write_vim_spell(spellinfo_T *spin, char_u *fname)
        return FAIL;
     }
 
-    /* <HEADER>: <fileID> <versionnr> */
-                                                           /* <fileID> */
+    // <HEADER>: <fileID> <versionnr>
+                                                           // <fileID>
     fwv &= fwrite(VIMSPELLMAGIC, VIMSPELLMAGICL, (size_t)1, fd);
     if (fwv != (size_t)1)
-       /* Catch first write error, don't try writing more. */
+       // Catch first write error, don't try writing more.
        goto theend;
 
-    putc(VIMSPELLVERSION, fd);                             /* <versionnr> */
+    putc(VIMSPELLVERSION, fd);                             // <versionnr>
 
     /*
      * <SECTIONS>: <section> ... <sectionend>
      */
 
-    /* SN_INFO: <infotext> */
+    // SN_INFO: <infotext>
     if (spin->si_info != NULL)
     {
-       putc(SN_INFO, fd);                              /* <sectionID> */
-       putc(0, fd);                                    /* <sectionflags> */
+       putc(SN_INFO, fd);                              // <sectionID>
+       putc(0, fd);                                    // <sectionflags>
 
        i = (int)STRLEN(spin->si_info);
-       put_bytes(fd, (long_u)i, 4);                    /* <sectionlen> */
-       fwv &= fwrite(spin->si_info, (size_t)i, (size_t)1, fd); /* <infotext> */
+       put_bytes(fd, (long_u)i, 4);                    // <sectionlen>
+       fwv &= fwrite(spin->si_info, (size_t)i, (size_t)1, fd); // <infotext>
     }
 
-    /* SN_REGION: <regionname> ...
-     * Write the region names only if there is more than one. */
+    // SN_REGION: <regionname> ...
+    // Write the region names only if there is more than one.
     if (spin->si_region_count > 1)
     {
-       putc(SN_REGION, fd);                            /* <sectionID> */
-       putc(SNF_REQUIRED, fd);                         /* <sectionflags> */
+       putc(SN_REGION, fd);                            // <sectionID>
+       putc(SNF_REQUIRED, fd);                         // <sectionflags>
        l = spin->si_region_count * 2;
-       put_bytes(fd, (long_u)l, 4);                    /* <sectionlen> */
+       put_bytes(fd, (long_u)l, 4);                    // <sectionlen>
        fwv &= fwrite(spin->si_region_name, (size_t)l, (size_t)1, fd);
-                                                       /* <regionname> ... */
+                                                       // <regionname> ...
        regionmask = (1 << spin->si_region_count) - 1;
     }
     else
        regionmask = 0;
 
-    /* SN_CHARFLAGS: <charflagslen> <charflags> <folcharslen> <folchars>
-     *
-     * The table with character flags and the table for case folding.
-     * This makes sure the same characters are recognized as word characters
-     * when generating an when using a spell file.
-     * Skip this for ASCII, the table may conflict with the one used for
-     * 'encoding'.
-     * Also skip this for an .add.spl file, the main spell file must contain
-     * the table (avoids that it conflicts).  File is shorter too.
-     */
+    // SN_CHARFLAGS: <charflagslen> <charflags> <folcharslen> <folchars>
+    //
+    // The table with character flags and the table for case folding.
+    // This makes sure the same characters are recognized as word characters
+    // when generating an when using a spell file.
+    // Skip this for ASCII, the table may conflict with the one used for
+    // 'encoding'.
+    // Also skip this for an .add.spl file, the main spell file must contain
+    // the table (avoids that it conflicts).  File is shorter too.
     if (!spin->si_ascii && !spin->si_add)
     {
        char_u  folchars[128 * 8];
        int     flags;
 
-       putc(SN_CHARFLAGS, fd);                         /* <sectionID> */
-       putc(SNF_REQUIRED, fd);                         /* <sectionflags> */
+       putc(SN_CHARFLAGS, fd);                         // <sectionID>
+       putc(SNF_REQUIRED, fd);                         // <sectionflags>
 
-       /* Form the <folchars> string first, we need to know its length. */
+       // Form the <folchars> string first, we need to know its length.
        l = 0;
        for (i = 128; i < 256; ++i)
        {
@@ -4916,9 +4915,9 @@ write_vim_spell(spellinfo_T *spin, char_u *fname)
            else
                folchars[l++] = spelltab.st_fold[i];
        }
-       put_bytes(fd, (long_u)(1 + 128 + 2 + l), 4);    /* <sectionlen> */
+       put_bytes(fd, (long_u)(1 + 128 + 2 + l), 4);    // <sectionlen>
 
-       fputc(128, fd);                                 /* <charflagslen> */
+       fputc(128, fd);                                 // <charflagslen>
        for (i = 128; i < 256; ++i)
        {
            flags = 0;
@@ -4926,51 +4925,51 @@ write_vim_spell(spellinfo_T *spin, char_u *fname)
                flags |= CF_WORD;
            if (spelltab.st_isu[i])
                flags |= CF_UPPER;
-           fputc(flags, fd);                           /* <charflags> */
+           fputc(flags, fd);                           // <charflags>
        }
 
-       put_bytes(fd, (long_u)l, 2);                    /* <folcharslen> */
-       fwv &= fwrite(folchars, (size_t)l, (size_t)1, fd); /* <folchars> */
+       put_bytes(fd, (long_u)l, 2);                    // <folcharslen>
+       fwv &= fwrite(folchars, (size_t)l, (size_t)1, fd); // <folchars>
     }
 
-    /* SN_MIDWORD: <midword> */
+    // SN_MIDWORD: <midword>
     if (spin->si_midword != NULL)
     {
-       putc(SN_MIDWORD, fd);                           /* <sectionID> */
-       putc(SNF_REQUIRED, fd);                         /* <sectionflags> */
+       putc(SN_MIDWORD, fd);                           // <sectionID>
+       putc(SNF_REQUIRED, fd);                         // <sectionflags>
 
        i = (int)STRLEN(spin->si_midword);
-       put_bytes(fd, (long_u)i, 4);                    /* <sectionlen> */
+       put_bytes(fd, (long_u)i, 4);                    // <sectionlen>
        fwv &= fwrite(spin->si_midword, (size_t)i, (size_t)1, fd);
-                                                       /* <midword> */
+                                                       // <midword>
     }
 
-    /* SN_PREFCOND: <prefcondcnt> <prefcond> ... */
+    // SN_PREFCOND: <prefcondcnt> <prefcond> ...
     if (spin->si_prefcond.ga_len > 0)
     {
-       putc(SN_PREFCOND, fd);                          /* <sectionID> */
-       putc(SNF_REQUIRED, fd);                         /* <sectionflags> */
+       putc(SN_PREFCOND, fd);                          // <sectionID>
+       putc(SNF_REQUIRED, fd);                         // <sectionflags>
 
        l = write_spell_prefcond(NULL, &spin->si_prefcond);
-       put_bytes(fd, (long_u)l, 4);                    /* <sectionlen> */
+       put_bytes(fd, (long_u)l, 4);                    // <sectionlen>
 
        write_spell_prefcond(fd, &spin->si_prefcond);
     }
 
-    /* SN_REP: <repcount> <rep> ...
-     * SN_SAL: <salflags> <salcount> <sal> ...
-     * SN_REPSAL: <repcount> <rep> ... */
+    // SN_REP: <repcount> <rep> ...
+    // SN_SAL: <salflags> <salcount> <sal> ...
+    // SN_REPSAL: <repcount> <rep> ...
 
-    /* round 1: SN_REP section
-     * round 2: SN_SAL section (unless SN_SOFO is used)
-     * round 3: SN_REPSAL section */
+    // round 1: SN_REP section
+    // round 2: SN_SAL section (unless SN_SOFO is used)
+    // round 3: SN_REPSAL section
     for (round = 1; round <= 3; ++round)
     {
        if (round == 1)
            gap = &spin->si_rep;
        else if (round == 2)
        {
-           /* Don't write SN_SAL when using a SN_SOFO section */
+           // Don't write SN_SAL when using a SN_SOFO section
            if (spin->si_sofofr != NULL && spin->si_sofoto != NULL)
                continue;
            gap = &spin->si_sal;
@@ -4978,32 +4977,32 @@ write_vim_spell(spellinfo_T *spin, char_u *fname)
        else
            gap = &spin->si_repsal;
 
-       /* Don't write the section if there are no items. */
+       // Don't write the section if there are no items.
        if (gap->ga_len == 0)
            continue;
 
-       /* Sort the REP/REPSAL items. */
+       // Sort the REP/REPSAL items.
        if (round != 2)
            qsort(gap->ga_data, (size_t)gap->ga_len,
                                               sizeof(fromto_T), rep_compare);
 
        i = round == 1 ? SN_REP : (round == 2 ? SN_SAL : SN_REPSAL);
-       putc(i, fd);                                    /* <sectionID> */
+       putc(i, fd);                                    // <sectionID>
 
-       /* This is for making suggestions, section is not required. */
-       putc(0, fd);                                    /* <sectionflags> */
+       // This is for making suggestions, section is not required.
+       putc(0, fd);                                    // <sectionflags>
 
-       /* Compute the length of what follows. */
-       l = 2;      /* count <repcount> or <salcount> */
+       // Compute the length of what follows.
+       l = 2;      // count <repcount> or <salcount>
        for (i = 0; i < gap->ga_len; ++i)
        {
            ftp = &((fromto_T *)gap->ga_data)[i];
-           l += 1 + (int)STRLEN(ftp->ft_from);  /* count <*fromlen> and <*from> */
-           l += 1 + (int)STRLEN(ftp->ft_to);    /* count <*tolen> and <*to> */
+           l += 1 + (int)STRLEN(ftp->ft_from);  // count <*fromlen> and <*from>
+           l += 1 + (int)STRLEN(ftp->ft_to);    // count <*tolen> and <*to>
        }
        if (round == 2)
-           ++l;        /* count <salflags> */
-       put_bytes(fd, (long_u)l, 4);                    /* <sectionlen> */
+           ++l;        // count <salflags>
+       put_bytes(fd, (long_u)l, 4);                    // <sectionlen>
 
        if (round == 2)
        {
@@ -5014,14 +5013,14 @@ write_vim_spell(spellinfo_T *spin, char_u *fname)
                i |= SAL_COLLAPSE;
            if (spin->si_rem_accents)
                i |= SAL_REM_ACCENTS;
-           putc(i, fd);                        /* <salflags> */
+           putc(i, fd);                        // <salflags>
        }
 
-       put_bytes(fd, (long_u)gap->ga_len, 2);  /* <repcount> or <salcount> */
+       put_bytes(fd, (long_u)gap->ga_len, 2);  // <repcount> or <salcount>
        for (i = 0; i < gap->ga_len; ++i)
        {
-           /* <rep> : <repfromlen> <repfrom> <reptolen> <repto> */
-           /* <sal> : <salfromlen> <salfrom> <saltolen> <salto> */
+           // <rep> : <repfromlen> <repfrom> <reptolen> <repto>
+           // <sal> : <salfromlen> <salfrom> <saltolen> <salto>
            ftp = &((fromto_T *)gap->ga_data)[i];
            for (rr = 1; rr <= 2; ++rr)
            {
@@ -5035,34 +5034,34 @@ write_vim_spell(spellinfo_T *spin, char_u *fname)
 
     }
 
-    /* SN_SOFO: <sofofromlen> <sofofrom> <sofotolen> <sofoto>
-     * This is for making suggestions, section is not required. */
+    // SN_SOFO: <sofofromlen> <sofofrom> <sofotolen> <sofoto>
+    // This is for making suggestions, section is not required.
     if (spin->si_sofofr != NULL && spin->si_sofoto != NULL)
     {
-       putc(SN_SOFO, fd);                              /* <sectionID> */
-       putc(0, fd);                                    /* <sectionflags> */
+       putc(SN_SOFO, fd);                              // <sectionID>
+       putc(0, fd);                                    // <sectionflags>
 
        l = (int)STRLEN(spin->si_sofofr);
        put_bytes(fd, (long_u)(l + STRLEN(spin->si_sofoto) + 4), 4);
-                                                       /* <sectionlen> */
+                                                       // <sectionlen>
 
-       put_bytes(fd, (long_u)l, 2);                    /* <sofofromlen> */
-       fwv &= fwrite(spin->si_sofofr, l, (size_t)1, fd); /* <sofofrom> */
+       put_bytes(fd, (long_u)l, 2);                    // <sofofromlen>
+       fwv &= fwrite(spin->si_sofofr, l, (size_t)1, fd); // <sofofrom>
 
        l = (int)STRLEN(spin->si_sofoto);
-       put_bytes(fd, (long_u)l, 2);                    /* <sofotolen> */
-       fwv &= fwrite(spin->si_sofoto, l, (size_t)1, fd); /* <sofoto> */
+       put_bytes(fd, (long_u)l, 2);                    // <sofotolen>
+       fwv &= fwrite(spin->si_sofoto, l, (size_t)1, fd); // <sofoto>
     }
 
-    /* SN_WORDS: <word> ...
-     * This is for making suggestions, section is not required. */
+    // SN_WORDS: <word> ...
+    // This is for making suggestions, section is not required.
     if (spin->si_commonwords.ht_used > 0)
     {
-       putc(SN_WORDS, fd);                             /* <sectionID> */
-       putc(0, fd);                                    /* <sectionflags> */
+       putc(SN_WORDS, fd);                             // <sectionID>
+       putc(0, fd);                                    // <sectionflags>
 
-       /* round 1: count the bytes
-        * round 2: write the bytes */
+       // round 1: count the bytes
+       // round 2: write the bytes
        for (round = 1; round <= 2; ++round)
        {
            int         todo;
@@ -5075,123 +5074,123 @@ write_vim_spell(spellinfo_T *spin, char_u *fname)
                {
                    l = (int)STRLEN(hi->hi_key) + 1;
                    len += l;
-                   if (round == 2)                     /* <word> */
+                   if (round == 2)                     // <word>
                        fwv &= fwrite(hi->hi_key, (size_t)l, (size_t)1, fd);
                    --todo;
                }
            if (round == 1)
-               put_bytes(fd, (long_u)len, 4);          /* <sectionlen> */
+               put_bytes(fd, (long_u)len, 4);          // <sectionlen>
        }
     }
 
-    /* SN_MAP: <mapstr>
-     * This is for making suggestions, section is not required. */
+    // SN_MAP: <mapstr>
+    // This is for making suggestions, section is not required.
     if (spin->si_map.ga_len > 0)
     {
-       putc(SN_MAP, fd);                               /* <sectionID> */
-       putc(0, fd);                                    /* <sectionflags> */
+       putc(SN_MAP, fd);                               // <sectionID>
+       putc(0, fd);                                    // <sectionflags>
        l = spin->si_map.ga_len;
-       put_bytes(fd, (long_u)l, 4);                    /* <sectionlen> */
+       put_bytes(fd, (long_u)l, 4);                    // <sectionlen>
        fwv &= fwrite(spin->si_map.ga_data, (size_t)l, (size_t)1, fd);
-                                                       /* <mapstr> */
+                                                       // <mapstr>
     }
 
-    /* SN_SUGFILE: <timestamp>
-     * This is used to notify that a .sug file may be available and at the
-     * same time allows for checking that a .sug file that is found matches
-     * with this .spl file.  That's because the word numbers must be exactly
-     * right. */
+    // SN_SUGFILE: <timestamp>
+    // This is used to notify that a .sug file may be available and at the
+    // same time allows for checking that a .sug file that is found matches
+    // with this .spl file.  That's because the word numbers must be exactly
+    // right.
     if (!spin->si_nosugfile
            && (spin->si_sal.ga_len > 0
                     || (spin->si_sofofr != NULL && spin->si_sofoto != NULL)))
     {
-       putc(SN_SUGFILE, fd);                           /* <sectionID> */
-       putc(0, fd);                                    /* <sectionflags> */
-       put_bytes(fd, (long_u)8, 4);                    /* <sectionlen> */
+       putc(SN_SUGFILE, fd);                           // <sectionID>
+       putc(0, fd);                                    // <sectionflags>
+       put_bytes(fd, (long_u)8, 4);                    // <sectionlen>
 
-       /* Set si_sugtime and write it to the file. */
+       // Set si_sugtime and write it to the file.
        spin->si_sugtime = time(NULL);
-       put_time(fd, spin->si_sugtime);                 /* <timestamp> */
+       put_time(fd, spin->si_sugtime);                 // <timestamp>
     }
 
-    /* SN_NOSPLITSUGS: nothing
-     * This is used to notify that no suggestions with word splits are to be
-     * made. */
+    // SN_NOSPLITSUGS: nothing
+    // This is used to notify that no suggestions with word splits are to be
+    // made.
     if (spin->si_nosplitsugs)
     {
-       putc(SN_NOSPLITSUGS, fd);                       /* <sectionID> */
-       putc(0, fd);                                    /* <sectionflags> */
-       put_bytes(fd, (long_u)0, 4);                    /* <sectionlen> */
+       putc(SN_NOSPLITSUGS, fd);                       // <sectionID>
+       putc(0, fd);                                    // <sectionflags>
+       put_bytes(fd, (long_u)0, 4);                    // <sectionlen>
     }
 
-    /* SN_NOCOMPUNDSUGS: nothing
-     * This is used to notify that no suggestions with compounds are to be
-     * made. */
+    // SN_NOCOMPUNDSUGS: nothing
+    // This is used to notify that no suggestions with compounds are to be
+    // made.
     if (spin->si_nocompoundsugs)
     {
-       putc(SN_NOCOMPOUNDSUGS, fd);                    /* <sectionID> */
-       putc(0, fd);                                    /* <sectionflags> */
-       put_bytes(fd, (long_u)0, 4);                    /* <sectionlen> */
+       putc(SN_NOCOMPOUNDSUGS, fd);                    // <sectionID>
+       putc(0, fd);                                    // <sectionflags>
+       put_bytes(fd, (long_u)0, 4);                    // <sectionlen>
     }
 
-    /* SN_COMPOUND: compound info.
-     * We don't mark it required, when not supported all compound words will
-     * be bad words. */
+    // SN_COMPOUND: compound info.
+    // We don't mark it required, when not supported all compound words will
+    // be bad words.
     if (spin->si_compflags != NULL)
     {
-       putc(SN_COMPOUND, fd);                          /* <sectionID> */
-       putc(0, fd);                                    /* <sectionflags> */
+       putc(SN_COMPOUND, fd);                          // <sectionID>
+       putc(0, fd);                                    // <sectionflags>
 
        l = (int)STRLEN(spin->si_compflags);
        for (i = 0; i < spin->si_comppat.ga_len; ++i)
            l += (int)STRLEN(((char_u **)(spin->si_comppat.ga_data))[i]) + 1;
-       put_bytes(fd, (long_u)(l + 7), 4);              /* <sectionlen> */
+       put_bytes(fd, (long_u)(l + 7), 4);              // <sectionlen>
 
-       putc(spin->si_compmax, fd);                     /* <compmax> */
-       putc(spin->si_compminlen, fd);                  /* <compminlen> */
-       putc(spin->si_compsylmax, fd);                  /* <compsylmax> */
-       putc(0, fd);            /* for Vim 7.0b compatibility */
-       putc(spin->si_compoptions, fd);                 /* <compoptions> */
+       putc(spin->si_compmax, fd);                     // <compmax>
+       putc(spin->si_compminlen, fd);                  // <compminlen>
+       putc(spin->si_compsylmax, fd);                  // <compsylmax>
+       putc(0, fd);            // for Vim 7.0b compatibility
+       putc(spin->si_compoptions, fd);                 // <compoptions>
        put_bytes(fd, (long_u)spin->si_comppat.ga_len, 2);
-                                                       /* <comppatcount> */
+                                                       // <comppatcount>
        for (i = 0; i < spin->si_comppat.ga_len; ++i)
        {
            p = ((char_u **)(spin->si_comppat.ga_data))[i];
-           putc((int)STRLEN(p), fd);                   /* <comppatlen> */
+           putc((int)STRLEN(p), fd);                   // <comppatlen>
            fwv &= fwrite(p, (size_t)STRLEN(p), (size_t)1, fd);
-                                                       /* <comppattext> */
+                                                       // <comppattext>
        }
-                                                       /* <compflags> */
+                                                       // <compflags>
        fwv &= fwrite(spin->si_compflags, (size_t)STRLEN(spin->si_compflags),
                                                               (size_t)1, fd);
     }
 
-    /* SN_NOBREAK: NOBREAK flag */
+    // SN_NOBREAK: NOBREAK flag
     if (spin->si_nobreak)
     {
-       putc(SN_NOBREAK, fd);                           /* <sectionID> */
-       putc(0, fd);                                    /* <sectionflags> */
+       putc(SN_NOBREAK, fd);                           // <sectionID>
+       putc(0, fd);                                    // <sectionflags>
 
-       /* It's empty, the presence of the section flags the feature. */
-       put_bytes(fd, (long_u)0, 4);                    /* <sectionlen> */
+       // It's empty, the presence of the section flags the feature.
+       put_bytes(fd, (long_u)0, 4);                    // <sectionlen>
     }
 
-    /* SN_SYLLABLE: syllable info.
-     * We don't mark it required, when not supported syllables will not be
-     * counted. */
+    // SN_SYLLABLE: syllable info.
+    // We don't mark it required, when not supported syllables will not be
+    // counted.
     if (spin->si_syllable != NULL)
     {
-       putc(SN_SYLLABLE, fd);                          /* <sectionID> */
-       putc(0, fd);                                    /* <sectionflags> */
+       putc(SN_SYLLABLE, fd);                          // <sectionID>
+       putc(0, fd);                                    // <sectionflags>
 
        l = (int)STRLEN(spin->si_syllable);
-       put_bytes(fd, (long_u)l, 4);                    /* <sectionlen> */
+       put_bytes(fd, (long_u)l, 4);                    // <sectionlen>
        fwv &= fwrite(spin->si_syllable, (size_t)l, (size_t)1, fd);
-                                                       /* <syllable> */
+                                                       // <syllable>
     }
 
-    /* end of <SECTIONS> */
-    putc(SN_END, fd);                                  /* <sectionend> */
+    // end of <SECTIONS>
+    putc(SN_END, fd);                                  // <sectionend>
 
 
     /*
@@ -5207,23 +5206,23 @@ write_vim_spell(spellinfo_T *spin, char_u *fname)
        else
            tree = spin->si_prefroot->wn_sibling;
 
-       /* Clear the index and wnode fields in the tree. */
+       // Clear the index and wnode fields in the tree.
        clear_node(tree);
 
-       /* Count the number of nodes.  Needed to be able to allocate the
-        * memory when reading the nodes.  Also fills in index for shared
-        * nodes. */
+       // Count the number of nodes.  Needed to be able to allocate the
+       // memory when reading the nodes.  Also fills in index for shared
+       // nodes.
        nodecount = put_node(NULL, tree, 0, regionmask, round == 3);
 
-       /* number of nodes in 4 bytes */
-       put_bytes(fd, (long_u)nodecount, 4);    /* <nodecount> */
+       // number of nodes in 4 bytes
+       put_bytes(fd, (long_u)nodecount, 4);    // <nodecount>
        spin->si_memtot += nodecount + nodecount * sizeof(int);
 
-       /* Write the nodes. */
+       // Write the nodes.
        (void)put_node(fd, tree, 0, regionmask, round == 3);
     }
 
-    /* Write another byte to check for errors (file system full). */
+    // Write another byte to check for errors (file system full).
     if (putc(0, fd) == EOF)
        retval = FAIL;
 theend:
@@ -5274,59 +5273,59 @@ clear_node(wordnode_T *node)
  */
     static int
 put_node(
-    FILE       *fd,            /* NULL when only counting */
+    FILE       *fd,            // NULL when only counting
     wordnode_T *node,
     int                idx,
     int                regionmask,
-    int                prefixtree)     /* TRUE for PREFIXTREE */
+    int                prefixtree)     // TRUE for PREFIXTREE
 {
     int                newindex = idx;
     int                siblingcount = 0;
     wordnode_T *np;
     int                flags;
 
-    /* If "node" is zero the tree is empty. */
+    // If "node" is zero the tree is empty.
     if (node == NULL)
        return 0;
 
-    /* Store the index where this node is written. */
+    // Store the index where this node is written.
     node->wn_u1.index = idx;
 
-    /* Count the number of siblings. */
+    // Count the number of siblings.
     for (np = node; np != NULL; np = np->wn_sibling)
        ++siblingcount;
 
-    /* Write the sibling count. */
+    // Write the sibling count.
     if (fd != NULL)
-       putc(siblingcount, fd);                         /* <siblingcount> */
+       putc(siblingcount, fd);                         // <siblingcount>
 
-    /* Write each sibling byte and optionally extra info. */
+    // Write each sibling byte and optionally extra info.
     for (np = node; np != NULL; np = np->wn_sibling)
     {
        if (np->wn_byte == 0)
        {
            if (fd != NULL)
            {
-               /* For a NUL byte (end of word) write the flags etc. */
+               // For a NUL byte (end of word) write the flags etc.
                if (prefixtree)
                {
-                   /* In PREFIXTREE write the required affixID and the
-                    * associated condition nr (stored in wn_region).  The
-                    * byte value is misused to store the "rare" and "not
-                    * combining" flags */
+                   // In PREFIXTREE write the required affixID and the
+                   // associated condition nr (stored in wn_region).  The
+                   // byte value is misused to store the "rare" and "not
+                   // combining" flags
                    if (np->wn_flags == (short_u)PFX_FLAGS)
-                       putc(BY_NOFLAGS, fd);           /* <byte> */
+                       putc(BY_NOFLAGS, fd);           // <byte>
                    else
                    {
-                       putc(BY_FLAGS, fd);             /* <byte> */
-                       putc(np->wn_flags, fd);         /* <pflags> */
+                       putc(BY_FLAGS, fd);             // <byte>
+                       putc(np->wn_flags, fd);         // <pflags>
                    }
-                   putc(np->wn_affixID, fd);           /* <affixID> */
-                   put_bytes(fd, (long_u)np->wn_region, 2); /* <prefcondnr> */
+                   putc(np->wn_affixID, fd);           // <affixID>
+                   put_bytes(fd, (long_u)np->wn_region, 2); // <prefcondnr>
                }
                else
                {
-                   /* For word trees we write the flag/region items. */
+                   // For word trees we write the flag/region items.
                    flags = np->wn_flags;
                    if (regionmask != 0 && np->wn_region != regionmask)
                        flags |= WF_REGION;
@@ -5334,26 +5333,26 @@ put_node(
                        flags |= WF_AFX;
                    if (flags == 0)
                    {
-                       /* word without flags or region */
-                       putc(BY_NOFLAGS, fd);                   /* <byte> */
+                       // word without flags or region
+                       putc(BY_NOFLAGS, fd);                   // <byte>
                    }
                    else
                    {
                        if (np->wn_flags >= 0x100)
                        {
-                           putc(BY_FLAGS2, fd);                /* <byte> */
-                           putc(flags, fd);                    /* <flags> */
-                           putc((unsigned)flags >> 8, fd);     /* <flags2> */
+                           putc(BY_FLAGS2, fd);                // <byte>
+                           putc(flags, fd);                    // <flags>
+                           putc((unsigned)flags >> 8, fd);     // <flags2>
                        }
                        else
                        {
-                           putc(BY_FLAGS, fd);                 /* <byte> */
-                           putc(flags, fd);                    /* <flags> */
+                           putc(BY_FLAGS, fd);                 // <byte>
+                           putc(flags, fd);                    // <flags>
                        }
                        if (flags & WF_REGION)
-                           putc(np->wn_region, fd);            /* <region> */
+                           putc(np->wn_region, fd);            // <region>
                        if (flags & WF_AFX)
-                           putc(np->wn_affixID, fd);           /* <affixID> */
+                           putc(np->wn_affixID, fd);           // <affixID>
                    }
                }
            }
@@ -5363,20 +5362,20 @@ put_node(
            if (np->wn_child->wn_u1.index != 0
                                         && np->wn_child->wn_u2.wnode != node)
            {
-               /* The child is written elsewhere, write the reference. */
+               // The child is written elsewhere, write the reference.
                if (fd != NULL)
                {
-                   putc(BY_INDEX, fd);                 /* <byte> */
-                                                       /* <nodeidx> */
+                   putc(BY_INDEX, fd);                 // <byte>
+                                                       // <nodeidx>
                    put_bytes(fd, (long_u)np->wn_child->wn_u1.index, 3);
                }
            }
            else if (np->wn_child->wn_u2.wnode == NULL)
-               /* We will write the child below and give it an index. */
+               // We will write the child below and give it an index.
                np->wn_child->wn_u2.wnode = node;
 
            if (fd != NULL)
-               if (putc(np->wn_byte, fd) == EOF) /* <byte> or <xbyte> */
+               if (putc(np->wn_byte, fd) == EOF) // <byte> or <xbyte>
                {
                    emsg(_(e_write));
                    return 0;
@@ -5384,11 +5383,11 @@ put_node(
        }
     }
 
-    /* Space used in the array when reading: one for each sibling and one for
-     * the count. */
+    // Space used in the array when reading: one for each sibling and one for
+    // the count.
     newindex += siblingcount + 1;
 
-    /* Recursively dump the children of each sibling. */
+    // Recursively dump the children of each sibling.
     for (np = node; np != NULL; np = np->wn_sibling)
        if (np->wn_byte != 0 && np->wn_child->wn_u2.wnode == node)
            newindex = put_node(fd, np->wn_child, newindex, regionmask,
@@ -5416,7 +5415,7 @@ ex_mkspell(exarg_T *eap)
        arg = skipwhite(arg + 6);
     }
 
-    /* Expand all the remaining arguments (e.g., $VIMRUNTIME). */
+    // Expand all the remaining arguments (e.g., $VIMRUNTIME).
     if (get_arglist_exp(arg, &fcount, &fnames, FALSE) == OK)
     {
        mkspell(fcount, fnames, ascii, eap->forceit, FALSE);
@@ -5461,7 +5460,7 @@ spell_make_sugfile(spellinfo_T *spin, char_u *wfname)
      */
     spin->si_blocks = NULL;
     spin->si_blocks_cnt = 0;
-    spin->si_compress_cnt = 0;     /* will stay at 0 all the time*/
+    spin->si_compress_cnt = 0;     // will stay at 0 all the time
     spin->si_free_count = 0;
     spin->si_first_free = NULL;
     spin->si_foldwcount = 0;
@@ -5531,12 +5530,12 @@ sug_filltree(spellinfo_T *spin, slang_T *slang)
     unsigned   words_done = 0;
     int                wordcount[MAXWLEN];
 
-    /* We use si_foldroot for the soundfolded trie. */
+    // We use si_foldroot for the soundfolded trie.
     spin->si_foldroot = wordtree_alloc(spin);
     if (spin->si_foldroot == NULL)
        return FAIL;
 
-    /* let tree_add_word() know we're adding to the soundfolded tree */
+    // let tree_add_word() know we're adding to the soundfolded tree
     spin->si_sugtree = TRUE;
 
     /*
@@ -5555,7 +5554,7 @@ sug_filltree(spellinfo_T *spin, slang_T *slang)
     {
        if (curi[depth] > byts[arridx[depth]])
        {
-           /* Done all bytes at this node, go up one level. */
+           // Done all bytes at this node, go up one level.
            idxs[arridx[depth]] = wordcount[depth];
            if (depth > 0)
                wordcount[depth - 1] += wordcount[depth];
@@ -5566,19 +5565,19 @@ sug_filltree(spellinfo_T *spin, slang_T *slang)
        else
        {
 
-           /* Do one more byte at this node. */
+           // Do one more byte at this node.
            n = arridx[depth] + curi[depth];
            ++curi[depth];
 
            c = byts[n];
            if (c == 0)
            {
-               /* Sound-fold the word. */
+               // Sound-fold the word.
                tword[depth] = NUL;
                spell_soundfold(slang, tword, TRUE, tsalword);
 
-               /* We use the "flags" field for the MSB of the wordnr,
-                * "region" for the LSB of the wordnr.  */
+               // We use the "flags" field for the MSB of the wordnr,
+               // "region" for the LSB of the wordnr.
                if (tree_add_word(spin, tsalword, spin->si_foldroot,
                                words_done >> 16, words_done & 0xffff,
                                                           0) == FAIL)
@@ -5587,12 +5586,12 @@ sug_filltree(spellinfo_T *spin, slang_T *slang)
                ++words_done;
                ++wordcount[depth];
 
-               /* Reset the block count each time to avoid compression
-                * kicking in. */
+               // Reset the block count each time to avoid compression
+               // kicking in.
                spin->si_blocks_cnt = 0;
 
-               /* Skip over any other NUL bytes (same word with different
-                * flags). */
+               // Skip over any other NUL bytes (same word with different
+               // flags).
                while (byts[n + 1] == 0)
                {
                    ++n;
@@ -5601,7 +5600,7 @@ sug_filltree(spellinfo_T *spin, slang_T *slang)
            }
            else
            {
-               /* Normal char, go one level deeper. */
+               // Normal char, go one level deeper.
                tword[depth++] = c;
                arridx[depth] = idxs[n];
                curi[depth] = 1;
@@ -5628,17 +5627,17 @@ sug_maketable(spellinfo_T *spin)
     garray_T   ga;
     int                res = OK;
 
-    /* Allocate a buffer, open a memline for it and create the swap file
-     * (uses a temp file, not a .swp file). */
+    // Allocate a buffer, open a memline for it and create the swap file
+    // (uses a temp file, not a .swp file).
     spin->si_spellbuf = open_spellbuf();
     if (spin->si_spellbuf == NULL)
        return FAIL;
 
-    /* Use a buffer to store the line info, avoids allocating many small
-     * pieces of memory. */
+    // Use a buffer to store the line info, avoids allocating many small
+    // pieces of memory.
     ga_init2(&ga, 1, 100);
 
-    /* recursively go through the tree */
+    // recursively go through the tree
     if (sug_filltable(spin, spin->si_foldroot->wn_sibling, 0, &ga) == -1)
        res = FAIL;
 
@@ -5656,7 +5655,7 @@ sug_filltable(
     spellinfo_T        *spin,
     wordnode_T *node,
     int                startwordnr,
-    garray_T   *gap)       /* place to store line of numbers */
+    garray_T   *gap)       // place to store line of numbers
 {
     wordnode_T *p, *np;
     int                wordnr = startwordnr;
@@ -5675,17 +5674,17 @@ sug_filltable(
                    return -1;
 
                nr = (np->wn_flags << 16) + (np->wn_region & 0xffff);
-               /* Compute the offset from the previous nr and store the
-                * offset in a way that it takes a minimum number of bytes.
-                * It's a bit like utf-8, but without the need to mark
-                * following bytes. */
+               // Compute the offset from the previous nr and store the
+               // offset in a way that it takes a minimum number of bytes.
+               // It's a bit like utf-8, but without the need to mark
+               // following bytes.
                nr -= prev_nr;
                prev_nr += nr;
                gap->ga_len += offset2bytes(nr,
                                         (char_u *)gap->ga_data + gap->ga_len);
            }
 
-           /* add the NUL byte */
+           // add the NUL byte
            ((char_u *)gap->ga_data)[gap->ga_len++] = NUL;
 
            if (ml_append_buf(spin->si_spellbuf, (linenr_T)wordnr,
@@ -5693,13 +5692,13 @@ sug_filltable(
                return -1;
            ++wordnr;
 
-           /* Remove extra NUL entries, we no longer need them. We don't
-            * bother freeing the nodes, the won't be reused anyway. */
+           // Remove extra NUL entries, we no longer need them. We don't
+           // bother freeing the nodes, the won't be reused anyway.
            while (p->wn_sibling != NULL && p->wn_sibling->wn_byte == NUL)
                p->wn_sibling = p->wn_sibling->wn_sibling;
 
-           /* Clear the flags on the remaining NUL node, so that compression
-            * works a lot better. */
+           // Clear the flags on the remaining NUL node, so that compression
+           // works a lot better.
            p->wn_flags = 0;
            p->wn_region = 0;
        }
@@ -5724,7 +5723,7 @@ offset2bytes(int nr, char_u *buf)
     int            rem;
     int            b1, b2, b3, b4;
 
-    /* Split the number in parts of base 255.  We need to avoid NUL bytes. */
+    // Split the number in parts of base 255.  We need to avoid NUL bytes.
     b1 = nr % 255 + 1;
     rem = nr / 255;
     b2 = rem % 255 + 1;
@@ -5732,7 +5731,7 @@ offset2bytes(int nr, char_u *buf)
     b3 = rem % 255 + 1;
     b4 = rem / 255 + 1;
 
-    if (b4 > 1 || b3 > 0x1f)   /* 4 bytes */
+    if (b4 > 1 || b3 > 0x1f)   // 4 bytes
     {
        buf[0] = 0xe0 + b4;
        buf[1] = b3;
@@ -5740,20 +5739,20 @@ offset2bytes(int nr, char_u *buf)
        buf[3] = b1;
        return 4;
     }
-    if (b3 > 1 || b2 > 0x3f )  /* 3 bytes */
+    if (b3 > 1 || b2 > 0x3f )  // 3 bytes
     {
        buf[0] = 0xc0 + b3;
        buf[1] = b2;
        buf[2] = b1;
        return 3;
     }
-    if (b2 > 1 || b1 > 0x7f )  /* 2 bytes */
+    if (b2 > 1 || b1 > 0x7f )  // 2 bytes
     {
        buf[0] = 0x80 + b2;
        buf[1] = b1;
        return 2;
     }
-                               /* 1 byte */
+                               // 1 byte
     buf[0] = b1;
     return 1;
 }
@@ -5772,7 +5771,7 @@ sug_write(spellinfo_T *spin, char_u *fname)
     linenr_T   lnum;
     int                len;
 
-    /* Create the file.  Note that an existing file is silently overwritten! */
+    // Create the file.  Note that an existing file is silently overwritten!
     fd = mch_fopen((char *)fname, "w");
     if (fd == NULL)
     {
@@ -5787,15 +5786,15 @@ sug_write(spellinfo_T *spin, char_u *fname)
     /*
      * <SUGHEADER>: <fileID> <versionnr> <timestamp>
      */
-    if (fwrite(VIMSUGMAGIC, VIMSUGMAGICL, (size_t)1, fd) != 1) /* <fileID> */
+    if (fwrite(VIMSUGMAGIC, VIMSUGMAGICL, (size_t)1, fd) != 1) // <fileID>
     {
        emsg(_(e_write));
        goto theend;
     }
-    putc(VIMSUGVERSION, fd);                           /* <versionnr> */
+    putc(VIMSUGVERSION, fd);                           // <versionnr>
 
-    /* Write si_sugtime to the file. */
-    put_time(fd, spin->si_sugtime);                    /* <timestamp> */
+    // Write si_sugtime to the file.
+    put_time(fd, spin->si_sugtime);                    // <timestamp>
 
     /*
      * <SUGWORDTREE>
@@ -5803,30 +5802,30 @@ sug_write(spellinfo_T *spin, char_u *fname)
     spin->si_memtot = 0;
     tree = spin->si_foldroot->wn_sibling;
 
-    /* Clear the index and wnode fields in the tree. */
+    // Clear the index and wnode fields in the tree.
     clear_node(tree);
 
-    /* Count the number of nodes.  Needed to be able to allocate the
-     * memory when reading the nodes.  Also fills in index for shared
-     * nodes. */
+    // Count the number of nodes.  Needed to be able to allocate the
+    // memory when reading the nodes.  Also fills in index for shared
+    // nodes.
     nodecount = put_node(NULL, tree, 0, 0, FALSE);
 
-    /* number of nodes in 4 bytes */
-    put_bytes(fd, (long_u)nodecount, 4);       /* <nodecount> */
+    // number of nodes in 4 bytes
+    put_bytes(fd, (long_u)nodecount, 4);       // <nodecount>
     spin->si_memtot += nodecount + nodecount * sizeof(int);
 
-    /* Write the nodes. */
+    // Write the nodes.
     (void)put_node(fd, tree, 0, 0, FALSE);
 
     /*
      * <SUGTABLE>: <sugwcount> <sugline> ...
      */
     wcount = spin->si_spellbuf->b_ml.ml_line_count;
-    put_bytes(fd, (long_u)wcount, 4);  /* <sugwcount> */
+    put_bytes(fd, (long_u)wcount, 4);  // <sugwcount>
 
     for (lnum = 1; lnum <= (linenr_T)wcount; ++lnum)
     {
-       /* <sugline>: <sugnr> ... NUL */
+       // <sugline>: <sugnr> ... NUL
        line = ml_get_buf(spin->si_spellbuf, lnum, FALSE);
        len = (int)STRLEN(line) + 1;
        if (fwrite(line, (size_t)len, (size_t)1, fd) == 0)
@@ -5837,7 +5836,7 @@ sug_write(spellinfo_T *spin, char_u *fname)
        spin->si_memtot += len;
     }
 
-    /* Write another byte to check for errors. */
+    // Write another byte to check for errors.
     if (putc(0, fd) == EOF)
        emsg(_(e_write));
 
@@ -5846,7 +5845,7 @@ sug_write(spellinfo_T *spin, char_u *fname)
     spell_message(spin, IObuff);
 
 theend:
-    /* close the file */
+    // close the file
     fclose(fd);
 }
 
@@ -5862,9 +5861,9 @@ theend:
 mkspell(
     int                fcount,
     char_u     **fnames,
-    int                ascii,              /* -ascii argument given */
-    int                over_write,         /* overwrite existing output file */
-    int                added_word)         /* invoked through "zg" */
+    int                ascii,              // -ascii argument given
+    int                over_write,         // overwrite existing output file
+    int                added_word)         // invoked through "zg"
 {
     char_u     *fname = NULL;
     char_u     *wfname;
@@ -5889,9 +5888,9 @@ mkspell(
     ga_init2(&spin.si_comppat, (int)sizeof(char_u *), 20);
     ga_init2(&spin.si_prefcond, (int)sizeof(char_u *), 50);
     hash_init(&spin.si_commonwords);
-    spin.si_newcompID = 127;   /* start compound ID at first maximum */
+    spin.si_newcompID = 127;   // start compound ID at first maximum
 
-    /* default: fnames[0] is output file, following are input files */
+    // default: fnames[0] is output file, following are input files
     innames = &fnames[1];
     incount = fcount - 1;
 
@@ -5904,15 +5903,15 @@ mkspell(
        len = (int)STRLEN(fnames[0]);
        if (fcount == 1 && len > 4 && STRCMP(fnames[0] + len - 4, ".add") == 0)
        {
-           /* For ":mkspell path/en.latin1.add" output file is
-            * "path/en.latin1.add.spl". */
+           // For ":mkspell path/en.latin1.add" output file is
+           // "path/en.latin1.add.spl".
            innames = &fnames[0];
            incount = 1;
            vim_snprintf((char *)wfname, MAXPATHL, "%s.spl", fnames[0]);
        }
        else if (fcount == 1)
        {
-           /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */
+           // For ":mkspell path/vim" output file is "path/vim.latin1.spl".
            innames = &fnames[0];
            incount = 1;
            vim_snprintf((char *)wfname, MAXPATHL, SPL_FNAME_TMPL,
@@ -5920,33 +5919,33 @@ mkspell(
        }
        else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0)
        {
-           /* Name ends in ".spl", use as the file name. */
+           // Name ends in ".spl", use as the file name.
            vim_strncpy(wfname, fnames[0], MAXPATHL - 1);
        }
        else
-           /* Name should be language, make the file name from it. */
+           // Name should be language, make the file name from it.
            vim_snprintf((char *)wfname, MAXPATHL, SPL_FNAME_TMPL,
                  fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
 
-       /* Check for .ascii.spl. */
+       // Check for .ascii.spl.
        if (strstr((char *)gettail(wfname), SPL_FNAME_ASCII) != NULL)
            spin.si_ascii = TRUE;
 
-       /* Check for .add.spl. */
+       // Check for .add.spl.
        if (strstr((char *)gettail(wfname), SPL_FNAME_ADD) != NULL)
            spin.si_add = TRUE;
     }
 
     if (incount <= 0)
-       emsg(_(e_invarg));      /* need at least output and input names */
+       emsg(_(e_invarg));      // need at least output and input names
     else if (vim_strchr(gettail(wfname), '_') != NULL)
        emsg(_("E751: Output file name must not have region name"));
     else if (incount > MAXREGIONS)
        semsg(_("E754: Only up to %d regions supported"), MAXREGIONS);
     else
     {
-       /* Check for overwriting before doing things that may take a lot of
-        * time. */
+       // Check for overwriting before doing things that may take a lot of
+       // time.
        if (!over_write && mch_stat((char *)wfname, &st) >= 0)
        {
            emsg(_(e_exists));
@@ -5997,11 +5996,11 @@ mkspell(
            goto theend;
        }
 
-       /* When not producing a .add.spl file clear the character table when
-        * we encounter one in the .aff file.  This means we dump the current
-        * one in the .spl file if the .aff file doesn't define one.  That's
-        * better than guessing the contents, the table will match a
-        * previously loaded spell file. */
+       // When not producing a .add.spl file clear the character table when
+       // we encounter one in the .aff file.  This means we dump the current
+       // one in the .spl file if the .aff file doesn't define one.  That's
+       // better than guessing the contents, the table will match a
+       // previously loaded spell file.
        if (!spin.si_add)
            spin.si_clear_chartab = TRUE;
 
@@ -6018,14 +6017,14 @@ mkspell(
            vim_snprintf((char *)fname, MAXPATHL, "%s.aff", innames[i]);
            if (mch_stat((char *)fname, &st) >= 0)
            {
-               /* Read the .aff file.  Will init "spin->si_conv" based on the
-                * "SET" line. */
+               // Read the .aff file.  Will init "spin->si_conv" based on the
+               // "SET" line.
                afile[i] = spell_read_aff(&spin, fname);
                if (afile[i] == NULL)
                    error = TRUE;
                else
                {
-                   /* Read the .dic file and store the words in the trees. */
+                   // Read the .dic file and store the words in the trees.
                    vim_snprintf((char *)fname, MAXPATHL, "%s.dic",
                                                                  innames[i]);
                    if (spell_read_dic(&spin, fname, afile[i]) == FAIL)
@@ -6034,13 +6033,13 @@ mkspell(
            }
            else
            {
-               /* No .aff file, try reading the file as a word list.  Store
-                * the words in the trees. */
+               // No .aff file, try reading the file as a word list.  Store
+               // the words in the trees.
                if (spell_read_wordfile(&spin, innames[i]) == FAIL)
                    error = TRUE;
            }
 
-           /* Free any conversion stuff. */
+           // Free any conversion stuff.
            convert_setup(&spin.si_conv, NULL, NULL);
        }
 
@@ -6081,7 +6080,7 @@ mkspell(
                spell_reload_one(wfname, added_word);
        }
 
-       /* Free the allocated memory. */
+       // Free the allocated memory.
        ga_clear(&spin.si_rep);
        ga_clear(&spin.si_repsal);
        ga_clear(&spin.si_sal);
@@ -6090,12 +6089,12 @@ mkspell(
        ga_clear(&spin.si_prefcond);
        hash_clear_all(&spin.si_commonwords, 0);
 
-       /* Free the .aff file structures. */
+       // Free the .aff file structures.
        for (i = 0; i < incount; ++i)
            if (afile[i] != NULL)
                spell_free_aff(afile[i]);
 
-       /* Free all the bits and pieces at once. */
+       // Free all the bits and pieces at once.
        free_blocks(spin.si_blocks);
 
        /*
@@ -6168,7 +6167,7 @@ spell_add_word(
     int                i;
     char_u     *spf;
 
-    if (idx == 0)          /* use internal wordlist */
+    if (idx == 0)          // use internal wordlist
     {
        if (int_wordlist == NULL)
        {
@@ -6180,7 +6179,7 @@ spell_add_word(
     }
     else
     {
-       /* If 'spellfile' isn't set figure out a good default value. */
+       // If 'spellfile' isn't set figure out a good default value.
        if (*curwin->w_s->b_p_spf == NUL)
        {
            init_spellfile();
@@ -6209,7 +6208,7 @@ spell_add_word(
            }
        }
 
-       /* Check that the user isn't editing the .add file somewhere. */
+       // Check that the user isn't editing the .add file somewhere.
        buf = buflist_findname_exp(fnamebuf);
        if (buf != NULL && buf->b_ml.ml_mfp == NULL)
            buf = NULL;
@@ -6225,8 +6224,8 @@ spell_add_word(
 
     if (what == SPELL_ADD_BAD || undo)
     {
-       /* When the word appears as good word we need to remove that one,
-        * since its flags sort before the one with WF_BANNED. */
+       // When the word appears as good word we need to remove that one,
+       // since its flags sort before the one with WF_BANNED.
        fd = mch_fopen((char *)fname, "r");
        if (fd != NULL)
        {
@@ -6237,9 +6236,9 @@ spell_add_word(
                if (STRNCMP(word, line, len) == 0
                        && (line[len] == '/' || line[len] < ' '))
                {
-                   /* Found duplicate word.  Remove it by writing a '#' at
-                    * the start of the line.  Mixing reading and writing
-                    * doesn't work for all systems, close the file first. */
+                   // Found duplicate word.  Remove it by writing a '#' at
+                   // the start of the line.  Mixing reading and writing
+                   // doesn't work for all systems, close the file first.
                    fclose(fd);
                    fd = mch_fopen((char *)fname, "r+");
                    if (fd == NULL)
@@ -6269,16 +6268,16 @@ spell_add_word(
        {
            char_u *p;
 
-           /* We just initialized the 'spellfile' option and can't open the
-            * file.  We may need to create the "spell" directory first.  We
-            * already checked the runtime directory is writable in
-            * init_spellfile(). */
+           // We just initialized the 'spellfile' option and can't open the
+           // file.  We may need to create the "spell" directory first.  We
+           // already checked the runtime directory is writable in
+           // init_spellfile().
            if (!dir_of_file_exists(fname) && (p = gettail_sep(fname)) != fname)
            {
                int c = *p;
 
-               /* The directory doesn't exist.  Try creating it and opening
-                * the file again. */
+               // The directory doesn't exist.  Try creating it and opening
+               // the file again.
                *p = NUL;
                vim_mkdir(fname, 0755);
                *p = c;
@@ -6305,10 +6304,10 @@ spell_add_word(
 
     if (fd != NULL)
     {
-       /* Update the .add.spl file. */
+       // Update the .add.spl file.
        mkspell(1, &fname, FALSE, TRUE, TRUE);
 
-       /* If the .add file is edited somewhere, reload it. */
+       // If the .add file is edited somewhere, reload it.
        if (buf != NULL)
            buf_reload(buf, buf->b_orig_mode);
 
@@ -6337,8 +6336,8 @@ init_spellfile(void)
        if (buf == NULL)
            return;
 
-       /* Find the end of the language name.  Exclude the region.  If there
-        * is a path separator remember the start of the tail. */
+       // Find the end of the language name.  Exclude the region.  If there
+       // is a path separator remember the start of the tail.
        for (lend = curwin->w_s->b_p_spl; *lend != NUL
                        && vim_strchr((char_u *)",._", *lend) == NULL; ++lend)
            if (vim_ispathsep(*lend))
@@ -6347,29 +6346,29 @@ init_spellfile(void)
                lstart = lend + 1;
            }
 
-       /* Loop over all entries in 'runtimepath'.  Use the first one where we
-        * are allowed to write. */
+       // Loop over all entries in 'runtimepath'.  Use the first one where we
+       // are allowed to write.
        rtp = p_rtp;
        while (*rtp != NUL)
        {
            if (aspath)
-               /* Use directory of an entry with path, e.g., for
-                * "/dir/lg.utf-8.spl" use "/dir". */
+               // Use directory of an entry with path, e.g., for
+               // "/dir/lg.utf-8.spl" use "/dir".
                vim_strncpy(buf, curbuf->b_s.b_p_spl,
                                            lstart - curbuf->b_s.b_p_spl - 1);
            else
-               /* Copy the path from 'runtimepath' to buf[]. */
+               // Copy the path from 'runtimepath' to buf[].
                copy_option_part(&rtp, buf, MAXPATHL, ",");
            if (filewritable(buf) == 2)
            {
-               /* Use the first language name from 'spelllang' and the
-                * encoding used in the first loaded .spl file. */
+               // Use the first language name from 'spelllang' and the
+               // encoding used in the first loaded .spl file.
                if (aspath)
                    vim_strncpy(buf, curbuf->b_s.b_p_spl,
                                                  lend - curbuf->b_s.b_p_spl);
                else
                {
-                   /* Create the "spell" directory if it doesn't exist yet. */
+                   // Create the "spell" directory if it doesn't exist yet.
                    l = (int)STRLEN(buf);
                    vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell");
                    if (filewritable(buf) != 2)
@@ -6404,8 +6403,8 @@ init_spellfile(void)
     static int
 set_spell_chartab(char_u *fol, char_u *low, char_u *upp)
 {
-    /* We build the new tables here first, so that we can compare with the
-     * previous one. */
+    // We build the new tables here first, so that we can compare with the
+    // previous one.
     spelltab_T new_st;
     char_u     *pf = fol, *pl = low, *pu = upp;
     int                f, l, u;
@@ -6423,7 +6422,7 @@ set_spell_chartab(char_u *fol, char_u *low, char_u *upp)
        l = mb_ptr2char_adv(&pl);
        u = mb_ptr2char_adv(&pu);
 
-       /* Every character that appears is a word character. */
+       // Every character that appears is a word character.
        if (f < 256)
            new_st.st_isw[f] = TRUE;
        if (l < 256)
@@ -6431,8 +6430,8 @@ set_spell_chartab(char_u *fol, char_u *low, char_u *upp)
        if (u < 256)
            new_st.st_isw[u] = TRUE;
 
-       /* if "LOW" and "FOL" are not the same the "LOW" char needs
-        * case-folding */
+       // if "LOW" and "FOL" are not the same the "LOW" char needs
+       // case-folding
        if (l < 256 && l != f)
        {
            if (f >= 256)
@@ -6443,9 +6442,9 @@ set_spell_chartab(char_u *fol, char_u *low, char_u *upp)
            new_st.st_fold[l] = f;
        }
 
-       /* if "UPP" and "FOL" are not the same the "UPP" char needs
-        * case-folding, it's upper case and the "UPP" is the upper case of
-        * "FOL" . */
+       // if "UPP" and "FOL" are not the same the "UPP" char needs
+       // case-folding, it's upper case and the "UPP" is the upper case of
+       // "FOL" .
        if (u < 256 && u != f)
        {
            if (f >= 256)
@@ -6474,11 +6473,11 @@ set_spell_chartab(char_u *fol, char_u *low, char_u *upp)
     static void
 set_spell_charflags(
     char_u     *flags,
-    int                cnt,        /* length of "flags" */
+    int                cnt,        // length of "flags"
     char_u     *fol)
 {
-    /* We build the new tables here first, so that we can compare with the
-     * previous one. */
+    // We build the new tables here first, so that we can compare with the
+    // previous one.
     spelltab_T new_st;
     int                i;
     char_u     *p = fol;
@@ -6513,7 +6512,7 @@ set_spell_finish(spelltab_T *new_st)
 
     if (did_set_spelltab)
     {
-       /* check that it's the same table */
+       // check that it's the same table
        for (i = 0; i < 256; ++i)
        {
            if (spelltab.st_isw[i] != new_st->st_isw[i]
@@ -6528,7 +6527,7 @@ set_spell_finish(spelltab_T *new_st)
     }
     else
     {
-       /* copy the new spelltab into the one being used */
+       // copy the new spelltab into the one being used
        spelltab = *new_st;
        did_set_spelltab = TRUE;
     }
@@ -6547,16 +6546,16 @@ write_spell_prefcond(FILE *fd, garray_T *gap)
     char_u     *p;
     int                len;
     int                totlen;
-    size_t     x = 1;  /* collect return value of fwrite() */
+    size_t     x = 1;  // collect return value of fwrite()
 
     if (fd != NULL)
-       put_bytes(fd, (long_u)gap->ga_len, 2);      /* <prefcondcnt> */
+       put_bytes(fd, (long_u)gap->ga_len, 2);      // <prefcondcnt>
 
-    totlen = 2 + gap->ga_len; /* length of <prefcondcnt> and <condlen> bytes */
+    totlen = 2 + gap->ga_len; // length of <prefcondcnt> and <condlen> bytes
 
     for (i = 0; i < gap->ga_len; ++i)
     {
-       /* <prefcond> : <condlen> <condstr> */
+       // <prefcond> : <condlen> <condstr>
        p = ((char_u **)gap->ga_data)[i];
        if (p != NULL)
        {
@@ -6594,7 +6593,7 @@ set_map_str(slang_T *lp, char_u *map)
     }
     lp->sl_has_map = TRUE;
 
-    /* Init the array and hash tables empty. */
+    // Init the array and hash tables empty.
     for (i = 0; i < 256; ++i)
        lp->sl_map_array[i] = 0;
     hash_init(&lp->sl_map_hash);
@@ -6614,9 +6613,9 @@ set_map_str(slang_T *lp, char_u *map)
            if (headc == 0)
                 headc = c;
 
-           /* Characters above 255 don't fit in sl_map_array[], put them in
-            * the hash table.  Each entry is the char, a NUL the headchar and
-            * a NUL. */
+           // Characters above 255 don't fit in sl_map_array[], put them in
+           // the hash table.  Each entry is the char, a NUL the headchar and
+           // a NUL.
            if (c >= 256)
            {
                int         cl = mb_char2len(c);
@@ -6638,8 +6637,8 @@ set_map_str(slang_T *lp, char_u *map)
                    hash_add_item(&lp->sl_map_hash, hi, b, hash);
                else
                {
-                   /* This should have been checked when generating the .spl
-                    * file. */
+                   // This should have been checked when generating the .spl
+                   // file.
                    emsg(_("E783: duplicate char in MAP entry"));
                    vim_free(b);
                }
@@ -6651,4 +6650,4 @@ set_map_str(slang_T *lp, char_u *map)
 }
 
 
-#endif  /* FEAT_SPELL */
+#endif  // FEAT_SPELL
index 2141beeaf6b95c03a5d16c609f6f5dd749752880..e99eb8669a4b137048f3826e384faba92baaf52f 100644 (file)
 
 #if defined(FEAT_SYN_HL) || defined(PROTO)
 
-#define SYN_NAMELEN    50              /* maximum length of a syntax name */
-
-/* different types of offsets that are possible */
-#define SPO_MS_OFF     0       /* match  start offset */
-#define SPO_ME_OFF     1       /* match  end   offset */
-#define SPO_HS_OFF     2       /* highl. start offset */
-#define SPO_HE_OFF     3       /* highl. end   offset */
-#define SPO_RS_OFF     4       /* region start offset */
-#define SPO_RE_OFF     5       /* region end   offset */
-#define SPO_LC_OFF     6       /* leading context offset */
+#define SYN_NAMELEN    50              // maximum length of a syntax name
+
+// different types of offsets that are possible
+#define SPO_MS_OFF     0       // match  start offset
+#define SPO_ME_OFF     1       // match  end   offset
+#define SPO_HS_OFF     2       // highl. start offset
+#define SPO_HE_OFF     3       // highl. end   offset
+#define SPO_RS_OFF     4       // region start offset
+#define SPO_RE_OFF     5       // region end   offset
+#define SPO_LC_OFF     6       // leading context offset
 #define SPO_COUNT      7
 
 static char *(spo_name_tab[SPO_COUNT]) =
@@ -45,62 +45,61 @@ static char *(spo_name_tab[SPO_COUNT]) =
  */
 typedef struct syn_pattern
 {
-    char        sp_type;               /* see SPTYPE_ defines below */
-    char        sp_syncing;            /* this item used for syncing */
-    short       sp_syn_match_id;       /* highlight group ID of pattern */
-    short       sp_off_flags;          /* see below */
-    int                 sp_offsets[SPO_COUNT]; /* offsets */
-    int                 sp_flags;              /* see HL_ defines below */
+    char        sp_type;               // see SPTYPE_ defines below
+    char        sp_syncing;            // this item used for syncing
+    short       sp_syn_match_id;       // highlight group ID of pattern
+    short       sp_off_flags;          // see below
+    int                 sp_offsets[SPO_COUNT]; // offsets
+    int                 sp_flags;              // see HL_ defines below
 #ifdef FEAT_CONCEAL
-    int                 sp_cchar;              /* conceal substitute character */
+    int                 sp_cchar;              // conceal substitute character
 #endif
-    int                 sp_ic;                 /* ignore-case flag for sp_prog */
-    int                 sp_sync_idx;           /* sync item index (syncing only) */
-    int                 sp_line_id;            /* ID of last line where tried */
-    int                 sp_startcol;           /* next match in sp_line_id line */
-    short      *sp_cont_list;          /* cont. group IDs, if non-zero */
-    short      *sp_next_list;          /* next group IDs, if non-zero */
-    struct sp_syn sp_syn;              /* struct passed to in_id_list() */
-    char_u     *sp_pattern;            /* regexp to match, pattern */
-    regprog_T  *sp_prog;               /* regexp to match, program */
+    int                 sp_ic;                 // ignore-case flag for sp_prog
+    int                 sp_sync_idx;           // sync item index (syncing only)
+    int                 sp_line_id;            // ID of last line where tried
+    int                 sp_startcol;           // next match in sp_line_id line
+    short      *sp_cont_list;          // cont. group IDs, if non-zero
+    short      *sp_next_list;          // next group IDs, if non-zero
+    struct sp_syn sp_syn;              // struct passed to in_id_list()
+    char_u     *sp_pattern;            // regexp to match, pattern
+    regprog_T  *sp_prog;               // regexp to match, program
 #ifdef FEAT_PROFILE
     syn_time_T  sp_time;
 #endif
 } synpat_T;
 
-/* The sp_off_flags are computed like this:
- * offset from the start of the matched text: (1 << SPO_XX_OFF)
- * offset from the end  of the matched text: (1 << (SPO_XX_OFF + SPO_COUNT))
- * When both are present, only one is used.
- */
+// The sp_off_flags are computed like this:
+// offset from the start of the matched text: (1 << SPO_XX_OFF)
+// offset from the end  of the matched text: (1 << (SPO_XX_OFF + SPO_COUNT))
+// When both are present, only one is used.
 
-#define SPTYPE_MATCH   1       /* match keyword with this group ID */
-#define SPTYPE_START   2       /* match a regexp, start of item */
-#define SPTYPE_END     3       /* match a regexp, end of item */
-#define SPTYPE_SKIP    4       /* match a regexp, skip within item */
+#define SPTYPE_MATCH   1       // match keyword with this group ID
+#define SPTYPE_START   2       // match a regexp, start of item
+#define SPTYPE_END     3       // match a regexp, end of item
+#define SPTYPE_SKIP    4       // match a regexp, skip within item
 
 
 #define SYN_ITEMS(buf) ((synpat_T *)((buf)->b_syn_patterns.ga_data))
 
-#define NONE_IDX       -2      /* value of sp_sync_idx for "NONE" */
+#define NONE_IDX       -2      // value of sp_sync_idx for "NONE"
 
 /*
  * Flags for b_syn_sync_flags:
  */
-#define SF_CCOMMENT    0x01    /* sync on a C-style comment */
-#define SF_MATCH       0x02    /* sync by matching a pattern */
+#define SF_CCOMMENT    0x01    // sync on a C-style comment
+#define SF_MATCH       0x02    // sync by matching a pattern
 
 #define SYN_STATE_P(ssp)    ((bufstate_T *)((ssp)->ga_data))
 
-#define MAXKEYWLEN     80          /* maximum length of a keyword */
+#define MAXKEYWLEN     80          // maximum length of a keyword
 
 /*
  * The attributes of the syntax item that has been recognized.
  */
-static int current_attr = 0;       /* attr of current syntax word */
+static int current_attr = 0;       // attr of current syntax word
 #ifdef FEAT_EVAL
-static int current_id = 0;         /* ID of current char for syn_get_id() */
-static int current_trans_id = 0;    /* idem, transparency removed */
+static int current_id = 0;         // ID of current char for syn_get_id()
+static int current_trans_id = 0;    // idem, transparency removed
 #endif
 #ifdef FEAT_CONCEAL
 static int current_flags = 0;
@@ -110,17 +109,17 @@ static int current_sub_char = 0;
 
 typedef struct syn_cluster_S
 {
-    char_u         *scl_name;      /* syntax cluster name */
-    char_u         *scl_name_u;    /* uppercase of scl_name */
-    short          *scl_list;      /* IDs in this syntax cluster */
+    char_u         *scl_name;      // syntax cluster name
+    char_u         *scl_name_u;    // uppercase of scl_name
+    short          *scl_list;      // IDs in this syntax cluster
 } syn_cluster_T;
 
 /*
  * Methods of combining two clusters
  */
-#define CLUSTER_REPLACE            1   /* replace first list with second */
-#define CLUSTER_ADD        2   /* add second list to first */
-#define CLUSTER_SUBTRACT    3  /* subtract second list from first */
+#define CLUSTER_REPLACE            1   // replace first list with second
+#define CLUSTER_ADD        2   // add second list to first
+#define CLUSTER_SUBTRACT    3  // subtract second list from first
 
 #define SYN_CLSTR(buf) ((syn_cluster_T *)((buf)->b_syn_clusters.ga_data))
 
@@ -132,12 +131,12 @@ typedef struct syn_cluster_S
  * 22000 - 22999  CONTAINED indicator (current_syn_inc_tag added)
  * 23000 - 32767  cluster IDs (subtract SYNID_CLUSTER for the cluster ID)
  */
-#define SYNID_ALLBUT   MAX_HL_ID   /* syntax group ID for contains=ALLBUT */
-#define SYNID_TOP      21000       /* syntax group ID for contains=TOP */
-#define SYNID_CONTAINED        22000       /* syntax group ID for contains=CONTAINED */
-#define SYNID_CLUSTER  23000       /* first syntax group ID for clusters */
+#define SYNID_ALLBUT   MAX_HL_ID   // syntax group ID for contains=ALLBUT
+#define SYNID_TOP      21000       // syntax group ID for contains=TOP
+#define SYNID_CONTAINED        22000       // syntax group ID for contains=CONTAINED
+#define SYNID_CLUSTER  23000       // first syntax group ID for clusters
 
-#define MAX_SYN_INC_TAG        999         /* maximum before the above overflow */
+#define MAX_SYN_INC_TAG        999         // maximum before the above overflow
 #define MAX_CLUSTER_ID  (32767 - SYNID_CLUSTER)
 
 /*
@@ -183,37 +182,37 @@ static char msg_no_items[] = N_("No Syntax items defined for this buffer");
  */
 typedef struct state_item
 {
-    int                si_idx;                 /* index of syntax pattern or
-                                          KEYWORD_IDX */
-    int                si_id;                  /* highlight group ID for keywords */
-    int                si_trans_id;            /* idem, transparency removed */
-    int                si_m_lnum;              /* lnum of the match */
-    int                si_m_startcol;          /* starting column of the match */
-    lpos_T     si_m_endpos;            /* just after end posn of the match */
-    lpos_T     si_h_startpos;          /* start position of the highlighting */
-    lpos_T     si_h_endpos;            /* end position of the highlighting */
-    lpos_T     si_eoe_pos;             /* end position of end pattern */
-    int                si_end_idx;             /* group ID for end pattern or zero */
-    int                si_ends;                /* if match ends before si_m_endpos */
-    int                si_attr;                /* attributes in this state */
-    long       si_flags;               /* HL_HAS_EOL flag in this state, and
-                                        * HL_SKIP* for si_next_list */
+    int                si_idx;                 // index of syntax pattern or
+                                       // KEYWORD_IDX
+    int                si_id;                  // highlight group ID for keywords
+    int                si_trans_id;            // idem, transparency removed
+    int                si_m_lnum;              // lnum of the match
+    int                si_m_startcol;          // starting column of the match
+    lpos_T     si_m_endpos;            // just after end posn of the match
+    lpos_T     si_h_startpos;          // start position of the highlighting
+    lpos_T     si_h_endpos;            // end position of the highlighting
+    lpos_T     si_eoe_pos;             // end position of end pattern
+    int                si_end_idx;             // group ID for end pattern or zero
+    int                si_ends;                // if match ends before si_m_endpos
+    int                si_attr;                // attributes in this state
+    long       si_flags;               // HL_HAS_EOL flag in this state, and
+                                       // HL_SKIP* for si_next_list
 #ifdef FEAT_CONCEAL
-    int                si_seqnr;               /* sequence number */
-    int                si_cchar;               /* substitution character for conceal */
+    int                si_seqnr;               // sequence number
+    int                si_cchar;               // substitution character for conceal
 #endif
-    short      *si_cont_list;          /* list of contained groups */
-    short      *si_next_list;          /* nextgroup IDs after this item ends */
-    reg_extmatch_T *si_extmatch;       /* \z(...\) matches from start
-                                        * pattern */
+    short      *si_cont_list;          // list of contained groups
+    short      *si_next_list;          // nextgroup IDs after this item ends
+    reg_extmatch_T *si_extmatch;       // \z(...\) matches from start
+                                       // pattern
 } stateitem_T;
 
-#define KEYWORD_IDX    -1          /* value of si_idx for keywords */
-#define ID_LIST_ALL    (short *)-1 /* valid of si_cont_list for containing all
-                                      but contained groups */
+#define KEYWORD_IDX    -1          // value of si_idx for keywords
+#define ID_LIST_ALL    (short *)-1 // valid of si_cont_list for containing all
+                                   // but contained groups
 
 #ifdef FEAT_CONCEAL
-static int next_seqnr = 1;             /* value to use for si_seqnr */
+static int next_seqnr = 1;             // value to use for si_seqnr
 #endif
 
 /*
@@ -222,14 +221,14 @@ static int next_seqnr = 1;                /* value to use for si_seqnr */
  */
 typedef struct
 {
-    int                flags;          /* flags for contained and transparent */
-    int                keyword;        /* TRUE for ":syn keyword" */
-    int                *sync_idx;      /* syntax item for "grouphere" argument, NULL
-                                  if not allowed */
-    char       has_cont_list;  /* TRUE if "cont_list" can be used */
-    short      *cont_list;     /* group IDs for "contains" argument */
-    short      *cont_in_list;  /* group IDs for "containedin" argument */
-    short      *next_list;     /* group IDs for "nextgroup" argument */
+    int                flags;          // flags for contained and transparent
+    int                keyword;        // TRUE for ":syn keyword"
+    int                *sync_idx;      // syntax item for "grouphere" argument, NULL
+                               // if not allowed
+    char       has_cont_list;  // TRUE if "cont_list" can be used
+    short      *cont_list;     // group IDs for "contains" argument
+    short      *cont_in_list;  // group IDs for "containedin" argument
+    short      *next_list;     // group IDs for "nextgroup" argument
 } syn_opt_arg_T;
 
 /*
@@ -239,15 +238,15 @@ typedef struct
  * If next_match_col == MAXCOL, no match found in this line.
  * (All end positions have the column of the char after the end)
  */
-static int next_match_col;             /* column for start of next match */
-static lpos_T next_match_m_endpos;     /* position for end of next match */
-static lpos_T next_match_h_startpos;  /* pos. for highl. start of next match */
-static lpos_T next_match_h_endpos;     /* pos. for highl. end of next match */
-static int next_match_idx;             /* index of matched item */
-static long next_match_flags;          /* flags for next match */
-static lpos_T next_match_eos_pos;      /* end of start pattn (start region) */
-static lpos_T next_match_eoe_pos;      /* pos. for end of end pattern */
-static int next_match_end_idx;         /* ID of group for end pattn or zero */
+static int next_match_col;             // column for start of next match
+static lpos_T next_match_m_endpos;     // position for end of next match
+static lpos_T next_match_h_startpos;   // pos. for highl. start of next match
+static lpos_T next_match_h_endpos;     // pos. for highl. end of next match
+static int next_match_idx;             // index of matched item
+static long next_match_flags;          // flags for next match
+static lpos_T next_match_eos_pos;      // end of start pattn (start region)
+static lpos_T next_match_eoe_pos;      // pos. for end of end pattern
+static int next_match_end_idx;         // ID of group for end pattn or zero
 static reg_extmatch_T *next_match_extmatch = NULL;
 
 /*
@@ -261,22 +260,22 @@ static reg_extmatch_T *next_match_extmatch = NULL;
  * The current state (within the line) of the recognition engine.
  * When current_state.ga_itemsize is 0 the current state is invalid.
  */
-static win_T   *syn_win;               /* current window for highlighting */
-static buf_T   *syn_buf;               /* current buffer for highlighting */
-static synblock_T *syn_block;          /* current buffer for highlighting */
+static win_T   *syn_win;               // current window for highlighting
+static buf_T   *syn_buf;               // current buffer for highlighting
+static synblock_T *syn_block;          // current buffer for highlighting
 #ifdef FEAT_RELTIME
-static proftime_T *syn_tm;             /* timeout limit */
+static proftime_T *syn_tm;             // timeout limit
 #endif
-static linenr_T current_lnum = 0;      /* lnum of current state */
-static colnr_T current_col = 0;        /* column of current state */
-static int     current_state_stored = 0; /* TRUE if stored current state
-                                          * after setting current_finished */
-static int     current_finished = 0;   /* current line has been finished */
-static garray_T current_state          /* current stack of state_items */
+static linenr_T current_lnum = 0;      // lnum of current state
+static colnr_T current_col = 0;        // column of current state
+static int     current_state_stored = 0; // TRUE if stored current state
+                                         // after setting current_finished
+static int     current_finished = 0;   // current line has been finished
+static garray_T current_state          // current stack of state_items
                = {0, 0, 0, 0, NULL};
-static short   *current_next_list = NULL; /* when non-zero, nextgroup list */
-static int     current_next_flags = 0; /* flags for current_next_list */
-static int     current_line_id = 0;    /* unique number for current line */
+static short   *current_next_list = NULL; // when non-zero, nextgroup list
+static int     current_next_flags = 0; // flags for current_next_list
+static int     current_line_id = 0;    // unique number for current line
 
 #define CUR_STATE(idx) ((stateitem_T *)(current_state.ga_data))[idx]
 
@@ -377,7 +376,7 @@ syntax_start(win_T *wp, linenr_T lnum)
     linenr_T   parsed_lnum;
     linenr_T   first_stored;
     int                dist;
-    static varnumber_T changedtick = 0;        /* remember the last change ID */
+    static varnumber_T changedtick = 0;        // remember the last change ID
 
 #ifdef FEAT_CONCEAL
     current_sub_char = NUL;
@@ -404,7 +403,7 @@ syntax_start(win_T *wp, linenr_T lnum)
      */
     syn_stack_alloc();
     if (syn_block->b_sst_array == NULL)
-       return;         /* out of memory */
+       return;         // out of memory
     syn_block->b_sst_lasttick = display_tick;
 
     /*
@@ -438,7 +437,7 @@ syntax_start(win_T *wp, linenr_T lnum)
      */
     if (INVALID_STATE(&current_state) && syn_block->b_sst_array != NULL)
     {
-       /* Find last valid saved state before start_lnum. */
+       // Find last valid saved state before start_lnum.
        for (p = syn_block->b_sst_first; p != NULL; p = p->sst_next)
        {
            if (p->sst_lnum > lnum)
@@ -462,11 +461,11 @@ syntax_start(win_T *wp, linenr_T lnum)
     {
        syn_sync(wp, lnum, last_valid);
        if (current_lnum == 1)
-           /* First line is always valid, no matter "minlines". */
+           // First line is always valid, no matter "minlines".
            first_stored = 1;
        else
-           /* Need to parse "minlines" lines before state can be considered
-            * valid to store. */
+           // Need to parse "minlines" lines before state can be considered
+           // valid to store.
            first_stored = current_lnum + syn_block->b_syn_sync_minlines;
     }
     else
@@ -486,13 +485,13 @@ syntax_start(win_T *wp, linenr_T lnum)
        (void)syn_finish_line(FALSE);
        ++current_lnum;
 
-       /* If we parsed at least "minlines" lines or started at a valid
-        * state, the current state is considered valid. */
+       // If we parsed at least "minlines" lines or started at a valid
+       // state, the current state is considered valid.
        if (current_lnum >= first_stored)
        {
-           /* Check if the saved state entry is for the current line and is
-            * equal to the current state.  If so, then validate all saved
-            * states that depended on a change before the parsed line. */
+           // Check if the saved state entry is for the current line and is
+           // equal to the current state.  If so, then validate all saved
+           // states that depended on a change before the parsed line.
            if (prev == NULL)
                prev = syn_stack_find_entry(current_lnum - 1);
            if (prev == NULL)
@@ -510,27 +509,27 @@ syntax_start(win_T *wp, linenr_T lnum)
                while (sp != NULL && sp->sst_change_lnum <= parsed_lnum)
                {
                    if (sp->sst_lnum <= lnum)
-                       /* valid state before desired line, use this one */
+                       // valid state before desired line, use this one
                        prev = sp;
                    else if (sp->sst_change_lnum == 0)
-                       /* past saved states depending on change, break here. */
+                       // past saved states depending on change, break here.
                        break;
                    sp->sst_change_lnum = 0;
                    sp = sp->sst_next;
                }
                load_current_state(prev);
            }
-           /* Store the state at this line when it's the first one, the line
-            * where we start parsing, or some distance from the previously
-            * saved state.  But only when parsed at least 'minlines'. */
+           // Store the state at this line when it's the first one, the line
+           // where we start parsing, or some distance from the previously
+           // saved state.  But only when parsed at least 'minlines'.
            else if (prev == NULL
                        || current_lnum == lnum
                        || current_lnum >= prev->sst_lnum + dist)
                prev = store_current_state();
        }
 
-       /* This can take a long time: break when CTRL-C pressed.  The current
-        * state will be wrong then. */
+       // This can take a long time: break when CTRL-C pressed.  The current
+       // state will be wrong then.
        line_breakcheck();
        if (got_int)
        {
@@ -652,8 +651,8 @@ syn_sync(
      */
     if (syn_block->b_syn_sync_flags & SF_CCOMMENT)
     {
-       /* Need to make syn_buf the current buffer for a moment, to be able to
-        * use find_start_comment(). */
+       // Need to make syn_buf the current buffer for a moment, to be able to
+       // use find_start_comment().
        curwin_save = curwin;
        curwin = wp;
        curbuf_save = curbuf;
@@ -670,7 +669,7 @@ syn_sync(
        }
        current_lnum = start_lnum;
 
-       /* set cursor to start of search */
+       // set cursor to start of search
        cursor_save = wp->w_cursor;
        wp->w_cursor.lnum = start_lnum;
        wp->w_cursor.col = 0;
@@ -694,7 +693,7 @@ syn_sync(
                }
        }
 
-       /* restore cursor and buffer */
+       // restore cursor and buffer
        wp->w_cursor = cursor_save;
        curwin = curwin_save;
        curbuf = curbuf_save;
@@ -717,7 +716,7 @@ syn_sync(
        lnum = start_lnum;
        while (--lnum > break_lnum)
        {
-           /* This can take a long time: break when CTRL-C pressed. */
+           // This can take a long time: break when CTRL-C pressed.
            line_breakcheck();
            if (got_int)
            {
@@ -726,7 +725,7 @@ syn_sync(
                break;
            }
 
-           /* Check if we have run into a valid saved state stack now. */
+           // Check if we have run into a valid saved state stack now.
            if (last_valid != NULL && lnum == last_valid->sst_lnum)
            {
                load_current_state(last_valid);
@@ -759,13 +758,13 @@ syn_sync(
                        cur_si = &CUR_STATE(current_state.ga_len - 1);
                        if (cur_si->si_m_endpos.lnum > start_lnum)
                        {
-                           /* ignore match that goes to after where started */
+                           // ignore match that goes to after where started
                            current_lnum = end_lnum;
                            break;
                        }
                        if (cur_si->si_idx < 0)
                        {
-                           /* Cannot happen? */
+                           // Cannot happen?
                            found_flags = 0;
                            found_match_idx = KEYWORD_IDX;
                        }
@@ -794,9 +793,9 @@ syn_sync(
                        else
                            ++current_col;
 
-                       /* syn_current_attr() will have skipped the check for
-                        * an item that ends here, need to do that now.  Be
-                        * careful not to go past the NUL. */
+                       // syn_current_attr() will have skipped the check for
+                       // an item that ends here, need to do that now.  Be
+                       // careful not to go past the NUL.
                        prev_current_col = current_col;
                        if (syn_getcurline()[current_col] != NUL)
                            ++current_col;
@@ -854,7 +853,7 @@ syn_sync(
            invalidate_current_state();
        }
 
-       /* Ran into start of the file or exceeded maximum number of lines */
+       // Ran into start of the file or exceeded maximum number of lines
        if (lnum <= break_lnum)
        {
            invalidate_current_state();
@@ -891,11 +890,11 @@ syn_match_linecont(linenr_T lnum)
 {
     regmmatch_T regmatch;
     int r;
-    char_u     buf_chartab[32];  /* chartab array for syn iskyeyword */
+    char_u     buf_chartab[32];  // chartab array for syn iskyeyword
 
     if (syn_block->b_syn_linecont_prog != NULL)
     {
-       /* use syntax iskeyword option */
+       // use syntax iskeyword option
        save_chartab(buf_chartab);
        regmatch.rmm_ic = syn_block->b_syn_linecont_ic;
        regmatch.regprog = syn_block->b_syn_linecont_prog;
@@ -948,8 +947,8 @@ syn_update_ends(int startofline)
 
     if (startofline)
     {
-       /* Check for a match carried over from a previous line with a
-        * contained region.  The match ends as soon as the region ends. */
+       // Check for a match carried over from a previous line with a
+       // contained region.  The match ends as soon as the region ends.
        for (i = 0; i < current_state.ga_len; ++i)
        {
            cur_si = &CUR_STATE(i);
@@ -990,7 +989,7 @@ syn_update_ends(int startofline)
                            || (seen_keepend && !startofline)
                            || (i == current_state.ga_len - 1 && startofline))
        {
-           cur_si->si_h_startpos.col = 0;      /* start highl. in col 0 */
+           cur_si->si_h_startpos.col = 0;      // start highl. in col 0
            cur_si->si_h_startpos.lnum = current_lnum;
 
            if (!(cur_si->si_flags & HL_MATCHCONT))
@@ -1003,9 +1002,8 @@ syn_update_ends(int startofline)
     check_keepend();
 }
 
-/****************************************
- * Handling of the state stack cache.
- */
+/////////////////////////////////////////
+// Handling of the state stack cache.
 
 /*
  * EXPLANATION OF THE SYNTAX STATE STACK CACHE
@@ -1067,7 +1065,7 @@ syn_stack_free_all(synblock_T *block)
     syn_stack_free_block(block);
 
 #ifdef FEAT_FOLDING
-    /* When using "syntax" fold method, must update all folds. */
+    // When using "syntax" fold method, must update all folds.
     FOR_ALL_WINDOWS(wp)
     {
        if (wp->w_s == block && foldmethodIsSyntax(wp))
@@ -1096,7 +1094,7 @@ syn_stack_alloc(void)
        len = SST_MAX_ENTRIES;
     if (syn_block->b_sst_len > len * 2 || syn_block->b_sst_len < len)
     {
-       /* Allocate 50% too much, to avoid reallocating too often. */
+       // Allocate 50% too much, to avoid reallocating too often.
        len = syn_buf->b_ml.ml_line_count;
        len = (len + len / 2) / SST_DIST + Rows * 2;
        if (len < SST_MIN_ENTRIES)
@@ -1106,8 +1104,8 @@ syn_stack_alloc(void)
 
        if (syn_block->b_sst_array != NULL)
        {
-           /* When shrinking the array, cleanup the existing stack.
-            * Make sure that all valid entries fit in the new array. */
+           // When shrinking the array, cleanup the existing stack.
+           // Make sure that all valid entries fit in the new array.
            while (syn_block->b_sst_len - syn_block->b_sst_freecount + 2 > len
                    && syn_stack_cleanup())
                ;
@@ -1116,13 +1114,13 @@ syn_stack_alloc(void)
        }
 
        sstp = ALLOC_CLEAR_MULT(synstate_T, len);
-       if (sstp == NULL)       /* out of memory! */
+       if (sstp == NULL)       // out of memory!
            return;
 
        to = sstp - 1;
        if (syn_block->b_sst_array != NULL)
        {
-           /* Move the states from the old array to the new one. */
+           // Move the states from the old array to the new one.
            for (from = syn_block->b_sst_first; from != NULL;
                                                        from = from->sst_next)
            {
@@ -1143,7 +1141,7 @@ syn_stack_alloc(void)
            syn_block->b_sst_freecount = len;
        }
 
-       /* Create the list of free entries. */
+       // Create the list of free entries.
        syn_block->b_sst_firstfree = to + 1;
        while (++to < sstp + len)
            to->sst_next = to + 1;
@@ -1189,7 +1187,7 @@ syn_stack_apply_changes_block(synblock_T *block, buf_T *buf)
            n = p->sst_lnum + buf->b_mod_xlines;
            if (n <= buf->b_mod_bot)
            {
-               /* this state is inside the changed area, remove it */
+               // this state is inside the changed area, remove it
                np = p->sst_next;
                if (prev == NULL)
                    block->b_sst_first = np;
@@ -1199,9 +1197,9 @@ syn_stack_apply_changes_block(synblock_T *block, buf_T *buf)
                p = np;
                continue;
            }
-           /* This state is below the changed area.  Remember the line
-            * that needs to be parsed before this entry can be made valid
-            * again. */
+           // This state is below the changed area.  Remember the line
+           // that needs to be parsed before this entry can be made valid
+           // again.
            if (p->sst_change_lnum != 0 && p->sst_change_lnum > buf->b_mod_top)
            {
                if (p->sst_change_lnum + buf->b_mod_xlines > buf->b_mod_top)
@@ -1236,7 +1234,7 @@ syn_stack_cleanup(void)
     if (syn_block->b_sst_first == NULL)
        return retval;
 
-    /* Compute normal distance between non-displayed entries. */
+    // Compute normal distance between non-displayed entries.
     if (syn_block->b_sst_len <= Rows)
        dist = 999999;
     else
@@ -1274,7 +1272,7 @@ syn_stack_cleanup(void)
     {
        if (p->sst_tick == tick && prev->sst_lnum + dist > p->sst_lnum)
        {
-           /* Move this entry from used list to free list */
+           // Move this entry from used list to free list
            prev->sst_next = p->sst_next;
            syn_stack_free_entry(syn_block, p);
            p = prev;
@@ -1348,17 +1346,17 @@ store_current_state(void)
     {
        if (sp != NULL)
        {
-           /* find "sp" in the list and remove it */
+           // find "sp" in the list and remove it
            if (syn_block->b_sst_first == sp)
-               /* it's the first entry */
+               // it's the first entry
                syn_block->b_sst_first = sp->sst_next;
            else
            {
-               /* find the entry just before this one to adjust sst_next */
+               // find the entry just before this one to adjust sst_next
                for (p = syn_block->b_sst_first; p != NULL; p = p->sst_next)
                    if (p->sst_next == sp)
                        break;
-               if (p != NULL)  /* just in case */
+               if (p != NULL)  // just in case
                    p->sst_next = sp->sst_next;
            }
            syn_stack_free_entry(syn_block, sp);
@@ -1370,32 +1368,32 @@ store_current_state(void)
        /*
         * Add a new entry
         */
-       /* If no free items, cleanup the array first. */
+       // If no free items, cleanup the array first.
        if (syn_block->b_sst_freecount == 0)
        {
            (void)syn_stack_cleanup();
-           /* "sp" may have been moved to the freelist now */
+           // "sp" may have been moved to the freelist now
            sp = syn_stack_find_entry(current_lnum);
        }
-       /* Still no free items?  Must be a strange problem... */
+       // Still no free items?  Must be a strange problem...
        if (syn_block->b_sst_freecount == 0)
            sp = NULL;
        else
        {
-           /* Take the first item from the free list and put it in the used
-            * list, after *sp */
+           // Take the first item from the free list and put it in the used
+           // list, after *sp
            p = syn_block->b_sst_firstfree;
            syn_block->b_sst_firstfree = p->sst_next;
            --syn_block->b_sst_freecount;
            if (sp == NULL)
            {
-               /* Insert in front of the list */
+               // Insert in front of the list
                p->sst_next = syn_block->b_sst_first;
                syn_block->b_sst_first = p;
            }
            else
            {
-               /* insert in list after *sp */
+               // insert in list after *sp
                p->sst_next = sp->sst_next;
                sp->sst_next = p;
            }
@@ -1406,13 +1404,13 @@ store_current_state(void)
     }
     if (sp != NULL)
     {
-       /* When overwriting an existing state stack, clear it first */
+       // When overwriting an existing state stack, clear it first
        clear_syn_state(sp);
        sp->sst_stacksize = current_state.ga_len;
        if (current_state.ga_len > SST_FIX_STATES)
        {
-           /* Need to clear it, might be something remaining from when the
-            * length was less than SST_FIX_STATES. */
+           // Need to clear it, might be something remaining from when the
+           // length was less than SST_FIX_STATES.
            ga_init2(&sp->sst_union.sst_ga, (int)sizeof(bufstate_T), 1);
            if (ga_grow(&sp->sst_union.sst_ga, current_state.ga_len) == FAIL)
                sp->sst_stacksize = 0;
@@ -1498,11 +1496,11 @@ syn_stack_equal(synstate_T *sp)
     bufstate_T *bp;
     reg_extmatch_T     *six, *bsx;
 
-    /* First a quick check if the stacks have the same size end nextlist. */
+    // First a quick check if the stacks have the same size end nextlist.
     if (sp->sst_stacksize == current_state.ga_len
            && sp->sst_next_list == current_next_list)
     {
-       /* Need to compare all states on both stacks. */
+       // Need to compare all states on both stacks.
        if (sp->sst_stacksize > SST_FIX_STATES)
            bp = SYN_STATE_P(&(sp->sst_union.sst_ga));
        else
@@ -1510,29 +1508,29 @@ syn_stack_equal(synstate_T *sp)
 
        for (i = current_state.ga_len; --i >= 0; )
        {
-           /* If the item has another index the state is different. */
+           // If the item has another index the state is different.
            if (bp[i].bs_idx != CUR_STATE(i).si_idx)
                break;
            if (bp[i].bs_extmatch != CUR_STATE(i).si_extmatch)
            {
-               /* When the extmatch pointers are different, the strings in
-                * them can still be the same.  Check if the extmatch
-                * references are equal. */
+               // When the extmatch pointers are different, the strings in
+               // them can still be the same.  Check if the extmatch
+               // references are equal.
                bsx = bp[i].bs_extmatch;
                six = CUR_STATE(i).si_extmatch;
-               /* If one of the extmatch pointers is NULL the states are
-                * different. */
+               // If one of the extmatch pointers is NULL the states are
+               // different.
                if (bsx == NULL || six == NULL)
                    break;
                for (j = 0; j < NSUBEXP; ++j)
                {
-                   /* Check each referenced match string. They must all be
-                    * equal. */
+                   // Check each referenced match string. They must all be
+                   // equal.
                    if (bsx->matches[j] != six->matches[j])
                    {
-                       /* If the pointer is different it can still be the
-                        * same text.  Compare the strings, ignore case when
-                        * the start item has the sp_ic flag set. */
+                       // If the pointer is different it can still be the
+                       // same text.  Compare the strings, ignore case when
+                       // the start item has the sp_ic flag set.
                        if (bsx->matches[j] == NULL
                                || six->matches[j] == NULL)
                            break;
@@ -1584,7 +1582,7 @@ syntax_end_parsing(linenr_T lnum)
 invalidate_current_state(void)
 {
     clear_current_state();
-    current_state.ga_itemsize = 0;     /* mark current_state invalid */
+    current_state.ga_itemsize = 0;     // mark current_state invalid
     current_next_list = NULL;
     keepend_level = -1;
 }
@@ -1651,7 +1649,7 @@ syntax_check_changed(linenr_T lnum)
  */
     static int
 syn_finish_line(
-    int            syncing)            /* called for syncing */
+    int            syncing)            // called for syncing
 {
     stateitem_T        *cur_si;
     colnr_T    prev_current_col;
@@ -1673,9 +1671,9 @@ syn_finish_line(
                                          & (HL_SYNC_HERE|HL_SYNC_THERE)))
                return TRUE;
 
-           /* syn_current_attr() will have skipped the check for an item
-            * that ends here, need to do that now.  Be careful not to go
-            * past the NUL. */
+           // syn_current_attr() will have skipped the check for an item
+           // that ends here, need to do that now.  Be careful not to go
+           // past the NUL.
            prev_current_col = current_col;
            if (syn_getcurline()[current_col] != NUL)
                ++current_col;
@@ -1700,22 +1698,22 @@ syn_finish_line(
 get_syntax_attr(
     colnr_T    col,
     int                *can_spell,
-    int                keep_state)     /* keep state of char at "col" */
+    int                keep_state)     // keep state of char at "col"
 {
     int            attr = 0;
 
     if (can_spell != NULL)
-       /* Default: Only do spelling when there is no @Spell cluster or when
-        * ":syn spell toplevel" was used. */
+       // Default: Only do spelling when there is no @Spell cluster or when
+       // ":syn spell toplevel" was used.
        *can_spell = syn_block->b_syn_spell == SYNSPL_DEFAULT
                    ? (syn_block->b_spell_cluster_id == 0)
                    : (syn_block->b_syn_spell == SYNSPL_TOP);
 
-    /* check for out of memory situation */
+    // check for out of memory situation
     if (syn_block->b_sst_array == NULL)
        return 0;
 
-    /* After 'synmaxcol' the attribute is always zero. */
+    // After 'synmaxcol' the attribute is always zero.
     if (syn_buf->b_p_smc > 0 && col >= (colnr_T)syn_buf->b_p_smc)
     {
        clear_current_state();
@@ -1730,7 +1728,7 @@ get_syntax_attr(
        return 0;
     }
 
-    /* Make sure current_state is valid */
+    // Make sure current_state is valid
     if (INVALID_STATE(&current_state))
        validate_current_state();
 
@@ -1752,18 +1750,18 @@ get_syntax_attr(
  */
     static int
 syn_current_attr(
-    int                syncing,                /* When 1: called for syncing */
-    int                displaying,             /* result will be displayed */
-    int                *can_spell,             /* return: do spell checking */
-    int                keep_state)             /* keep syntax stack afterwards */
+    int                syncing,                // When 1: called for syncing
+    int                displaying,             // result will be displayed
+    int                *can_spell,             // return: do spell checking
+    int                keep_state)             // keep syntax stack afterwards
 {
     int                syn_id;
-    lpos_T     endpos;         /* was: char_u *endp; */
-    lpos_T     hl_startpos;    /* was: int hl_startcol; */
+    lpos_T     endpos;         // was: char_u *endp;
+    lpos_T     hl_startpos;    // was: int hl_startcol;
     lpos_T     hl_endpos;
-    lpos_T     eos_pos;        /* end-of-start match (start region) */
-    lpos_T     eoe_pos;        /* end-of-end pattern */
-    int                end_idx;        /* group ID for end pattern */
+    lpos_T     eos_pos;        // end-of-start match (start region)
+    lpos_T     eoe_pos;        // end-of-end pattern
+    int                end_idx;        // group ID for end pattern
     int                idx;
     synpat_T   *spp;
     stateitem_T        *cur_si, *sip = NULL;
@@ -1772,18 +1770,18 @@ syn_current_attr(
     long       flags;
     int                cchar;
     short      *next_list;
-    int                found_match;                /* found usable match */
-    static int try_next_column = FALSE;    /* must try in next col */
+    int                found_match;                // found usable match
+    static int try_next_column = FALSE;    // must try in next col
     int                do_keywords;
     regmmatch_T        regmatch;
     lpos_T     pos;
     int                lc_col;
     reg_extmatch_T *cur_extmatch = NULL;
-    char_u     buf_chartab[32];  /* chartab array for syn iskyeyword */
-    char_u     *line;          /* current line.  NOTE: becomes invalid after
-                                  looking for a pattern match! */
+    char_u     buf_chartab[32];  // chartab array for syn iskyeyword
+    char_u     *line;          // current line.  NOTE: becomes invalid after
+                               // looking for a pattern match!
 
-    /* variables for zero-width matches that have a "nextgroup" argument */
+    // variables for zero-width matches that have a "nextgroup" argument
     int                keep_next_list;
     int                zero_width_next_list = FALSE;
     garray_T   zero_width_next_ga;
@@ -1807,7 +1805,7 @@ syn_current_attr(
        return 0;
     }
 
-    /* if the current or next character is NUL, we will finish the line now */
+    // if the current or next character is NUL, we will finish the line now
     if (line[current_col] == NUL || line[current_col + 1] == NUL)
     {
        current_finished = TRUE;
@@ -1825,16 +1823,16 @@ syn_current_attr(
        try_next_column = FALSE;
     }
 
-    /* Only check for keywords when not syncing and there are some. */
+    // Only check for keywords when not syncing and there are some.
     do_keywords = !syncing
                    && (syn_block->b_keywtab.ht_used > 0
                            || syn_block->b_keywtab_ic.ht_used > 0);
 
-    /* Init the list of zero-width matches with a nextlist.  This is used to
-     * avoid matching the same item in the same position twice. */
+    // Init the list of zero-width matches with a nextlist.  This is used to
+    // avoid matching the same item in the same position twice.
     ga_init2(&zero_width_next_ga, (int)sizeof(int), 10);
 
-    /* use syntax iskeyword option */
+    // use syntax iskeyword option
     save_chartab(buf_chartab);
 
     /*
@@ -1888,7 +1886,7 @@ syn_current_attr(
                        cur_si = &CUR_STATE(current_state.ga_len - 1);
                        cur_si->si_m_startcol = current_col;
                        cur_si->si_h_startpos.lnum = current_lnum;
-                       cur_si->si_h_startpos.col = 0;  /* starts right away */
+                       cur_si->si_h_startpos.col = 0;  // starts right away
                        cur_si->si_m_endpos.lnum = current_lnum;
                        cur_si->si_m_endpos.col = endcol;
                        cur_si->si_h_endpos.lnum = current_lnum;
@@ -1950,7 +1948,7 @@ syn_current_attr(
                     * pattern takes quite a bit of time, thus we want to
                     * avoid doing it when it's not needed.
                     */
-                   next_match_idx = 0;         /* no match in this line yet */
+                   next_match_idx = 0;         // no match in this line yet
                    next_match_col = MAXCOL;
                    for (idx = syn_block->b_syn_patterns.ga_len; --idx >= 0; )
                    {
@@ -1970,9 +1968,9 @@ syn_current_attr(
                        {
                            int r;
 
-                           /* If we already tried matching in this line, and
-                            * there isn't a match before next_match_col, skip
-                            * this item. */
+                           // If we already tried matching in this line, and
+                           // there isn't a match before next_match_col, skip
+                           // this item.
                            if (spp->sp_line_id == current_line_id
                                    && spp->sp_startcol >= next_match_col)
                                continue;
@@ -1991,7 +1989,7 @@ syn_current_attr(
                            spp->sp_prog = regmatch.regprog;
                            if (!r)
                            {
-                               /* no match in this line, try another one */
+                               // no match in this line, try another one
                                spp->sp_startcol = MAXCOL;
                                continue;
                            }
@@ -2003,15 +2001,15 @@ syn_current_attr(
                                                         spp, SPO_MS_OFF, -1);
                            if (pos.lnum > current_lnum)
                            {
-                               /* must have used end of match in a next line,
-                                * we can't handle that */
+                               // must have used end of match in a next line,
+                               // we can't handle that
                                spp->sp_startcol = MAXCOL;
                                continue;
                            }
                            startcol = pos.col;
 
-                           /* remember the next column where this pattern
-                            * matches in the current line */
+                           // remember the next column where this pattern
+                           // matches in the current line
                            spp->sp_startcol = startcol;
 
                            /*
@@ -2035,12 +2033,12 @@ syn_current_attr(
                            endpos.lnum = regmatch.endpos[0].lnum;
                            endpos.col = regmatch.endpos[0].col;
 
-                           /* Compute the highlight start. */
+                           // Compute the highlight start.
                            syn_add_start_off(&hl_startpos, &regmatch,
                                                         spp, SPO_HS_OFF, -1);
 
-                           /* Compute the region start. */
-                           /* Default is to use the end of the match. */
+                           // Compute the region start.
+                           // Default is to use the end of the match.
                            syn_add_end_off(&eos_pos, &regmatch,
                                                         spp, SPO_RS_OFF, 0);
 
@@ -2053,7 +2051,7 @@ syn_current_attr(
                            re_extmatch_out = NULL;
 
                            flags = 0;
-                           eoe_pos.lnum = 0;   /* avoid warning */
+                           eoe_pos.lnum = 0;   // avoid warning
                            eoe_pos.col = 0;
                            end_idx = 0;
                            hl_endpos.lnum = 0;
@@ -2073,7 +2071,7 @@ syn_current_attr(
                                find_endpos(idx, &startpos, &endpos, &hl_endpos,
                                    &flags, &eoe_pos, &end_idx, cur_extmatch);
                                if (endpos.lnum == 0)
-                                   continue;       /* not found */
+                                   continue;       // not found
                            }
 
                            /*
@@ -2104,8 +2102,8 @@ syn_current_attr(
                            /*
                             * keep the best match so far in next_match_*
                             */
-                           /* Highlighting must start after startpos and end
-                            * before endpos. */
+                           // Highlighting must start after startpos and end
+                           // before endpos.
                            if (hl_startpos.lnum == current_lnum
                                           && (int)hl_startpos.col < startcol)
                                hl_startpos.col = startcol;
@@ -2134,8 +2132,8 @@ syn_current_attr(
                {
                    synpat_T    *lspp;
 
-                   /* When a zero-width item matched which has a nextgroup,
-                    * don't push the item but set nextgroup. */
+                   // When a zero-width item matched which has a nextgroup,
+                   // don't push the item but set nextgroup.
                    lspp = &(SYN_ITEMS(syn_block)[next_match_idx]);
                    if (next_match_m_endpos.lnum == current_lnum
                            && next_match_m_endpos.col == current_col
@@ -2146,9 +2144,9 @@ syn_current_attr(
                        keep_next_list = TRUE;
                        zero_width_next_list = TRUE;
 
-                       /* Add the index to a list, so that we can check
-                        * later that we don't match it again (and cause an
-                        * endless loop). */
+                       // Add the index to a list, so that we can check
+                       // later that we don't match it again (and cause an
+                       // endless loop).
                        if (ga_grow(&zero_width_next_ga, 1) == OK)
                        {
                            ((int *)(zero_width_next_ga.ga_data))
@@ -2254,8 +2252,8 @@ syn_current_attr(
             */
            if (syn_block->b_spell_cluster_id == 0)
            {
-               /* There is no @Spell cluster: Do spelling for items without
-                * @NoSpell cluster. */
+               // There is no @Spell cluster: Do spelling for items without
+               // @NoSpell cluster.
                if (syn_block->b_nospell_cluster_id == 0
                                                     || current_trans_id == 0)
                    *can_spell = (syn_block->b_syn_spell != SYNSPL_NOTOP);
@@ -2269,10 +2267,10 @@ syn_current_attr(
            }
            else
            {
-               /* The @Spell cluster is defined: Do spelling in items with
-                * the @Spell cluster.  But not when @NoSpell is also there.
-                * At the toplevel only spell check when ":syn spell toplevel"
-                * was used. */
+               // The @Spell cluster is defined: Do spelling in items with
+               // the @Spell cluster.  But not when @NoSpell is also there.
+               // At the toplevel only spell check when ":syn spell toplevel"
+               // was used.
                if (current_trans_id == 0)
                    *can_spell = (syn_block->b_syn_spell == SYNSPL_TOP);
                else
@@ -2314,13 +2312,13 @@ syn_current_attr(
        }
     }
     else if (can_spell != NULL)
-       /* Default: Only do spelling when there is no @Spell cluster or when
-        * ":syn spell toplevel" was used. */
+       // Default: Only do spelling when there is no @Spell cluster or when
+       // ":syn spell toplevel" was used.
        *can_spell = syn_block->b_syn_spell == SYNSPL_DEFAULT
                    ? (syn_block->b_spell_cluster_id == 0)
                    : (syn_block->b_syn_spell == SYNSPL_TOP);
 
-    /* nextgroup ends at end of line, unless "skipnl" or "skipempty" present */
+    // nextgroup ends at end of line, unless "skipnl" or "skipempty" present
     if (current_next_list != NULL
            && (line = syn_getcurline())[current_col] != NUL
            && line[current_col + 1] == NUL
@@ -2330,7 +2328,7 @@ syn_current_attr(
     if (zero_width_next_ga.ga_len > 0)
        ga_clear(&zero_width_next_ga);
 
-    /* No longer need external matches.  But keep next_match_extmatch. */
+    // No longer need external matches.  But keep next_match_extmatch.
     unref_extmatch(re_extmatch_out);
     re_extmatch_out = NULL;
     unref_extmatch(cur_extmatch);
@@ -2353,8 +2351,8 @@ did_match_already(int idx, garray_T *gap)
                && CUR_STATE(i).si_idx == idx)
            return TRUE;
 
-    /* Zero-width matches with a nextgroup argument are not put on the syntax
-     * stack, and can only be matched once anyway. */
+    // Zero-width matches with a nextgroup argument are not put on the syntax
+    // stack, and can only be matched once anyway.
     for (i = gap->ga_len; --i >= 0; )
        if (((int *)(gap->ga_data))[i] == idx)
            return TRUE;
@@ -2400,7 +2398,7 @@ push_next_match(stateitem_T *cur_si)
        cur_si->si_extmatch = ref_extmatch(next_match_extmatch);
        if (spp->sp_type == SPTYPE_START && !(spp->sp_flags & HL_ONELINE))
        {
-           /* Try to find the end pattern in the current line */
+           // Try to find the end pattern in the current line
            update_si_end(cur_si, (int)(next_match_m_endpos.col), TRUE);
            check_keepend();
        }
@@ -2450,7 +2448,7 @@ push_next_match(stateitem_T *cur_si)
        }
     }
 
-    next_match_idx = -1;       /* try other match next time */
+    next_match_idx = -1;       // try other match next time
 
     return cur_si;
 }
@@ -2495,26 +2493,26 @@ check_state_ends(void)
 #endif
                update_si_attr(current_state.ga_len - 1);
 
-               /* nextgroup= should not match in the end pattern */
+               // nextgroup= should not match in the end pattern
                current_next_list = NULL;
 
-               /* what matches next may be different now, clear it */
+               // what matches next may be different now, clear it
                next_match_idx = 0;
                next_match_col = MAXCOL;
                break;
            }
            else
            {
-               /* handle next_list, unless at end of line and no "skipnl" or
-                * "skipempty" */
+               // handle next_list, unless at end of line and no "skipnl" or
+               // "skipempty"
                current_next_list = cur_si->si_next_list;
                current_next_flags = cur_si->si_flags;
                if (!(current_next_flags & (HL_SKIPNL | HL_SKIPEMPTY))
                        && syn_getcurline()[current_col] == NUL)
                    current_next_list = NULL;
 
-               /* When the ended item has "extend", another item with
-                * "keepend" now needs to check for its end. */
+               // When the ended item has "extend", another item with
+               // "keepend" now needs to check for its end.
                 had_extend = (cur_si->si_flags & HL_EXTEND);
 
                pop_current_state();
@@ -2569,7 +2567,7 @@ update_si_attr(int idx)
     stateitem_T        *sip = &CUR_STATE(idx);
     synpat_T   *spp;
 
-    /* This should not happen... */
+    // This should not happen...
     if (sip->si_idx < 0)
        return;
 
@@ -2681,8 +2679,8 @@ check_keepend(void)
     static void
 update_si_end(
     stateitem_T        *sip,
-    int                startcol,   /* where to start searching for the end */
-    int                force)      /* when TRUE overrule a previous end */
+    int                startcol,   // where to start searching for the end
+    int                force)      // when TRUE overrule a previous end
 {
     lpos_T     startpos;
     lpos_T     endpos;
@@ -2690,13 +2688,13 @@ update_si_end(
     lpos_T     end_endpos;
     int                end_idx;
 
-    /* return quickly for a keyword */
+    // return quickly for a keyword
     if (sip->si_idx < 0)
        return;
 
-    /* Don't update when it's already done.  Can be a match of an end pattern
-     * that started in a previous line.  Watch out: can also be a "keepend"
-     * from a containing item. */
+    // Don't update when it's already done.  Can be a match of an end pattern
+    // that started in a previous line.  Watch out: can also be a "keepend"
+    // from a containing item.
     if (!force && sip->si_m_endpos.lnum >= current_lnum)
        return;
 
@@ -2712,17 +2710,17 @@ update_si_end(
 
     if (endpos.lnum == 0)
     {
-       /* No end pattern matched. */
+       // No end pattern matched.
        if (SYN_ITEMS(syn_block)[sip->si_idx].sp_flags & HL_ONELINE)
        {
-           /* a "oneline" never continues in the next line */
+           // a "oneline" never continues in the next line
            sip->si_ends = TRUE;
            sip->si_m_endpos.lnum = current_lnum;
            sip->si_m_endpos.col = (colnr_T)STRLEN(syn_getcurline());
        }
        else
        {
-           /* continues in the next line */
+           // continues in the next line
            sip->si_ends = FALSE;
            sip->si_m_endpos.lnum = 0;
        }
@@ -2730,7 +2728,7 @@ update_si_end(
     }
     else
     {
-       /* match within this line */
+       // match within this line
        sip->si_m_endpos = endpos;
        sip->si_h_endpos = hl_endpos;
        sip->si_eoe_pos = end_endpos;
@@ -2766,10 +2764,10 @@ pop_current_state(void)
        unref_extmatch(CUR_STATE(current_state.ga_len - 1).si_extmatch);
        --current_state.ga_len;
     }
-    /* after the end of a pattern, try matching a keyword or pattern */
+    // after the end of a pattern, try matching a keyword or pattern
     next_match_idx = -1;
 
-    /* if first state with "keepend" is popped, reset keepend_level */
+    // if first state with "keepend" is popped, reset keepend_level
     if (keepend_level >= current_state.ga_len)
        keepend_level = -1;
 }
@@ -2785,27 +2783,27 @@ pop_current_state(void)
  */
     static void
 find_endpos(
-    int                idx,            /* index of the pattern */
-    lpos_T     *startpos,      /* where to start looking for an END match */
-    lpos_T     *m_endpos,      /* return: end of match */
-    lpos_T     *hl_endpos,     /* return: end of highlighting */
-    long       *flagsp,        /* return: flags of matching END */
-    lpos_T     *end_endpos,    /* return: end of end pattern match */
-    int                *end_idx,       /* return: group ID for end pat. match, or 0 */
-    reg_extmatch_T *start_ext) /* submatches from the start pattern */
+    int                idx,            // index of the pattern
+    lpos_T     *startpos,      // where to start looking for an END match
+    lpos_T     *m_endpos,      // return: end of match
+    lpos_T     *hl_endpos,     // return: end of highlighting
+    long       *flagsp,        // return: flags of matching END
+    lpos_T     *end_endpos,    // return: end of end pattern match
+    int                *end_idx,       // return: group ID for end pat. match, or 0
+    reg_extmatch_T *start_ext) // submatches from the start pattern
 {
     colnr_T    matchcol;
     synpat_T   *spp, *spp_skip;
     int                start_idx;
     int                best_idx;
     regmmatch_T        regmatch;
-    regmmatch_T        best_regmatch;      /* startpos/endpos of best match */
+    regmmatch_T        best_regmatch;      // startpos/endpos of best match
     lpos_T     pos;
     char_u     *line;
     int                had_match = FALSE;
-    char_u     buf_chartab[32];  /* chartab array for syn option iskyeyword */
+    char_u     buf_chartab[32];  // chartab array for syn option iskyeyword
 
-    /* just in case we are invoked for a keyword */
+    // just in case we are invoked for a keyword
     if (idx < 0)
        return;
 
@@ -2843,15 +2841,15 @@ find_endpos(
     else
        spp_skip = NULL;
 
-    /* Setup external matches for syn_regexec(). */
+    // Setup external matches for syn_regexec().
     unref_extmatch(re_extmatch_in);
     re_extmatch_in = ref_extmatch(start_ext);
 
-    matchcol = startpos->col;  /* start looking for a match at sstart */
-    start_idx = idx;           /* remember the first END pattern. */
-    best_regmatch.startpos[0].col = 0;         /* avoid compiler warning */
+    matchcol = startpos->col;  // start looking for a match at sstart
+    start_idx = idx;           // remember the first END pattern.
+    best_regmatch.startpos[0].col = 0;         // avoid compiler warning
 
-    /* use syntax iskeyword option */
+    // use syntax iskeyword option
     save_chartab(buf_chartab);
 
     for (;;)
@@ -2866,7 +2864,7 @@ find_endpos(
            int r;
 
            spp = &(SYN_ITEMS(syn_block)[idx]);
-           if (spp->sp_type != SPTYPE_END)     /* past last END pattern */
+           if (spp->sp_type != SPTYPE_END)     // past last END pattern
                break;
            lc_col -= spp->sp_offsets[SPO_LC_OFF];
            if (lc_col < 0)
@@ -2917,34 +2915,34 @@ find_endpos(
            {
                int line_len;
 
-               /* Add offset to skip pattern match */
+               // Add offset to skip pattern match
                syn_add_end_off(&pos, &regmatch, spp_skip, SPO_ME_OFF, 1);
 
-               /* If the skip pattern goes on to the next line, there is no
-                * match with an end pattern in this line. */
+               // If the skip pattern goes on to the next line, there is no
+               // match with an end pattern in this line.
                if (pos.lnum > startpos->lnum)
                    break;
 
                line = ml_get_buf(syn_buf, startpos->lnum, FALSE);
                line_len = (int)STRLEN(line);
 
-               /* take care of an empty match or negative offset */
+               // take care of an empty match or negative offset
                if (pos.col <= matchcol)
                    ++matchcol;
                else if (pos.col <= regmatch.endpos[0].col)
                    matchcol = pos.col;
                else
-                   /* Be careful not to jump over the NUL at the end-of-line */
+                   // Be careful not to jump over the NUL at the end-of-line
                    for (matchcol = regmatch.endpos[0].col;
                            matchcol < line_len && matchcol < pos.col;
                                                                   ++matchcol)
                        ;
 
-               /* if the skip pattern includes end-of-line, break here */
+               // if the skip pattern includes end-of-line, break here
                if (matchcol >= line_len)
                    break;
 
-               continue;           /* start with first end pattern again */
+               continue;           // start with first end pattern again
            }
        }
 
@@ -2954,16 +2952,16 @@ find_endpos(
         */
        spp = &(SYN_ITEMS(syn_block)[best_idx]);
        syn_add_end_off(m_endpos, &best_regmatch, spp, SPO_ME_OFF, 1);
-       /* can't end before the start */
+       // can't end before the start
        if (m_endpos->lnum == startpos->lnum && m_endpos->col < startpos->col)
            m_endpos->col = startpos->col;
 
        syn_add_end_off(end_endpos, &best_regmatch, spp, SPO_HE_OFF, 1);
-       /* can't end before the start */
+       // can't end before the start
        if (end_endpos->lnum == startpos->lnum
                                           && end_endpos->col < startpos->col)
            end_endpos->col = startpos->col;
-       /* can't end after the match */
+       // can't end after the match
        limit_pos(end_endpos, m_endpos);
 
        /*
@@ -2984,14 +2982,14 @@ find_endpos(
            }
            hl_endpos->col += spp->sp_offsets[SPO_RE_OFF];
 
-           /* can't end before the start */
+           // can't end before the start
            if (hl_endpos->lnum == startpos->lnum
                                            && hl_endpos->col < startpos->col)
                hl_endpos->col = startpos->col;
            limit_pos(hl_endpos, m_endpos);
 
-           /* now the match ends where the highlighting ends, it is turned
-            * into the matchgroup for the end */
+           // now the match ends where the highlighting ends, it is turned
+           // into the matchgroup for the end
            *m_endpos = *hl_endpos;
        }
        else
@@ -3006,13 +3004,13 @@ find_endpos(
        break;
     }
 
-    /* no match for an END pattern in this line */
+    // no match for an END pattern in this line
     if (!had_match)
        m_endpos->lnum = 0;
 
     restore_chartab(buf_chartab);
 
-    /* Remove external matches. */
+    // Remove external matches.
     unref_extmatch(re_extmatch_in);
     re_extmatch_in = NULL;
 }
@@ -3048,11 +3046,11 @@ limit_pos_zero(
  */
     static void
 syn_add_end_off(
-    lpos_T     *result,        /* returned position */
-    regmmatch_T        *regmatch,      /* start/end of match */
-    synpat_T   *spp,           /* matched pattern */
-    int                idx,            /* index of offset */
-    int                extra)          /* extra chars for offset to start */
+    lpos_T     *result,        // returned position
+    regmmatch_T        *regmatch,      // start/end of match
+    synpat_T   *spp,           // matched pattern
+    int                idx,            // index of offset
+    int                extra)          // extra chars for offset to start
 {
     int                col;
     int                off;
@@ -3071,8 +3069,8 @@ syn_add_end_off(
        col = regmatch->endpos[0].col;
        off = spp->sp_offsets[idx];
     }
-    /* Don't go past the end of the line.  Matters for "rs=e+2" when there
-     * is a matchgroup. Watch out for match with last NL in the buffer. */
+    // Don't go past the end of the line.  Matters for "rs=e+2" when there
+    // is a matchgroup. Watch out for match with last NL in the buffer.
     if (result->lnum > syn_buf->b_ml.ml_line_count)
        col = 0;
     else if (off != 0)
@@ -3100,11 +3098,11 @@ syn_add_end_off(
  */
     static void
 syn_add_start_off(
-    lpos_T     *result,        /* returned position */
-    regmmatch_T        *regmatch,      /* start/end of match */
+    lpos_T     *result,        // returned position
+    regmmatch_T        *regmatch,      // start/end of match
     synpat_T   *spp,
     int                idx,
-    int                extra)      /* extra chars for offset to end */
+    int                extra)      // extra chars for offset to end
 {
     int                col;
     int                off;
@@ -3125,7 +3123,7 @@ syn_add_start_off(
     }
     if (result->lnum > syn_buf->b_ml.ml_line_count)
     {
-       /* a "\n" at the end of the pattern may take us below the last line */
+       // a "\n" at the end of the pattern may take us below the last line
        result->lnum = syn_buf->b_ml.ml_line_count;
        col = (int)STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE));
     }
@@ -3231,23 +3229,23 @@ syn_regexec(
     static int
 check_keyword_id(
     char_u     *line,
-    int                startcol,       /* position in line to check for keyword */
-    int                *endcolp,       /* return: character after found keyword */
-    long       *flagsp,        /* return: flags of matching keyword */
-    short      **next_listp,   /* return: next_list of matching keyword */
-    stateitem_T        *cur_si,        /* item at the top of the stack */
-    int                *ccharp UNUSED) /* conceal substitution char */
+    int                startcol,       // position in line to check for keyword
+    int                *endcolp,       // return: character after found keyword
+    long       *flagsp,        // return: flags of matching keyword
+    short      **next_listp,   // return: next_list of matching keyword
+    stateitem_T        *cur_si,        // item at the top of the stack
+    int                *ccharp UNUSED) // conceal substitution char
 {
     keyentry_T *kp;
     char_u     *kwp;
     int                round;
     int                kwlen;
-    char_u     keyword[MAXKEYWLEN + 1]; /* assume max. keyword len is 80 */
+    char_u     keyword[MAXKEYWLEN + 1]; // assume max. keyword len is 80
     hashtab_T  *ht;
     hashitem_T *hi;
 
-    /* Find first character after the keyword.  First character was already
-     * checked. */
+    // Find first character after the keyword.  First character was already
+    // checked.
     kwp = line + startcol;
     kwlen = 0;
     do
@@ -3278,7 +3276,7 @@ check_keyword_id(
        ht = round == 1 ? &syn_block->b_keywtab : &syn_block->b_keywtab_ic;
        if (ht->ht_used == 0)
            continue;
-       if (round == 2) /* ignore case */
+       if (round == 2) // ignore case
            (void)str_foldcase(kwp, kwlen, keyword, MAXKEYWLEN + 1);
 
        /*
@@ -3407,7 +3405,7 @@ syn_cmd_spell(exarg_T *eap, int syncing UNUSED)
        return;
     }
 
-    /* assume spell checking changed, force a redraw */
+    // assume spell checking changed, force a redraw
     redraw_win_later(curwin, NOT_VALID);
 }
 
@@ -3470,27 +3468,27 @@ syntax_clear(synblock_T *block)
 {
     int i;
 
-    block->b_syn_error = FALSE;            /* clear previous error */
+    block->b_syn_error = FALSE;            // clear previous error
 #ifdef FEAT_RELTIME
-    block->b_syn_slow = FALSE;     /* clear previous timeout */
+    block->b_syn_slow = FALSE;     // clear previous timeout
 #endif
-    block->b_syn_ic = FALSE;       /* Use case, by default */
-    block->b_syn_spell = SYNSPL_DEFAULT; /* default spell checking */
+    block->b_syn_ic = FALSE;       // Use case, by default
+    block->b_syn_spell = SYNSPL_DEFAULT; // default spell checking
     block->b_syn_containedin = FALSE;
 #ifdef FEAT_CONCEAL
     block->b_syn_conceal = FALSE;
 #endif
 
-    /* free the keywords */
+    // free the keywords
     clear_keywtab(&block->b_keywtab);
     clear_keywtab(&block->b_keywtab_ic);
 
-    /* free the syntax patterns */
+    // free the syntax patterns
     for (i = block->b_syn_patterns.ga_len; --i >= 0; )
        syn_clear_pattern(block, i);
     ga_clear(&block->b_syn_patterns);
 
-    /* free the syntax clusters */
+    // free the syntax clusters
     for (i = block->b_syn_clusters.ga_len; --i >= 0; )
        syn_clear_cluster(block, i);
     ga_clear(&block->b_syn_clusters);
@@ -3510,11 +3508,11 @@ syntax_clear(synblock_T *block)
 #endif
     clear_string_option(&block->b_syn_isk);
 
-    /* free the stored states */
+    // free the stored states
     syn_stack_free_all(block);
     invalidate_current_state();
 
-    /* Reset the counter for ":syn include" */
+    // Reset the counter for ":syn include"
     running_syn_inc_tag = 0;
 }
 
@@ -3540,7 +3538,7 @@ syntax_sync_clear(void)
 {
     int i;
 
-    /* free the syntax patterns */
+    // free the syntax patterns
     for (i = curwin->w_s->b_syn_patterns.ga_len; --i >= 0; )
        if (SYN_ITEMS(curwin->w_s)[i].sp_syncing)
            syn_remove_pattern(curwin->w_s, i);
@@ -3555,7 +3553,7 @@ syntax_sync_clear(void)
     VIM_CLEAR(curwin->w_s->b_syn_linecont_pat);
     clear_string_option(&curwin->w_s->b_syn_isk);
 
-    syn_stack_free_all(curwin->w_s);   /* Need to recompute all syntax. */
+    syn_stack_free_all(curwin->w_s);   // Need to recompute all syntax.
 }
 
 /*
@@ -3588,7 +3586,7 @@ syn_clear_pattern(synblock_T *block, int i)
 {
     vim_free(SYN_ITEMS(block)[i].sp_pattern);
     vim_regfree(SYN_ITEMS(block)[i].sp_prog);
-    /* Only free sp_cont_list and sp_next_list of first start pattern */
+    // Only free sp_cont_list and sp_next_list of first start pattern
     if (i == 0 || SYN_ITEMS(block)[i - 1].sp_type != SPTYPE_START)
     {
        vim_free(SYN_ITEMS(block)[i].sp_cont_list);
@@ -3689,7 +3687,7 @@ syn_cmd_clear(exarg_T *eap, int syncing)
        }
     }
     redraw_curbuf_later(SOME_VALID);
-    syn_stack_free_all(curwin->w_s);           /* Need to recompute all syntax. */
+    syn_stack_free_all(curwin->w_s);           // Need to recompute all syntax.
 }
 
 /*
@@ -3701,14 +3699,14 @@ syn_clear_one(int id, int syncing)
     synpat_T   *spp;
     int                idx;
 
-    /* Clear keywords only when not ":syn sync clear group-name" */
+    // Clear keywords only when not ":syn sync clear group-name"
     if (!syncing)
     {
        (void)syn_clear_keyword(id, &curwin->w_s->b_keywtab);
        (void)syn_clear_keyword(id, &curwin->w_s->b_keywtab_ic);
     }
 
-    /* clear the patterns for "id" */
+    // clear the patterns for "id"
     for (idx = curwin->w_s->b_syn_patterns.ga_len; --idx >= 0; )
     {
        spp = &(SYN_ITEMS(curwin->w_s)[idx]);
@@ -3792,7 +3790,7 @@ syn_cmd_onoff(exarg_T *eap, char *name)
     static void
 syn_cmd_list(
     exarg_T    *eap,
-    int                syncing)            /* when TRUE: list syncing items */
+    int                syncing)            // when TRUE: list syncing items
 {
     char_u     *arg = eap->arg;
     int                id;
@@ -3932,8 +3930,8 @@ static void syn_list_flags(struct name_list *nl, int flags, int attr);
     static void
 syn_list_one(
     int                id,
-    int                syncing,            /* when TRUE: list syncing items */
-    int                link_only)          /* when TRUE; list link-only too */
+    int                syncing,            // when TRUE: list syncing items
+    int                link_only)          // when TRUE; list link-only too
 {
     int                attr;
     int                idx;
@@ -3963,9 +3961,9 @@ syn_list_one(
                    {0, NULL}
                };
 
-    attr = HL_ATTR(HLF_D);             /* highlight like directories */
+    attr = HL_ATTR(HLF_D);             // highlight like directories
 
-    /* list the keywords for "id" */
+    // list the keywords for "id"
     if (!syncing)
     {
        did_header = syn_list_keywords(id, &curwin->w_s->b_keywtab, FALSE, attr);
@@ -3973,7 +3971,7 @@ syn_list_one(
                                                            did_header, attr);
     }
 
-    /* list the patterns for "id" */
+    // list the patterns for "id"
     for (idx = 0; idx < curwin->w_s->b_syn_patterns.ga_len && !got_int; ++idx)
     {
        spp = &(SYN_ITEMS(curwin->w_s)[idx]);
@@ -4030,7 +4028,7 @@ syn_list_one(
        }
     }
 
-    /* list the link, if there is one */
+    // list the link, if there is one
     if (highlight_link_id(id - 1) && (did_header || link_only) && !got_int)
     {
        (void)syn_list_header(did_header, 999, id);
@@ -4061,13 +4059,13 @@ syn_list_cluster(int id)
 {
     int            endcol = 15;
 
-    /* slight hack:  roughly duplicate the guts of syn_list_header() */
+    // slight hack:  roughly duplicate the guts of syn_list_header()
     msg_putchar('\n');
     msg_outtrans(SYN_CLSTR(curwin->w_s)[id].scl_name);
 
-    if (msg_col >= endcol)     /* output at least one space */
+    if (msg_col >= endcol)     // output at least one space
        endcol = msg_col + 1;
-    if (Columns <= endcol)     /* avoid hang for tiny window */
+    if (Columns <= endcol)     // avoid hang for tiny window
        endcol = Columns - 1;
 
     msg_advance(endcol);
@@ -4135,7 +4133,7 @@ put_pattern(
     static char        *sepchars = "/+=-#@\"|'^&";
     int                i;
 
-    /* May have to write "matchgroup=group" */
+    // May have to write "matchgroup=group"
     if (last_matchgroup != spp->sp_syn_match_id)
     {
        last_matchgroup = spp->sp_syn_match_id;
@@ -4148,22 +4146,22 @@ put_pattern(
        msg_putchar(' ');
     }
 
-    /* output the name of the pattern and an '=' or ' ' */
+    // output the name of the pattern and an '=' or ' '
     msg_puts_attr(s, attr);
     msg_putchar(c);
 
-    /* output the pattern, in between a char that is not in the pattern */
+    // output the pattern, in between a char that is not in the pattern
     for (i = 0; vim_strchr(spp->sp_pattern, sepchars[i]) != NULL; )
        if (sepchars[++i] == NUL)
        {
-           i = 0;      /* no good char found, just use the first one */
+           i = 0;      // no good char found, just use the first one
            break;
        }
     msg_putchar(sepchars[i]);
     msg_outtrans(spp->sp_pattern);
     msg_putchar(sepchars[i]);
 
-    /* output any pattern options */
+    // output any pattern options
     first = TRUE;
     for (i = 0; i < SPO_COUNT; ++i)
     {
@@ -4171,7 +4169,7 @@ put_pattern(
        if (spp->sp_off_flags & (mask + (mask << SPO_COUNT)))
        {
            if (!first)
-               msg_putchar(',');       /* separate with commas */
+               msg_putchar(',');       // separate with commas
            msg_puts(spo_name_tab[i]);
            n = spp->sp_offsets[i];
            if (i != SPO_LC_OFF)
@@ -4199,7 +4197,7 @@ put_pattern(
 syn_list_keywords(
     int                id,
     hashtab_T  *ht,
-    int                did_header,             /* header has already been printed */
+    int                did_header,             // header has already been printed
     int                attr)
 {
     int                outlen;
@@ -4236,7 +4234,7 @@ syn_list_keywords(
                        outlen = 9999;
                    else
                        outlen = (int)STRLEN(kp->keyword);
-                   /* output "contained" and "nextgroup" on each line */
+                   // output "contained" and "nextgroup" on each line
                    if (syn_list_header(did_header, outlen, id))
                    {
                        prev_contained = 0;
@@ -4375,11 +4373,11 @@ clear_keywtab(hashtab_T *ht)
  */
     static void
 add_keyword(
-    char_u     *name,      /* name of keyword */
-    int                id,         /* group ID for this keyword */
-    int                flags,      /* flags for this keyword */
-    short      *cont_in_list, /* containedin for this keyword */
-    short      *next_list, /* nextgroup for this keyword */
+    char_u     *name,      // name of keyword
+    int                id,         // group ID for this keyword
+    int                flags,      // flags for this keyword
+    short      *cont_in_list, // containedin for this keyword
+    short      *next_list, // nextgroup for this keyword
     int                conceal_char)
 {
     keyentry_T *kp;
@@ -4416,13 +4414,13 @@ add_keyword(
     hi = hash_lookup(ht, kp->keyword, hash);
     if (HASHITEM_EMPTY(hi))
     {
-       /* new keyword, add to hashtable */
+       // new keyword, add to hashtable
        kp->ke_next = NULL;
        hash_add_item(ht, hi, kp->keyword, hash);
     }
     else
     {
-       /* keyword already exists, prepend to list */
+       // keyword already exists, prepend to list
        kp->ke_next = HI2KE(hi);
        hi->hi_key = KE2HIKEY(kp);
     }
@@ -4435,8 +4433,8 @@ add_keyword(
  */
     static char_u *
 get_group_name(
-    char_u     *arg,           /* start of the argument */
-    char_u     **name_end)     /* pointer to end of the name */
+    char_u     *arg,           // start of the argument
+    char_u     **name_end)     // pointer to end of the name
 {
     char_u     *rest;
 
@@ -4462,10 +4460,10 @@ get_group_name(
  */
     static char_u *
 get_syn_options(
-    char_u         *arg,               /* next argument to be checked */
-    syn_opt_arg_T   *opt,              /* various things */
+    char_u         *arg,               // next argument to be checked
+    syn_opt_arg_T   *opt,              // various things
     int                    *conceal_char UNUSED,
-    int                    skip)               /* TRUE if skipping over command */
+    int                    skip)               // TRUE if skipping over command
 {
     char_u     *gname_start, *gname;
     int                syn_id;
@@ -4500,7 +4498,7 @@ get_syn_options(
                };
     static char *first_letters = "cCoOkKeEtTsSgGdDfFnN";
 
-    if (arg == NULL)           /* already detected error */
+    if (arg == NULL)           // already detected error
        return NULL;
 
 #ifdef FEAT_CONCEAL
@@ -4533,12 +4531,12 @@ get_syn_options(
                        && (flagtab[fidx].flags == HL_DISPLAY
                            || flagtab[fidx].flags == HL_FOLD
                            || flagtab[fidx].flags == HL_EXTEND))
-                   /* treat "display", "fold" and "extend" as a keyword */
+                   // treat "display", "fold" and "extend" as a keyword
                    fidx = -1;
                break;
            }
        }
-       if (fidx < 0)       /* no match found */
+       if (fidx < 0)       // no match found
            break;
 
        if (flagtab[fidx].argtype == 1)
@@ -4563,7 +4561,7 @@ get_syn_options(
        }
        else if (flagtab[fidx].argtype == 11 && arg[5] == '=')
        {
-           /* cchar=? */
+           // cchar=?
            if (has_mbyte)
            {
 #ifdef FEAT_CONCEAL
@@ -4634,7 +4632,7 @@ get_syn_options(
 #ifdef FEAT_FOLDING
            else if (flagtab[fidx].flags == HL_FOLD
                                                && foldmethodIsSyntax(curwin))
-               /* Need to update folds later. */
+               // Need to update folds later.
                foldUpdateAll(curwin);
 #endif
        }
@@ -4656,7 +4654,7 @@ syn_incl_toplevel(int id, int *flagsp)
     *flagsp |= HL_CONTAINED;
     if (curwin->w_s->b_syn_topgrp >= SYNID_CLUSTER)
     {
-       /* We have to alloc this, because syn_combine_list() will free it. */
+       // We have to alloc this, because syn_combine_list() will free it.
        short       *grp_list = ALLOC_MULT(short, 2);
        int         tlg_id = curwin->w_s->b_syn_topgrp - SYNID_CLUSTER;
 
@@ -4701,7 +4699,7 @@ syn_cmd_include(exarg_T *eap, int syncing UNUSED)
        sgl_id = syn_check_cluster(arg, (int)(group_name_end - arg));
        if (sgl_id == 0)
            return;
-       /* separate_nextcmd() and expand_filename() depend on this */
+       // separate_nextcmd() and expand_filename() depend on this
        eap->arg = rest;
     }
 
@@ -4713,9 +4711,9 @@ syn_cmd_include(exarg_T *eap, int syncing UNUSED)
     separate_nextcmd(eap);
     if (*eap->arg == '<' || *eap->arg == '$' || mch_isFullName(eap->arg))
     {
-       /* For an absolute path, "$VIM/..." or "<sfile>.." we ":source" the
-        * file.  Need to expand the file name first.  In other cases
-        * ":runtime!" is used. */
+       // For an absolute path, "$VIM/..." or "<sfile>.." we ":source" the
+       // file.  Need to expand the file name first.  In other cases
+       // ":runtime!" is used.
        source = TRUE;
        if (expand_filename(eap, syn_cmdlinep, &errormsg) == FAIL)
        {
@@ -4771,7 +4769,7 @@ syn_cmd_keyword(exarg_T *eap, int syncing UNUSED)
        else
            syn_id = syn_check_group(arg, (int)(group_name_end - arg));
        if (syn_id != 0)
-           /* allocate a buffer, for removing backslashes in the keyword */
+           // allocate a buffer, for removing backslashes in the keyword
            keyword_copy = alloc(STRLEN(rest) + 1);
        if (keyword_copy != NULL)
        {
@@ -4795,7 +4793,7 @@ syn_cmd_keyword(exarg_T *eap, int syncing UNUSED)
                                                                    eap->skip);
                if (rest == NULL || ends_excmd(*rest))
                    break;
-               /* Copy the keyword, removing backslashes, and add a NUL. */
+               // Copy the keyword, removing backslashes, and add a NUL.
                while (*rest != NUL && !VIM_ISWHITE(*rest))
                {
                    if (*rest == '\\' && rest[1] != NUL)
@@ -4808,7 +4806,7 @@ syn_cmd_keyword(exarg_T *eap, int syncing UNUSED)
 
            if (!eap->skip)
            {
-               /* Adjust flags for use of ":syn include". */
+               // Adjust flags for use of ":syn include".
                syn_incl_toplevel(syn_id, &syn_opt_arg.flags);
 
                /*
@@ -4838,7 +4836,7 @@ syn_cmd_keyword(exarg_T *eap, int syncing UNUSED)
                                                                kw, &p[2]);
                                goto error;
                            }
-                           kw = p + 1;         /* skip over the "]" */
+                           kw = p + 1;         // skip over the "]"
                            break;
                        }
                        if (has_mbyte)
@@ -4869,7 +4867,7 @@ error:
        semsg(_(e_invarg2), arg);
 
     redraw_curbuf_later(SOME_VALID);
-    syn_stack_free_all(curwin->w_s);           /* Need to recompute all syntax. */
+    syn_stack_free_all(curwin->w_s);           // Need to recompute all syntax.
 }
 
 /*
@@ -4880,22 +4878,22 @@ error:
     static void
 syn_cmd_match(
     exarg_T    *eap,
-    int                syncing)            /* TRUE for ":syntax sync match .. " */
+    int                syncing)            // TRUE for ":syntax sync match .. "
 {
     char_u     *arg = eap->arg;
     char_u     *group_name_end;
     char_u     *rest;
-    synpat_T   item;           /* the item found in the line */
+    synpat_T   item;           // the item found in the line
     int                syn_id;
     int                idx;
     syn_opt_arg_T syn_opt_arg;
     int                sync_idx = 0;
     int                conceal_char = NUL;
 
-    /* Isolate the group name, check for validity */
+    // Isolate the group name, check for validity
     rest = get_group_name(arg, &group_name_end);
 
-    /* Get options before the pattern */
+    // Get options before the pattern
     syn_opt_arg.flags = 0;
     syn_opt_arg.keyword = FALSE;
     syn_opt_arg.sync_idx = syncing ? &sync_idx : NULL;
@@ -4905,17 +4903,17 @@ syn_cmd_match(
     syn_opt_arg.next_list = NULL;
     rest = get_syn_options(rest, &syn_opt_arg, &conceal_char, eap->skip);
 
-    /* get the pattern. */
+    // get the pattern.
     init_syn_patterns();
     vim_memset(&item, 0, sizeof(item));
     rest = get_syn_pattern(rest, &item);
     if (vim_regcomp_had_eol() && !(syn_opt_arg.flags & HL_EXCLUDENL))
        syn_opt_arg.flags |= HL_HAS_EOL;
 
-    /* Get options after the pattern */
+    // Get options after the pattern
     rest = get_syn_options(rest, &syn_opt_arg, &conceal_char, eap->skip);
 
-    if (rest != NULL)          /* all arguments are valid */
+    if (rest != NULL)          // all arguments are valid
     {
        /*
         * Check for trailing command and illegal trailing arguments.
@@ -4950,7 +4948,7 @@ syn_cmd_match(
            SYN_ITEMS(curwin->w_s)[idx].sp_next_list = syn_opt_arg.next_list;
            ++curwin->w_s->b_syn_patterns.ga_len;
 
-           /* remember that we found a match for syncing on */
+           // remember that we found a match for syncing on
            if (syn_opt_arg.flags & (HL_SYNC_HERE|HL_SYNC_THERE))
                curwin->w_s->b_syn_sync_flags |= SF_MATCH;
 #ifdef FEAT_FOLDING
@@ -4959,8 +4957,8 @@ syn_cmd_match(
 #endif
 
            redraw_curbuf_later(SOME_VALID);
-           syn_stack_free_all(curwin->w_s);    /* Need to recompute all syntax. */
-           return;     /* don't free the progs and patterns now */
+           syn_stack_free_all(curwin->w_s);    // Need to recompute all syntax.
+           return;     // don't free the progs and patterns now
        }
     }
 
@@ -4984,11 +4982,11 @@ syn_cmd_match(
     static void
 syn_cmd_region(
     exarg_T    *eap,
-    int                syncing)            /* TRUE for ":syntax sync region .." */
+    int                syncing)            // TRUE for ":syntax sync region .."
 {
     char_u             *arg = eap->arg;
     char_u             *group_name_end;
-    char_u             *rest;                  /* next arg, NULL on error */
+    char_u             *rest;                  // next arg, NULL on error
     char_u             *key_end;
     char_u             *key = NULL;
     char_u             *p;
@@ -4999,24 +4997,24 @@ syn_cmd_region(
 #define ITEM_MATCHGROUP            3
     struct pat_ptr
     {
-       synpat_T        *pp_synp;               /* pointer to syn_pattern */
-       int             pp_matchgroup_id;       /* matchgroup ID */
-       struct pat_ptr  *pp_next;               /* pointer to next pat_ptr */
+       synpat_T        *pp_synp;               // pointer to syn_pattern
+       int             pp_matchgroup_id;       // matchgroup ID
+       struct pat_ptr  *pp_next;               // pointer to next pat_ptr
     }                  *(pat_ptrs[3]);
-                                       /* patterns found in the line */
+                                       // patterns found in the line
     struct pat_ptr     *ppp;
     struct pat_ptr     *ppp_next;
-    int                        pat_count = 0;          /* nr of syn_patterns found */
+    int                        pat_count = 0;          // nr of syn_patterns found
     int                        syn_id;
     int                        matchgroup_id = 0;
-    int                        not_enough = FALSE;     /* not enough arguments */
-    int                        illegal = FALSE;        /* illegal arguments */
+    int                        not_enough = FALSE;     // not enough arguments
+    int                        illegal = FALSE;        // illegal arguments
     int                        success = FALSE;
     int                        idx;
     syn_opt_arg_T      syn_opt_arg;
     int                        conceal_char = NUL;
 
-    /* Isolate the group name, check for validity */
+    // Isolate the group name, check for validity
     rest = get_group_name(arg, &group_name_end);
 
     pat_ptrs[0] = NULL;
@@ -5038,18 +5036,18 @@ syn_cmd_region(
      */
     while (rest != NULL && !ends_excmd(*rest))
     {
-       /* Check for option arguments */
+       // Check for option arguments
        rest = get_syn_options(rest, &syn_opt_arg, &conceal_char, eap->skip);
        if (rest == NULL || ends_excmd(*rest))
            break;
 
-       /* must be a pattern or matchgroup then */
+       // must be a pattern or matchgroup then
        key_end = rest;
        while (*key_end && !VIM_ISWHITE(*key_end) && *key_end != '=')
            ++key_end;
        vim_free(key);
        key = vim_strnsave_up(rest, (int)(key_end - rest));
-       if (key == NULL)                        /* out of memory */
+       if (key == NULL)                        // out of memory
        {
            rest = NULL;
            break;
@@ -5062,7 +5060,7 @@ syn_cmd_region(
            item = ITEM_END;
        else if (STRCMP(key, "SKIP") == 0)
        {
-           if (pat_ptrs[ITEM_SKIP] != NULL)    /* one skip pattern allowed */
+           if (pat_ptrs[ITEM_SKIP] != NULL)    // one skip pattern allowed
            {
                illegal = TRUE;
                break;
@@ -5126,7 +5124,7 @@ syn_cmd_region(
            /*
             * Get the syntax pattern and the following offset(s).
             */
-           /* Enable the appropriate \z specials. */
+           // Enable the appropriate \z specials.
            if (item == ITEM_START)
                reg_do_extmatch = REX_SET;
            else if (item == ITEM_SKIP || item == ITEM_END)
@@ -5211,8 +5209,8 @@ syn_cmd_region(
            }
 
            redraw_curbuf_later(SOME_VALID);
-           syn_stack_free_all(curwin->w_s);    /* Need to recompute all syntax. */
-           success = TRUE;         /* don't free the progs and patterns now */
+           syn_stack_free_all(curwin->w_s);    // Need to recompute all syntax.
+           success = TRUE;         // don't free the progs and patterns now
        }
     }
 
@@ -5390,7 +5388,7 @@ syn_scl_name2id(char_u *name)
     int                i;
     char_u     *name_u;
 
-    /* Avoid using stricmp() too much, it's slow on some systems */
+    // Avoid using stricmp() too much, it's slow on some systems
     name_u = vim_strsave_up(name);
     if (name_u == NULL)
        return 0;
@@ -5437,7 +5435,7 @@ syn_check_cluster(char_u *pp, int len)
        return 0;
 
     id = syn_scl_name2id(name);
-    if (id == 0)                       /* doesn't exist yet */
+    if (id == 0)                       // doesn't exist yet
        id = syn_add_cluster(name);
     else
        vim_free(name);
@@ -5563,7 +5561,7 @@ syn_cmd_cluster(exarg_T *eap, int syncing UNUSED)
        if (got_clstr)
        {
            redraw_curbuf_later(SOME_VALID);
-           syn_stack_free_all(curwin->w_s);    /* Need to recompute all. */
+           syn_stack_free_all(curwin->w_s);    // Need to recompute all.
        }
     }
 
@@ -5596,21 +5594,21 @@ get_syn_pattern(char_u *arg, synpat_T *ci)
     int                idx;
     char_u     *cpo_save;
 
-    /* need at least three chars */
+    // need at least three chars
     if (arg == NULL || arg[0] == NUL || arg[1] == NUL || arg[2] == NUL)
        return NULL;
 
     end = skip_regexp(arg + 1, *arg, TRUE, NULL);
-    if (*end != *arg)                      /* end delimiter not found */
+    if (*end != *arg)                      // end delimiter not found
     {
        semsg(_("E401: Pattern delimiter not found: %s"), arg);
        return NULL;
     }
-    /* store the pattern and compiled regexp program */
+    // store the pattern and compiled regexp program
     if ((ci->sp_pattern = vim_strnsave(arg + 1, (int)(end - arg - 1))) == NULL)
        return NULL;
 
-    /* Make 'cpoptions' empty, to avoid the 'l' flag */
+    // Make 'cpoptions' empty, to avoid the 'l' flag
     cpo_save = p_cpo;
     p_cpo = (char_u *)"";
     ci->sp_prog = vim_regcomp(ci->sp_pattern, RE_MAGIC);
@@ -5646,30 +5644,30 @@ get_syn_pattern(char_u *arg, synpat_T *ci)
            if (idx >= 0)
            {
                ci->sp_off_flags |= (1 << idx);
-               if (idx == SPO_LC_OFF)      /* lc=99 */
+               if (idx == SPO_LC_OFF)      // lc=99
                {
                    end += 3;
                    *p = getdigits(&end);
 
-                   /* "lc=" offset automatically sets "ms=" offset */
+                   // "lc=" offset automatically sets "ms=" offset
                    if (!(ci->sp_off_flags & (1 << SPO_MS_OFF)))
                    {
                        ci->sp_off_flags |= (1 << SPO_MS_OFF);
                        ci->sp_offsets[SPO_MS_OFF] = *p;
                    }
                }
-               else                        /* yy=x+99 */
+               else                        // yy=x+99
                {
                    end += 4;
                    if (*end == '+')
                    {
                        ++end;
-                       *p = getdigits(&end);           /* positive offset */
+                       *p = getdigits(&end);           // positive offset
                    }
                    else if (*end == '-')
                    {
                        ++end;
-                       *p = -getdigits(&end);          /* negative offset */
+                       *p = -getdigits(&end);          // negative offset
                    }
                }
                if (*end != ',')
@@ -5766,7 +5764,7 @@ syn_cmd_sync(exarg_T *eap, int syncing UNUSED)
        }
        else if (STRCMP(key, "LINECONT") == 0)
        {
-           if (*next_arg == NUL)          /* missing pattern */
+           if (*next_arg == NUL)          // missing pattern
            {
                illegal = TRUE;
                break;
@@ -5778,7 +5776,7 @@ syn_cmd_sync(exarg_T *eap, int syncing UNUSED)
                break;
            }
            arg_end = skip_regexp(next_arg + 1, *next_arg, TRUE, NULL);
-           if (*arg_end != *next_arg)      /* end delimiter not found */
+           if (*arg_end != *next_arg)      // end delimiter not found
            {
                illegal = TRUE;
                break;
@@ -5786,7 +5784,7 @@ syn_cmd_sync(exarg_T *eap, int syncing UNUSED)
 
            if (!eap->skip)
            {
-               /* store the pattern and compiled regexp program */
+               // store the pattern and compiled regexp program
                if ((curwin->w_s->b_syn_linecont_pat = vim_strnsave(next_arg + 1,
                                      (int)(arg_end - next_arg - 1))) == NULL)
                {
@@ -5795,7 +5793,7 @@ syn_cmd_sync(exarg_T *eap, int syncing UNUSED)
                }
                curwin->w_s->b_syn_linecont_ic = curwin->w_s->b_syn_ic;
 
-               /* Make 'cpoptions' empty, to avoid the 'l' flag */
+               // Make 'cpoptions' empty, to avoid the 'l' flag
                cpo_save = p_cpo;
                p_cpo = (char_u *)"";
                curwin->w_s->b_syn_linecont_prog =
@@ -5837,7 +5835,7 @@ syn_cmd_sync(exarg_T *eap, int syncing UNUSED)
     {
        eap->nextcmd = check_nextcmd(arg_start);
        redraw_curbuf_later(SOME_VALID);
-       syn_stack_free_all(curwin->w_s);        /* Need to recompute all syntax. */
+       syn_stack_free_all(curwin->w_s);        // Need to recompute all syntax.
     }
 }
 
@@ -5851,9 +5849,9 @@ syn_cmd_sync(exarg_T *eap, int syncing UNUSED)
     static int
 get_id_list(
     char_u     **arg,
-    int                keylen,         /* length of keyword */
-    short      **list,         /* where to store the resulting list, if not
-                                  NULL, the list is silently skipped! */
+    int                keylen,         // length of keyword
+    short      **list,         // where to store the resulting list, if not
+                               // NULL, the list is silently skipped!
     int                skip)
 {
     char_u     *p = NULL;
@@ -5901,7 +5899,7 @@ get_id_list(
        {
            for (end = p; *end && !VIM_ISWHITE(*end) && *end != ','; ++end)
                ;
-           name = alloc(end - p + 3);      /* leave room for "^$" */
+           name = alloc(end - p + 3);      // leave room for "^$"
            if (name == NULL)
            {
                failed = TRUE;
@@ -5974,10 +5972,10 @@ get_id_list(
                        {
                            if (round == 2)
                            {
-                               /* Got more items than expected; can happen
-                                * when adding items that match:
-                                * "contains=a.*b,axb".
-                                * Go back to first round */
+                               // Got more items than expected; can happen
+                               // when adding items that match:
+                               // "contains=a.*b,axb".
+                               // Go back to first round
                                if (count >= total_count)
                                {
                                    vim_free(retval);
@@ -5987,7 +5985,7 @@ get_id_list(
                                    retval[count] = i + 1;
                            }
                            ++count;
-                           id = -1;        /* remember that we found one */
+                           id = -1;        // remember that we found one
                        }
                    }
                    vim_regfree(regmatch.regprog);
@@ -6004,7 +6002,7 @@ get_id_list(
            {
                if (round == 2)
                {
-                   /* Got more items than expected, go back to first round */
+                   // Got more items than expected, go back to first round
                    if (count >= total_count)
                    {
                        vim_free(retval);
@@ -6018,7 +6016,7 @@ get_id_list(
            p = skipwhite(end);
            if (*p != ',')
                break;
-           p = skipwhite(p + 1);       /* skip comma in between arguments */
+           p = skipwhite(p + 1);       // skip comma in between arguments
        }
        if (failed)
            break;
@@ -6027,7 +6025,7 @@ get_id_list(
            retval = ALLOC_MULT(short, count + 1);
            if (retval == NULL)
                break;
-           retval[count] = 0;      /* zero means end of the list */
+           retval[count] = 0;      // zero means end of the list
            total_count = count;
        }
     }
@@ -6042,7 +6040,7 @@ get_id_list(
     if (*list == NULL)
        *list = retval;
     else
-       vim_free(retval);       /* list already found, don't overwrite it */
+       vim_free(retval);       // list already found, don't overwrite it
 
     return OK;
 }
@@ -6079,10 +6077,10 @@ copy_id_list(short *list)
  */
     static int
 in_id_list(
-    stateitem_T        *cur_si,        /* current item or NULL */
-    short      *list,          /* id list */
-    struct sp_syn *ssp,                /* group id and ":syn include" tag of group */
-    int                contained)      /* group id is contained */
+    stateitem_T        *cur_si,        // current item or NULL
+    short      *list,          // id list
+    struct sp_syn *ssp,                // group id and ":syn include" tag of group
+    int                contained)      // group id is contained
 {
     int                retval;
     short      *scl_list;
@@ -6091,16 +6089,16 @@ in_id_list(
     static int depth = 0;
     int                r;
 
-    /* If ssp has a "containedin" list and "cur_si" is in it, return TRUE. */
+    // If ssp has a "containedin" list and "cur_si" is in it, return TRUE.
     if (cur_si != NULL && ssp->cont_in_list != NULL
                                            && !(cur_si->si_flags & HL_MATCH))
     {
-       /* Ignore transparent items without a contains argument.  Double check
-        * that we don't go back past the first one. */
+       // Ignore transparent items without a contains argument.  Double check
+       // that we don't go back past the first one.
        while ((cur_si->si_flags & HL_TRANS_CONT)
                && cur_si > (stateitem_T *)(current_state.ga_data))
            --cur_si;
-       /* cur_si->si_idx is -1 for keywords, these never contain anything. */
+       // cur_si->si_idx is -1 for keywords, these never contain anything.
        if (cur_si->si_idx >= 0 && in_id_list(NULL, ssp->cont_in_list,
                &(SYN_ITEMS(syn_block)[cur_si->si_idx].sp_syn),
                  SYN_ITEMS(syn_block)[cur_si->si_idx].sp_flags & HL_CONTAINED))
@@ -6127,19 +6125,19 @@ in_id_list(
     {
        if (item < SYNID_TOP)
        {
-           /* ALL or ALLBUT: accept all groups in the same file */
+           // ALL or ALLBUT: accept all groups in the same file
            if (item - SYNID_ALLBUT != ssp->inc_tag)
                return FALSE;
        }
        else if (item < SYNID_CONTAINED)
        {
-           /* TOP: accept all not-contained groups in the same file */
+           // TOP: accept all not-contained groups in the same file
            if (item - SYNID_TOP != ssp->inc_tag || contained)
                return FALSE;
        }
        else
        {
-           /* CONTAINED: accept all contained groups in the same file */
+           // CONTAINED: accept all contained groups in the same file
            if (item - SYNID_CONTAINED != ssp->inc_tag || !contained)
                return FALSE;
        }
@@ -6159,8 +6157,8 @@ in_id_list(
        if (item >= SYNID_CLUSTER)
        {
            scl_list = SYN_CLSTR(syn_block)[item - SYNID_CLUSTER].scl_list;
-           /* restrict recursiveness to 30 to avoid an endless loop for a
-            * cluster that includes itself (indirectly) */
+           // restrict recursiveness to 30 to avoid an endless loop for a
+           // cluster that includes itself (indirectly)
            if (scl_list != NULL && depth < 30)
            {
                ++depth;
@@ -6177,8 +6175,8 @@ in_id_list(
 
 struct subcommand
 {
-    char    *name;                     /* subcommand name */
-    void    (*func)(exarg_T *, int);   /* function to call */
+    char    *name;                     // subcommand name
+    void    (*func)(exarg_T *, int);   // function to call
 };
 
 static struct subcommand subcommands[] =
@@ -6219,13 +6217,13 @@ ex_syntax(exarg_T *eap)
 
     syn_cmdlinep = eap->cmdlinep;
 
-    /* isolate subcommand name */
+    // isolate subcommand name
     for (subcmd_end = arg; ASCII_ISALPHA(*subcmd_end); ++subcmd_end)
        ;
     subcmd_name = vim_strnsave(arg, (int)(subcmd_end - arg));
     if (subcmd_name != NULL)
     {
-       if (eap->skip)          /* skip error messages for all subcommands */
+       if (eap->skip)          // skip error messages for all subcommands
            ++emsg_skip;
        for (i = 0; ; ++i)
        {
@@ -6260,8 +6258,8 @@ ex_ownsyntax(exarg_T *eap)
        hash_init(&curwin->w_s->b_keywtab);
        hash_init(&curwin->w_s->b_keywtab_ic);
 #ifdef FEAT_SPELL
-       /* TODO: keep the spell checking as it was. */
-       curwin->w_p_spell = FALSE;      /* No spell checking */
+       // TODO: keep the spell checking as it was.
+       curwin->w_p_spell = FALSE;      // No spell checking
        clear_string_option(&curwin->w_s->b_p_spc);
        clear_string_option(&curwin->w_s->b_p_spf);
        clear_string_option(&curwin->w_s->b_p_spl);
@@ -6269,21 +6267,21 @@ ex_ownsyntax(exarg_T *eap)
        clear_string_option(&curwin->w_s->b_syn_isk);
     }
 
-    /* save value of b:current_syntax */
+    // save value of b:current_syntax
     old_value = get_var_value((char_u *)"b:current_syntax");
     if (old_value != NULL)
        old_value = vim_strsave(old_value);
 
-    /* Apply the "syntax" autocommand event, this finds and loads the syntax
-     * file. */
+    // Apply the "syntax" autocommand event, this finds and loads the syntax
+    // file.
     apply_autocmds(EVENT_SYNTAX, eap->arg, curbuf->b_fname, TRUE, curbuf);
 
-    /* move value of b:current_syntax to w:current_syntax */
+    // move value of b:current_syntax to w:current_syntax
     new_value = get_var_value((char_u *)"b:current_syntax");
     if (new_value != NULL)
        set_internal_string_var((char_u *)"w:current_syntax", new_value);
 
-    /* restore value of b:current_syntax */
+    // restore value of b:current_syntax
     if (old_value == NULL)
        do_unlet((char_u *)"b:current_syntax", TRUE);
     else
@@ -6305,10 +6303,10 @@ syntax_present(win_T *win)
 
 static enum
 {
-    EXP_SUBCMD,            /* expand ":syn" sub-commands */
-    EXP_CASE,      /* expand ":syn case" arguments */
-    EXP_SPELL,     /* expand ":syn spell" arguments */
-    EXP_SYNC       /* expand ":syn sync" arguments */
+    EXP_SUBCMD,            // expand ":syn" sub-commands
+    EXP_CASE,      // expand ":syn case" arguments
+    EXP_SPELL,     // expand ":syn spell" arguments
+    EXP_SYNC       // expand ":syn sync" arguments
 } expand_what;
 
 /*
@@ -6341,18 +6339,18 @@ set_context_in_syntax_cmd(expand_T *xp, char_u *arg)
 {
     char_u     *p;
 
-    /* Default: expand subcommands */
+    // Default: expand subcommands
     xp->xp_context = EXPAND_SYNTAX;
     expand_what = EXP_SUBCMD;
     xp->xp_pattern = arg;
     include_link = 0;
     include_default = 0;
 
-    /* (part of) subcommand already typed */
+    // (part of) subcommand already typed
     if (*arg != NUL)
     {
        p = skiptowhite(arg);
-       if (*p != NUL)              /* past first word */
+       if (*p != NUL)              // past first word
        {
            xp->xp_pattern = skipwhite(p);
            if (*skiptowhite(xp->xp_pattern) != NUL)
@@ -6417,12 +6415,12 @@ syn_get_id(
     win_T      *wp,
     long       lnum,
     colnr_T    col,
-    int                trans,       /* remove transparency */
-    int                *spellp,     /* return: can do spell checking */
-    int                keep_state)  /* keep state of char at "col" */
+    int                trans,       // remove transparency
+    int                *spellp,     // return: can do spell checking
+    int                keep_state)  // keep state of char at "col"
 {
-    /* When the position is not after the current position and in the same
-     * line of the same buffer, need to restart parsing. */
+    // When the position is not after the current position and in the same
+    // line of the same buffer, need to restart parsing.
     if (wp->w_buffer != syn_buf
            || lnum != current_lnum
            || col < current_col)
@@ -6430,8 +6428,8 @@ syn_get_id(
     else if (wp->w_buffer == syn_buf
            && lnum == current_lnum
            && col > current_col)
-       /* next_match may not be correct when moving around, e.g. with the
-        * "skip" expression in searchpair() */
+       // next_match may not be correct when moving around, e.g. with the
+       // "skip" expression in searchpair()
        next_match_idx = -1;
 
     (void)get_syntax_attr(col, spellp, keep_state);
@@ -6474,8 +6472,8 @@ syn_get_stack_item(int i)
 {
     if (i >= current_state.ga_len)
     {
-       /* Need to invalidate the state, because we didn't properly finish it
-        * for the last character, "keep_state" was TRUE. */
+       // Need to invalidate the state, because we didn't properly finish it
+       // for the last character, "keep_state" was TRUE.
        invalidate_current_state();
        current_col = MAXCOL;
        return -1;
@@ -6494,7 +6492,7 @@ syn_get_foldlevel(win_T *wp, long lnum)
     int                level = 0;
     int                i;
 
-    /* Return quickly when there are no fold items at all. */
+    // Return quickly when there are no fold items at all.
     if (wp->w_s->b_syn_folditems != 0
            && !wp->w_s->b_syn_error
 # ifdef SYN_TIME_LIMIT
@@ -6652,8 +6650,8 @@ syntime_report(void)
        }
     }
 
-    /* Sort on total time. Skip if there are no items to avoid passing NULL
-     * pointer to qsort(). */
+    // Sort on total time. Skip if there are no items to avoid passing NULL
+    // pointer to qsort().
     if (ga.ga_len > 1)
        qsort(ga.ga_data, (size_t)ga.ga_len, sizeof(time_entry_T),
                                                         syn_compare_syntime);
@@ -6665,7 +6663,7 @@ syntime_report(void)
        p = ((time_entry_T *)ga.ga_data) + idx;
 
        msg_puts(profile_msg(&p->total));
-       msg_puts(" "); /* make sure there is always a separating space */
+       msg_puts(" "); // make sure there is always a separating space
        msg_advance(13);
        msg_outnum(p->count);
        msg_puts(" ");
@@ -6686,7 +6684,7 @@ syntime_report(void)
 
        msg_advance(69);
        if (Columns < 80)
-           len = 20; /* will wrap anyway */
+           len = 20; // will wrap anyway
        else
            len = Columns - 70;
        if (len > (int)STRLEN(p->pattern))
@@ -6706,4 +6704,4 @@ syntime_report(void)
 }
 #endif
 
-#endif /* FEAT_SYN_HL */
+#endif // FEAT_SYN_HL
index 5f02ea67f60bba9457390b52e1a0b1c040809530..c00f5fb72384950fc6a58c0d9e0e89e8ab42c66e 100644 (file)
--- a/src/tag.c
+++ b/src/tag.c
@@ -45,20 +45,20 @@ typedef struct tag_pointers
  * At the end, all the matches from ga_match[] are concatenated, to make a list
  * sorted on priority.
  */
-#define MT_ST_CUR      0               /* static match in current file */
-#define MT_GL_CUR      1               /* global match in current file */
-#define MT_GL_OTH      2               /* global match in other file */
-#define MT_ST_OTH      3               /* static match in other file */
-#define MT_IC_OFF      4               /* add for icase match */
-#define MT_RE_OFF      8               /* add for regexp match */
-#define MT_MASK                7               /* mask for printing priority */
+#define MT_ST_CUR      0               // static match in current file
+#define MT_GL_CUR      1               // global match in current file
+#define MT_GL_OTH      2               // global match in other file
+#define MT_ST_OTH      3               // static match in other file
+#define MT_IC_OFF      4               // add for icase match
+#define MT_RE_OFF      8               // add for regexp match
+#define MT_MASK                7               // mask for printing priority
 #define MT_COUNT       16
 
 static char    *mt_names[MT_COUNT/2] =
                {"FSC", "F C", "F  ", "FS ", " SC", "  C", "   ", " S "};
 
-#define NOTAGFILE      99              /* return value for jumpto_tag */
-static char_u  *nofile_fname = NULL;   /* fname for NOTAGFILE error */
+#define NOTAGFILE      99              // return value for jumpto_tag
+static char_u  *nofile_fname = NULL;   // fname for NOTAGFILE error
 
 static void taglen_advance(int l);
 
@@ -91,7 +91,7 @@ static char_u *recurmsg = (char_u *)N_("E986: cannot modify the tag stack within
 static char_u *tfu_inv_ret_msg = (char_u *)N_("E987: invalid return value from tagfunc");
 #endif
 
-static char_u  *tagmatchname = NULL;   /* name of last used tag */
+static char_u  *tagmatchname = NULL;   // name of last used tag
 
 #if defined(FEAT_QUICKFIX)
 /*
@@ -130,11 +130,11 @@ static int  tfu_in_use = FALSE;       // disallow recursive call of tagfunc
  */
     int
 do_tag(
-    char_u     *tag,           /* tag (pattern) to jump to */
+    char_u     *tag,           // tag (pattern) to jump to
     int                type,
     int                count,
-    int                forceit,        /* :ta with ! */
-    int                verbose)        /* print "tag not found" message */
+    int                forceit,        // :ta with !
+    int                verbose)        // print "tag not found" message
 {
     taggy_T    *tagstack = curwin->w_tagstack;
     int                tagstackidx = curwin->w_tagstackidx;
@@ -158,13 +158,13 @@ do_tag(
     char_u     **new_matches;
     int                use_tagstack;
     int                skip_msg = FALSE;
-    char_u     *buf_ffname = curbuf->b_ffname;     /* name to use for
-                                                      priority computation */
+    char_u     *buf_ffname = curbuf->b_ffname;     // name to use for
+                                                   // priority computation
     int         use_tfu = 1;
 
-    /* remember the matches for the last used tag */
+    // remember the matches for the last used tag
     static int         num_matches = 0;
-    static int         max_num_matches = 0;  /* limit used for match search */
+    static int         max_num_matches = 0;  // limit used for match search
     static char_u      **matches = NULL;
     static int         flags;
 
@@ -179,7 +179,7 @@ do_tag(
 #ifdef EXITFREE
     if (type == DT_FREE)
     {
-       /* remove the list of matches */
+       // remove the list of matches
        FreeWild(num_matches, matches);
 # ifdef FEAT_CSCOPE
        cs_free_tags();
@@ -200,7 +200,7 @@ do_tag(
     free_string_option(nofile_fname);
     nofile_fname = NULL;
 
-    CLEAR_POS(&saved_fmark.mark);      /* shutup gcc 4.0 */
+    CLEAR_POS(&saved_fmark.mark);      // shutup gcc 4.0
     saved_fmark.fnum = 0;
 
     /*
@@ -228,7 +228,7 @@ do_tag(
 #endif
            use_tagstack = TRUE;
 
-       /* new pattern, add to the tag stack */
+       // new pattern, add to the tag stack
        if (*tag != NUL
                && (type == DT_TAG || type == DT_SELECT || type == DT_JUMP
 #ifdef FEAT_QUICKFIX
@@ -245,8 +245,8 @@ do_tag(
                if (ptag_entry.tagname != NULL
                        && STRCMP(ptag_entry.tagname, tag) == 0)
                {
-                   /* Jumping to same tag: keep the current match, so that
-                    * the CursorHold autocommand example works. */
+                   // Jumping to same tag: keep the current match, so that
+                   // the CursorHold autocommand example works.
                    cur_match = ptag_entry.cur_match;
                    cur_fnum = ptag_entry.cur_fnum;
                }
@@ -267,7 +267,7 @@ do_tag(
                while (tagstackidx < tagstacklen)
                    tagstack_clear_entry(&tagstack[--tagstacklen]);
 
-               /* if the tagstack is full: remove oldest entry */
+               // if the tagstack is full: remove oldest entry
                if (++tagstacklen > TAGSTACKSIZE)
                {
                    tagstacklen = TAGSTACKSIZE;
@@ -287,7 +287,7 @@ do_tag(
                }
                curwin->w_tagstacklen = tagstacklen;
 
-               save_pos = TRUE;        /* save the cursor position below */
+               save_pos = TRUE;        // save the cursor position below
            }
 
            new_tag = TRUE;
@@ -300,12 +300,12 @@ do_tag(
 #endif
                    tagstacklen == 0)
            {
-               /* empty stack */
+               // empty stack
                emsg(_(e_tagstack));
                goto end_do_tag;
            }
 
-           if (type == DT_POP)         /* go to older position */
+           if (type == DT_POP)         // go to older position
            {
 #ifdef FEAT_FOLDING
                int     old_KeyTyped = KeyTyped;
@@ -315,23 +315,22 @@ do_tag(
                    emsg(_(bottommsg));
                    if (tagstackidx + count == 0)
                    {
-                       /* We did [num]^T from the bottom of the stack */
+                       // We did [num]^T from the bottom of the stack
                        tagstackidx = 0;
                        goto end_do_tag;
                    }
-                   /* We weren't at the bottom of the stack, so jump all the
-                    * way to the bottom now.
-                    */
+                   // We weren't at the bottom of the stack, so jump all the
+                   // way to the bottom now.
                    tagstackidx = 0;
                }
-               else if (tagstackidx >= tagstacklen)    /* count == 0? */
+               else if (tagstackidx >= tagstacklen)    // count == 0?
                {
                    emsg(_(topmsg));
                    goto end_do_tag;
                }
 
-               /* Make a copy of the fmark, autocommands may invalidate the
-                * tagstack before it's used. */
+               // Make a copy of the fmark, autocommands may invalidate the
+               // tagstack before it's used.
                saved_fmark = tagstack[tagstackidx].fmark;
                if (saved_fmark.fnum != curbuf->b_fnum)
                {
@@ -342,11 +341,11 @@ do_tag(
                    if (buflist_getfile(saved_fmark.fnum, saved_fmark.mark.lnum,
                                               GETF_SETMARK, forceit) == FAIL)
                    {
-                       tagstackidx = oldtagstackidx;  /* back to old posn */
+                       tagstackidx = oldtagstackidx;  // back to old posn
                        goto end_do_tag;
                    }
-                   /* An BufReadPost autocommand may jump to the '" mark, but
-                    * we don't what that here. */
+                   // An BufReadPost autocommand may jump to the '" mark, but
+                   // we don't what that here.
                    curwin->w_cursor.lnum = saved_fmark.mark.lnum;
                }
                else
@@ -362,7 +361,7 @@ do_tag(
                    foldOpenCursor();
 #endif
 
-               /* remove the old list of matches */
+               // remove the old list of matches
                FreeWild(num_matches, matches);
 #ifdef FEAT_CSCOPE
                cs_free_tags();
@@ -387,8 +386,8 @@ do_tag(
                else
 #endif
                {
-                   /* ":tag" (no argument): go to newer pattern */
-                   save_pos = TRUE;    /* save the cursor position below */
+                   // ":tag" (no argument): go to newer pattern
+                   save_pos = TRUE;    // save the cursor position below
                    if ((tagstackidx += count - 1) >= tagstacklen)
                    {
                        /*
@@ -400,7 +399,7 @@ do_tag(
                        emsg(_(topmsg));
                        save_pos = FALSE;
                    }
-                   else if (tagstackidx < 0)   /* must have been count == 0 */
+                   else if (tagstackidx < 0)   // must have been count == 0
                    {
                        emsg(_(bottommsg));
                        tagstackidx = 0;
@@ -411,9 +410,9 @@ do_tag(
                }
                new_tag = TRUE;
            }
-           else                                /* go to other matching tag */
+           else                                // go to other matching tag
            {
-               /* Save index for when selection is cancelled. */
+               // Save index for when selection is cancelled.
                prevtagstackidx = tagstackidx;
 
 #if defined(FEAT_QUICKFIX)
@@ -476,9 +475,9 @@ do_tag(
                tagstack[tagstackidx].fmark.fnum = curbuf->b_fnum;
            }
 
-           /* Curwin will change in the call to jumpto_tag() if ":stag" was
-            * used or an autocommand jumps to another window; store value of
-            * tagstackidx now. */
+           // Curwin will change in the call to jumpto_tag() if ":stag" was
+           // used or an autocommand jumps to another window; store value of
+           // tagstackidx now.
            curwin->w_tagstackidx = tagstackidx;
            if (type != DT_SELECT && type != DT_JUMP)
            {
@@ -488,9 +487,9 @@ do_tag(
        }
     }
 
-    /* When not using the current buffer get the name of buffer "cur_fnum".
-     * Makes sure that the tag order doesn't change when using a remembered
-     * position for "cur_match". */
+    // When not using the current buffer get the name of buffer "cur_fnum".
+    // Makes sure that the tag order doesn't change when using a remembered
+    // position for "cur_match".
     if (cur_fnum != curbuf->b_fnum)
     {
        buf_T *buf = buflist_findnr(cur_fnum);
@@ -540,7 +539,7 @@ do_tag(
            else
                max_num_matches = cur_match + 1;
 
-           /* when the argument starts with '/', use it as a regexp */
+           // when the argument starts with '/', use it as a regexp
            if (!no_regexp && *name == '/')
            {
                flags = TAG_REGEXP;
@@ -562,20 +561,20 @@ do_tag(
            if (find_tags(name, &new_num_matches, &new_matches, flags,
                                            max_num_matches, buf_ffname) == OK
                    && new_num_matches < max_num_matches)
-               max_num_matches = MAXCOL; /* If less than max_num_matches
-                                            found: all matches found. */
+               max_num_matches = MAXCOL; // If less than max_num_matches
+                                         // found: all matches found.
 
-           /* If there already were some matches for the same name, move them
-            * to the start.  Avoids that the order changes when using
-            * ":tnext" and jumping to another file. */
+           // If there already were some matches for the same name, move them
+           // to the start.  Avoids that the order changes when using
+           // ":tnext" and jumping to another file.
            if (!new_tag && !other_name)
            {
                int         j, k;
                int         idx = 0;
                tagptrs_T   tagp, tagp2;
 
-               /* Find the position of each old match in the new list.  Need
-                * to use parse_match() to find the tag line. */
+               // Find the position of each old match in the new list.  Need
+               // to use parse_match() to find the tag line.
                for (j = 0; j < num_matches; ++j)
                {
                    parse_match(matches[j], &tagp);
@@ -632,7 +631,7 @@ do_tag(
            {
                if (add_llist_tags(tag, num_matches, matches) == FAIL)
                    goto end_do_tag;
-               cur_match = 0;          /* Jump to the first tag */
+               cur_match = 0;          // Jump to the first tag
            }
 #endif
 
@@ -644,7 +643,7 @@ do_tag(
                i = prompt_for_number(NULL);
                if (i <= 0 || i > num_matches || got_int)
                {
-                   /* no valid choice: don't change anything */
+                   // no valid choice: don't change anything
                    if (use_tagstack)
                    {
                        tagstack[tagstackidx].fmark = saved_fmark;
@@ -661,9 +660,9 @@ do_tag(
 
            if (cur_match >= num_matches)
            {
-               /* Avoid giving this error when a file wasn't found and we're
-                * looking for a match in another file, which wasn't found.
-                * There will be an emsg("file doesn't exist") below then. */
+               // Avoid giving this error when a file wasn't found and we're
+               // looking for a match in another file, which wasn't found.
+               // There will be an emsg("file doesn't exist") below then.
                if ((type == DT_NEXT || type == DT_FIRST)
                                                      && nofile_fname == NULL)
                {
@@ -717,7 +716,7 @@ do_tag(
                && (num_matches > 1 || ic)
                && !skip_msg)
            {
-               /* Give an indication of the number of matching tags */
+               // Give an indication of the number of matching tags
                sprintf((char *)IObuff, _("tag %d of %d%s"),
                                cur_match + 1,
                                num_matches,
@@ -731,7 +730,7 @@ do_tag(
                        msg_attr((char *)IObuff, HL_ATTR(HLF_W));
                    else
                        msg((char *)IObuff);
-                   msg_scroll = TRUE;  /* don't overwrite this message */
+                   msg_scroll = TRUE;  // don't overwrite this message
                }
                else
                    give_warning(IObuff, ic);
@@ -743,7 +742,7 @@ do_tag(
            }
 
 #if defined(FEAT_EVAL)
-           /* Let the SwapExists event know what tag we are jumping to. */
+           // Let the SwapExists event know what tag we are jumping to.
            vim_snprintf((char *)IObuff, IOSIZE, ":ta %s\r", name);
            set_vim_var_string(VV_SWAPCOMMAND, IObuff, -1);
 #endif
@@ -759,7 +758,7 @@ do_tag(
 
            if (i == NOTAGFILE)
            {
-               /* File not found: try again with another matching tag */
+               // File not found: try again with another matching tag
                if ((type == DT_PREV && cur_match > 0)
                        || ((type == DT_TAG || type == DT_NEXT
                                                          || type == DT_FIRST)
@@ -782,8 +781,8 @@ do_tag(
            }
            else
            {
-               /* We may have jumped to another window, check that
-                * tagstackidx is still valid. */
+               // We may have jumped to another window, check that
+               // tagstackidx is still valid.
                if (use_tagstack && tagstackidx > curwin->w_tagstacklen)
                    tagstackidx = curwin->w_tagstackidx;
 #ifdef FEAT_CSCOPE
@@ -795,12 +794,12 @@ do_tag(
     }
 
 end_do_tag:
-    /* Only store the new index when using the tagstack and it's valid. */
+    // Only store the new index when using the tagstack and it's valid.
     if (use_tagstack && tagstackidx <= curwin->w_tagstacklen)
        curwin->w_tagstackidx = tagstackidx;
-    postponed_split = 0;       /* don't split next time */
+    postponed_split = 0;       // don't split next time
 # ifdef FEAT_QUICKFIX
-    g_do_tagpreview = 0;       /* don't do tag preview next time */
+    g_do_tagpreview = 0;       // don't do tag preview next time
 # endif
 
 #ifdef FEAT_CSCOPE
@@ -1041,7 +1040,7 @@ add_llist_tags(
 
        parse_match(matches[i], &tagp);
 
-       /* Save the tag name */
+       // Save the tag name
        len = (int)(tagp.tagname_end - tagp.tagname);
        if (len > 128)
            len = 128;
@@ -1185,14 +1184,14 @@ do_tags(exarg_T *eap UNUSED)
     int                tagstackidx = curwin->w_tagstackidx;
     int                tagstacklen = curwin->w_tagstacklen;
 
-    /* Highlight title */
+    // Highlight title
     msg_puts_title(_("\n  # TO tag         FROM line  in file/text"));
     for (i = 0; i < tagstacklen; ++i)
     {
        if (tagstack[i].tagname != NULL)
        {
            name = fm_getname(&(tagstack[i].fmark), 30);
-           if (name == NULL)       /* file name not available */
+           if (name == NULL)       // file name not available
                continue;
 
            msg_putchar('\n');
@@ -1207,9 +1206,9 @@ do_tags(exarg_T *eap UNUSED)
                                                        ? HL_ATTR(HLF_D) : 0);
            vim_free(name);
        }
-       out_flush();                /* show one line at a time */
+       out_flush();                // show one line at a time
     }
-    if (tagstackidx == tagstacklen)    /* idx at top of stack */
+    if (tagstackidx == tagstacklen)    // idx at top of stack
        msg_puts("\n>");
 }
 
@@ -1228,14 +1227,14 @@ tag_strnicmp(char_u *s1, char_u *s2, size_t len)
     {
        i = (int)TOUPPER_ASC(*s1) - (int)TOUPPER_ASC(*s2);
        if (i != 0)
-           return i;                   /* this character different */
+           return i;                   // this character different
        if (*s1 == NUL)
-           break;                      /* strings match until NUL */
+           break;                      // strings match until NUL
        ++s1;
        ++s2;
        --len;
     }
-    return 0;                          /* strings match */
+    return 0;                          // strings match
 }
 #endif
 
@@ -1244,11 +1243,11 @@ tag_strnicmp(char_u *s1, char_u *s2, size_t len)
  */
 typedef struct
 {
-    char_u     *pat;           /* the pattern */
-    int                len;            /* length of pat[] */
-    char_u     *head;          /* start of pattern head */
-    int                headlen;        /* length of head[] */
-    regmatch_T regmatch;       /* regexp program, may be NULL */
+    char_u     *pat;           // the pattern
+    int                len;            // length of pat[]
+    char_u     *head;          // start of pattern head
+    int                headlen;        // length of head[]
+    regmatch_T regmatch;       // regexp program, may be NULL
 } pat_T;
 
 /*
@@ -1261,8 +1260,8 @@ prepare_pats(pat_T *pats, int has_re)
     pats->headlen = pats->len;
     if (has_re)
     {
-       /* When the pattern starts with '^' or "\\<", binary searching can be
-        * used (much faster). */
+       // When the pattern starts with '^' or "\\<", binary searching can be
+       // used (much faster).
        if (pats->pat[0] == '^')
            pats->head = pats->pat + 1;
        else if (pats->pat[0] == '\\' && pats->pat[1] == '<')
@@ -1275,7 +1274,7 @@ prepare_pats(pat_T *pats, int has_re)
                if (vim_strchr((char_u *)(p_magic ? ".[~*\\$" : "\\$"),
                                           pats->head[pats->headlen]) != NULL)
                    break;
-       if (p_tl != 0 && pats->headlen > p_tl)  /* adjust for 'taglength' */
+       if (p_tl != 0 && pats->headlen > p_tl)  // adjust for 'taglength'
            pats->headlen = p_tl;
     }
 
@@ -1545,43 +1544,43 @@ find_tagfunc_tags(
  */
     int
 find_tags(
-    char_u     *pat,                   /* pattern to search for */
-    int                *num_matches,           /* return: number of matches found */
-    char_u     ***matchesp,            /* return: array of matches found */
+    char_u     *pat,                   // pattern to search for
+    int                *num_matches,           // return: number of matches found
+    char_u     ***matchesp,            // return: array of matches found
     int                flags,
-    int                mincount,               /*  MAXCOL: find all matches
-                                            other: minimal number of matches */
-    char_u     *buf_ffname)            /* name of buffer for priority */
+    int                mincount,               //  MAXCOL: find all matches
+                                       // other: minimal number of matches
+    char_u     *buf_ffname)            // name of buffer for priority
 {
     FILE       *fp;
-    char_u     *lbuf;                  /* line buffer */
-    int                lbuf_size = LSIZE;      /* length of lbuf */
-    char_u     *tag_fname;             /* name of tag file */
-    tagname_T  tn;                     /* info for get_tagfname() */
-    int                first_file;             /* trying first tag file */
+    char_u     *lbuf;                  // line buffer
+    int                lbuf_size = LSIZE;      // length of lbuf
+    char_u     *tag_fname;             // name of tag file
+    tagname_T  tn;                     // info for get_tagfname()
+    int                first_file;             // trying first tag file
     tagptrs_T  tagp;
-    int                did_open = FALSE;       /* did open a tag file */
-    int                stop_searching = FALSE; /* stop when match found or error */
-    int                retval = FAIL;          /* return value */
-    int                is_static;              /* current tag line is static */
-    int                is_current;             /* file name matches */
-    int                eof = FALSE;            /* found end-of-file */
+    int                did_open = FALSE;       // did open a tag file
+    int                stop_searching = FALSE; // stop when match found or error
+    int                retval = FAIL;          // return value
+    int                is_static;              // current tag line is static
+    int                is_current;             // file name matches
+    int                eof = FALSE;            // found end-of-file
     char_u     *p;
     char_u     *s;
     int                i;
 #ifdef FEAT_TAG_BINS
-    int                tag_file_sorted = NUL;  /* !_TAG_FILE_SORTED value */
-    struct tag_search_info     /* Binary search file offsets */
+    int                tag_file_sorted = NUL;  // !_TAG_FILE_SORTED value
+    struct tag_search_info     // Binary search file offsets
     {
-       off_T   low_offset;     /* offset for first char of first line that
-                                  could match */
-       off_T   high_offset;    /* offset of char after last line that could
-                                  match */
-       off_T   curr_offset;    /* Current file offset in search range */
-       off_T   curr_offset_used; /* curr_offset used when skipping back */
-       off_T   match_offset;   /* Where the binary search found a tag */
-       int     low_char;       /* first char at low_offset */
-       int     high_char;      /* first char at high_offset */
+       off_T   low_offset;     // offset for first char of first line that
+                               // could match
+       off_T   high_offset;    // offset of char after last line that could
+                               // match
+       off_T   curr_offset;    // Current file offset in search range
+       off_T   curr_offset_used; // curr_offset used when skipping back
+       off_T   match_offset;   // Where the binary search found a tag
+       int     low_char;       // first char at low_offset
+       int     high_char;      // first char at high_offset
     } search_info;
     off_T      filesize;
     int                tagcmp;
@@ -1590,19 +1589,19 @@ find_tags(
 #endif
     enum
     {
-       TS_START,               /* at start of file */
-       TS_LINEAR               /* linear searching forward, till EOF */
+       TS_START,               // at start of file
+       TS_LINEAR               // linear searching forward, till EOF
 #ifdef FEAT_TAG_BINS
-       , TS_BINARY,            /* binary searching */
-       TS_SKIP_BACK,           /* skipping backwards */
-       TS_STEP_FORWARD         /* stepping forwards */
+       , TS_BINARY,            // binary searching
+       TS_SKIP_BACK,           // skipping backwards
+       TS_STEP_FORWARD         // stepping forwards
 #endif
-    }  state;                  /* Current search state */
+    }  state;                  // Current search state
 
     int                cmplen;
-    int                match;          /* matches */
-    int                match_no_ic = 0;/* matches with rm_ic == FALSE */
-    int                match_re;       /* match with regexp */
+    int                match;          // matches
+    int                match_no_ic = 0;// matches with rm_ic == FALSE
+    int                match_re;       // match with regexp
     int                matchoff = 0;
     int                save_emsg_off;
 
@@ -1618,39 +1617,39 @@ find_tags(
        char_u  *etag_fname;
     } incstack[INCSTACK_SIZE];
 
-    int                incstack_idx = 0;       /* index in incstack */
-    char_u     *ebuf;                  /* additional buffer for etag fname */
-    int                is_etag;                /* current file is emaces style */
+    int                incstack_idx = 0;       // index in incstack
+    char_u     *ebuf;                  // additional buffer for etag fname
+    int                is_etag;                // current file is emaces style
 #endif
 
     char_u     *mfp;
-    garray_T   ga_match[MT_COUNT];     /* stores matches in sequence */
-    hashtab_T  ht_match[MT_COUNT];     /* stores matches by key */
+    garray_T   ga_match[MT_COUNT];     // stores matches in sequence
+    hashtab_T  ht_match[MT_COUNT];     // stores matches by key
     hash_T     hash = 0;
-    int                match_count = 0;                /* number of matches found */
+    int                match_count = 0;                // number of matches found
     char_u     **matches;
     int                mtt;
     int                help_save;
 #ifdef FEAT_MULTI_LANG
     int                help_pri = 0;
-    char_u     *help_lang_find = NULL;         /* lang to be found */
-    char_u     help_lang[3];                   /* lang of current tags file */
-    char_u     *saved_pat = NULL;              /* copy of pat[] */
-    int                is_txt = FALSE;                 /* flag of file extension */
+    char_u     *help_lang_find = NULL;         // lang to be found
+    char_u     help_lang[3];                   // lang of current tags file
+    char_u     *saved_pat = NULL;              // copy of pat[]
+    int                is_txt = FALSE;                 // flag of file extension
 #endif
 
-    pat_T      orgpat;                 /* holds unconverted pattern info */
+    pat_T      orgpat;                 // holds unconverted pattern info
     vimconv_T  vimconv;
 
 #ifdef FEAT_TAG_BINS
     int                findall = (mincount == MAXCOL || mincount == TAG_MANY);
-                                               /* find all matching tags */
-    int                sort_error = FALSE;             /* tags file not sorted */
-    int                linear;                         /* do a linear search */
-    int                sortic = FALSE;                 /* tag file sorted in nocase */
+                                               // find all matching tags
+    int                sort_error = FALSE;             // tags file not sorted
+    int                linear;                         // do a linear search
+    int                sortic = FALSE;                 // tag file sorted in nocase
 #endif
-    int                line_error = FALSE;             /* syntax error */
-    int                has_re = (flags & TAG_REGEXP);  /* regexp used */
+    int                line_error = FALSE;             // syntax error
+    int                has_re = (flags & TAG_REGEXP);  // regexp used
     int                help_only = (flags & TAG_HELP);
     int                name_only = (flags & TAG_NAMES);
     int                noic = (flags & TAG_NOIC);
@@ -1695,7 +1694,7 @@ find_tags(
        hash_init(&ht_match[mtt]);
     }
 
-    /* check for out of memory situation */
+    // check for out of memory situation
     if (lbuf == NULL || tag_fname == NULL
 #ifdef FEAT_EMACS_TAGS
                                         || ebuf == NULL
@@ -1704,18 +1703,18 @@ find_tags(
        goto findtag_end;
 
 #ifdef FEAT_CSCOPE
-    STRCPY(tag_fname, "from cscope");          /* for error messages */
+    STRCPY(tag_fname, "from cscope");          // for error messages
 #endif
 
     /*
      * Initialize a few variables
      */
-    if (help_only)                             /* want tags from help file */
-       curbuf->b_help = TRUE;                  /* will be restored later */
+    if (help_only)                             // want tags from help file
+       curbuf->b_help = TRUE;                  // will be restored later
 #ifdef FEAT_CSCOPE
     else if (use_cscope)
     {
-       /* Make sure we don't mix help and cscope, confuses Coverity. */
+       // Make sure we don't mix help and cscope, confuses Coverity.
        help_only = FALSE;
        curbuf->b_help = FALSE;
     }
@@ -1725,8 +1724,8 @@ find_tags(
 #ifdef FEAT_MULTI_LANG
     if (curbuf->b_help)
     {
-       /* When "@ab" is specified use only the "ab" language, otherwise
-        * search all languages. */
+       // When "@ab" is specified use only the "ab" language, otherwise
+       // search all languages.
        if (orgpat.len > 3 && pat[orgpat.len - 3] == '@'
                                          && ASCII_ISALPHA(pat[orgpat.len - 2])
                                         && ASCII_ISALPHA(pat[orgpat.len - 1]))
@@ -1741,19 +1740,19 @@ find_tags(
        }
     }
 #endif
-    if (p_tl != 0 && orgpat.len > p_tl)                /* adjust for 'taglength' */
+    if (p_tl != 0 && orgpat.len > p_tl)                // adjust for 'taglength'
        orgpat.len = p_tl;
 
     save_emsg_off = emsg_off;
-    emsg_off = TRUE;  /* don't want error for invalid RE here */
+    emsg_off = TRUE;  // don't want error for invalid RE here
     prepare_pats(&orgpat, has_re);
     emsg_off = save_emsg_off;
     if (has_re && orgpat.regmatch.regprog == NULL)
        goto findtag_end;
 
 #ifdef FEAT_TAG_BINS
-    /* This is only to avoid a compiler warning for using search_info
-     * uninitialised. */
+    // This is only to avoid a compiler warning for using search_info
+    // uninitialised.
     vim_memset(&search_info, 0, (size_t)1);
 #endif
 
@@ -1780,7 +1779,7 @@ find_tags(
      * Only ignore case when TAG_NOIC not used or 'ignorecase' set.
      */
 #ifdef FEAT_MULTI_LANG
-    /* Set a flag if the file extension is .txt */
+    // Set a flag if the file extension is .txt
     if ((flags & TAG_KEEP_LANG)
            && help_lang_find == NULL
            && curbuf->b_fname != NULL
@@ -1814,34 +1813,34 @@ find_tags(
         */
 #ifdef FEAT_CSCOPE
        if (use_cscope)
-           fp = NULL;      /* avoid GCC warning */
+           fp = NULL;      // avoid GCC warning
        else
 #endif
        {
 #ifdef FEAT_MULTI_LANG
            if (curbuf->b_help)
            {
-               /* Keep en if the file extension is .txt*/
+               // Keep en if the file extension is .txt
                if (is_txt)
                    STRCPY(help_lang, "en");
                else
                {
-                   /* Prefer help tags according to 'helplang'.  Put the
-                    * two-letter language name in help_lang[]. */
+                   // Prefer help tags according to 'helplang'.  Put the
+                   // two-letter language name in help_lang[].
                    i = (int)STRLEN(tag_fname);
                    if (i > 3 && tag_fname[i - 3] == '-')
                        STRCPY(help_lang, tag_fname + i - 2);
                    else
                        STRCPY(help_lang, "en");
                }
-               /* When searching for a specific language skip tags files
-                * for other languages. */
+               // When searching for a specific language skip tags files
+               // for other languages.
                if (help_lang_find != NULL
                                   && STRICMP(help_lang, help_lang_find) != 0)
                    continue;
 
-               /* For CTRL-] in a help file prefer a match with the same
-                * language. */
+               // For CTRL-] in a help file prefer a match with the same
+               // language.
                if ((flags & TAG_KEEP_LANG)
                        && help_lang_find == NULL
                        && curbuf->b_fname != NULL
@@ -1863,8 +1862,8 @@ find_tags(
                    }
                    if (s == NULL || *s == NUL)
                    {
-                       /* Language not in 'helplang': use last, prefer English,
-                        * unless found already. */
+                       // Language not in 'helplang': use last, prefer English,
+                       // unless found already.
                        ++help_pri;
                        if (STRICMP(help_lang, "en") != 0)
                            ++help_pri;
@@ -1883,11 +1882,11 @@ find_tags(
                verbose_leave();
            }
        }
-       did_open = TRUE;    /* remember that we found at least one file */
+       did_open = TRUE;    // remember that we found at least one file
 
-       state = TS_START;   /* we're at the start of the file */
+       state = TS_START;   // we're at the start of the file
 #ifdef FEAT_EMACS_TAGS
-       is_etag = 0;        /* default is: not emacs style */
+       is_etag = 0;        // default is: not emacs style
 #endif
 
        /*
@@ -1896,21 +1895,21 @@ find_tags(
        for (;;)
        {
 #ifdef FEAT_TAG_BINS
-           /* check for CTRL-C typed, more often when jumping around */
+           // check for CTRL-C typed, more often when jumping around
            if (state == TS_BINARY || state == TS_SKIP_BACK)
                line_breakcheck();
            else
 #endif
                fast_breakcheck();
-           if ((flags & TAG_INS_COMP)) /* Double brackets for gcc */
+           if ((flags & TAG_INS_COMP)) // Double brackets for gcc
                ins_compl_check_keys(30, FALSE);
            if (got_int || ins_compl_interrupted())
            {
                stop_searching = TRUE;
                break;
            }
-           /* When mincount is TAG_MANY, stop when enough matches have been
-            * found (for completion). */
+           // When mincount is TAG_MANY, stop when enough matches have been
+           // found (for completion).
            if (mincount == TAG_MANY && match_count >= TAG_MANY)
            {
                stop_searching = TRUE;
@@ -1928,7 +1927,7 @@ find_tags(
                offset = search_info.low_offset + ((search_info.high_offset
                                               - search_info.low_offset) / 2);
                if (offset == search_info.curr_offset)
-                   break;      /* End the binary search without a match. */
+                   break;      // End the binary search without a match.
                else
                    search_info.curr_offset = offset;
            }
@@ -1953,24 +1952,24 @@ find_tags(
             */
            if (state == TS_BINARY || state == TS_SKIP_BACK)
            {
-               /* Adjust the search file offset to the correct position */
+               // Adjust the search file offset to the correct position
                search_info.curr_offset_used = search_info.curr_offset;
                vim_fseek(fp, search_info.curr_offset, SEEK_SET);
                eof = vim_fgets(lbuf, lbuf_size, fp);
                if (!eof && search_info.curr_offset != 0)
                {
-                   /* The explicit cast is to work around a bug in gcc 3.4.2
-                    * (repeated below). */
+                   // The explicit cast is to work around a bug in gcc 3.4.2
+                   // (repeated below).
                    search_info.curr_offset = vim_ftell(fp);
                    if (search_info.curr_offset == search_info.high_offset)
                    {
-                       /* oops, gone a bit too far; try from low offset */
+                       // oops, gone a bit too far; try from low offset
                        vim_fseek(fp, search_info.low_offset, SEEK_SET);
                        search_info.curr_offset = search_info.low_offset;
                    }
                    eof = vim_fgets(lbuf, lbuf_size, fp);
                }
-               /* skip empty and blank lines */
+               // skip empty and blank lines
                while (!eof && vim_isblankline(lbuf))
                {
                    search_info.curr_offset = vim_ftell(fp);
@@ -1978,7 +1977,7 @@ find_tags(
                }
                if (eof)
                {
-                   /* Hit end of file.  Skip backwards. */
+                   // Hit end of file.  Skip backwards.
                    state = TS_SKIP_BACK;
                    search_info.match_offset = vim_ftell(fp);
                    search_info.curr_offset = search_info.curr_offset_used;
@@ -1992,7 +1991,7 @@ find_tags(
            else
 #endif
            {
-               /* skip empty and blank lines */
+               // skip empty and blank lines
                do
                {
 #ifdef FEAT_CSCOPE
@@ -2006,19 +2005,19 @@ find_tags(
                if (eof)
                {
 #ifdef FEAT_EMACS_TAGS
-                   if (incstack_idx)   /* this was an included file */
+                   if (incstack_idx)   // this was an included file
                    {
                        --incstack_idx;
-                       fclose(fp);     /* end of this file ... */
+                       fclose(fp);     // end of this file ...
                        fp = incstack[incstack_idx].fp;
                        STRCPY(tag_fname, incstack[incstack_idx].etag_fname);
                        vim_free(incstack[incstack_idx].etag_fname);
-                       is_etag = 1;    /* (only etags can include) */
-                       continue;       /* ... continue with parent file */
+                       is_etag = 1;    // (only etags can include)
+                       continue;       // ... continue with parent file
                    }
                    else
 #endif
-                       break;                      /* end of file */
+                       break;                      // end of file
                }
            }
 line_read_in:
@@ -2028,13 +2027,13 @@ line_read_in:
                char_u  *conv_line;
                int     len;
 
-               /* Convert every line.  Converting the pattern from 'enc' to
-                * the tags file encoding doesn't work, because characters are
-                * not recognized. */
+               // Convert every line.  Converting the pattern from 'enc' to
+               // the tags file encoding doesn't work, because characters are
+               // not recognized.
                conv_line = string_convert(&vimconv, lbuf, NULL);
                if (conv_line != NULL)
                {
-                   /* Copy or swap lbuf and conv_line. */
+                   // Copy or swap lbuf and conv_line.
                    len = (int)STRLEN(conv_line) + 1;
                    if (len > lbuf_size)
                    {
@@ -2063,7 +2062,7 @@ line_read_in:
 # endif
                                )
            {
-               is_etag = 1;            /* in case at the start */
+               is_etag = 1;            // in case at the start
                state = TS_LINEAR;
                if (!vim_fgets(ebuf, LSIZE, fp))
                {
@@ -2078,7 +2077,7 @@ line_read_in:
                    if (STRNCMP(p + 1, "include", 7) == 0
                                              && incstack_idx < INCSTACK_SIZE)
                    {
-                       /* Save current "fp" and "tag_fname" in the stack. */
+                       // Save current "fp" and "tag_fname" in the stack.
                        if ((incstack[incstack_idx].etag_fname =
                                              vim_strsave(tag_fname)) != NULL)
                        {
@@ -2087,8 +2086,8 @@ line_read_in:
                            incstack[incstack_idx].fp = fp;
                            fp = NULL;
 
-                           /* Figure out "tag_fname" and "fp" to use for
-                            * included file. */
+                           // Figure out "tag_fname" and "fp" to use for
+                           // included file.
                            fullpath_ebuf = expand_tag_fname(ebuf,
                                                            tag_fname, FALSE);
                            if (fullpath_ebuf != NULL)
@@ -2101,14 +2100,14 @@ line_read_in:
                                    vim_strncpy(tag_fname, fullpath_ebuf,
                                                                    MAXPATHL);
                                    ++incstack_idx;
-                                   is_etag = 0; /* we can include anything */
+                                   is_etag = 0; // we can include anything
                                }
                                vim_free(fullpath_ebuf);
                            }
                            if (fp == NULL)
                            {
-                               /* Can't open the included file, skip it and
-                                * restore old value of "fp". */
+                               // Can't open the included file, skip it and
+                               // restore old value of "fp".
                                fp = incstack[incstack_idx].fp;
                                vim_free(incstack[incstack_idx].etag_fname);
                            }
@@ -2125,14 +2124,13 @@ line_read_in:
             */
            if (state == TS_START)
            {
-               /* The header ends when the line sorts below "!_TAG_".  When
-                * case is folded lower case letters sort before "_". */
+               // The header ends when the line sorts below "!_TAG_".  When
+               // case is folded lower case letters sort before "_".
                if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
                                || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
                {
                    if (STRNCMP(lbuf, "!_TAG_", 6) != 0)
-                       /* Non-header item before the header, e.g. "!" itself.
-                        */
+                       // Non-header item before the header, e.g. "!" itself.
                        goto parse_line;
 
                    /*
@@ -2144,19 +2142,19 @@ line_read_in:
 #endif
                    if (STRNCMP(lbuf, "!_TAG_FILE_ENCODING\t", 20) == 0)
                    {
-                       /* Prepare to convert every line from the specified
-                        * encoding to 'encoding'. */
+                       // Prepare to convert every line from the specified
+                       // encoding to 'encoding'.
                        for (p = lbuf + 20; *p > ' ' && *p < 127; ++p)
                            ;
                        *p = NUL;
                        convert_setup(&vimconv, lbuf + 20, p_enc);
                    }
 
-                   /* Read the next line.  Unrecognized flags are ignored. */
+                   // Read the next line.  Unrecognized flags are ignored.
                    continue;
                }
 
-               /* Headers ends. */
+               // Headers ends.
 
 #ifdef FEAT_TAG_BINS
                /*
@@ -2189,8 +2187,8 @@ line_read_in:
 
                if (state == TS_BINARY && orgpat.regmatch.rm_ic && !sortic)
                {
-                   /* Binary search won't work for ignoring case, use linear
-                    * search. */
+                   // Binary search won't work for ignoring case, use linear
+                   // search.
                    linear = TRUE;
                    state = TS_LINEAR;
                }
@@ -2267,7 +2265,7 @@ parse_line:
                tagp.tagname_end = vim_strchr(lbuf, TAB);
                if (tagp.tagname_end == NULL)
                {
-                   /* Corrupted tag line. */
+                   // Corrupted tag line.
                    line_error = TRUE;
                    break;
                }
@@ -2277,7 +2275,7 @@ parse_line:
                 * there is no regexp, or the tag is too short.
                 */
                cmplen = (int)(tagp.tagname_end - tagp.tagname);
-               if (p_tl != 0 && cmplen > p_tl)     /* adjust for 'taglength' */
+               if (p_tl != 0 && cmplen > p_tl)     // adjust for 'taglength'
                    cmplen = p_tl;
                if (has_re && orgpat.headlen < cmplen)
                    cmplen = orgpat.headlen;
@@ -2319,9 +2317,8 @@ parse_line:
 
                    if (tagcmp == 0)
                    {
-                       /* We've located the tag, now skip back and search
-                        * forward until the first matching tag is found.
-                        */
+                       // We've located the tag, now skip back and search
+                       // forward until the first matching tag is found.
                        state = TS_SKIP_BACK;
                        search_info.match_offset = search_info.curr_offset;
                        continue;
@@ -2352,7 +2349,7 @@ parse_line:
                        continue;
                    }
 
-                   /* No match yet and are at the end of the binary search. */
+                   // No match yet and are at the end of the binary search.
                    break;
                }
                else if (state == TS_SKIP_BACK)
@@ -2360,8 +2357,8 @@ parse_line:
                    if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0)
                        state = TS_STEP_FORWARD;
                    else
-                       /* Have to skip back more.  Restore the curr_offset
-                        * used, otherwise we get stuck at a long line. */
+                       // Have to skip back more.  Restore the curr_offset
+                       // used, otherwise we get stuck at a long line.
                        search_info.curr_offset = search_info.curr_offset_used;
                    continue;
                }
@@ -2370,14 +2367,14 @@ parse_line:
                    if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0)
                    {
                        if ((off_T)vim_ftell(fp) > search_info.match_offset)
-                           break;      /* past last match */
+                           break;      // past last match
                        else
-                           continue;   /* before first match */
+                           continue;   // before first match
                    }
                }
                else
 #endif
-                   /* skip this match if it can't match */
+                   // skip this match if it can't match
                    if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0)
                    continue;
 
@@ -2413,9 +2410,9 @@ parse_line:
             * a regexp).
             */
            cmplen = (int)(tagp.tagname_end - tagp.tagname);
-           if (p_tl != 0 && cmplen > p_tl)         /* adjust for 'taglength' */
+           if (p_tl != 0 && cmplen > p_tl)         // adjust for 'taglength'
                cmplen = p_tl;
-           /* if tag length does not match, don't try comparing */
+           // if tag length does not match, don't try comparing
            if (orgpat.len != cmplen)
                match = FALSE;
            else
@@ -2467,13 +2464,13 @@ parse_line:
 #ifdef FEAT_CSCOPE
                if (use_cscope)
                {
-                   /* Don't change the ordering, always use the same table. */
+                   // Don't change the ordering, always use the same table.
                    mtt = MT_GL_OTH;
                }
                else
 #endif
                {
-                   /* Decide in which array to store this match. */
+                   // Decide in which array to store this match.
                    is_current = test_for_current(
 #ifdef FEAT_EMACS_TAGS
                            is_etag,
@@ -2482,12 +2479,12 @@ parse_line:
                                     buf_ffname);
 #ifdef FEAT_EMACS_TAGS
                    is_static = FALSE;
-                   if (!is_etag)       /* emacs tags are never static */
+                   if (!is_etag)       // emacs tags are never static
 #endif
                        is_static = test_for_static(&tagp);
 
-                   /* decide in which of the sixteen tables to store this
-                    * match */
+                   // decide in which of the sixteen tables to store this
+                   // match
                    if (is_static)
                    {
                        if (is_current)
@@ -2580,7 +2577,7 @@ parse_line:
                        if (mfp != NULL)
                            vim_strncpy(mfp, tagp.tagname, len);
 
-                       /* if wanted, re-read line to get long form too */
+                       // if wanted, re-read line to get long form too
                        if (State & INSERT)
                            get_it_again = p_sft;
                    }
@@ -2592,15 +2589,14 @@ parse_line:
                    size_t ebuf_len = 0;
 #endif
 
-                   /* Save the tag in a buffer.
-                    * Use 0x02 to separate fields (Can't use NUL because the
-                    * hash key is terminated by NUL, or Ctrl_A because that is
-                    * part of some Emacs tag files -- see parse_tag_line).
-                    * Emacs tag: <mtt><tag_fname><0x02><ebuf><0x02><lbuf><NUL>
-                    * other tag: <mtt><tag_fname><0x02><0x02><lbuf><NUL>
-                    * without Emacs tags: <mtt><tag_fname><0x02><lbuf><NUL>
-                    * Here <mtt> is the "mtt" value plus 1 to avoid NUL.
-                    */
+                   // Save the tag in a buffer.
+                   // Use 0x02 to separate fields (Can't use NUL because the
+                   // hash key is terminated by NUL, or Ctrl_A because that is
+                   // part of some Emacs tag files -- see parse_tag_line).
+                   // Emacs tag: <mtt><tag_fname><0x02><ebuf><0x02><lbuf><NUL>
+                   // other tag: <mtt><tag_fname><0x02><0x02><lbuf><NUL>
+                   // without Emacs tags: <mtt><tag_fname><0x02><lbuf><NUL>
+                   // Here <mtt> is the "mtt" value plus 1 to avoid NUL.
                    len = (int)tag_fname_len + (int)STRLEN(lbuf) + 3;
 #ifdef FEAT_EMACS_TAGS
                    if (is_etag)
@@ -2618,8 +2614,8 @@ parse_line:
                        p[0] = mtt + 1;
                        STRCPY(p + 1, tag_fname);
 #ifdef BACKSLASH_IN_FILENAME
-                       /* Ignore differences in slashes, avoid adding
-                        * both path/file and path\file. */
+                       // Ignore differences in slashes, avoid adding
+                       // both path/file and path\file.
                        slash_adjust(p + 1);
 #endif
                        p[tag_fname_len + 1] = TAG_SEP;
@@ -2663,7 +2659,7 @@ parse_line:
                                                                       == FAIL
                                       || ga_grow(&ga_match[mtt], 1) != OK)
                        {
-                           /* Out of memory! Just forget about the rest. */
+                           // Out of memory! Just forget about the rest.
                            retval = OK;
                            stop_searching = TRUE;
                            break;
@@ -2676,7 +2672,7 @@ parse_line:
                        }
                    }
                    else
-                       /* duplicate tag, drop it */
+                       // duplicate tag, drop it
                        vim_free(mfp);
                }
            }
@@ -2684,7 +2680,7 @@ parse_line:
            if (use_cscope && eof)
                break;
 #endif
-       } /* forever */
+       } // forever
 
        if (line_error)
        {
@@ -2737,7 +2733,7 @@ parse_line:
 #endif
            break;
 
-      } /* end of for-each-file loop */
+      } // end of for-each-file loop
 
 #ifdef FEAT_CSCOPE
        if (!use_cscope)
@@ -2745,23 +2741,23 @@ parse_line:
            tagname_free(&tn);
 
 #ifdef FEAT_TAG_BINS
-      /* stop searching when already did a linear search, or when TAG_NOIC
-       * used, and 'ignorecase' not set or already did case-ignore search */
+      // stop searching when already did a linear search, or when TAG_NOIC
+      // used, and 'ignorecase' not set or already did case-ignore search
       if (stop_searching || linear || (!p_ic && noic) || orgpat.regmatch.rm_ic)
          break;
 # ifdef FEAT_CSCOPE
       if (use_cscope)
          break;
 # endif
-      orgpat.regmatch.rm_ic = TRUE;    /* try another time while ignoring case */
+      orgpat.regmatch.rm_ic = TRUE;    // try another time while ignoring case
     }
 #endif
 
     if (!stop_searching)
     {
-       if (!did_open && verbose)       /* never opened any tags file */
+       if (!did_open && verbose)       // never opened any tags file
            emsg(_("E433: No tags file"));
-       retval = OK;            /* It's OK even when no tag found */
+       retval = OK;            // It's OK even when no tag found
     }
 
 findtag_end:
@@ -2795,10 +2791,10 @@ findtag_end:
            {
                if (!name_only)
                {
-                   /* Change mtt back to zero-based. */
+                   // Change mtt back to zero-based.
                    *mfp = *mfp - 1;
 
-                   /* change the TAG_SEP back to NUL */
+                   // change the TAG_SEP back to NUL
                    for (p = mfp + 1; *p != NUL; ++p)
                        if (*p == TAG_SEP)
                            *p = NUL;
@@ -2868,9 +2864,9 @@ free_tag_stuff(void)
  */
     int
 get_tagfname(
-    tagname_T  *tnp,   /* holds status info */
-    int                first,  /* TRUE when first file name is wanted */
-    char_u     *buf)   /* pointer to buffer of MAXPATHL chars */
+    tagname_T  *tnp,   // holds status info
+    int                first,  // TRUE when first file name is wanted
+    char_u     *buf)   // pointer to buffer of MAXPATHL chars
 {
     char_u             *fname = NULL;
     char_u             *r_ptr;
@@ -2893,10 +2889,10 @@ get_tagfname(
            do_in_runtimepath((char_u *)
 #ifdef FEAT_MULTI_LANG
 # ifdef VMS
-                   /* Functions decc$to_vms() and decc$translate_vms() crash
-                    * on some VMS systems with wildcards "??".  Seems ECO
-                    * patches do fix the problem in C RTL, but we can't use
-                    * an #ifdef for that. */
+                   // Functions decc$to_vms() and decc$translate_vms() crash
+                   // on some VMS systems with wildcards "??".  Seems ECO
+                   // patches do fix the problem in C RTL, but we can't use
+                   // an #ifdef for that.
                    "doc/tags doc/tags-*"
 # else
                    "doc/tags doc/tags-??"
@@ -2909,8 +2905,8 @@ get_tagfname(
 
        if (tnp->tn_hf_idx >= tag_fnames.ga_len)
        {
-           /* Not found in 'runtimepath', use 'helpfile', if it exists and
-            * wasn't used yet, replacing "help.txt" with "tags". */
+           // Not found in 'runtimepath', use 'helpfile', if it exists and
+           // wasn't used yet, replacing "help.txt" with "tags".
            if (tnp->tn_hf_idx > tag_fnames.ga_len || *p_hf == NUL)
                return FAIL;
            ++tnp->tn_hf_idx;
@@ -2933,8 +2929,8 @@ get_tagfname(
 
     if (first)
     {
-       /* Init.  We make a copy of 'tags', because autocommands may change
-        * the value without notifying us. */
+       // Init.  We make a copy of 'tags', because autocommands may change
+       // the value without notifying us.
        tnp->tn_tags = vim_strsave((*curbuf->b_p_tags != NUL)
                                                 ? curbuf->b_p_tags : p_tags);
        if (tnp->tn_tags == NULL)
@@ -2962,7 +2958,7 @@ get_tagfname(
        {
            char_u  *filename = NULL;
 
-           /* Stop when used all parts of 'tags'. */
+           // Stop when used all parts of 'tags'.
            if (*tnp->tn_np == NUL)
            {
                vim_findfile_cleanup(tnp->tn_search_ctx);
@@ -2981,16 +2977,16 @@ get_tagfname(
 #else
            r_ptr = NULL;
 #endif
-           /* move the filename one char forward and truncate the
-            * filepath with a NUL */
+           // move the filename one char forward and truncate the
+           // filepath with a NUL
            filename = gettail(buf);
            STRMOVE(filename + 1, filename);
            *filename++ = NUL;
 
            tnp->tn_search_ctx = vim_findfile_init(buf, filename,
                    r_ptr, 100,
-                   FALSE,         /* don't free visited list */
-                   FINDFILE_FILE, /* we search for a file */
+                   FALSE,         // don't free visited list
+                   FINDFILE_FILE, // we search for a file
                    tnp->tn_search_ctx, TRUE, curbuf->b_ffname);
            if (tnp->tn_search_ctx != NULL)
                tnp->tn_did_filefind_init = TRUE;
@@ -3024,7 +3020,7 @@ tagname_free(tagname_T *tnp)
  */
     static int
 parse_tag_line(
-    char_u     *lbuf,          /* line to be parsed */
+    char_u     *lbuf,          // line to be parsed
 #ifdef FEAT_EMACS_TAGS
     int                is_etag,
 #endif
@@ -3048,7 +3044,7 @@ parse_tag_line(
 etag_fail:
            if (vim_strchr(lbuf, '\n') == NULL)
            {
-               /* Truncated line.  Ignore it. */
+               // Truncated line.  Ignore it.
                if (p_verbose >= 5)
                {
                    verbose_enter();
@@ -3063,26 +3059,26 @@ etag_fail:
            return FAIL;
        }
 
-       /* Find ^A.  If not found the line number is after the 0x7f */
+       // Find ^A.  If not found the line number is after the 0x7f
        p = vim_strchr(p_7f, Ctrl_A);
        if (p == NULL)
            p = p_7f + 1;
        else
            ++p;
 
-       if (!VIM_ISDIGIT(*p))       /* check for start of line number */
+       if (!VIM_ISDIGIT(*p))       // check for start of line number
            goto etag_fail;
        tagp->command = p;
 
 
-       if (p[-1] == Ctrl_A)        /* first format: explicit tagname given */
+       if (p[-1] == Ctrl_A)        // first format: explicit tagname given
        {
            tagp->tagname = p_7f + 1;
            tagp->tagname_end = p - 1;
        }
-       else                        /* second format: isolate tagname */
+       else                        // second format: isolate tagname
        {
-           /* find end of tagname */
+           // find end of tagname
            for (p = p_7f - 1; !vim_iswordc(*p); --p)
                if (p == lbuf)
                    goto etag_fail;
@@ -3092,7 +3088,7 @@ etag_fail:
            tagp->tagname = p + 1;
        }
     }
-    else       /* not an Emacs tag */
+    else       // not an Emacs tag
     {
 #endif
        // Isolate the tagname, from lbuf up to the first white
@@ -3165,7 +3161,7 @@ matching_line_len(char_u *lbuf)
 {
     char_u     *p = lbuf + 1;
 
-    /* does the same thing as parse_match() */
+    // does the same thing as parse_match()
     p += STRLEN(p) + 1;
 #ifdef FEAT_EMACS_TAGS
     p += STRLEN(p) + 1;
@@ -3185,8 +3181,8 @@ matching_line_len(char_u *lbuf)
  */
     static int
 parse_match(
-    char_u     *lbuf,      /* input: matching line */
-    tagptrs_T  *tagp)      /* output: pointers into the line */
+    char_u     *lbuf,      // input: matching line
+    tagptrs_T  *tagp)      // output: pointers into the line
 {
     int                retval;
     char_u     *p;
@@ -3209,7 +3205,7 @@ parse_match(
     }
 #endif
 
-    /* Find search pattern and the file name for non-etags. */
+    // Find search pattern and the file name for non-etags.
     retval = parse_tag_line(lbuf,
 #ifdef FEAT_EMACS_TAGS
                        tagp->is_etag,
@@ -3223,7 +3219,7 @@ parse_match(
 
     if (retval == OK)
     {
-       /* Try to find a kind field: "kind:<kind>" or just "<kind>"*/
+       // Try to find a kind field: "kind:<kind>" or just "<kind>"
        p = tagp->command;
        if (find_extra(&p) == OK)
        {
@@ -3231,7 +3227,7 @@ parse_match(
                tagp->command_end = p - 1;  // drop trailing bar
            else
                tagp->command_end = p;
-           p += 2;     /* skip ";\"" */
+           p += 2;     // skip ";\""
            if (*p++ == TAB)
                while (ASCII_ISALPHA(*p))
                {
@@ -3283,7 +3279,7 @@ tag_full_fname(tagptrs_T *tagp)
 
 #ifdef FEAT_EMACS_TAGS
     if (tagp->is_etag)
-       c = 0;      /* to shut up GCC */
+       c = 0;      // to shut up GCC
     else
 #endif
     {
@@ -3307,16 +3303,16 @@ tag_full_fname(tagptrs_T *tagp)
  */
     static int
 jumpto_tag(
-    char_u     *lbuf_arg,      /* line from the tags file for this tag */
-    int                forceit,        /* :ta with ! */
-    int                keep_help)      /* keep help flag (FALSE for cscope) */
+    char_u     *lbuf_arg,      // line from the tags file for this tag
+    int                forceit,        // :ta with !
+    int                keep_help)      // keep help flag (FALSE for cscope)
 {
     int                save_secure;
     int                save_magic;
     int                save_p_ws, save_p_scs, save_p_ic;
     linenr_T   save_lnum;
     char_u     *str;
-    char_u     *pbuf;                  /* search pattern buffer */
+    char_u     *pbuf;                  // search pattern buffer
     char_u     *pbuf_end;
     char_u     *tofree_fname = NULL;
     char_u     *fname;
@@ -3332,13 +3328,13 @@ jumpto_tag(
 #endif
     char_u     *full_fname = NULL;
 #ifdef FEAT_FOLDING
-    int                old_KeyTyped = KeyTyped;    /* getting the file may reset it */
+    int                old_KeyTyped = KeyTyped;    // getting the file may reset it
 #endif
     size_t     len;
     char_u     *lbuf;
 
-    /* Make a copy of the line, it can become invalid when an autocommand calls
-     * back here recursively. */
+    // Make a copy of the line, it can become invalid when an autocommand calls
+    // back here recursively.
     len = matching_line_len(lbuf_arg) + 1;
     lbuf = alloc(len);
     if (lbuf != NULL)
@@ -3346,23 +3342,23 @@ jumpto_tag(
 
     pbuf = alloc(LSIZE);
 
-    /* parse the match line into the tagp structure */
+    // parse the match line into the tagp structure
     if (pbuf == NULL || lbuf == NULL || parse_match(lbuf, &tagp) == FAIL)
     {
        tagp.fname_end = NULL;
        goto erret;
     }
 
-    /* truncate the file name, so it can be used as a string */
+    // truncate the file name, so it can be used as a string
     *tagp.fname_end = NUL;
     fname = tagp.fname;
 
-    /* copy the command to pbuf[], remove trailing CR/NL */
+    // copy the command to pbuf[], remove trailing CR/NL
     str = tagp.command;
     for (pbuf_end = pbuf; *str && *str != '\n' && *str != '\r'; )
     {
 #ifdef FEAT_EMACS_TAGS
-       if (tagp.is_etag && *str == ',')/* stop at ',' after line number */
+       if (tagp.is_etag && *str == ',')// stop at ',' after line number
            break;
 #endif
        *pbuf_end++ = *str++;
@@ -3393,7 +3389,7 @@ jumpto_tag(
     fname = expand_tag_fname(fname, tagp.tag_fname, TRUE);
     if (fname == NULL)
        goto erret;
-    tofree_fname = fname;      /* free() it later */
+    tofree_fname = fname;      // free() it later
 
     /*
      * Check if the file with the tag exists before abandoning the current
@@ -3419,8 +3415,8 @@ jumpto_tag(
 #if defined(FEAT_QUICKFIX)
     if (g_do_tagpreview != 0)
     {
-       postponed_split = 0;    /* don't split again below */
-       curwin_save = curwin;   /* Save current window */
+       postponed_split = 0;    // don't split again below
+       curwin_save = curwin;   // Save current window
 
        /*
         * If we are reusing a window, we may change dir when
@@ -3440,8 +3436,8 @@ jumpto_tag(
        }
     }
 
-    /* If it was a CTRL-W CTRL-] command split window now.  For ":tab tag"
-     * open a new tab page. */
+    // If it was a CTRL-W CTRL-] command split window now.  For ":tab tag"
+    // open a new tab page.
     if (postponed_split && (swb_flags & (SWB_USEOPEN | SWB_USETAB)))
     {
        buf_T *existing_buf = buflist_findname_exp(fname);
@@ -3453,12 +3449,12 @@ jumpto_tag(
            if (swb_flags & SWB_USEOPEN)
                wp = buf_jump_open_win(existing_buf);
 
-           /* If 'switchbuf' contains "usetab": jump to first window in any tab
-            * page containing "existing_buf" if one exists */
+           // If 'switchbuf' contains "usetab": jump to first window in any tab
+           // page containing "existing_buf" if one exists
            if (wp == NULL && (swb_flags & SWB_USETAB))
                wp = buf_jump_open_tab(existing_buf);
-           /* We've switched to the buffer, the usual loading of the file must
-            * be skipped. */
+           // We've switched to the buffer, the usual loading of the file must
+           // be skipped.
            if (wp != NULL)
                getfile_result = GETFILE_SAME_FILE;
        }
@@ -3478,8 +3474,8 @@ jumpto_tag(
 
     if (keep_help)
     {
-       /* A :ta from a help file will keep the b_help flag set.  For ":ptag"
-        * we need to use the flag from the window where we came from. */
+       // A :ta from a help file will keep the b_help flag set.  For ":ptag"
+       // we need to use the flag from the window where we came from.
 #if defined(FEAT_QUICKFIX)
        if (g_do_tagpreview != 0)
            keep_help_flag = bt_help(curwin_save->w_buffer);
@@ -3489,12 +3485,12 @@ jumpto_tag(
     }
 
     if (getfile_result == GETFILE_UNUSED)
-       /* Careful: getfile() may trigger autocommands and call jumpto_tag()
-        * recursively. */
+       // Careful: getfile() may trigger autocommands and call jumpto_tag()
+       // recursively.
        getfile_result = getfile(0, fname, NULL, TRUE, (linenr_T)0, forceit);
     keep_help_flag = FALSE;
 
-    if (GETFILE_SUCCESS(getfile_result))       /* got to the right file */
+    if (GETFILE_SUCCESS(getfile_result))       // got to the right file
     {
        curwin->w_set_curswant = TRUE;
        postponed_split = 0;
@@ -3505,9 +3501,9 @@ jumpto_tag(
        ++sandbox;
 #endif
        save_magic = p_magic;
-       p_magic = FALSE;        /* always execute with 'nomagic' */
+       p_magic = FALSE;        // always execute with 'nomagic'
 #ifdef FEAT_SEARCH_EXTRA
-       /* Save value of no_hlsearch, jumping to a tag is not a real search */
+       // Save value of no_hlsearch, jumping to a tag is not a real search
        save_no_hlsearch = no_hlsearch;
 #endif
 
@@ -3532,13 +3528,13 @@ jumpto_tag(
        str = pbuf;
        if (pbuf[0] == '/' || pbuf[0] == '?')
            str = skip_regexp(pbuf + 1, pbuf[0], FALSE, NULL) + 1;
-       if (str > pbuf_end - 1) /* search command with nothing following */
+       if (str > pbuf_end - 1) // search command with nothing following
        {
            save_p_ws = p_ws;
            save_p_ic = p_ic;
            save_p_scs = p_scs;
-           p_ws = TRUE;        /* need 'wrapscan' for backward searches */
-           p_ic = FALSE;       /* don't ignore case now */
+           p_ws = TRUE;        // need 'wrapscan' for backward searches
+           p_ic = FALSE;       // don't ignore case now
            p_scs = FALSE;
            save_lnum = curwin->w_cursor.lnum;
            if (tagp.tagline > 0)
@@ -3573,7 +3569,7 @@ jumpto_tag(
                    if (!do_search(NULL, '/', pbuf, (long)1,
                                                         search_options, NULL))
                    {
-                       /* Guess again: "^char * \<func  (" */
+                       // Guess again: "^char * \<func  ("
                        sprintf((char *)pbuf, "^\\[#a-zA-Z_]\\.\\*\\<%s\\s\\*(",
                                                                tagp.tagname);
                        if (!do_search(NULL, '/', pbuf, (long)1,
@@ -3609,13 +3605,13 @@ jumpto_tag(
            p_ic = save_p_ic;
            p_scs = save_p_scs;
 
-           /* A search command may have positioned the cursor beyond the end
-            * of the line.  May need to correct that here. */
+           // A search command may have positioned the cursor beyond the end
+           // of the line.  May need to correct that here.
            check_cursor();
        }
        else
        {
-           curwin->w_cursor.lnum = 1;          /* start command in line 1 */
+           curwin->w_cursor.lnum = 1;          // start command in line 1
            do_cmdline_cmd(pbuf);
            retval = OK;
        }
@@ -3632,12 +3628,12 @@ jumpto_tag(
        --sandbox;
 #endif
 #ifdef FEAT_SEARCH_EXTRA
-       /* restore no_hlsearch when keeping the old search pattern */
+       // restore no_hlsearch when keeping the old search pattern
        if (search_options)
            set_no_hlsearch(save_no_hlsearch);
 #endif
 
-       /* Return OK if jumped to another file (at least we found the file!). */
+       // Return OK if jumped to another file (at least we found the file!).
        if (getfile_result == GETFILE_OPEN_OTHER)
            retval = OK;
 
@@ -3697,7 +3693,7 @@ jumpto_tag(
 
 erret:
 #if defined(FEAT_QUICKFIX)
-    g_do_tagpreview = 0; /* For next time */
+    g_do_tagpreview = 0; // For next time
 #endif
     vim_free(lbuf);
     vim_free(pbuf);
@@ -3778,11 +3774,11 @@ test_for_current(
     int            retval = FALSE;
     char_u  *fullname;
 
-    if (buf_ffname != NULL)    /* if the buffer has a name */
+    if (buf_ffname != NULL)    // if the buffer has a name
     {
 #ifdef FEAT_EMACS_TAGS
        if (is_etag)
-           c = 0;          /* to shut up GCC */
+           c = 0;          // to shut up GCC
        else
 #endif
        {
@@ -3840,7 +3836,7 @@ find_extra(char_u **pp)
        if (str == NULL || *str != ';'
                  || !(VIM_ISDIGIT(str[1]) || str[1] == '/' || str[1] == '?'))
            break;
-       ++str;  /* skip ';' */
+       ++str;  // skip ';'
     }
 
     if (str != NULL && STRNCMP(str, ";\"", 2) == 0)
@@ -3863,7 +3859,7 @@ tagstack_clear_entry(taggy_T *item)
 
     int
 expand_tags(
-    int                tagnames,       /* expand tag names */
+    int                tagnames,       // expand tag names
     char_u     *pat,
     int                *num_file,
     char_u     ***file)
@@ -3889,9 +3885,8 @@ expand_tags(
                TAG_MANY, curbuf->b_ffname);
     if (ret == OK && !tagnames)
     {
-        /* Reorganize the tags for display and matching as strings of:
-         * "<tagname>\0<kind>\0<filename>\0"
-         */
+        // Reorganize the tags for display and matching as strings of:
+        // "<tagname>\0<kind>\0<filename>\0"
         for (i = 0; i < *num_file; i++)
         {
             parse_match((*file)[i], &t_p);
@@ -3918,14 +3913,14 @@ expand_tags(
 add_tag_field(
     dict_T  *dict,
     char    *field_name,
-    char_u  *start,            /* start of the value */
-    char_u  *end)              /* after the value; can be NULL */
+    char_u  *start,            // start of the value
+    char_u  *end)              // after the value; can be NULL
 {
     char_u     *buf;
     int                len = 0;
     int                retval;
 
-    /* check that the field name doesn't exist yet */
+    // check that the field name doesn't exist yet
     if (dict_find(dict, (char_u *)field_name, -1) != NULL)
     {
        if (p_verbose > 0)
@@ -3981,7 +3976,7 @@ get_tags(list_T *list, char_u *pat, char_u *buf_fname)
            parse_match(matches[i], &tp);
            is_static = test_for_static(&tp);
 
-           /* Skip pseudo-tag lines. */
+           // Skip pseudo-tag lines.
            if (STRNCMP(tp.tagname, "!_TAG_", 6) == 0)
                continue;
 
@@ -4010,18 +4005,18 @@ get_tags(list_T *list, char_u *pat, char_u *buf_fname)
                {
                    if (p == tp.tagkind || (p + 5 == tp.tagkind
                                              && STRNCMP(p, "kind:", 5) == 0))
-                       /* skip "kind:<kind>" and "<kind>" */
+                       // skip "kind:<kind>" and "<kind>"
                        p = tp.tagkind_end - 1;
                    else if (STRNCMP(p, "file:", 5) == 0)
-                       /* skip "file:" (static tag) */
+                       // skip "file:" (static tag)
                        p += 4;
                    else if (!VIM_ISWHITE(*p))
                    {
                        char_u  *s, *n;
                        int     len;
 
-                       /* Add extra field as a dict entry.  Fields are
-                        * separated by Tabs. */
+                       // Add extra field as a dict entry.  Fields are
+                       // separated by Tabs.
                        n = p;
                        while (*p != NUL && *p >= ' ' && *p < 127 && *p != ':')
                            ++p;
@@ -4037,7 +4032,7 @@ get_tags(list_T *list, char_u *pat, char_u *buf_fname)
                            n[len] = ':';
                        }
                        else
-                           /* Skip field without colon. */
+                           // Skip field without colon.
                            while (*p != NUL && *p >= ' ')
                                ++p;
                        if (*p == NUL)
index c7ac81c9c4b5a1969fbcb0482e76198fe08cf1d9..57384f4d85c7d80209a2b1a828833ae05d852667 100644 (file)
@@ -27,7 +27,7 @@
 
 #ifdef HAVE_TGETENT
 # ifdef HAVE_TERMIOS_H
-#  include <termios.h>     /* seems to be required for some Linux */
+#  include <termios.h>     // seems to be required for some Linux
 # endif
 # ifdef HAVE_TERMCAP_H
 #  include <termcap.h>
@@ -71,7 +71,7 @@ struct builtin_term
     char       *bt_string;
 };
 
-/* start of keys that are not directly used by Vim but can be mapped */
+// start of keys that are not directly used by Vim but can be mapped
 #define BT_EXTRA_KEYS  0x101
 
 static void parse_builtin_tcap(char_u *s);
@@ -97,7 +97,7 @@ static char *tgetent_error(char_u *, char_u *);
 char           *tgetstr(char *, char **);
 
 # ifdef FEAT_TERMRESPONSE
-    /* Change this to "if 1" to debug what happens with termresponse. */
+    // Change this to "if 1" to debug what happens with termresponse.
 #  if 0
 #   define DEBUG_TERMRESPONSE
 static void log_tr(const char *fmt, ...);
@@ -137,16 +137,16 @@ static int bg_g = 255;
 static int bg_b = 255;
 #  endif
 
-/* Request background color report: */
+// Request background color report:
 static termrequest_T rbg_status = TERMREQUEST_INIT;
 
-/* Request cursor blinking mode report: */
+// Request cursor blinking mode report:
 static termrequest_T rbm_status = TERMREQUEST_INIT;
 
-/* Request cursor style report: */
+// Request cursor style report:
 static termrequest_T rcs_status = TERMREQUEST_INIT;
 
-/* Request windos position report: */
+// Request windos position report:
 static termrequest_T winpos_status = TERMREQUEST_INIT;
 
 static termrequest_T *all_termrequests[] = {
@@ -188,20 +188,20 @@ char *UP, *BC, PC;
 # define TGETSTR(s, p) vim_tgetstr((s), (p))
 # define TGETENT(b, t) tgetent((char *)(b), (char *)(t))
 static char_u *vim_tgetstr(char *s, char_u **pp);
-#endif /* HAVE_TGETENT */
+#endif // HAVE_TGETENT
 
-static int  detected_8bit = FALSE;     /* detected 8-bit terminal */
+static int  detected_8bit = FALSE;     // detected 8-bit terminal
 
 #ifdef FEAT_TERMRESPONSE
-/* When the cursor shape was detected these values are used:
- * 1: block, 2: underline, 3: vertical bar */
+// When the cursor shape was detected these values are used:
+// 1: block, 2: underline, 3: vertical bar
 static int initial_cursor_shape = 0;
 
-/* The blink flag from the style response may be inverted from the actual
- * blinking state, xterm XORs the flags. */
+// The blink flag from the style response may be inverted from the actual
+// blinking state, xterm XORs the flags.
 static int initial_cursor_shape_blink = FALSE;
 
-/* The blink flag from the blinking-cursor mode response */
+// The blink flag from the blinking-cursor mode response
 static int initial_cursor_blink = FALSE;
 #endif
 
@@ -231,33 +231,33 @@ static struct builtin_term builtin_termcaps[] =
     {(int)KS_CSV,      IF_EB("\033|%d;%dV", ESC_STR "|%d;%dV")},
 # endif
     {(int)KS_CL,       IF_EB("\033|C", ESC_STR "|C")},
-                       /* attributes switched on with 'h', off with * 'H' */
-    {(int)KS_ME,       IF_EB("\033|31H", ESC_STR "|31H")}, /* HL_ALL */
-    {(int)KS_MR,       IF_EB("\033|1h", ESC_STR "|1h")},   /* HL_INVERSE */
-    {(int)KS_MD,       IF_EB("\033|2h", ESC_STR "|2h")},   /* HL_BOLD */
-    {(int)KS_SE,       IF_EB("\033|16H", ESC_STR "|16H")}, /* HL_STANDOUT */
-    {(int)KS_SO,       IF_EB("\033|16h", ESC_STR "|16h")}, /* HL_STANDOUT */
-    {(int)KS_UE,       IF_EB("\033|8H", ESC_STR "|8H")},   /* HL_UNDERLINE */
-    {(int)KS_US,       IF_EB("\033|8h", ESC_STR "|8h")},   /* HL_UNDERLINE */
-    {(int)KS_UCE,      IF_EB("\033|8C", ESC_STR "|8C")},   /* HL_UNDERCURL */
-    {(int)KS_UCS,      IF_EB("\033|8c", ESC_STR "|8c")},   /* HL_UNDERCURL */
-    {(int)KS_STE,      IF_EB("\033|4C", ESC_STR "|4C")},   /* HL_STRIKETHROUGH */
-    {(int)KS_STS,      IF_EB("\033|4c", ESC_STR "|4c")},   /* HL_STRIKETHROUGH */
-    {(int)KS_CZR,      IF_EB("\033|4H", ESC_STR "|4H")},   /* HL_ITALIC */
-    {(int)KS_CZH,      IF_EB("\033|4h", ESC_STR "|4h")},   /* HL_ITALIC */
+                       // attributes switched on with 'h', off with * 'H'
+    {(int)KS_ME,       IF_EB("\033|31H", ESC_STR "|31H")}, // HL_ALL
+    {(int)KS_MR,       IF_EB("\033|1h", ESC_STR "|1h")},   // HL_INVERSE
+    {(int)KS_MD,       IF_EB("\033|2h", ESC_STR "|2h")},   // HL_BOLD
+    {(int)KS_SE,       IF_EB("\033|16H", ESC_STR "|16H")}, // HL_STANDOUT
+    {(int)KS_SO,       IF_EB("\033|16h", ESC_STR "|16h")}, // HL_STANDOUT
+    {(int)KS_UE,       IF_EB("\033|8H", ESC_STR "|8H")},   // HL_UNDERLINE
+    {(int)KS_US,       IF_EB("\033|8h", ESC_STR "|8h")},   // HL_UNDERLINE
+    {(int)KS_UCE,      IF_EB("\033|8C", ESC_STR "|8C")},   // HL_UNDERCURL
+    {(int)KS_UCS,      IF_EB("\033|8c", ESC_STR "|8c")},   // HL_UNDERCURL
+    {(int)KS_STE,      IF_EB("\033|4C", ESC_STR "|4C")},   // HL_STRIKETHROUGH
+    {(int)KS_STS,      IF_EB("\033|4c", ESC_STR "|4c")},   // HL_STRIKETHROUGH
+    {(int)KS_CZR,      IF_EB("\033|4H", ESC_STR "|4H")},   // HL_ITALIC
+    {(int)KS_CZH,      IF_EB("\033|4h", ESC_STR "|4h")},   // HL_ITALIC
     {(int)KS_VB,       IF_EB("\033|f", ESC_STR "|f")},
     {(int)KS_MS,       "y"},
     {(int)KS_UT,       "y"},
     {(int)KS_XN,       "y"},
-    {(int)KS_LE,       "\b"},          /* cursor-left = BS */
-    {(int)KS_ND,       "\014"},        /* cursor-right = CTRL-L */
+    {(int)KS_LE,       "\b"},          // cursor-left = BS
+    {(int)KS_ND,       "\014"},        // cursor-right = CTRL-L
 # ifdef TERMINFO
     {(int)KS_CM,       IF_EB("\033|%p1%d;%p2%dM", ESC_STR "|%p1%d;%p2%dM")},
 # else
     {(int)KS_CM,       IF_EB("\033|%d;%dM", ESC_STR "|%d;%dM")},
 # endif
-       /* there are no key sequences here, the GUI sequences are recognized
-        * in check_termcode() */
+       // there are no key sequences here, the GUI sequences are recognized
+       // in check_termcode()
 #endif
 
 #ifndef NO_BUILTIN_TCAPS
@@ -294,18 +294,18 @@ static struct builtin_term builtin_termcaps[] =
     {(int)KS_CZH,      "\033[3m"},
     {(int)KS_CZR,      "\033[0m"},
 #if defined(__MORPHOS__) || defined(__AROS__)
-    {(int)KS_CCO,      "8"},           /* allow 8 colors */
+    {(int)KS_CCO,      "8"},           // allow 8 colors
 #  ifdef TERMINFO
-    {(int)KS_CAB,      "\033[4%p1%dm"},/* set background color */
-    {(int)KS_CAF,      "\033[3%p1%dm"},/* set foreground color */
+    {(int)KS_CAB,      "\033[4%p1%dm"},// set background color
+    {(int)KS_CAF,      "\033[3%p1%dm"},// set foreground color
 #  else
-    {(int)KS_CAB,      "\033[4%dm"},   /* set background color */
-    {(int)KS_CAF,      "\033[3%dm"},   /* set foreground color */
+    {(int)KS_CAB,      "\033[4%dm"},   // set background color
+    {(int)KS_CAF,      "\033[3%dm"},   // set foreground color
 #  endif
-    {(int)KS_OP,       "\033[m"},      /* reset colors */
+    {(int)KS_OP,       "\033[m"},      // reset colors
 #endif
     {(int)KS_MS,       "y"},
-    {(int)KS_UT,       "y"},           /* guessed */
+    {(int)KS_UT,       "y"},           // guessed
     {(int)KS_LE,       "\b"},
 #  ifdef TERMINFO
     {(int)KS_CM,       "\033[%i%p1%d;%p2%dH"},
@@ -329,7 +329,7 @@ static struct builtin_term builtin_termcaps[] =
     {K_S_LEFT,         "\233 A"},
     {K_S_RIGHT,                "\233 @"},
     {K_S_TAB,          "\233Z"},
-    {K_F1,             "\233\060~"},/* some compilers don't dig "\2330" */
+    {K_F1,             "\233\060~"},// some compilers don't dig "\2330"
     {K_F2,             "\233\061~"},
     {K_F3,             "\233\062~"},
     {K_F4,             "\233\063~"},
@@ -350,16 +350,16 @@ static struct builtin_term builtin_termcaps[] =
     {K_S_F9,           "\233\061\070~"},
     {K_S_F10,          "\233\061\071~"},
     {K_HELP,           "\233?~"},
-    {K_INS,            "\233\064\060~"},       /* 101 key keyboard */
-    {K_PAGEUP,         "\233\064\061~"},       /* 101 key keyboard */
-    {K_PAGEDOWN,       "\233\064\062~"},       /* 101 key keyboard */
-    {K_HOME,           "\233\064\064~"},       /* 101 key keyboard */
-    {K_END,            "\233\064\065~"},       /* 101 key keyboard */
+    {K_INS,            "\233\064\060~"},       // 101 key keyboard
+    {K_PAGEUP,         "\233\064\061~"},       // 101 key keyboard
+    {K_PAGEDOWN,       "\233\064\062~"},       // 101 key keyboard
+    {K_HOME,           "\233\064\064~"},       // 101 key keyboard
+    {K_END,            "\233\064\065~"},       // 101 key keyboard
 
     {BT_EXTRA_KEYS,    ""},
-    {TERMCAP2KEY('#', '2'), "\233\065\064~"},  /* shifted home key */
-    {TERMCAP2KEY('#', '3'), "\233\065\060~"},  /* shifted insert key */
-    {TERMCAP2KEY('*', '7'), "\233\065\065~"},  /* shifted end key */
+    {TERMCAP2KEY('#', '2'), "\233\065\064~"},  // shifted home key
+    {TERMCAP2KEY('#', '3'), "\233\065\060~"},  // shifted insert key
+    {TERMCAP2KEY('*', '7'), "\233\065\065~"},  // shifted end key
 # endif
 
 # if defined(__BEOS__) || defined(ALL_BUILTIN_TCAPS)
@@ -385,34 +385,34 @@ static struct builtin_term builtin_termcaps[] =
 #  ifdef TERMINFO
     {(int)KS_CS,       "\033[%i%p1%d;%p2%dr"},
 #  else
-    {(int)KS_CS,       "\033[%i%d;%dr"},       /* scroll region */
+    {(int)KS_CS,       "\033[%i%d;%dr"},       // scroll region
 #  endif
 #endif
     {(int)KS_CL,       "\033[H\033[2J"},
 #ifdef notyet
-    {(int)KS_VI,       "[VI]"}, /* cursor invisible, VT320: CSI ? 25 l */
-    {(int)KS_VE,       "[VE]"}, /* cursor visible, VT320: CSI ? 25 h */
+    {(int)KS_VI,       "[VI]"}, // cursor invisible, VT320: CSI ? 25 l
+    {(int)KS_VE,       "[VE]"}, // cursor visible, VT320: CSI ? 25 h
 #endif
-    {(int)KS_ME,       "\033[m"},      /* normal mode */
-    {(int)KS_MR,       "\033[7m"},     /* reverse */
-    {(int)KS_MD,       "\033[1m"},     /* bold */
-    {(int)KS_SO,       "\033[31m"},    /* standout mode: red */
-    {(int)KS_SE,       "\033[m"},      /* standout end */
-    {(int)KS_CZH,      "\033[35m"},    /* italic: purple */
-    {(int)KS_CZR,      "\033[m"},      /* italic end */
-    {(int)KS_US,       "\033[4m"},     /* underscore mode */
-    {(int)KS_UE,       "\033[m"},      /* underscore end */
-    {(int)KS_CCO,      "8"},           /* allow 8 colors */
+    {(int)KS_ME,       "\033[m"},      // normal mode
+    {(int)KS_MR,       "\033[7m"},     // reverse
+    {(int)KS_MD,       "\033[1m"},     // bold
+    {(int)KS_SO,       "\033[31m"},    // standout mode: red
+    {(int)KS_SE,       "\033[m"},      // standout end
+    {(int)KS_CZH,      "\033[35m"},    // italic: purple
+    {(int)KS_CZR,      "\033[m"},      // italic end
+    {(int)KS_US,       "\033[4m"},     // underscore mode
+    {(int)KS_UE,       "\033[m"},      // underscore end
+    {(int)KS_CCO,      "8"},           // allow 8 colors
 #  ifdef TERMINFO
-    {(int)KS_CAB,      "\033[4%p1%dm"},/* set background color */
-    {(int)KS_CAF,      "\033[3%p1%dm"},/* set foreground color */
+    {(int)KS_CAB,      "\033[4%p1%dm"},// set background color
+    {(int)KS_CAF,      "\033[3%p1%dm"},// set foreground color
 #  else
-    {(int)KS_CAB,      "\033[4%dm"},   /* set background color */
-    {(int)KS_CAF,      "\033[3%dm"},   /* set foreground color */
+    {(int)KS_CAB,      "\033[4%dm"},   // set background color
+    {(int)KS_CAF,      "\033[3%dm"},   // set foreground color
 #  endif
-    {(int)KS_OP,       "\033[m"},      /* reset colors */
-    {(int)KS_MS,       "y"},           /* safe to move cur in reverse mode */
-    {(int)KS_UT,       "y"},           /* guessed */
+    {(int)KS_OP,       "\033[m"},      // reset colors
+    {(int)KS_MS,       "y"},           // safe to move cur in reverse mode
+    {(int)KS_UT,       "y"},           // guessed
     {(int)KS_LE,       "\b"},
 #  ifdef TERMINFO
     {(int)KS_CM,       "\033[%i%p1%d;%p2%dH"},
@@ -426,7 +426,7 @@ static struct builtin_term builtin_termcaps[] =
     {(int)KS_CRI,      "\033[%dC"},
 #  endif
 #  if defined(BEOS_DR8)
-    {(int)KS_DB,       ""},            /* hack! see screen.c */
+    {(int)KS_DB,       ""},            // hack! see screen.c
 #  endif
 
     {K_UP,             "\033[A"},
@@ -457,7 +457,7 @@ static struct builtin_term builtin_termcaps[] =
     {(int)KS_ME,       IF_EB("\033[0m", ESC_STR "[0m")},
     {(int)KS_MR,       IF_EB("\033[7m", ESC_STR "[7m")},
     {(int)KS_MS,       "y"},
-    {(int)KS_UT,       "y"},           /* guessed */
+    {(int)KS_UT,       "y"},           // guessed
     {(int)KS_LE,       "\b"},
 #  ifdef TERMINFO
     {(int)KS_CM,       IF_EB("\033[%i%p1%d;%p2%dH", ESC_STR "[%i%p1%d;%p2%dH")},
@@ -484,25 +484,25 @@ static struct builtin_term builtin_termcaps[] =
     {(int)KS_CE,       "\033[K"},
     {(int)KS_CL,       "\033[2J"},
     {(int)KS_ME,       "\033[0m"},
-    {(int)KS_MR,       "\033[5m"},     /* reverse: black on lightgrey */
-    {(int)KS_MD,       "\033[1m"},     /* bold: white text */
-    {(int)KS_SE,       "\033[0m"},     /* standout end */
-    {(int)KS_SO,       "\033[31m"},    /* standout: white on blue */
-    {(int)KS_CZH,      "\033[34;43m"}, /* italic mode: blue text on yellow */
-    {(int)KS_CZR,      "\033[0m"},     /* italic mode end */
-    {(int)KS_US,       "\033[36;41m"}, /* underscore mode: cyan text on red */
-    {(int)KS_UE,       "\033[0m"},     /* underscore mode end */
-    {(int)KS_CCO,      "8"},           /* allow 8 colors */
+    {(int)KS_MR,       "\033[5m"},     // reverse: black on lightgrey
+    {(int)KS_MD,       "\033[1m"},     // bold: white text
+    {(int)KS_SE,       "\033[0m"},     // standout end
+    {(int)KS_SO,       "\033[31m"},    // standout: white on blue
+    {(int)KS_CZH,      "\033[34;43m"}, // italic mode: blue text on yellow
+    {(int)KS_CZR,      "\033[0m"},     // italic mode end
+    {(int)KS_US,       "\033[36;41m"}, // underscore mode: cyan text on red
+    {(int)KS_UE,       "\033[0m"},     // underscore mode end
+    {(int)KS_CCO,      "8"},           // allow 8 colors
 #  ifdef TERMINFO
-    {(int)KS_CAB,      "\033[4%p1%dm"},/* set background color */
-    {(int)KS_CAF,      "\033[3%p1%dm"},/* set foreground color */
+    {(int)KS_CAB,      "\033[4%p1%dm"},// set background color
+    {(int)KS_CAF,      "\033[3%p1%dm"},// set foreground color
 #  else
-    {(int)KS_CAB,      "\033[4%dm"},   /* set background color */
-    {(int)KS_CAF,      "\033[3%dm"},   /* set foreground color */
+    {(int)KS_CAB,      "\033[4%dm"},   // set background color
+    {(int)KS_CAF,      "\033[3%dm"},   // set foreground color
 #  endif
-    {(int)KS_OP,       "\033[0m"},     /* reset colors */
+    {(int)KS_OP,       "\033[0m"},     // reset colors
     {(int)KS_MS,       "y"},
-    {(int)KS_UT,       "y"},           /* guessed */
+    {(int)KS_UT,       "y"},           // guessed
     {(int)KS_LE,       "\b"},
 #  ifdef TERMINFO
     {(int)KS_CM,       "\033[%i%p1%d;%p2%dH"},
@@ -530,8 +530,8 @@ static struct builtin_term builtin_termcaps[] =
     {K_F8,             "\316B"},
     {K_F9,             "\316C"},
     {K_F10,            "\316D"},
-    {K_F11,            "\316\205"},    /* guessed */
-    {K_F12,            "\316\206"},    /* guessed */
+    {K_F11,            "\316\205"},    // guessed
+    {K_F12,            "\316\206"},    // guessed
     {K_S_F1,           "\316T"},
     {K_S_F2,           "\316U"},
     {K_S_F3,           "\316V"},
@@ -542,8 +542,8 @@ static struct builtin_term builtin_termcaps[] =
     {K_S_F8,           "\316["},
     {K_S_F9,           "\316\\"},
     {K_S_F10,          "\316]"},
-    {K_S_F11,          "\316\207"},    /* guessed */
-    {K_S_F12,          "\316\210"},    /* guessed */
+    {K_S_F11,          "\316\207"},    // guessed
+    {K_S_F12,          "\316\210"},    // guessed
     {K_INS,            "\316R"},
     {K_DEL,            "\316S"},
     {K_HOME,           "\316G"},
@@ -708,19 +708,19 @@ static struct builtin_term builtin_termcaps[] =
 #  endif
     {(int)KS_CL,       IF_EB("\033[H\033[2J", ESC_STR "[H" ESC_STR_nc "[2J")},
     {(int)KS_CD,       IF_EB("\033[J", ESC_STR "[J")},
-    {(int)KS_CCO,      "8"},                   /* allow 8 colors */
+    {(int)KS_CCO,      "8"},                   // allow 8 colors
     {(int)KS_ME,       IF_EB("\033[0m", ESC_STR "[0m")},
     {(int)KS_MR,       IF_EB("\033[7m", ESC_STR "[7m")},
-    {(int)KS_MD,       IF_EB("\033[1m", ESC_STR "[1m")},  /* bold mode */
-    {(int)KS_SE,       IF_EB("\033[22m", ESC_STR "[22m")},/* normal mode */
-    {(int)KS_UE,       IF_EB("\033[24m", ESC_STR "[24m")},/* exit underscore mode */
-    {(int)KS_US,       IF_EB("\033[4m", ESC_STR "[4m")},  /* underscore mode */
-    {(int)KS_CZH,      IF_EB("\033[34;43m", ESC_STR "[34;43m")},  /* italic mode: blue text on yellow */
-    {(int)KS_CZR,      IF_EB("\033[0m", ESC_STR "[0m")},           /* italic mode end */
-    {(int)KS_CAB,      IF_EB("\033[4%dm", ESC_STR "[4%dm")},       /* set background color (ANSI) */
-    {(int)KS_CAF,      IF_EB("\033[3%dm", ESC_STR "[3%dm")},       /* set foreground color (ANSI) */
-    {(int)KS_CSB,      IF_EB("\033[102;%dm", ESC_STR "[102;%dm")},     /* set screen background color */
-    {(int)KS_CSF,      IF_EB("\033[101;%dm", ESC_STR "[101;%dm")},     /* set screen foreground color */
+    {(int)KS_MD,       IF_EB("\033[1m", ESC_STR "[1m")},  // bold mode
+    {(int)KS_SE,       IF_EB("\033[22m", ESC_STR "[22m")},// normal mode
+    {(int)KS_UE,       IF_EB("\033[24m", ESC_STR "[24m")},// exit underscore mode
+    {(int)KS_US,       IF_EB("\033[4m", ESC_STR "[4m")},  // underscore mode
+    {(int)KS_CZH,      IF_EB("\033[34;43m", ESC_STR "[34;43m")},  // italic mode: blue text on yellow
+    {(int)KS_CZR,      IF_EB("\033[0m", ESC_STR "[0m")},           // italic mode end
+    {(int)KS_CAB,      IF_EB("\033[4%dm", ESC_STR "[4%dm")},       // set background color (ANSI)
+    {(int)KS_CAF,      IF_EB("\033[3%dm", ESC_STR "[3%dm")},       // set foreground color (ANSI)
+    {(int)KS_CSB,      IF_EB("\033[102;%dm", ESC_STR "[102;%dm")},     // set screen background color
+    {(int)KS_CSF,      IF_EB("\033[101;%dm", ESC_STR "[101;%dm")},     // set screen foreground color
     {(int)KS_MS,       "y"},
     {(int)KS_UT,       "y"},
     {(int)KS_XN,       "y"},
@@ -756,8 +756,8 @@ static struct builtin_term builtin_termcaps[] =
     {K_F12,            IF_EB("\033[24~", ESC_STR "[24~")},
     {K_F13,            IF_EB("\033[25~", ESC_STR "[25~")},
     {K_F14,            IF_EB("\033[26~", ESC_STR "[26~")},
-    {K_F15,            IF_EB("\033[28~", ESC_STR "[28~")},     /* Help */
-    {K_F16,            IF_EB("\033[29~", ESC_STR "[29~")},     /* Select */
+    {K_F15,            IF_EB("\033[28~", ESC_STR "[28~")},     // Help
+    {K_F16,            IF_EB("\033[29~", ESC_STR "[29~")},     // Select
     {K_F17,            IF_EB("\033[31~", ESC_STR "[31~")},
     {K_F18,            IF_EB("\033[32~", ESC_STR "[32~")},
     {K_F19,            IF_EB("\033[33~", ESC_STR "[33~")},
@@ -770,22 +770,22 @@ static struct builtin_term builtin_termcaps[] =
     {K_PAGEDOWN,       IF_EB("\033[6~", ESC_STR "[6~")},
     // These sequences starting with <Esc> O may interfere with what the user
     // is typing.  Remove these if that bothers you.
-    {K_KPLUS,          IF_EB("\033Ok", ESC_STR "Ok")}, /* keypad plus */
-    {K_KMINUS,         IF_EB("\033Om", ESC_STR "Om")}, /* keypad minus */
-    {K_KDIVIDE,                IF_EB("\033Oo", ESC_STR "Oo")}, /* keypad / */
-    {K_KMULTIPLY,      IF_EB("\033Oj", ESC_STR "Oj")}, /* keypad * */
-    {K_KENTER,         IF_EB("\033OM", ESC_STR "OM")}, /* keypad Enter */
-    {K_K0,             IF_EB("\033Op", ESC_STR "Op")}, /* keypad 0 */
-    {K_K1,             IF_EB("\033Oq", ESC_STR "Oq")}, /* keypad 1 */
-    {K_K2,             IF_EB("\033Or", ESC_STR "Or")}, /* keypad 2 */
-    {K_K3,             IF_EB("\033Os", ESC_STR "Os")}, /* keypad 3 */
-    {K_K4,             IF_EB("\033Ot", ESC_STR "Ot")}, /* keypad 4 */
-    {K_K5,             IF_EB("\033Ou", ESC_STR "Ou")}, /* keypad 5 */
-    {K_K6,             IF_EB("\033Ov", ESC_STR "Ov")}, /* keypad 6 */
-    {K_K7,             IF_EB("\033Ow", ESC_STR "Ow")}, /* keypad 7 */
-    {K_K8,             IF_EB("\033Ox", ESC_STR "Ox")}, /* keypad 8 */
-    {K_K9,             IF_EB("\033Oy", ESC_STR "Oy")}, /* keypad 9 */
-    {K_BS,             "\x7f"},        /* for some reason 0177 doesn't work */
+    {K_KPLUS,          IF_EB("\033Ok", ESC_STR "Ok")}, // keypad plus
+    {K_KMINUS,         IF_EB("\033Om", ESC_STR "Om")}, // keypad minus
+    {K_KDIVIDE,                IF_EB("\033Oo", ESC_STR "Oo")}, // keypad /
+    {K_KMULTIPLY,      IF_EB("\033Oj", ESC_STR "Oj")}, // keypad *
+    {K_KENTER,         IF_EB("\033OM", ESC_STR "OM")}, // keypad Enter
+    {K_K0,             IF_EB("\033Op", ESC_STR "Op")}, // keypad 0
+    {K_K1,             IF_EB("\033Oq", ESC_STR "Oq")}, // keypad 1
+    {K_K2,             IF_EB("\033Or", ESC_STR "Or")}, // keypad 2
+    {K_K3,             IF_EB("\033Os", ESC_STR "Os")}, // keypad 3
+    {K_K4,             IF_EB("\033Ot", ESC_STR "Ot")}, // keypad 4
+    {K_K5,             IF_EB("\033Ou", ESC_STR "Ou")}, // keypad 5
+    {K_K6,             IF_EB("\033Ov", ESC_STR "Ov")}, // keypad 6
+    {K_K7,             IF_EB("\033Ow", ESC_STR "Ow")}, // keypad 7
+    {K_K8,             IF_EB("\033Ox", ESC_STR "Ox")}, // keypad 8
+    {K_K9,             IF_EB("\033Oy", ESC_STR "Oy")}, // keypad 9
+    {K_BS,             "\x7f"},        // for some reason 0177 doesn't work
 # endif
 
 # if defined(ALL_BUILTIN_TCAPS) || defined(__MINT__)
@@ -936,7 +936,7 @@ static struct builtin_term builtin_termcaps[] =
     {(int)KS_RBG,      IF_EB("\033]11;?\007", ESC_STR "]11;?\007")},
     {(int)KS_U7,       IF_EB("\033[6n", ESC_STR "[6n")},
 #  ifdef FEAT_TERMGUICOLORS
-    /* These are printf strings, not terminal codes. */
+    // These are printf strings, not terminal codes.
     {(int)KS_8F,       IF_EB("\033[38;2;%lu;%lu;%lum", ESC_STR "[38;2;%lu;%lu;%lum")},
     {(int)KS_8B,       IF_EB("\033[48;2;%lu;%lu;%lum", ESC_STR "[48;2;%lu;%lu;%lum")},
 #  endif
@@ -951,12 +951,12 @@ static struct builtin_term builtin_termcaps[] =
     {K_DOWN,           IF_EB("\033O*B", ESC_STR "O*B")},
     {K_RIGHT,          IF_EB("\033O*C", ESC_STR "O*C")},
     {K_LEFT,           IF_EB("\033O*D", ESC_STR "O*D")},
-    /* An extra set of cursor keys for vt100 mode */
+    // An extra set of cursor keys for vt100 mode
     {K_XUP,            IF_EB("\033[1;*A", ESC_STR "[1;*A")},
     {K_XDOWN,          IF_EB("\033[1;*B", ESC_STR "[1;*B")},
     {K_XRIGHT,         IF_EB("\033[1;*C", ESC_STR "[1;*C")},
     {K_XLEFT,          IF_EB("\033[1;*D", ESC_STR "[1;*D")},
-    /* An extra set of function keys for vt100 mode */
+    // An extra set of function keys for vt100 mode
     {K_XF1,            IF_EB("\033O*P", ESC_STR "O*P")},
     {K_XF2,            IF_EB("\033O*Q", ESC_STR "O*Q")},
     {K_XF3,            IF_EB("\033O*R", ESC_STR "O*R")},
@@ -978,68 +978,68 @@ static struct builtin_term builtin_termcaps[] =
     {K_UNDO,           IF_EB("\033[26;*~", ESC_STR "[26;*~")},
     {K_INS,            IF_EB("\033[2;*~", ESC_STR "[2;*~")},
     {K_HOME,           IF_EB("\033[1;*H", ESC_STR "[1;*H")},
-    /* {K_S_HOME,              IF_EB("\033O2H", ESC_STR "O2H")}, */
-    /* {K_C_HOME,              IF_EB("\033O5H", ESC_STR "O5H")}, */
+    // {K_S_HOME,              IF_EB("\033O2H", ESC_STR "O2H")},
+    // {K_C_HOME,              IF_EB("\033O5H", ESC_STR "O5H")},
     {K_KHOME,          IF_EB("\033[1;*~", ESC_STR "[1;*~")},
-    {K_XHOME,          IF_EB("\033O*H", ESC_STR "O*H")},       /* other Home */
-    {K_ZHOME,          IF_EB("\033[7;*~", ESC_STR "[7;*~")},   /* other Home */
+    {K_XHOME,          IF_EB("\033O*H", ESC_STR "O*H")},       // other Home
+    {K_ZHOME,          IF_EB("\033[7;*~", ESC_STR "[7;*~")},   // other Home
     {K_END,            IF_EB("\033[1;*F", ESC_STR "[1;*F")},
-    /* {K_S_END,               IF_EB("\033O2F", ESC_STR "O2F")}, */
-    /* {K_C_END,               IF_EB("\033O5F", ESC_STR "O5F")}, */
+    // {K_S_END,               IF_EB("\033O2F", ESC_STR "O2F")},
+    // {K_C_END,               IF_EB("\033O5F", ESC_STR "O5F")},
     {K_KEND,           IF_EB("\033[4;*~", ESC_STR "[4;*~")},
-    {K_XEND,           IF_EB("\033O*F", ESC_STR "O*F")},       /* other End */
+    {K_XEND,           IF_EB("\033O*F", ESC_STR "O*F")},       // other End
     {K_ZEND,           IF_EB("\033[8;*~", ESC_STR "[8;*~")},
     {K_PAGEUP,         IF_EB("\033[5;*~", ESC_STR "[5;*~")},
     {K_PAGEDOWN,       IF_EB("\033[6;*~", ESC_STR "[6;*~")},
-    {K_KPLUS,          IF_EB("\033O*k", ESC_STR "O*k")},     /* keypad plus */
-    {K_KMINUS,         IF_EB("\033O*m", ESC_STR "O*m")},     /* keypad minus */
-    {K_KDIVIDE,                IF_EB("\033O*o", ESC_STR "O*o")},     /* keypad / */
-    {K_KMULTIPLY,      IF_EB("\033O*j", ESC_STR "O*j")},     /* keypad * */
-    {K_KENTER,         IF_EB("\033O*M", ESC_STR "O*M")},     /* keypad Enter */
-    {K_KPOINT,         IF_EB("\033O*n", ESC_STR "O*n")},     /* keypad . */
-    {K_K0,             IF_EB("\033O*p", ESC_STR "O*p")},     /* keypad 0 */
-    {K_K1,             IF_EB("\033O*q", ESC_STR "O*q")},     /* keypad 1 */
-    {K_K2,             IF_EB("\033O*r", ESC_STR "O*r")},     /* keypad 2 */
-    {K_K3,             IF_EB("\033O*s", ESC_STR "O*s")},     /* keypad 3 */
-    {K_K4,             IF_EB("\033O*t", ESC_STR "O*t")},     /* keypad 4 */
-    {K_K5,             IF_EB("\033O*u", ESC_STR "O*u")},     /* keypad 5 */
-    {K_K6,             IF_EB("\033O*v", ESC_STR "O*v")},     /* keypad 6 */
-    {K_K7,             IF_EB("\033O*w", ESC_STR "O*w")},     /* keypad 7 */
-    {K_K8,             IF_EB("\033O*x", ESC_STR "O*x")},     /* keypad 8 */
-    {K_K9,             IF_EB("\033O*y", ESC_STR "O*y")},     /* keypad 9 */
-    {K_KDEL,           IF_EB("\033[3;*~", ESC_STR "[3;*~")}, /* keypad Del */
-    {K_PS,             IF_EB("\033[200~", ESC_STR "[200~")}, /* paste start */
-    {K_PE,             IF_EB("\033[201~", ESC_STR "[201~")}, /* paste end */
+    {K_KPLUS,          IF_EB("\033O*k", ESC_STR "O*k")},     // keypad plus
+    {K_KMINUS,         IF_EB("\033O*m", ESC_STR "O*m")},     // keypad minus
+    {K_KDIVIDE,                IF_EB("\033O*o", ESC_STR "O*o")},     // keypad /
+    {K_KMULTIPLY,      IF_EB("\033O*j", ESC_STR "O*j")},     // keypad *
+    {K_KENTER,         IF_EB("\033O*M", ESC_STR "O*M")},     // keypad Enter
+    {K_KPOINT,         IF_EB("\033O*n", ESC_STR "O*n")},     // keypad .
+    {K_K0,             IF_EB("\033O*p", ESC_STR "O*p")},     // keypad 0
+    {K_K1,             IF_EB("\033O*q", ESC_STR "O*q")},     // keypad 1
+    {K_K2,             IF_EB("\033O*r", ESC_STR "O*r")},     // keypad 2
+    {K_K3,             IF_EB("\033O*s", ESC_STR "O*s")},     // keypad 3
+    {K_K4,             IF_EB("\033O*t", ESC_STR "O*t")},     // keypad 4
+    {K_K5,             IF_EB("\033O*u", ESC_STR "O*u")},     // keypad 5
+    {K_K6,             IF_EB("\033O*v", ESC_STR "O*v")},     // keypad 6
+    {K_K7,             IF_EB("\033O*w", ESC_STR "O*w")},     // keypad 7
+    {K_K8,             IF_EB("\033O*x", ESC_STR "O*x")},     // keypad 8
+    {K_K9,             IF_EB("\033O*y", ESC_STR "O*y")},     // keypad 9
+    {K_KDEL,           IF_EB("\033[3;*~", ESC_STR "[3;*~")}, // keypad Del
+    {K_PS,             IF_EB("\033[200~", ESC_STR "[200~")}, // paste start
+    {K_PE,             IF_EB("\033[201~", ESC_STR "[201~")}, // paste end
 
     {BT_EXTRA_KEYS,   ""},
-    {TERMCAP2KEY('k', '0'), IF_EB("\033[10;*~", ESC_STR "[10;*~")}, /* F0 */
-    {TERMCAP2KEY('F', '3'), IF_EB("\033[25;*~", ESC_STR "[25;*~")}, /* F13 */
-    /* F14 and F15 are missing, because they send the same codes as the undo
-     * and help key, although they don't work on all keyboards. */
-    {TERMCAP2KEY('F', '6'), IF_EB("\033[29;*~", ESC_STR "[29;*~")}, /* F16 */
-    {TERMCAP2KEY('F', '7'), IF_EB("\033[31;*~", ESC_STR "[31;*~")}, /* F17 */
-    {TERMCAP2KEY('F', '8'), IF_EB("\033[32;*~", ESC_STR "[32;*~")}, /* F18 */
-    {TERMCAP2KEY('F', '9'), IF_EB("\033[33;*~", ESC_STR "[33;*~")}, /* F19 */
-    {TERMCAP2KEY('F', 'A'), IF_EB("\033[34;*~", ESC_STR "[34;*~")}, /* F20 */
-
-    {TERMCAP2KEY('F', 'B'), IF_EB("\033[42;*~", ESC_STR "[42;*~")}, /* F21 */
-    {TERMCAP2KEY('F', 'C'), IF_EB("\033[43;*~", ESC_STR "[43;*~")}, /* F22 */
-    {TERMCAP2KEY('F', 'D'), IF_EB("\033[44;*~", ESC_STR "[44;*~")}, /* F23 */
-    {TERMCAP2KEY('F', 'E'), IF_EB("\033[45;*~", ESC_STR "[45;*~")}, /* F24 */
-    {TERMCAP2KEY('F', 'F'), IF_EB("\033[46;*~", ESC_STR "[46;*~")}, /* F25 */
-    {TERMCAP2KEY('F', 'G'), IF_EB("\033[47;*~", ESC_STR "[47;*~")}, /* F26 */
-    {TERMCAP2KEY('F', 'H'), IF_EB("\033[48;*~", ESC_STR "[48;*~")}, /* F27 */
-    {TERMCAP2KEY('F', 'I'), IF_EB("\033[49;*~", ESC_STR "[49;*~")}, /* F28 */
-    {TERMCAP2KEY('F', 'J'), IF_EB("\033[50;*~", ESC_STR "[50;*~")}, /* F29 */
-    {TERMCAP2KEY('F', 'K'), IF_EB("\033[51;*~", ESC_STR "[51;*~")}, /* F30 */
-
-    {TERMCAP2KEY('F', 'L'), IF_EB("\033[52;*~", ESC_STR "[52;*~")}, /* F31 */
-    {TERMCAP2KEY('F', 'M'), IF_EB("\033[53;*~", ESC_STR "[53;*~")}, /* F32 */
-    {TERMCAP2KEY('F', 'N'), IF_EB("\033[54;*~", ESC_STR "[54;*~")}, /* F33 */
-    {TERMCAP2KEY('F', 'O'), IF_EB("\033[55;*~", ESC_STR "[55;*~")}, /* F34 */
-    {TERMCAP2KEY('F', 'P'), IF_EB("\033[56;*~", ESC_STR "[56;*~")}, /* F35 */
-    {TERMCAP2KEY('F', 'Q'), IF_EB("\033[57;*~", ESC_STR "[57;*~")}, /* F36 */
-    {TERMCAP2KEY('F', 'R'), IF_EB("\033[58;*~", ESC_STR "[58;*~")}, /* F37 */
+    {TERMCAP2KEY('k', '0'), IF_EB("\033[10;*~", ESC_STR "[10;*~")}, // F0
+    {TERMCAP2KEY('F', '3'), IF_EB("\033[25;*~", ESC_STR "[25;*~")}, // F13
+    // F14 and F15 are missing, because they send the same codes as the undo
+    // and help key, although they don't work on all keyboards.
+    {TERMCAP2KEY('F', '6'), IF_EB("\033[29;*~", ESC_STR "[29;*~")}, // F16
+    {TERMCAP2KEY('F', '7'), IF_EB("\033[31;*~", ESC_STR "[31;*~")}, // F17
+    {TERMCAP2KEY('F', '8'), IF_EB("\033[32;*~", ESC_STR "[32;*~")}, // F18
+    {TERMCAP2KEY('F', '9'), IF_EB("\033[33;*~", ESC_STR "[33;*~")}, // F19
+    {TERMCAP2KEY('F', 'A'), IF_EB("\033[34;*~", ESC_STR "[34;*~")}, // F20
+
+    {TERMCAP2KEY('F', 'B'), IF_EB("\033[42;*~", ESC_STR "[42;*~")}, // F21
+    {TERMCAP2KEY('F', 'C'), IF_EB("\033[43;*~", ESC_STR "[43;*~")}, // F22
+    {TERMCAP2KEY('F', 'D'), IF_EB("\033[44;*~", ESC_STR "[44;*~")}, // F23
+    {TERMCAP2KEY('F', 'E'), IF_EB("\033[45;*~", ESC_STR "[45;*~")}, // F24
+    {TERMCAP2KEY('F', 'F'), IF_EB("\033[46;*~", ESC_STR "[46;*~")}, // F25
+    {TERMCAP2KEY('F', 'G'), IF_EB("\033[47;*~", ESC_STR "[47;*~")}, // F26
+    {TERMCAP2KEY('F', 'H'), IF_EB("\033[48;*~", ESC_STR "[48;*~")}, // F27
+    {TERMCAP2KEY('F', 'I'), IF_EB("\033[49;*~", ESC_STR "[49;*~")}, // F28
+    {TERMCAP2KEY('F', 'J'), IF_EB("\033[50;*~", ESC_STR "[50;*~")}, // F29
+    {TERMCAP2KEY('F', 'K'), IF_EB("\033[51;*~", ESC_STR "[51;*~")}, // F30
+
+    {TERMCAP2KEY('F', 'L'), IF_EB("\033[52;*~", ESC_STR "[52;*~")}, // F31
+    {TERMCAP2KEY('F', 'M'), IF_EB("\033[53;*~", ESC_STR "[53;*~")}, // F32
+    {TERMCAP2KEY('F', 'N'), IF_EB("\033[54;*~", ESC_STR "[54;*~")}, // F33
+    {TERMCAP2KEY('F', 'O'), IF_EB("\033[55;*~", ESC_STR "[55;*~")}, // F34
+    {TERMCAP2KEY('F', 'P'), IF_EB("\033[56;*~", ESC_STR "[56;*~")}, // F35
+    {TERMCAP2KEY('F', 'Q'), IF_EB("\033[57;*~", ESC_STR "[57;*~")}, // F36
+    {TERMCAP2KEY('F', 'R'), IF_EB("\033[58;*~", ESC_STR "[58;*~")}, // F37
 # endif
 
 # if defined(UNIX) || defined(ALL_BUILTIN_TCAPS)
@@ -1061,7 +1061,7 @@ static struct builtin_term builtin_termcaps[] =
 #  else
     {(int)KS_CDL,      "\033[%dM"},
 #  endif
-#if 0  /* The scroll region is not working as Vim expects. */
+#if 0  // The scroll region is not working as Vim expects.
 #  ifdef TERMINFO
     {(int)KS_CS,       "\033[%i%p1%d;%p2%dr"},
 #  else
@@ -1069,8 +1069,8 @@ static struct builtin_term builtin_termcaps[] =
 #  endif
 #endif
     {(int)KS_CL,       "\033[H\033[2J"},
-    {(int)KS_VE,       "\033[9/y\033[12/y"},   /* These aren't documented */
-    {(int)KS_VS,       "\033[10/y\033[=1h\033[=2l"}, /* These aren't documented */
+    {(int)KS_VE,       "\033[9/y\033[12/y"},   // These aren't documented
+    {(int)KS_VS,       "\033[10/y\033[=1h\033[=2l"}, // These aren't documented
     {(int)KS_TI,       "\033[=6h"},
     {(int)KS_TE,       "\033[=6l"},
     {(int)KS_SE,       "\033[21;27m"},
@@ -1078,24 +1078,24 @@ static struct builtin_term builtin_termcaps[] =
     {(int)KS_ME,       "\033[m"},
     {(int)KS_MR,       "\033[7m"},
     {(int)KS_MD,       "\033[1m"},
-    {(int)KS_CCO,      "8"},                   /* allow 8 colors */
-    {(int)KS_CZH,      "\033[3m"},             /* italic mode on */
-    {(int)KS_CZR,      "\033[23m"},            /* italic mode off */
-    {(int)KS_US,       "\033[4m"},             /* underline on */
-    {(int)KS_UE,       "\033[24m"},            /* underline off */
+    {(int)KS_CCO,      "8"},                   // allow 8 colors
+    {(int)KS_CZH,      "\033[3m"},             // italic mode on
+    {(int)KS_CZR,      "\033[23m"},            // italic mode off
+    {(int)KS_US,       "\033[4m"},             // underline on
+    {(int)KS_UE,       "\033[24m"},            // underline off
 #  ifdef TERMINFO
-    {(int)KS_CAB,      "\033[4%p1%dm"},    /* set background color (ANSI) */
-    {(int)KS_CAF,      "\033[3%p1%dm"},    /* set foreground color (ANSI) */
-    {(int)KS_CSB,      "\033[102;%p1%dm"}, /* set screen background color */
-    {(int)KS_CSF,      "\033[101;%p1%dm"}, /* set screen foreground color */
+    {(int)KS_CAB,      "\033[4%p1%dm"},    // set background color (ANSI)
+    {(int)KS_CAF,      "\033[3%p1%dm"},    // set foreground color (ANSI)
+    {(int)KS_CSB,      "\033[102;%p1%dm"}, // set screen background color
+    {(int)KS_CSF,      "\033[101;%p1%dm"}, // set screen foreground color
 #  else
-    {(int)KS_CAB,      "\033[4%dm"},       /* set background color (ANSI) */
-    {(int)KS_CAF,      "\033[3%dm"},       /* set foreground color (ANSI) */
-    {(int)KS_CSB,      "\033[102;%dm"},    /* set screen background color */
-    {(int)KS_CSF,      "\033[101;%dm"},    /* set screen foreground color */
+    {(int)KS_CAB,      "\033[4%dm"},       // set background color (ANSI)
+    {(int)KS_CAF,      "\033[3%dm"},       // set foreground color (ANSI)
+    {(int)KS_CSB,      "\033[102;%dm"},    // set screen background color
+    {(int)KS_CSF,      "\033[101;%dm"},    // set screen foreground color
 #  endif
-    {(int)KS_MS,       "y"},           /* guessed */
-    {(int)KS_UT,       "y"},           /* guessed */
+    {(int)KS_MS,       "y"},           // guessed
+    {(int)KS_UT,       "y"},           // guessed
     {(int)KS_LE,       "\b"},
 #  ifdef TERMINFO
     {(int)KS_CM,       "\033[%i%p1%d;%p2%dH"},
@@ -1109,9 +1109,9 @@ static struct builtin_term builtin_termcaps[] =
     {(int)KS_CRI,      "\033[%dC"},
 #  endif
     {(int)KS_CIS,      "\033P3.y"},
-    {(int)KS_CIE,      "\234"},    /* ST "String Terminator" */
+    {(int)KS_CIE,      "\234"},    // ST "String Terminator"
     {(int)KS_TS,       "\033P1.y"},
-    {(int)KS_FS,       "\234"},    /* ST "String Terminator" */
+    {(int)KS_FS,       "\234"},    // ST "String Terminator"
 #  ifdef TERMINFO
     {(int)KS_CWS,      "\033[203;%p1%d;%p2%d/y"},
     {(int)KS_CWP,      "\033[205;%p1%d;%p2%d/y"},
@@ -1342,7 +1342,7 @@ static struct builtin_term builtin_termcaps[] =
     {K_K9,             "[K9]"},
 # endif
 
-#endif /* NO_BUILTIN_TCAPS */
+#endif // NO_BUILTIN_TCAPS
 
 /*
  * The most minimal terminal: only clear screen and cursor positioning
@@ -1362,7 +1362,7 @@ static struct builtin_term builtin_termcaps[] =
  */
     {(int)KS_NAME,     NULL}
 
-};     /* end of builtin_termcaps */
+};     // end of builtin_termcaps
 
 #if defined(FEAT_TERMGUICOLORS) || defined(PROTO)
     static guicolor_T
@@ -1431,11 +1431,11 @@ termgui_mch_get_rgb(guicolor_T color)
  */
 char_u *(term_strings[(int)KS_LAST + 1]);
 
-static int     need_gather = FALSE;        /* need to fill termleader[] */
-static char_u  termleader[256 + 1];        /* for check_termcode() */
+static int     need_gather = FALSE;        // need to fill termleader[]
+static char_u  termleader[256 + 1];        // for check_termcode()
 #ifdef FEAT_TERMRESPONSE
-static int     check_for_codes = FALSE;    /* check for key code response */
-static int     is_not_xterm = FALSE;       /* recognized not-really-xterm */
+static int     check_for_codes = FALSE;    // check for key code response
+static int     is_not_xterm = FALSE;       // recognized not-really-xterm
 #endif
 
     static struct builtin_term *
@@ -1483,22 +1483,22 @@ parse_builtin_tcap(char_u *term)
     p = find_builtin_term(term);
     term_8bit = term_is_8bit(term);
 
-    /* Do not parse if builtin term not found */
+    // Do not parse if builtin term not found
     if (p->bt_string == NULL)
        return;
 
     for (++p; p->bt_entry != (int)KS_NAME && p->bt_entry != BT_EXTRA_KEYS; ++p)
     {
-       if ((int)p->bt_entry >= 0)      /* KS_xx entry */
+       if ((int)p->bt_entry >= 0)      // KS_xx entry
        {
-           /* Only set the value if it wasn't set yet. */
+           // Only set the value if it wasn't set yet.
            if (term_strings[p->bt_entry] == NULL
                                 || term_strings[p->bt_entry] == empty_option)
            {
 #ifdef FEAT_EVAL
                int opt_idx = -1;
 #endif
-               /* 8bit terminal: use CSI instead of <Esc>[ */
+               // 8bit terminal: use CSI instead of <Esc>[
                if (term_8bit && term_7to8bit((char_u *)p->bt_string) != 0)
                {
                    char_u  *s, *t;
@@ -1550,7 +1550,7 @@ parse_builtin_tcap(char_u *term)
     static void
 set_color_count(int nr)
 {
-    char_u     nr_colors[20];          /* string for number of colors */
+    char_u     nr_colors[20];          // string for number of colors
 
     t_colors = nr;
     if (t_colors > 1)
@@ -1569,10 +1569,10 @@ may_adjust_color_count(int val)
 {
     if (val != t_colors)
     {
-       /* Nr of colors changed, initialize highlighting and
-        * redraw everything.  This causes a redraw, which usually
-        * clears the message.  Try keeping the message if it
-        * might work. */
+       // Nr of colors changed, initialize highlighting and
+       // redraw everything.  This causes a redraw, which usually
+       // clears the message.  Try keeping the message if it
+       // might work.
        set_keep_msg_from_hist();
        set_color_count(val);
        init_highlight(TRUE, FALSE);
@@ -1593,7 +1593,7 @@ may_adjust_color_count(int val)
 static char *(key_names[]) =
 {
 #ifdef FEAT_TERMRESPONSE
-    /* Do this one first, it may cause a screen redraw. */
+    // Do this one first, it may cause a screen redraw.
     "Co",
 #endif
     "ku", "kd", "kr", "kl",
@@ -1611,8 +1611,8 @@ static char *(key_names[]) =
 get_term_entries(int *height, int *width)
 {
     static struct {
-                   enum SpecialKey dest; /* index in term_strings[] */
-                   char *name;           /* termcap name for string */
+                   enum SpecialKey dest; // index in term_strings[]
+                   char *name;           // termcap name for string
                  } string_names[] =
                    {   {KS_CE, "ce"}, {KS_AL, "al"}, {KS_CAL,"AL"},
                        {KS_DL, "dl"}, {KS_CDL,"DL"}, {KS_CS, "cs"},
@@ -1664,8 +1664,8 @@ get_term_entries(int *height, int *width)
        }
     }
 
-    /* tgetflag() returns 1 if the flag is present, 0 if not and
-     * possibly -1 if the flag doesn't exist. */
+    // tgetflag() returns 1 if the flag is present, 0 if not and
+    // possibly -1 if the flag doesn't exist.
     if ((T_MS == NULL || T_MS == empty_option) && tgetflag("ms") > 0)
        T_MS = (char_u *)"y";
     if ((T_XS == NULL || T_XS == empty_option) && tgetflag("xs") > 0)
@@ -1686,7 +1686,7 @@ get_term_entries(int *height, int *width)
        if (find_termcode((char_u *)key_names[i]) == NULL)
        {
            p = TGETSTR(key_names[i], &tp);
-           /* if cursor-left == backspace, ignore it (televideo 925) */
+           // if cursor-left == backspace, ignore it (televideo 925)
            if (p != NULL
                    && (*p != Ctrl_H
                        || key_names[i][0] != 'k'
@@ -1758,7 +1758,7 @@ report_default_term(char_u *term)
     mch_errmsg("'\r\n");
     if (emsg_silent == 0)
     {
-       screen_start(); /* don't know where cursor is now */
+       screen_start(); // don't know where cursor is now
        out_flush();
        if (!is_not_a_term())
            ui_delay(2007L, TRUE);
@@ -1784,11 +1784,11 @@ set_termname(char_u *term)
     char       *error_msg = NULL;
     char_u     *bs_p, *del_p;
 
-    /* In silect mode (ex -s) we don't use the 'term' option. */
+    // In silect mode (ex -s) we don't use the 'term' option.
     if (silent_mode)
        return OK;
 
-    detected_8bit = FALSE;             /* reset 8-bit detection */
+    detected_8bit = FALSE;             // reset 8-bit detection
 
     if (term_is_builtin(term))
     {
@@ -1826,15 +1826,15 @@ set_termname(char_u *term)
            {
                if (!termcap_cleared)
                {
-                   clear_termoptions();        /* clear old options */
+                   clear_termoptions();        // clear old options
                    termcap_cleared = TRUE;
                }
 
                get_term_entries(&height, &width);
            }
        }
-       else        /* try == 0 || try == 2 */
-#endif /* HAVE_TGETENT */
+       else        // try == 0 || try == 2
+#endif // HAVE_TGETENT
        /*
         * Use builtin termcap
         */
@@ -1851,7 +1851,7 @@ set_termname(char_u *term)
             * search for 'term' in builtin_termcaps[]
             */
            termp = find_builtin_term(term);
-           if (termp->bt_string == NULL)       /* did not find it */
+           if (termp->bt_string == NULL)       // did not find it
            {
 #ifdef HAVE_TGETENT
                /*
@@ -1861,17 +1861,17 @@ set_termname(char_u *term)
                 * don't complain about not finding the term in the builtin
                 * termcap.
                 */
-               if (try == 0)                   /* try external one */
+               if (try == 0)                   // try external one
                    continue;
-               if (termcap_cleared)            /* found in external termcap */
+               if (termcap_cleared)            // found in external termcap
                    break;
 #endif
                report_term_error(error_msg, term);
 
-               /* when user typed :set term=xxx, quit here */
+               // when user typed :set term=xxx, quit here
                if (starting != NO_SCREEN)
                {
-                   screen_start();     /* don't know where cursor is now */
+                   screen_start();     // don't know where cursor is now
                    wait_return(TRUE);
                    return FAIL;
                }
@@ -1886,7 +1886,7 @@ set_termname(char_u *term)
            if (!termcap_cleared)
            {
 #endif
-               clear_termoptions();        /* clear old options */
+               clear_termoptions();        // clear old options
 #ifdef HAVE_TGETENT
                termcap_cleared = TRUE;
            }
@@ -1897,15 +1897,15 @@ set_termname(char_u *term)
            {
                out_flush();
                gui_init();
-               /* If starting the GUI failed, don't do any of the other
-                * things for this terminal */
+               // If starting the GUI failed, don't do any of the other
+               // things for this terminal
                if (!gui.in_use)
                    return FAIL;
 #ifdef HAVE_TGETENT
-               break;          /* don't try using external termcap */
+               break;          // don't try using external termcap
 #endif
            }
-#endif /* FEAT_GUI */
+#endif // FEAT_GUI
        }
 #ifdef HAVE_TGETENT
     }
@@ -1976,7 +1976,7 @@ set_termname(char_u *term)
        if (use_xterm_like_mouse(term))
        {
            if (use_xterm_mouse())
-               p = NULL;       /* keep existing value, might be "xterm2" */
+               p = NULL;       // keep existing value, might be "xterm2"
            else
                p = (char_u *)"xterm";
        }
@@ -1984,8 +1984,8 @@ set_termname(char_u *term)
        if (p != NULL)
        {
            set_option_value((char_u *)"ttym", 0L, p, 0);
-           /* Reset the WAS_SET flag, 'ttymouse' can be set to "sgr" or
-            * "xterm2" in check_termcode(). */
+           // Reset the WAS_SET flag, 'ttymouse' can be set to "sgr" or
+           // "xterm2" in check_termcode().
            reset_option_was_set((char_u *)"ttym");
        }
        if (p == NULL
@@ -1993,21 +1993,21 @@ set_termname(char_u *term)
                || gui.in_use
 #  endif
                )
-           check_mouse_termcode();     /* set mouse termcode anyway */
+           check_mouse_termcode();     // set mouse termcode anyway
     }
 #else
     set_mouse_termcode(KS_MOUSE, (char_u *)"\233M");
 #endif
 
 #ifdef USE_TERM_CONSOLE
-    /* DEFAULT_TERM indicates that it is the machine console. */
+    // DEFAULT_TERM indicates that it is the machine console.
     if (STRCMP(term, DEFAULT_TERM) != 0)
        term_console = FALSE;
     else
     {
        term_console = TRUE;
 # ifdef AMIGA
-       win_resize_on();        /* enable window resizing reports */
+       win_resize_on();        // enable window resizing reports
 # endif
     }
 #endif
@@ -2027,10 +2027,10 @@ set_termname(char_u *term)
        p_tf = TRUE;
 #endif
 
-    ttest(TRUE);       /* make sure we have a valid set of terminal codes */
+    ttest(TRUE);       // make sure we have a valid set of terminal codes
 
-    full_screen = TRUE;                /* we can use termcap codes from now on */
-    set_term_defaults();       /* use current values as defaults */
+    full_screen = TRUE;                // we can use termcap codes from now on
+    set_term_defaults();       // use current values as defaults
 #ifdef FEAT_TERMRESPONSE
     LOG_TR(("setting crv_status to STATUS_GET"));
     crv_status.tr_progress = STATUS_GET;       // Get terminal version later
@@ -2044,31 +2044,31 @@ set_termname(char_u *term)
      */
     if (starting != NO_SCREEN)
     {
-       starttermcap();         /* may change terminal mode */
-       setmouse();             /* may start using the mouse */
+       starttermcap();         // may change terminal mode
+       setmouse();             // may start using the mouse
 #ifdef FEAT_TITLE
-       maketitle();            /* may display window title */
+       maketitle();            // may display window title
 #endif
     }
 
-       /* display initial screen after ttest() checking. jw. */
+       // display initial screen after ttest() checking. jw.
     if (width <= 0 || height <= 0)
     {
-       /* termcap failed to report size */
-       /* set defaults, in case ui_get_shellsize() also fails */
+       // termcap failed to report size
+       // set defaults, in case ui_get_shellsize() also fails
        width = 80;
 #if defined(MSWIN)
-       height = 25;        /* console is often 25 lines */
+       height = 25;        // console is often 25 lines
 #else
-       height = 24;        /* most terminals are 24 lines */
+       height = 24;        // most terminals are 24 lines
 #endif
     }
-    set_shellsize(width, height, FALSE);       /* may change Rows */
+    set_shellsize(width, height, FALSE);       // may change Rows
     if (starting != NO_SCREEN)
     {
        if (scroll_region)
-           scroll_region_reset();              /* In case Rows changed */
-       check_map_keycodes();   /* check mappings for terminal codes used */
+           scroll_region_reset();              // In case Rows changed
+       check_map_keycodes();   // check mappings for terminal codes used
 
        {
            bufref_T    old_curbuf;
@@ -2107,15 +2107,15 @@ tgetent_error(char_u *tbuf, char_u *term)
     int            i;
 
     i = TGETENT(tbuf, term);
-    if (i < 0              /* -1 is always an error */
+    if (i < 0              // -1 is always an error
 # ifdef TGETENT_ZERO_ERR
-           || i == 0       /* sometimes zero is also an error */
+           || i == 0       // sometimes zero is also an error
 # endif
        )
     {
-       /* On FreeBSD tputs() gets a SEGV after a tgetent() which fails.  Call
-        * tgetent() with the always existing "dumb" entry to avoid a crash or
-        * hang. */
+       // On FreeBSD tputs() gets a SEGV after a tgetent() which fails.  Call
+       // tgetent() with the always existing "dumb" entry to avoid a crash or
+       // hang.
        (void)TGETENT(tbuf, "dumb");
 
        if (i < 0)
@@ -2146,7 +2146,7 @@ vim_tgetstr(char *s, char_u **pp)
        p = NULL;
     return (char_u *)p;
 }
-#endif /* HAVE_TGETENT */
+#endif // HAVE_TGETENT
 
 #if defined(HAVE_TGETENT) && (defined(UNIX) || defined(VMS) || defined(MACOS_X))
 /*
@@ -2157,8 +2157,8 @@ vim_tgetstr(char *s, char_u **pp)
  */
     void
 getlinecol(
-    long       *cp,    /* pointer to columns */
-    long       *rp)    /* pointer to rows */
+    long       *cp,    // pointer to columns
+    long       *rp)    // pointer to rows
 {
     char_u     tbuf[TBUFSZ];
 
@@ -2170,7 +2170,7 @@ getlinecol(
            *rp = tgetnum("li");
     }
 }
-#endif /* defined(HAVE_TGETENT) && defined(UNIX) */
+#endif // defined(HAVE_TGETENT) && defined(UNIX)
 
 /*
  * Get a string entry from the termcap and add it to the list of termcodes.
@@ -2204,14 +2204,14 @@ add_termcap_entry(char_u *name, int force)
        return gui_mch_haskey(name);
 #endif
 
-    if (!force && find_termcode(name) != NULL)     /* it's already there */
+    if (!force && find_termcode(name) != NULL)     // it's already there
        return OK;
 
     term = T_NAME;
-    if (term == NULL || *term == NUL)      /* 'term' not defined yet */
+    if (term == NULL || *term == NUL)      // 'term' not defined yet
        return FAIL;
 
-    if (term_is_builtin(term))             /* name starts with "builtin_" */
+    if (term_is_builtin(term))             // name starts with "builtin_"
     {
        term += 8;
 #ifdef HAVE_TGETENT
@@ -2239,7 +2239,7 @@ add_termcap_entry(char_u *name, int force)
         */
        {
            termp = find_builtin_term(term);
-           if (termp->bt_string != NULL)       /* found it */
+           if (termp->bt_string != NULL)       // found it
            {
                key = TERMCAP2KEY(name[0], name[1]);
                ++termp;
@@ -2403,7 +2403,7 @@ tgoto(char *cm, int x, int y)
     return buf;
 }
 
-#endif /* HAVE_TGETENT */
+#endif // HAVE_TGETENT
 
 /*
  * Set the terminal name and initialize the terminal options.
@@ -2416,7 +2416,7 @@ termcapinit(char_u *name)
     char_u     *term;
 
     if (name != NULL && *name == NUL)
-       name = NULL;        /* empty name is equal to no name */
+       name = NULL;        // empty name is equal to no name
     term = name;
 
 #ifdef __BEOS__
@@ -2438,7 +2438,7 @@ termcapinit(char_u *name)
        term = DEFAULT_TERM;
     set_string_option_direct((char_u *)"term", -1, term, OPT_FREE, 0);
 
-    /* Set the default terminal name. */
+    // Set the default terminal name.
     set_string_default("term", term);
     set_string_default("ttytype", term);
 
@@ -2472,7 +2472,7 @@ out_flush(void)
 
     if (out_pos != 0)
     {
-       /* set out_pos to 0 before ui_write, to avoid recursiveness */
+       // set out_pos to 0 before ui_write, to avoid recursiveness
        len = out_pos;
        out_pos = 0;
        ui_write(out_buf, len);
@@ -2485,8 +2485,8 @@ out_flush(void)
  */
     void
 out_flush_cursor(
-    int            force UNUSED,   /* when TRUE, update cursor even when not moved */
-    int            clear_selection UNUSED) /* clear selection under cursor */
+    int            force UNUSED,   // when TRUE, update cursor even when not moved
+    int            clear_selection UNUSED) // clear selection under cursor
 {
     mch_disable_flush();
     out_flush();
@@ -2533,13 +2533,13 @@ out_trash(void)
 out_char(unsigned c)
 {
 #if defined(UNIX) || defined(VMS) || defined(AMIGA) || defined(MACOS_X)
-    if (c == '\n')     /* turn LF into CR-LF (CRMOD doesn't seem to do this) */
+    if (c == '\n')     // turn LF into CR-LF (CRMOD doesn't seem to do this)
        out_char('\r');
 #endif
 
     out_buf[out_pos++] = c;
 
-    /* For testing we flush each time. */
+    // For testing we flush each time.
     if (out_pos >= OUT_SIZE || p_wd)
        out_flush();
 }
@@ -2596,7 +2596,7 @@ out_str_cf(char_u *s)
 #endif
 
 #ifdef FEAT_GUI
-       /* Don't use tputs() when GUI is used, ncurses crashes. */
+       // Don't use tputs() when GUI is used, ncurses crashes.
        if (gui.in_use)
        {
            out_str_nf(s);
@@ -2608,7 +2608,7 @@ out_str_cf(char_u *s)
 #ifdef HAVE_TGETENT
        for (p = s; *s; ++s)
        {
-           /* flush just before delay command */
+           // flush just before delay command
            if (*s == '$' && *(s + 1) == '<')
            {
                char_u save_c = *s;
@@ -2619,12 +2619,12 @@ out_str_cf(char_u *s)
                *s = save_c;
                out_flush();
 # ifdef ELAPSED_FUNC
-               /* Only sleep here if we can limit this happening in
-                * vim_beep(). */
+               // Only sleep here if we can limit this happening in
+               // vim_beep().
                p = vim_strchr(s, '>');
                if (p == NULL || duration <= 0)
                {
-                   /* can't parse the time, don't sleep here */
+                   // can't parse the time, don't sleep here
                    p = s;
                }
                else
@@ -2633,7 +2633,7 @@ out_str_cf(char_u *s)
                    do_sleep(duration);
                }
 # else
-               /* Rely on the terminal library to sleep. */
+               // Rely on the terminal library to sleep.
                p = s;
 # endif
                break;
@@ -2645,7 +2645,7 @@ out_str_cf(char_u *s)
            out_char_nf(*s++);
 #endif
 
-       /* For testing we write one string at a time. */
+       // For testing we write one string at a time.
        if (p_wd)
            out_flush();
     }
@@ -2663,14 +2663,14 @@ out_str(char_u *s)
     if (s != NULL && *s)
     {
 #ifdef FEAT_GUI
-       /* Don't use tputs() when GUI is used, ncurses crashes. */
+       // Don't use tputs() when GUI is used, ncurses crashes.
        if (gui.in_use)
        {
            out_str_nf(s);
            return;
        }
 #endif
-       /* avoid terminal strings being split up */
+       // avoid terminal strings being split up
        if (out_pos > OUT_SIZE - MAX_ESC_SEQ_LEN)
            out_flush();
 #ifdef HAVE_TGETENT
@@ -2680,7 +2680,7 @@ out_str(char_u *s)
            out_char_nf(*s++);
 #endif
 
-       /* For testing we write one string at a time. */
+       // For testing we write one string at a time.
        if (p_wd)
            out_flush();
     }
@@ -2717,7 +2717,7 @@ term_delete_lines(int line_count)
     void
 term_set_winpos(int x, int y)
 {
-    /* Can't handle a negative value here */
+    // Can't handle a negative value here
     if (x < 0)
        x = 0;
     if (y < 0)
@@ -2800,7 +2800,7 @@ term_get_winpos(int *x, int *y, varnumber_T timeout)
     OUT_STR(T_CGP);
     out_flush();
 
-    /* Try reading the result for "timeout" msec. */
+    // Try reading the result for "timeout" msec.
     while (count++ <= timeout / 10 && !got_int)
     {
        (void)vpeekc_nomap();
@@ -2812,14 +2812,14 @@ term_get_winpos(int *x, int *y, varnumber_T timeout)
        }
        ui_delay(10L, FALSE);
     }
-    /* Do not reset "did_request_winpos", if we timed out the response might
-     * still come later and we must consume it. */
+    // Do not reset "did_request_winpos", if we timed out the response might
+    // still come later and we must consume it.
 
     winpos_x = prev_winpos_x;
     winpos_y = prev_winpos_y;
     if (timeout < 10 && prev_winpos_y >= 0 && prev_winpos_x >= 0)
     {
-       /* Polling: return previous values if we have them. */
+       // Polling: return previous values if we have them.
        *x = winpos_x;
        *y = winpos_y;
        return OK;
@@ -2842,11 +2842,11 @@ term_color(char_u *s, int n)
 {
     char       buf[20];
     int                i = *s == CSI ? 1 : 2;
-               /* index in s[] just after <Esc>[ or CSI */
+               // index in s[] just after <Esc>[ or CSI
 
-    /* Special handling of 16 colors, because termcap can't handle it */
-    /* Also accept "\e[3%dm" for TERMINFO, it is sometimes used */
-    /* Also accept CSI instead of <Esc>[ */
+    // Special handling of 16 colors, because termcap can't handle it
+    // Also accept "\e[3%dm" for TERMINFO, it is sometimes used
+    // Also accept CSI instead of <Esc>[
     if (n >= 8 && t_colors >= 16
              && ((s[0] == ESC && s[1] == '[')
 #if defined(FEAT_VTP) && defined(FEAT_TERMGUICOLORS)
@@ -2881,7 +2881,7 @@ term_color(char_u *s, int n)
     void
 term_fg_color(int n)
 {
-    /* Use "AF" termcap entry if present, "Sf" entry otherwise */
+    // Use "AF" termcap entry if present, "Sf" entry otherwise
     if (*T_CAF)
        term_color(T_CAF, n);
     else if (*T_CSF)
@@ -2891,7 +2891,7 @@ term_fg_color(int n)
     void
 term_bg_color(int n)
 {
-    /* Use "AB" termcap entry if present, "Sb" entry otherwise */
+    // Use "AB" termcap entry if present, "Sb" entry otherwise
     if (*T_CAB)
        term_color(T_CAB, n);
     else if (*T_CSB)
@@ -2914,7 +2914,7 @@ term_bg_color(int n)
 term_bg_default(void)
 {
 #if defined(MSWIN)
-    /* DOS console is nearly always black */
+    // DOS console is nearly always black
     return (char_u *)"dark";
 #else
     char_u     *p;
@@ -3026,7 +3026,7 @@ ttest(int pairs)
 {
     char_u *env_colors;
 
-    check_options();               /* make sure no options are NULL */
+    check_options();               // make sure no options are NULL
 
     /*
      * MUST have "cm": cursor motion.
@@ -3047,7 +3047,7 @@ ttest(int pairs)
        /*
         * optional pairs
         */
-       /* TP goes to normal mode for TI (invert) and TB (bold) */
+       // TP goes to normal mode for TI (invert) and TB (bold)
        if (*T_ME == NUL)
            T_ME = T_MR = T_MD = T_MB = empty_option;
        if (*T_SO == NUL || *T_SE == NUL)
@@ -3057,11 +3057,11 @@ ttest(int pairs)
        if (*T_CZH == NUL || *T_CZR == NUL)
            T_CZH = T_CZR = empty_option;
 
-       /* T_VE is needed even though T_VI is not defined */
+       // T_VE is needed even though T_VI is not defined
        if (*T_VE == NUL)
            T_VI = empty_option;
 
-       /* if 'mr' or 'me' is not defined use 'so' and 'se' */
+       // if 'mr' or 'me' is not defined use 'so' and 'se'
        if (*T_ME == NUL)
        {
            T_ME = T_SE;
@@ -3069,7 +3069,7 @@ ttest(int pairs)
            T_MD = T_SO;
        }
 
-       /* if 'so' or 'se' is not defined use 'mr' and 'me' */
+       // if 'so' or 'se' is not defined use 'mr' and 'me'
        if (*T_SO == NUL)
        {
            T_SE = T_ME;
@@ -3079,7 +3079,7 @@ ttest(int pairs)
                T_SO = T_MR;
        }
 
-       /* if 'ZH' or 'ZR' is not defined use 'mr' and 'me' */
+       // if 'ZH' or 'ZR' is not defined use 'mr' and 'me'
        if (*T_CZH == NUL)
        {
            T_CZR = T_ME;
@@ -3089,30 +3089,30 @@ ttest(int pairs)
                T_CZH = T_MR;
        }
 
-       /* "Sb" and "Sf" come in pairs */
+       // "Sb" and "Sf" come in pairs
        if (*T_CSB == NUL || *T_CSF == NUL)
        {
            T_CSB = empty_option;
            T_CSF = empty_option;
        }
 
-       /* "AB" and "AF" come in pairs */
+       // "AB" and "AF" come in pairs
        if (*T_CAB == NUL || *T_CAF == NUL)
        {
            T_CAB = empty_option;
            T_CAF = empty_option;
        }
 
-       /* if 'Sb' and 'AB' are not defined, reset "Co" */
+       // if 'Sb' and 'AB' are not defined, reset "Co"
        if (*T_CSB == NUL && *T_CAB == NUL)
            free_one_termoption(T_CCO);
 
-       /* Set 'weirdinvert' according to value of 't_xs' */
+       // Set 'weirdinvert' according to value of 't_xs'
        p_wiv = (*T_XS != NUL);
     }
     need_gather = TRUE;
 
-    /* Set t_colors to the value of $COLORS or t_Co. */
+    // Set t_colors to the value of $COLORS or t_Co.
     t_colors = atoi((char *)T_CCO);
     env_colors = mch_getenv((char_u *)"COLORS");
     if (env_colors != NULL && isdigit(*env_colors))
@@ -3192,19 +3192,19 @@ get_bytes_from_buf(char_u *buf, char_u *bytes, int num_bytes)
            return -1;
        if (c == K_SPECIAL)
        {
-           if (buf[len] == NUL || buf[len + 1] == NUL)     /* cannot happen? */
+           if (buf[len] == NUL || buf[len + 1] == NUL)     // cannot happen?
                return -1;
            if (buf[len++] == (int)KS_ZERO)
                c = NUL;
-           /* else it should be KS_SPECIAL; when followed by KE_FILLER c is
-            * K_SPECIAL, or followed by KE_CSI and c must be CSI. */
+           // else it should be KS_SPECIAL; when followed by KE_FILLER c is
+           // K_SPECIAL, or followed by KE_CSI and c must be CSI.
            if (buf[len++] == (int)KE_CSI)
                c = CSI;
        }
        else if (c == CSI && buf[len] == KS_EXTRA
                                               && buf[len + 1] == (int)KE_CSI)
-           /* CSI is stored as CSI KS_SPECIAL KE_CSI to avoid confusion with
-            * the start of a special key, see add_to_input_buf_csi(). */
+           // CSI is stored as CSI KS_SPECIAL KE_CSI to avoid confusion with
+           // the start of a special key, see add_to_input_buf_csi().
            len += 2;
        bytes[i] = c;
     }
@@ -3218,7 +3218,7 @@ get_bytes_from_buf(char_u *buf, char_u *bytes, int num_bytes)
     void
 check_shellsize(void)
 {
-    if (Rows < min_rows())     /* need room for one window and command line */
+    if (Rows < min_rows())     // need room for one window and command line
        Rows = min_rows();
     limit_screen_size();
 }
@@ -3250,16 +3250,16 @@ win_new_shellsize(void)
        ui_new_shellsize();
     if (old_Rows != Rows)
     {
-       /* if 'window' uses the whole screen, keep it using that */
+       // if 'window' uses the whole screen, keep it using that
        if (p_window == old_Rows - 1 || old_Rows == 0)
            p_window = Rows - 1;
        old_Rows = Rows;
-       shell_new_rows();       /* update window sizes */
+       shell_new_rows();       // update window sizes
     }
     if (old_Columns != Columns)
     {
        old_Columns = Columns;
-       shell_new_columns();    /* update window sizes */
+       shell_new_columns();    // update window sizes
     }
 }
 
@@ -3285,8 +3285,8 @@ shell_resized_check(void)
 
     if (!exiting
 #ifdef FEAT_GUI
-           /* Do not get the size when executing a shell command during
-            * startup. */
+           // Do not get the size when executing a shell command during
+           // startup.
            && !gui.starting
 #endif
            )
@@ -3317,7 +3317,7 @@ set_shellsize(int width, int height, int mustset)
     if (busy)
        return;
 
-    if (width < 0 || height < 0)    /* just checking... */
+    if (width < 0 || height < 0)    // just checking...
        return;
 
     if (State == HITRETURN || State == SETWSIZE)
@@ -3331,18 +3331,17 @@ set_shellsize(int width, int height, int mustset)
        // resizing while in update_screen() may cause a crash
        return;
 
-    /* curwin->w_buffer can be NULL when we are closing a window and the
-     * buffer has already been closed and removing a scrollbar causes a resize
-     * event. Don't resize then, it will happen after entering another buffer.
-     */
+    // curwin->w_buffer can be NULL when we are closing a window and the
+    // buffer has already been closed and removing a scrollbar causes a resize
+    // event. Don't resize then, it will happen after entering another buffer.
     if (curwin->w_buffer == NULL)
        return;
 
     ++busy;
 
 #ifdef AMIGA
-    out_flush();           /* must do this before mch_get_shellsize() for
-                              some obscure reason */
+    out_flush();           // must do this before mch_get_shellsize() for
+                           // some obscure reason
 #endif
 
     if (mustset || (ui_get_shellsize() == FAIL && height != 0))
@@ -3355,14 +3354,14 @@ set_shellsize(int width, int height, int mustset)
     else
        check_shellsize();
 
-    /* The window layout used to be adjusted here, but it now happens in
-     * screenalloc() (also invoked from screenclear()).  That is because the
-     * "busy" check above may skip this, but not screenalloc(). */
+    // The window layout used to be adjusted here, but it now happens in
+    // screenalloc() (also invoked from screenclear()).  That is because the
+    // "busy" check above may skip this, but not screenalloc().
 
     if (State != ASKMORE && State != EXTERNCMD && State != CONFIRM)
        screenclear();
     else
-       screen_start();     /* don't know where cursor is now */
+       screen_start();     // don't know where cursor is now
 
     if (starting != NO_SCREEN)
     {
@@ -3410,7 +3409,7 @@ set_shellsize(int width, int height, int mustset)
                    setcursor();
            }
        }
-       cursor_on();        /* redrawing may have switched it off */
+       cursor_on();        // redrawing may have switched it off
     }
     out_flush();
     --busy;
@@ -3424,7 +3423,7 @@ set_shellsize(int width, int height, int mustset)
 settmode(int tmode)
 {
 #ifdef FEAT_GUI
-    /* don't set the term where gvim was started to any mode */
+    // don't set the term where gvim was started to any mode
     if (gui.in_use)
        return;
 #endif
@@ -3482,21 +3481,21 @@ starttermcap(void)
 {
     if (full_screen && !termcap_active)
     {
-       out_str(T_TI);                  /* start termcap mode */
-       out_str(T_CTI);                 /* start "raw" mode */
-       out_str(T_KS);                  /* start "keypad transmit" mode */
-       out_str(T_BE);                  /* enable bracketed paste mode */
+       out_str(T_TI);                  // start termcap mode
+       out_str(T_CTI);                 // start "raw" mode
+       out_str(T_KS);                  // start "keypad transmit" mode
+       out_str(T_BE);                  // enable bracketed paste mode
        out_flush();
        termcap_active = TRUE;
-       screen_start();                 /* don't know where cursor is now */
+       screen_start();                 // don't know where cursor is now
 #ifdef FEAT_TERMRESPONSE
 # ifdef FEAT_GUI
        if (!gui.in_use && !gui.starting)
 # endif
        {
            may_req_termresponse();
-           /* Immediately check for a response.  If t_Co changes, we don't
-            * want to redraw with wrong colors first. */
+           // Immediately check for a response.  If t_Co changes, we don't
+           // want to redraw with wrong colors first.
            if (crv_status.tr_progress == STATUS_SENT)
                check_for_codes_from_term();
        }
@@ -3529,19 +3528,19 @@ stoptermcap(void)
                    tcflush(fileno(stdin), TCIFLUSH);
 # endif
            }
-           /* Check for termcodes first, otherwise an external program may
-            * get them. */
+           // Check for termcodes first, otherwise an external program may
+           // get them.
            check_for_codes_from_term();
        }
 #endif
-       out_str(T_BD);                  /* disable bracketed paste mode */
-       out_str(T_KE);                  /* stop "keypad transmit" mode */
+       out_str(T_BD);                  // disable bracketed paste mode
+       out_str(T_KE);                  // stop "keypad transmit" mode
        out_flush();
        termcap_active = FALSE;
-       cursor_on();                    /* just in case it is still off */
-       out_str(T_CTE);                 /* stop "raw" mode */
-       out_str(T_TE);                  /* stop termcap mode */
-       screen_start();                 /* don't know where cursor is now */
+       cursor_on();                    // just in case it is still off
+       out_str(T_CTE);                 // stop "raw" mode
+       out_str(T_TE);                  // stop termcap mode
+       screen_start();                 // don't know where cursor is now
        out_flush();
     }
 }
@@ -3572,8 +3571,8 @@ may_req_termresponse(void)
        LOG_TR(("Sending CRV request"));
        out_str(T_CRV);
        termrequest_sent(&crv_status);
-       /* check for the characters now, otherwise they might be eaten by
-        * get_keystroke() */
+       // check for the characters now, otherwise they might be eaten by
+       // get_keystroke()
        out_flush();
        (void)vpeekc_nomap();
     }
@@ -3600,8 +3599,8 @@ may_req_ambiguous_char_width(void)
        char_u  buf[16];
 
        LOG_TR(("Sending U7 request"));
-       /* Do this in the second row.  In the first row the returned sequence
-        * may be CSI 1;2R, which is the same as <S-F3>. */
+       // Do this in the second row.  In the first row the returned sequence
+       // may be CSI 1;2R, which is the same as <S-F3>.
        term_windgoto(1, 0);
        buf[mb_char2bytes(0x25bd, buf)] = 0;
        out_str(buf);
@@ -3609,18 +3608,18 @@ may_req_ambiguous_char_width(void)
        termrequest_sent(&u7_status);
        out_flush();
 
-       /* This overwrites a few characters on the screen, a redraw is needed
-        * after this. Clear them out for now. */
+       // This overwrites a few characters on the screen, a redraw is needed
+       // after this. Clear them out for now.
        screen_stop_highlight();
        term_windgoto(1, 0);
        out_str((char_u *)"  ");
        term_windgoto(0, 0);
 
-       /* Need to reset the known cursor position. */
+       // Need to reset the known cursor position.
        screen_start();
 
-       /* check for the characters now, otherwise they might be eaten by
-        * get_keystroke() */
+       // check for the characters now, otherwise they might be eaten by
+       // get_keystroke()
        out_flush();
        (void)vpeekc_nomap();
     }
@@ -3638,7 +3637,7 @@ may_req_bg_color(void)
        int didit = FALSE;
 
 # ifdef FEAT_TERMINAL
-       /* Only request foreground if t_RF is set. */
+       // Only request foreground if t_RF is set.
        if (rfg_status.tr_progress == STATUS_GET && *T_RFG != NUL)
        {
            LOG_TR(("Sending FG request"));
@@ -3648,7 +3647,7 @@ may_req_bg_color(void)
        }
 # endif
 
-       /* Only request background if t_RB is set. */
+       // Only request background if t_RB is set.
        if (rbg_status.tr_progress == STATUS_GET && *T_RBG != NUL)
        {
            LOG_TR(("Sending BG request"));
@@ -3659,8 +3658,8 @@ may_req_bg_color(void)
 
        if (didit)
        {
-           /* check for the characters now, otherwise they might be eaten by
-            * get_keystroke() */
+           // check for the characters now, otherwise they might be eaten by
+           // get_keystroke()
            out_flush();
            (void)vpeekc_nomap();
        }
@@ -3716,7 +3715,7 @@ scroll_start(void)
     {
        out_str(T_VS);
        out_str(T_CVS);
-       screen_start();         /* don't know where cursor is now */
+       screen_start();         // don't know where cursor is now
     }
 }
 
@@ -3750,7 +3749,7 @@ cursor_off(void)
 {
     if (full_screen && !cursor_is_off)
     {
-       out_str(T_VI);      /* disable cursor */
+       out_str(T_VI);      // disable cursor
        cursor_is_off = TRUE;
     }
 }
@@ -3765,13 +3764,13 @@ term_cursor_mode(int forced)
     static int showing_mode = -1;
     char_u *p;
 
-    /* Only do something when redrawing the screen and we can restore the
-     * mode. */
+    // Only do something when redrawing the screen and we can restore the
+    // mode.
     if (!full_screen || *T_CEI == NUL)
     {
 # ifdef FEAT_TERMRESPONSE
        if (forced && initial_cursor_shape > 0)
-           /* Restore to initial values. */
+           // Restore to initial values.
            term_cursor_shape(initial_cursor_shape, initial_cursor_blink);
 # endif
        return;
@@ -3782,9 +3781,9 @@ term_cursor_mode(int forced)
        if (forced || showing_mode != REPLACE)
        {
            if (*T_CSR != NUL)
-               p = T_CSR;      /* Replace mode cursor */
+               p = T_CSR;      // Replace mode cursor
            else
-               p = T_CSI;      /* fall back to Insert mode cursor */
+               p = T_CSI;      // fall back to Insert mode cursor
            if (*p != NUL)
            {
                out_str(p);
@@ -3796,13 +3795,13 @@ term_cursor_mode(int forced)
     {
        if ((forced || showing_mode != INSERT) && *T_CSI != NUL)
        {
-           out_str(T_CSI);         /* Insert mode cursor */
+           out_str(T_CSI);         // Insert mode cursor
            showing_mode = INSERT;
        }
     }
     else if (forced || showing_mode != NORMAL)
     {
-       out_str(T_CEI);             /* non-Insert mode cursor */
+       out_str(T_CEI);             // non-Insert mode cursor
        showing_mode = NORMAL;
     }
 }
@@ -3848,9 +3847,9 @@ term_cursor_shape(int shape, int blink)
     {
        int do_blink = blink;
 
-       /* t_SH is empty: try setting just the blink state.
-        * The blink flags are XORed together, if the initial blinking from
-        * style and shape differs, we need to invert the flag here. */
+       // t_SH is empty: try setting just the blink state.
+       // The blink flags are XORed together, if the initial blinking from
+       // style and shape differs, we need to invert the flag here.
        if (blink_state_is_inverted())
            do_blink = !blink;
 
@@ -3882,7 +3881,7 @@ scroll_region_set(win_T *wp, int off)
     if (*T_CSV != NUL && wp->w_width != Columns)
        OUT_STR(tgoto((char *)T_CSV, wp->w_wincol + wp->w_width - 1,
                                                               wp->w_wincol));
-    screen_start();                /* don't know where cursor is now */
+    screen_start();                // don't know where cursor is now
 }
 
 /*
@@ -3894,7 +3893,7 @@ scroll_region_reset(void)
     OUT_STR(tgoto((char *)T_CS, (int)Rows - 1, 0));
     if (*T_CSV != NUL)
        OUT_STR(tgoto((char *)T_CSV, (int)Columns - 1, 0));
-    screen_start();                /* don't know where cursor is now */
+    screen_start();                // don't know where cursor is now
 }
 
 
@@ -3904,14 +3903,14 @@ scroll_region_reset(void)
 
 static struct termcode
 {
-    char_u  name[2];       /* termcap name of entry */
-    char_u  *code;         /* terminal code (in allocated memory) */
-    int            len;            /* STRLEN(code) */
-    int            modlen;         /* length of part before ";*~". */
+    char_u  name[2];       // termcap name of entry
+    char_u  *code;         // terminal code (in allocated memory)
+    int            len;            // STRLEN(code)
+    int            modlen;         // length of part before ";*~".
 } *termcodes = NULL;
 
-static int  tc_max_len = 0; /* number of entries that termcodes[] can hold */
-static int  tc_len = 0;            /* current number of entries in termcodes[] */
+static int  tc_max_len = 0; // number of entries that termcodes[] can hold
+static int  tc_len = 0;            // current number of entries in termcodes[]
 
 static int termcode_star(char_u *code, int len);
 
@@ -3926,11 +3925,11 @@ clear_termcodes(void)
 #ifdef HAVE_TGETENT
     BC = (char *)empty_option;
     UP = (char *)empty_option;
-    PC = NUL;                  /* set pad character to NUL */
+    PC = NUL;                  // set pad character to NUL
     ospeed = 0;
 #endif
 
-    need_gather = TRUE;                /* need to fill termleader[] */
+    need_gather = TRUE;                // need to fill termleader[]
 }
 
 #define ATC_FROM_TERM 55
@@ -3968,7 +3967,7 @@ add_termcode(char_u *name, char_u *string, int flags)
     if (s == NULL)
        return;
 
-    /* Change leading <Esc>[ to CSI, change <Esc>O to <M-O>. */
+    // Change leading <Esc>[ to CSI, change <Esc>O to <M-O>.
     if (flags != 0 && flags != ATC_FROM_TERM && term_7to8bit(string) != 0)
     {
        STRMOVE(s, s + 1);
@@ -3990,7 +3989,7 @@ add_termcode(char_u *name, char_u *string, int flags)
 
     len = (int)STRLEN(s);
 
-    need_gather = TRUE;                /* need to fill termleader[] */
+    need_gather = TRUE;                // need to fill termleader[]
 
     /*
      * need to make space for more entries
@@ -4031,21 +4030,21 @@ add_termcode(char_u *name, char_u *string, int flags)
                if (flags == ATC_FROM_TERM && (j = termcode_star(
                                    termcodes[i].code, termcodes[i].len)) > 0)
                {
-                   /* Don't replace ESC[123;*X or ESC O*X with another when
-                    * invoked from got_code_from_term(). */
+                   // Don't replace ESC[123;*X or ESC O*X with another when
+                   // invoked from got_code_from_term().
                    if (len == termcodes[i].len - j
                            && STRNCMP(s, termcodes[i].code, len - 1) == 0
                            && s[len - 1]
                                   == termcodes[i].code[termcodes[i].len - 1])
                    {
-                       /* They are equal but for the ";*": don't add it. */
+                       // They are equal but for the ";*": don't add it.
                        vim_free(s);
                        return;
                    }
                }
                else
                {
-                   /* Replace old code. */
+                   // Replace old code.
                    vim_free(termcodes[i].code);
                    --tc_len;
                    break;
@@ -4065,8 +4064,8 @@ add_termcode(char_u *name, char_u *string, int flags)
     termcodes[i].code = s;
     termcodes[i].len = len;
 
-    /* For xterm we recognize special codes like "ESC[42;*X" and "ESC O*X" that
-     * accept modifiers. */
+    // For xterm we recognize special codes like "ESC[42;*X" and "ESC O*X" that
+    // accept modifiers.
     termcodes[i].modlen = 0;
     j = termcode_star(s, len);
     if (j > 0)
@@ -4082,7 +4081,7 @@ add_termcode(char_u *name, char_u *string, int flags)
     static int
 termcode_star(char_u *code, int len)
 {
-    /* Shortest is <M-O>*X.  With ; shortest is <CSI>1;*X */
+    // Shortest is <M-O>*X.  With ; shortest is <CSI>1;*X
     if (len >= 3 && code[len - 2] == '*')
     {
        if (len >= 5 && code[len - 3] == ';')
@@ -4126,10 +4125,10 @@ del_termcode(char_u *name)
 {
     int            i;
 
-    if (termcodes == NULL)     /* nothing there yet */
+    if (termcodes == NULL)     // nothing there yet
        return;
 
-    need_gather = TRUE;                /* need to fill termleader[] */
+    need_gather = TRUE;                // need to fill termleader[]
 
     for (i = 0; i < tc_len; ++i)
        if (termcodes[i].name[0] == name[0] && termcodes[i].name[1] == name[1])
@@ -4137,7 +4136,7 @@ del_termcode(char_u *name)
            del_termcode_idx(i);
            return;
        }
-    /* not found. Give error message? */
+    // not found. Give error message?
 }
 
     static void
@@ -4162,7 +4161,7 @@ switch_to_8bit(void)
     int                i;
     int                c;
 
-    /* Only need to do something when not already using 8-bit codes. */
+    // Only need to do something when not already using 8-bit codes.
     if (!term_is_8bit(T_NAME))
     {
        for (i = 0; i < tc_len; ++i)
@@ -4174,7 +4173,7 @@ switch_to_8bit(void)
                termcodes[i].code[0] = c;
            }
        }
-       need_gather = TRUE;             /* need to fill termleader[] */
+       need_gather = TRUE;             // need to fill termleader[]
     }
     detected_8bit = TRUE;
     LOG_TR(("Switching to 8 bit"));
@@ -4336,7 +4335,7 @@ check_termcode(
 {
     char_u     *tp;
     char_u     *p;
-    int                slen = 0;       /* init for GCC */
+    int                slen = 0;       // init for GCC
     int                modslen;
     int                len;
     int                retval = 0;
@@ -4374,7 +4373,7 @@ check_termcode(
            if (offset >= typebuf.tb_len)
                break;
            tp = typebuf.tb_buf + typebuf.tb_off + offset;
-           len = typebuf.tb_len - offset;      /* length of the input */
+           len = typebuf.tb_len - offset;      // length of the input
        }
        else
        {
@@ -4390,7 +4389,7 @@ check_termcode(
         */
        if (*tp == K_SPECIAL)
        {
-           offset += 2;        /* there are always 2 extra characters */
+           offset += 2;        // there are always 2 extra characters
            continue;
        }
 
@@ -4412,9 +4411,9 @@ check_termcode(
        if (*tp == ESC && !p_ek && (State & INSERT))
            continue;
 
-       key_name[0] = NUL;      /* no key name found yet */
-       key_name[1] = NUL;      /* no key name found yet */
-       modifiers = 0;          /* no modifiers yet */
+       key_name[0] = NUL;      // no key name found yet
+       key_name[1] = NUL;      // no key name found yet
+       modifiers = 0;          // no modifiers yet
 
 #ifdef FEAT_GUI
        if (gui.in_use)
@@ -4422,17 +4421,17 @@ check_termcode(
            /*
             * GUI special key codes are all of the form [CSI xx].
             */
-           if (*tp == CSI)         /* Special key from GUI */
+           if (*tp == CSI)         // Special key from GUI
            {
                if (len < 3)
-                   return -1;      /* Shouldn't happen */
+                   return -1;      // Shouldn't happen
                slen = 3;
                key_name[0] = tp[1];
                key_name[1] = tp[2];
            }
        }
        else
-#endif /* FEAT_GUI */
+#endif // FEAT_GUI
        {
            for (idx = 0; idx < tc_len; ++idx)
            {
@@ -4449,8 +4448,8 @@ check_termcode(
                if (STRNCMP(termcodes[idx].code, tp,
                                     (size_t)(slen > len ? len : slen)) == 0)
                {
-                   if (len < slen)             /* got a partial sequence */
-                       return -1;              /* need to get more chars */
+                   if (len < slen)             // got a partial sequence
+                       return -1;              // need to get more chars
 
                    /*
                     * When found a keypad key, check if there is another key
@@ -4493,13 +4492,13 @@ check_termcode(
                    {
                        int         n;
 
-                       if (len <= modslen)     /* got a partial sequence */
-                           return -1;          /* need to get more chars */
+                       if (len <= modslen)     // got a partial sequence
+                           return -1;          // need to get more chars
 
                        if (tp[modslen] == termcodes[idx].code[slen - 1])
-                           slen = modslen + 1; /* no modifiers */
+                           slen = modslen + 1; // no modifiers
                        else if (tp[modslen] != ';' && modslen == slen - 3)
-                           continue;   /* no match */
+                           continue;   // no match
                        else
                        {
                            // Skip over the digits, the final char must
@@ -4509,10 +4508,10 @@ check_termcode(
                                       || tp[j] == '-' || tp[j] == ';'); ++j)
                                ;
                            ++j;
-                           if (len < j)        /* got a partial sequence */
-                               return -1;      /* need to get more chars */
+                           if (len < j)        // got a partial sequence
+                               return -1;      // need to get more chars
                            if (tp[j - 1] != termcodes[idx].code[slen - 1])
-                               continue;       /* no match */
+                               continue;       // no match
 
                            modifiers_start = tp + slen - 2;
 
@@ -4532,9 +4531,9 @@ check_termcode(
 
 #ifdef FEAT_TERMRESPONSE
        if (key_name[0] == NUL
-           /* Mouse codes of DEC and pterm start with <ESC>[.  When
-            * detecting the start of these mouse codes they might as well be
-            * another key code or terminal response. */
+           // Mouse codes of DEC and pterm start with <ESC>[.  When
+           // detecting the start of these mouse codes they might as well be
+           // another key code or terminal response.
 # ifdef FEAT_MOUSE_DEC
            || key_name[0] == KS_DEC_MOUSE
 # endif
@@ -4714,7 +4713,7 @@ not_enough:
                            // 256, libvterm supports even more.
                            if (mch_getenv((char_u *)"COLORS") == NULL)
                                may_adjust_color_count(256);
-                           /* Libvterm can handle SGR mouse reporting. */
+                           // Libvterm can handle SGR mouse reporting.
                            if (!option_was_set((char_u *)"ttym"))
                                set_option_value((char_u *)"ttym", 0L,
                                                           (char_u *)"sgr", 0);
@@ -4915,18 +4914,17 @@ not_enough:
                // user can't create a map for it.
            }
 
-           /* Check for fore/background color response from the terminal:
-            *
-            *       {lead}{code};rgb:{rrrr}/{gggg}/{bbbb}{tail}
-            * or    {lead}{code};rgb:{rr}/{gg}/{bb}{tail}
-            *
-            * {code} is 10 for foreground, 11 for background
-            * {lead} can be <Esc>] or OSC
-            * {tail} can be '\007', <Esc>\ or STERM.
-            *
-            * Consume any code that starts with "{lead}11;", it's also
-            * possible that "rgba" is following.
-            */
+           // Check for fore/background color response from the terminal:
+           //
+           //       {lead}{code};rgb:{rrrr}/{gggg}/{bbbb}{tail}
+           // or    {lead}{code};rgb:{rr}/{gg}/{bb}{tail}
+           //
+           // {code} is 10 for foreground, 11 for background
+           // {lead} can be <Esc>] or OSC
+           // {tail} can be '\007', <Esc>\ or STERM.
+           //
+           // Consume any code that starts with "{lead}11;", it's also
+           // possible that "rgba" is following.
            else if ((*T_RBG != NUL || *T_RFG != NUL)
                        && ((tp[0] == ESC && len >= 2 && tp[1] == ']')
                            || tp[0] == OSC))
@@ -4935,7 +4933,7 @@ not_enough:
                if (len >= j + 3 && (argp[0] != '1'
                                         || (argp[1] != '1' && argp[1] != '0')
                                         || argp[2] != ';'))
-                 i = 0; /* no match */
+                 i = 0; // no match
                else
                  for (i = j; i < len; ++i)
                    if (tp[i] == '\007' || (tp[0] == OSC ? tp[i] == STERM
@@ -4974,7 +4972,7 @@ not_enough:
                                if (!option_was_set((char_u *)"bg")
                                              && STRCMP(p_bg, new_bg_val) != 0)
                                {
-                                   /* value differs, apply it */
+                                   // value differs, apply it
                                    set_option_value((char_u *)"bg", 0L,
                                                      (char_u *)new_bg_val, 0);
                                    reset_option_was_set((char_u *)"bg");
@@ -4993,7 +4991,7 @@ not_enough:
 # endif
                        }
 
-                       /* got finished code: consume it */
+                       // got finished code: consume it
                        key_name[0] = (int)KS_EXTRA;
                        key_name[1] = (int)KE_IGNORE;
                        slen = i + 1 + (tp[i] == ESC);
@@ -5010,21 +5008,20 @@ not_enough:
                }
            }
 
-           /* Check for key code response from xterm:
-            * {lead}{flag}+r<hex bytes><{tail}
-            *
-            * {lead} can be <Esc>P or DCS
-            * {flag} can be '0' or '1'
-            * {tail} can be Esc>\ or STERM
-            *
-            * Check for cursor shape response from xterm:
-            * {lead}1$r<digit> q{tail}
-            *
-            * {lead} can be <Esc>P or DCS
-            * {tail} can be <Esc>\ or STERM
-            *
-            * Consume any code that starts with "{lead}.+r" or "{lead}.$r".
-            */
+           // Check for key code response from xterm:
+           // {lead}{flag}+r<hex bytes><{tail}
+           //
+           // {lead} can be <Esc>P or DCS
+           // {flag} can be '0' or '1'
+           // {tail} can be Esc>\ or STERM
+           //
+           // Check for cursor shape response from xterm:
+           // {lead}1$r<digit> q{tail}
+           //
+           // {lead} can be <Esc>P or DCS
+           // {tail} can be <Esc>\ or STERM
+           //
+           // Consume any code that starts with "{lead}.+r" or "{lead}.$r".
            else if ((check_for_codes || rcs_status.tr_progress == STATUS_SENT)
                    && ((tp[0] == ESC && len >= 2 && tp[1] == 'P')
                        || tp[0] == DCS))
@@ -5094,8 +5091,8 @@ not_enough:
 
                if (i == len)
                {
-                   /* These codes arrive many together, each code can be
-                    * truncated at any point. */
+                   // These codes arrive many together, each code can be
+                   // truncated at any point.
                    LOG_TR(("not enough characters for XT"));
                    return -1;
                }
@@ -5104,9 +5101,9 @@ not_enough:
 #endif
 
        if (key_name[0] == NUL)
-           continue;       /* No match at this position, try next one */
+           continue;       // No match at this position, try next one
 
-       /* We only get here when we have a complete termcode match */
+       // We only get here when we have a complete termcode match
 
 #ifdef FEAT_GUI
        /*
@@ -5193,8 +5190,8 @@ not_enough:
            current_menu = (vimmenu_T *)val;
            slen += num_bytes;
 
-           /* The menu may have been deleted right after it was used, check
-            * for that. */
+           // The menu may have been deleted right after it was used, check
+           // for that.
            if (check_menu_pointer(root_menu, current_menu) == FAIL)
            {
                key_name[0] = KS_EXTRA;
@@ -5212,7 +5209,7 @@ not_enough:
            if (num_bytes == -1)
                return -1;
            current_tab = (int)bytes[0];
-           if (current_tab == 255)     /* -1 in a byte gives 255 */
+           if (current_tab == 255)     // -1 in a byte gives 255
                current_tab = -1;
            slen += num_bytes;
        }
@@ -5236,7 +5233,7 @@ not_enough:
            char_u      bytes[6];
            int         num_bytes;
 
-           /* Get the last scrollbar event in the queue of the same type */
+           // Get the last scrollbar event in the queue of the same type
            j = 0;
            for (i = 0; tp[j] == CSI && tp[j + 1] == KS_VER_SCROLLBAR
                                                     && tp[j + 2] != NUL; ++i)
@@ -5257,7 +5254,7 @@ not_enough:
                j += num_bytes;
                slen = j;
            }
-           if (i == 0)         /* not enough characters to make one */
+           if (i == 0)         // not enough characters to make one
                return -1;
        }
        else if (key_name[0] == (int)KS_HOR_SCROLLBAR)
@@ -5265,7 +5262,7 @@ not_enough:
            long_u      val;
            int         num_bytes;
 
-           /* Get the last horiz. scrollbar event in the queue */
+           // Get the last horiz. scrollbar event in the queue
            j = 0;
            for (i = 0; tp[j] == CSI && tp[j + 1] == KS_HOR_SCROLLBAR
                                                     && tp[j + 2] != NUL; ++i)
@@ -5278,11 +5275,11 @@ not_enough:
                j += num_bytes;
                slen = j;
            }
-           if (i == 0)         /* not enough characters to make one */
+           if (i == 0)         // not enough characters to make one
                return -1;
        }
-# endif /* !USE_ON_FLY_SCROLL */
-#endif /* FEAT_GUI */
+# endif // !USE_ON_FLY_SCROLL
+#endif // FEAT_GUI
 
        /*
         * Change <xHome> to <Home>, <xUp> to <Up>, etc.
@@ -5294,12 +5291,12 @@ not_enough:
         */
        new_slen = modifiers2keycode(modifiers, &key, string);
 
-       /* Finally, add the special key code to our string */
+       // Finally, add the special key code to our string
        key_name[0] = KEY2TERMCAP0(key);
        key_name[1] = KEY2TERMCAP1(key);
        if (key_name[0] == KS_KEY)
        {
-           /* from ":set <M-b>=xx" */
+           // from ":set <M-b>=xx"
            if (has_mbyte)
                new_slen += (*mb_char2bytes)(key_name[1], string + new_slen);
            else
@@ -5308,8 +5305,8 @@ not_enough:
        else if (new_slen == 0 && key_name[0] == KS_EXTRA
                                                  && key_name[1] == KE_IGNORE)
        {
-           /* Do not put K_IGNORE into the buffer, do return KEYLEN_REMOVED
-            * to indicate what happened. */
+           // Do not put K_IGNORE into the buffer, do return KEYLEN_REMOVED
+           // to indicate what happened.
            retval = KEYLEN_REMOVED;
        }
        else
@@ -5328,7 +5325,7 @@ not_enough:
     LOG_TR(("normal character"));
 #endif
 
-    return 0;                      /* no match found */
+    return 0;                      // no match found
 }
 
 #if (defined(FEAT_TERMINAL) && defined(FEAT_TERMRESPONSE)) || defined(PROTO)
@@ -5400,10 +5397,10 @@ replace_termcodes(
     int                key;
     int                dlen = 0;
     char_u     *src;
-    int                do_backslash;   /* backslash is a special character */
-    int                do_special;     /* recognize <> key codes */
-    int                do_key_code;    /* recognize raw key codes */
-    char_u     *result;        /* buffer for resulting string */
+    int                do_backslash;   // backslash is a special character
+    int                do_special;     // recognize <> key codes
+    int                do_key_code;    // recognize raw key codes
+    char_u     *result;        // buffer for resulting string
 
     do_backslash = (vim_strchr(p_cpo, CPO_BSLASH) == NULL);
     do_special = (vim_strchr(p_cpo, CPO_SPECI) == NULL)
@@ -5415,7 +5412,7 @@ replace_termcodes(
      * replaced by 6 bytes (shifted special key), plus a NUL at the end.
      */
     result = alloc(STRLEN(from) * 6 + 1);
-    if (result == NULL)                /* out of memory */
+    if (result == NULL)                // out of memory
     {
        *bufp = NULL;
        return from;
@@ -5431,9 +5428,9 @@ replace_termcodes(
        result[dlen++] = K_SPECIAL;
        result[dlen++] = 'k';
        if (src[1] == '0')
-           result[dlen++] = ';';       /* #0 is F10 is "k;" */
+           result[dlen++] = ';';       // #0 is F10 is "k;"
        else
-           result[dlen++] = src[1];    /* #3 is F3 is "k3" */
+           result[dlen++] = src[1];    // #3 is F3 is "k3"
        src += 2;
     }
 
@@ -5497,7 +5494,7 @@ replace_termcodes(
                result[dlen++] = termcodes[i].name[0];
                result[dlen++] = termcodes[i].name[1];
                src += termcodes[i].len;
-               /* If terminal code matched, continue after it. */
+               // If terminal code matched, continue after it.
                continue;
            }
        }
@@ -5529,7 +5526,7 @@ replace_termcodes(
            }
            if (len != 0)
            {
-               /* Allow up to 8 * 6 characters for "mapleader". */
+               // Allow up to 8 * 6 characters for "mapleader".
                if (p == NULL || *p == NUL || STRLEN(p) > 8 * 6)
                    s = (char_u *)"\\";
                else
@@ -5551,7 +5548,7 @@ replace_termcodes(
        key = *src;
        if (key == Ctrl_V || (do_backslash && key == '\\'))
        {
-           ++src;                              /* skip CTRL-V or backslash */
+           ++src;                              // skip CTRL-V or backslash
            if (*src == NUL)
            {
                if (flags & REPTERM_FROM_PART)
@@ -5560,7 +5557,7 @@ replace_termcodes(
            }
        }
 
-       /* skip multibyte char correctly */
+       // skip multibyte char correctly
        for (i = (*mb_ptr2len)(src); i > 0; --i)
        {
            /*
@@ -5630,12 +5627,12 @@ gather_termleader(void)
 
 #ifdef FEAT_GUI
     if (gui.in_use)
-       termleader[len++] = CSI;    /* the GUI codes are not in termcodes[] */
+       termleader[len++] = CSI;    // the GUI codes are not in termcodes[]
 #endif
 #ifdef FEAT_TERMRESPONSE
     if (check_for_codes || *T_CRS != NUL)
-       termleader[len++] = DCS;    /* the termcode response starts with DCS
-                                      in 8-bit mode */
+       termleader[len++] = DCS;    // the termcode response starts with DCS
+                                   // in 8-bit mode
 #endif
     termleader[len] = NUL;
 
@@ -5665,17 +5662,17 @@ show_termcodes(void)
     int                i;
     int                len;
 
-#define INC3 27            /* try to make three columns */
-#define INC2 40            /* try to make two columns */
-#define GAP 2      /* spaces between columns */
+#define INC3 27            // try to make three columns
+#define INC2 40            // try to make two columns
+#define GAP 2      // spaces between columns
 
-    if (tc_len == 0)       /* no terminal codes (must be GUI) */
+    if (tc_len == 0)       // no terminal codes (must be GUI)
        return;
     items = ALLOC_MULT(int, tc_len);
     if (items == NULL)
        return;
 
-    /* Highlight title */
+    // Highlight title
     msg_puts_title(_("\n--- Terminal keys ---"));
 
     /*
@@ -5710,17 +5707,17 @@ show_termcodes(void)
                cols = 1;
            rows = (item_count + cols - 1) / cols;
        }
-       else    /* run == 3 */
+       else    // run == 3
            rows = item_count;
        for (row = 0; row < rows && !got_int; ++row)
        {
-           msg_putchar('\n');                  /* go to next line */
-           if (got_int)                        /* 'q' typed in more */
+           msg_putchar('\n');                  // go to next line
+           if (got_int)                        // 'q' typed in more
                break;
            col = 0;
            for (i = row; i < item_count; i += rows)
            {
-               msg_col = col;                  /* make columns */
+               msg_col = col;                  // make columns
                show_one_termcode(termcodes[items[i]].name,
                                              termcodes[items[i]].code, TRUE);
                if (run == 2)
@@ -5810,12 +5807,12 @@ req_more_codes_from_term(void)
     char       buf[11];
     int                old_idx = xt_index_out;
 
-    /* Don't do anything when going to exit. */
+    // Don't do anything when going to exit.
     if (exiting)
        return;
 
-    /* Send up to 10 more requests out than we received.  Avoid sending too
-     * many, there can be a buffer overflow somewhere. */
+    // Send up to 10 more requests out than we received.  Avoid sending too
+    // many, there can be a buffer overflow somewhere.
     while (xt_index_out < xt_index_in + 10 && key_names[xt_index_out] != NULL)
     {
        char *key_name = key_names[xt_index_out];
@@ -5826,7 +5823,7 @@ req_more_codes_from_term(void)
        ++xt_index_out;
     }
 
-    /* Send the codes out right away. */
+    // Send the codes out right away.
     if (xt_index_out != old_idx)
        out_flush();
 }
@@ -5847,12 +5844,12 @@ got_code_from_term(char_u *code, int len)
     int                j = 0;
     int                c;
 
-    /* A '1' means the code is supported, a '0' means it isn't.
-     * When half the length is > XT_LEN we can't use it.
-     * Our names are currently all 2 characters. */
+    // A '1' means the code is supported, a '0' means it isn't.
+    // When half the length is > XT_LEN we can't use it.
+    // Our names are currently all 2 characters.
     if (code[0] == '1' && code[7] == '=' && len / 2 < XT_LEN)
     {
-       /* Get the name from the response and find it in the table. */
+       // Get the name from the response and find it in the table.
        name[0] = hexhex2nr(code + 3);
        name[1] = hexhex2nr(code + 5);
        name[2] = NUL;
@@ -5874,13 +5871,13 @@ got_code_from_term(char_u *code, int len)
            str[j] = NUL;
            if (name[0] == 'C' && name[1] == 'o')
            {
-               /* Color count is not a key code. */
+               // Color count is not a key code.
                i = atoi((char *)str);
                may_adjust_color_count(i);
            }
            else
            {
-               /* First delete any existing entry with the same code. */
+               // First delete any existing entry with the same code.
                i = find_term_bykeys(str);
                if (i >= 0)
                    del_termcode_idx(i);
@@ -5889,7 +5886,7 @@ got_code_from_term(char_u *code, int len)
        }
     }
 
-    /* May request more codes now that we received one. */
+    // May request more codes now that we received one.
     ++xt_index_in;
     req_more_codes_from_term();
 }
@@ -5905,24 +5902,24 @@ check_for_codes_from_term(void)
 {
     int                c;
 
-    /* If no codes requested or all are answered, no need to wait. */
+    // If no codes requested or all are answered, no need to wait.
     if (xt_index_out == 0 || xt_index_out == xt_index_in)
        return;
 
-    /* Vgetc() will check for and handle any response.
-     * Keep calling vpeekc() until we don't get any responses. */
+    // Vgetc() will check for and handle any response.
+    // Keep calling vpeekc() until we don't get any responses.
     ++no_mapping;
     ++allow_keys;
     for (;;)
     {
        c = vpeekc();
-       if (c == NUL)       /* nothing available */
+       if (c == NUL)       // nothing available
            break;
 
-       /* If a response is recognized it's replaced with K_IGNORE, must read
-        * it from the input stream.  If there is no K_IGNORE we can't do
-        * anything, break here (there might be some responses further on, but
-        * we don't want to throw away any typed chars). */
+       // If a response is recognized it's replaced with K_IGNORE, must read
+       // it from the input stream.  If there is no K_IGNORE we can't do
+       // anything, break here (there might be some responses further on, but
+       // we don't want to throw away any typed chars).
        if (c != K_SPECIAL && c != K_IGNORE)
            break;
        c = vgetc();
@@ -5987,11 +5984,11 @@ translate_mapping(char_u *str)
                    return NULL;
                }
                c = TO_SPECIAL(str[1], str[2]);
-               if (c == K_ZERO)        /* display <Nul> as ^@ */
+               if (c == K_ZERO)        // display <Nul> as ^@
                    c = NUL;
                str += 2;
            }
-           if (IS_SPECIAL(c) || modifiers)     /* special key */
+           if (IS_SPECIAL(c) || modifiers)     // special key
            {
                if (cpo_special)
                {
@@ -5999,7 +5996,7 @@ translate_mapping(char_u *str)
                    return NULL;
                }
                ga_concat(&ga, get_special_key_name(c, modifiers));
-               continue; /* for (str) */
+               continue; // for (str)
            }
        }
        if (c == ' ' || c == '\t' || c == Ctrl_J || c == Ctrl_V
@@ -6028,7 +6025,7 @@ update_tcap(int attr)
     p = find_builtin_term(DEFAULT_TERM);
     sprintf(ksme_str, IF_EB("\033|%dm", ESC_STR "|%dm"), attr);
     sprintf(ksmd_str, IF_EB("\033|%dm", ESC_STR "|%dm"),
-                                    attr | 0x08);  /* FOREGROUND_INTENSITY */
+                                    attr | 0x08);  // FOREGROUND_INTENSITY
     sprintf(ksmr_str, IF_EB("\033|%dm", ESC_STR "|%dm"),
                                 ((attr & 0x0F) << 4) | ((attr & 0xF0) >> 4));
 
@@ -6116,7 +6113,7 @@ swap_tcap(void)
        CMODE256
     };
 
-    /* buffer initialization */
+    // buffer initialization
     if (!init_done)
     {
        for (ks = ks_tbl; ks->code != (int)KS_NAME; ks++)
@@ -6218,9 +6215,9 @@ gui_adjust_rgb(guicolor_T c)
     guicolor_T
 gui_get_color_cmn(char_u *name)
 {
-    /* On MS-Windows an RGB macro is available and it produces 0x00bbggrr color
-     * values as used by the MS-Windows GDI api.  It should be used only for
-     * MS-Windows GDI builds. */
+    // On MS-Windows an RGB macro is available and it produces 0x00bbggrr color
+    // values as used by the MS-Windows GDI api.  It should be used only for
+    // MS-Windows GDI builds.
 # if defined(RGB) && defined(MSWIN) && !defined(FEAT_GUI)
 #  undef RGB
 # endif
@@ -6239,8 +6236,8 @@ gui_get_color_cmn(char_u *name)
        guicolor_T  color;
     };
 
-    /* Only non X11 colors (not present in rgb.txt) and colors in
-     * color_names[], useful when $VIMRUNTIME is not found,. */
+    // Only non X11 colors (not present in rgb.txt) and colors in
+    // color_names[], useful when $VIMRUNTIME is not found,.
     static struct rgbcolor_table_S rgb_table[] = {
            {(char_u *)"black",         RGB(0x00, 0x00, 0x00)},
            {(char_u *)"blue",          RGB(0x00, 0x00, 0xFF)},
@@ -6253,7 +6250,7 @@ gui_get_color_cmn(char_u *name)
            {(char_u *)"darkgrey",      RGB(0xA9, 0xA9, 0xA9)},
            {(char_u *)"darkmagenta",   RGB(0x8B, 0x00, 0x8B)},
            {(char_u *)"darkred",       RGB(0x8B, 0x00, 0x00)},
-           {(char_u *)"darkyellow",    RGB(0x8B, 0x8B, 0x00)}, /* No X11 */
+           {(char_u *)"darkyellow",    RGB(0x8B, 0x8B, 0x00)}, // No X11
            {(char_u *)"gray",          RGB(0xBE, 0xBE, 0xBE)},
            {(char_u *)"green",         RGB(0x00, 0xFF, 0x00)},
            {(char_u *)"grey",          RGB(0xBE, 0xBE, 0xBE)},
@@ -6265,8 +6262,8 @@ gui_get_color_cmn(char_u *name)
            {(char_u *)"lightgray",     RGB(0xD3, 0xD3, 0xD3)},
            {(char_u *)"lightgreen",    RGB(0x90, 0xEE, 0x90)},
            {(char_u *)"lightgrey",     RGB(0xD3, 0xD3, 0xD3)},
-           {(char_u *)"lightmagenta",  RGB(0xFF, 0x8B, 0xFF)}, /* No X11 */
-           {(char_u *)"lightred",      RGB(0xFF, 0x8B, 0x8B)}, /* No X11 */
+           {(char_u *)"lightmagenta",  RGB(0xFF, 0x8B, 0xFF)}, // No X11
+           {(char_u *)"lightred",      RGB(0xFF, 0x8B, 0x8B)}, // No X11
            {(char_u *)"lightyellow",   RGB(0xFF, 0xFF, 0xE0)},
            {(char_u *)"magenta",       RGB(0xFF, 0x00, 0xFF)},
            {(char_u *)"red",           RGB(0xFF, 0x00, 0x00)},
@@ -6280,7 +6277,7 @@ gui_get_color_cmn(char_u *name)
 
     if (name[0] == '#' && STRLEN(name) == 7)
     {
-       /* Name is in "#rrggbb" format */
+       // Name is in "#rrggbb" format
        color = RGB(((hex_digit(name[1]) << 4) + hex_digit(name[2])),
                    ((hex_digit(name[3]) << 4) + hex_digit(name[4])),
                    ((hex_digit(name[5]) << 4) + hex_digit(name[6])));
@@ -6289,7 +6286,7 @@ gui_get_color_cmn(char_u *name)
        return gui_adjust_rgb(color);
     }
 
-    /* Check if the name is one of the colors we know */
+    // Check if the name is one of the colors we know
     for (i = 0; i < (int)(sizeof(rgb_table) / sizeof(rgb_table[0])); i++)
        if (STRICMP(name, rgb_table[i].color_name) == 0)
            return gui_adjust_rgb(rgb_table[i].color);
@@ -6440,7 +6437,7 @@ cterm_color2rgb(int nr, char_u *r, char_u *g, char_u *b, char_u *ansi_idx)
     }
     else if (nr < 232)
     {
-       /* 216 color cube */
+       // 216 color cube
        idx = nr - 16;
        *r = cube_value[idx / 36 % 6];
        *g = cube_value[idx / 6  % 6];
@@ -6449,7 +6446,7 @@ cterm_color2rgb(int nr, char_u *r, char_u *g, char_u *b, char_u *ansi_idx)
     }
     else if (nr < 256)
     {
-       /* 24 grey scale ramp */
+       // 24 grey scale ramp
        idx = nr - 232;
        *r = grey_ramp[idx];
        *g = grey_ramp[idx];
index dcb4c398d42f7093cf1a4bf2a2dc88e14c20bec1..da27a9c17b86ae2c65590562767dc19d46cc9b1a 100644 (file)
@@ -51,7 +51,7 @@
 
 #include "libvterm/include/vterm.h"
 
-/* This is VTermScreenCell without the characters, thus much smaller. */
+// This is VTermScreenCell without the characters, thus much smaller.
 typedef struct {
   VTermScreenCellAttrs attrs;
   char                 width;
@@ -83,7 +83,7 @@ typedef struct _DYN_STARTUPINFOEXW
 } DYN_STARTUPINFOEXW, *PDYN_STARTUPINFOEXW;
 #endif
 
-/* typedef term_T in structs.h */
+// typedef term_T in structs.h
 struct terminal_S {
     term_T     *tl_next;
 
@@ -91,22 +91,22 @@ struct terminal_S {
     job_T      *tl_job;
     buf_T      *tl_buffer;
 #if defined(FEAT_GUI)
-    int                tl_system;      /* when non-zero used for :!cmd output */
-    int                tl_toprow;      /* row with first line of system terminal */
+    int                tl_system;      // when non-zero used for :!cmd output
+    int                tl_toprow;      // row with first line of system terminal
 #endif
 
-    /* Set when setting the size of a vterm, reset after redrawing. */
+    // Set when setting the size of a vterm, reset after redrawing.
     int                tl_vterm_size_changed;
 
-    int                tl_normal_mode; /* TRUE: Terminal-Normal mode */
+    int                tl_normal_mode; // TRUE: Terminal-Normal mode
     int                tl_channel_closed;
     int                tl_channel_recently_closed; // still need to handle tl_finish
 
     int                tl_finish;
 #define TL_FINISH_UNSET            NUL
-#define TL_FINISH_CLOSE            'c' /* ++close or :terminal without argument */
-#define TL_FINISH_NOCLOSE   'n'        /* ++noclose */
-#define TL_FINISH_OPEN     'o' /* ++open */
+#define TL_FINISH_CLOSE            'c' // ++close or :terminal without argument
+#define TL_FINISH_NOCLOSE   'n'        // ++noclose
+#define TL_FINISH_OPEN     'o' // ++open
     char_u     *tl_opencmd;
     char_u     *tl_eof_chars;
     char_u     *tl_api;        // prefix for terminal API function
@@ -127,22 +127,22 @@ struct terminal_S {
 #endif
     char_u     *tl_kill;
 
-    /* last known vterm size */
+    // last known vterm size
     int                tl_rows;
     int                tl_cols;
 
-    char_u     *tl_title; /* NULL or allocated */
-    char_u     *tl_status_text; /* NULL or allocated */
+    char_u     *tl_title; // NULL or allocated
+    char_u     *tl_status_text; // NULL or allocated
 
-    /* Range of screen rows to update.  Zero based. */
-    int                tl_dirty_row_start; /* MAX_ROW if nothing dirty */
-    int                tl_dirty_row_end;   /* row below last one to update */
-    int                tl_dirty_snapshot;  /* text updated after making snapshot */
+    // Range of screen rows to update.  Zero based.
+    int                tl_dirty_row_start; // MAX_ROW if nothing dirty
+    int                tl_dirty_row_end;   // row below last one to update
+    int                tl_dirty_snapshot;  // text updated after making snapshot
 #ifdef FEAT_TIMERS
     int                tl_timer_set;
     proftime_T tl_timer_due;
 #endif
-    int                tl_postponed_scroll;    /* to be scrolled up */
+    int                tl_postponed_scroll;    // to be scrolled up
 
     garray_T   tl_scrollback;
     int                tl_scrollback_scrolled;
@@ -150,27 +150,27 @@ struct terminal_S {
 
     cellattr_T tl_default_color;
 
-    linenr_T   tl_top_diff_rows;   /* rows of top diff file or zero */
-    linenr_T   tl_bot_diff_rows;   /* rows of bottom diff file */
+    linenr_T   tl_top_diff_rows;   // rows of top diff file or zero
+    linenr_T   tl_bot_diff_rows;   // rows of bottom diff file
 
     VTermPos   tl_cursor_pos;
     int                tl_cursor_visible;
     int                tl_cursor_blink;
-    int                tl_cursor_shape;  /* 1: block, 2: underline, 3: bar */
-    char_u     *tl_cursor_color; /* NULL or allocated */
+    int                tl_cursor_shape;  // 1: block, 2: underline, 3: bar
+    char_u     *tl_cursor_color; // NULL or allocated
 
     int                tl_using_altscreen;
 };
 
-#define TMODE_ONCE 1       /* CTRL-\ CTRL-N used */
-#define TMODE_LOOP 2       /* CTRL-W N used */
+#define TMODE_ONCE 1       // CTRL-\ CTRL-N used
+#define TMODE_LOOP 2       // CTRL-W N used
 
 /*
  * List of all active terminals.
  */
 static term_T *first_term = NULL;
 
-/* Terminal active in terminal_loop(). */
+// Terminal active in terminal_loop().
 static term_T *in_terminal_loop = NULL;
 
 #ifdef MSWIN
@@ -178,7 +178,7 @@ static BOOL has_winpty = FALSE;
 static BOOL has_conpty = FALSE;
 #endif
 
-#define MAX_ROW 999999     /* used for tl_dirty_row_end to update all rows */
+#define MAX_ROW 999999     // used for tl_dirty_row_end to update all rows
 #define KEY_BUF_LEN 200
 
 /*
@@ -194,16 +194,16 @@ static void update_system_term(term_T *term);
 
 static void handle_postponed_scrollback(term_T *term);
 
-/* The character that we know (or assume) that the terminal expects for the
- * backspace key. */
+// The character that we know (or assume) that the terminal expects for the
+// backspace key.
 static int term_backspace_char = BS;
 
-/* "Terminal" highlight group colors. */
+// "Terminal" highlight group colors.
 static int term_default_cterm_fg = -1;
 static int term_default_cterm_bg = -1;
 
-/* Store the last set and the desired cursor properties, so that we only update
- * them when needed.  Doing it unnecessary may result in flicker. */
+// Store the last set and the desired cursor properties, so that we only update
+// them when needed.  Doing it unnecessary may result in flicker.
 static char_u  *last_set_cursor_color = NULL;
 static char_u  *desired_cursor_color = NULL;
 static int     last_set_cursor_shape = -1;
@@ -212,9 +212,8 @@ static int  last_set_cursor_blink = -1;
 static int     desired_cursor_blink = -1;
 
 
-/**************************************
- * 1. Generic code for all systems.
- */
+///////////////////////////////////////
+// 1. Generic code for all systems.
 
     static int
 cursor_color_equal(char_u *lhs_color, char_u *rhs_color)
@@ -259,7 +258,7 @@ parse_termwinsize(win_T *wp, int *rows, int *cols)
     {
        char_u *p = vim_strchr(wp->w_p_tws, 'x');
 
-       /* Syntax of value was already checked when it's set. */
+       // Syntax of value was already checked when it's set.
        if (p == NULL)
        {
            minsize = TRUE;
@@ -280,8 +279,8 @@ set_term_and_win_size(term_T *term)
 #ifdef FEAT_GUI
     if (term->tl_system)
     {
-       /* Use the whole screen for the system command.  However, it will start
-        * at the command line and scroll up as needed, using tl_toprow. */
+       // Use the whole screen for the system command.  However, it will start
+       // at the command line and scroll up as needed, using tl_toprow.
        term->tl_rows = Rows;
        term->tl_cols = Columns;
        return;
@@ -326,12 +325,12 @@ init_job_options(jobopt_T *opt)
 setup_job_options(jobopt_T *opt, int rows, int cols)
 {
 #ifndef MSWIN
-    /* Win32: Redirecting the job output won't work, thus always connect stdout
-     * here. */
+    // Win32: Redirecting the job output won't work, thus always connect stdout
+    // here.
     if (!(opt->jo_set & JO_OUT_IO))
 #endif
     {
-       /* Connect stdout to the terminal. */
+       // Connect stdout to the terminal.
        opt->jo_io[PART_OUT] = JIO_BUFFER;
        opt->jo_io_buf[PART_OUT] = curbuf->b_fnum;
        opt->jo_modifiable[PART_OUT] = 0;
@@ -339,12 +338,12 @@ setup_job_options(jobopt_T *opt, int rows, int cols)
     }
 
 #ifndef MSWIN
-    /* Win32: Redirecting the job output won't work, thus always connect stderr
-     * here. */
+    // Win32: Redirecting the job output won't work, thus always connect stderr
+    // here.
     if (!(opt->jo_set & JO_ERR_IO))
 #endif
     {
-       /* Connect stderr to the terminal. */
+       // Connect stderr to the terminal.
        opt->jo_io[PART_ERR] = JIO_BUFFER;
        opt->jo_io_buf[PART_ERR] = curbuf->b_fnum;
        opt->jo_modifiable[PART_ERR] = 0;
@@ -384,8 +383,8 @@ term_close_buffer(buf_T *buf, buf_T *old_curbuf)
        ++curbuf->b_nwindows;
     }
 
-    /* Wiping out the buffer will also close the window and call
-     * free_terminal(). */
+    // Wiping out the buffer will also close the window and call
+    // free_terminal().
     do_buffer(DOBUF_WIPE, DOBUF_FIRST, FORWARD, buf->b_fnum, TRUE);
 }
 
@@ -440,7 +439,7 @@ term_start(
     vim_memset(&split_ea, 0, sizeof(split_ea));
     if (opt->jo_curwin)
     {
-       /* Create a new buffer in the current window. */
+       // Create a new buffer in the current window.
        if (!can_abandon(curbuf, flags & TERM_START_FORCEIT))
        {
            no_write_message();
@@ -460,8 +459,8 @@ term_start(
     {
        buf_T *buf;
 
-       /* Create a new buffer without a window. Make it the current buffer for
-        * a moment to be able to do the initialisations. */
+       // Create a new buffer without a window. Make it the current buffer for
+       // a moment to be able to do the initialisations.
        buf = buflist_new((char_u *)"", NULL, (linenr_T)0,
                                                         BLN_NEW | BLN_LISTED);
        if (buf == NULL || ml_open(buf) == FAIL)
@@ -477,7 +476,7 @@ term_start(
     }
     else
     {
-       /* Open a new window or tab. */
+       // Open a new window or tab.
        split_ea.cmdidx = CMD_new;
        split_ea.cmd = (char_u *)"new";
        split_ea.arg = (char_u *)"";
@@ -497,7 +496,7 @@ term_start(
        ex_splitview(&split_ea);
        if (curwin == old_curwin)
        {
-           /* split failed */
+           // split failed
            vim_free(term);
            return NULL;
        }
@@ -507,15 +506,15 @@ term_start(
 
     if (!opt->jo_hidden)
     {
-       /* Only one size was taken care of with :new, do the other one.  With
-        * "curwin" both need to be done. */
+       // Only one size was taken care of with :new, do the other one.  With
+       // "curwin" both need to be done.
        if (opt->jo_term_rows > 0 && (opt->jo_curwin || vertical))
            win_setheight(opt->jo_term_rows);
        if (opt->jo_term_cols > 0 && (opt->jo_curwin || !vertical))
            win_setwidth(opt->jo_term_cols);
     }
 
-    /* Link the new terminal in the list of active terminals. */
+    // Link the new terminal in the list of active terminals.
     term->tl_next = first_term;
     first_term = term;
 
@@ -549,8 +548,8 @@ term_start(
 
        for (i = 0; p != NULL; ++i)
        {
-           /* Prepend a ! to the command name to avoid the buffer name equals
-            * the executable, otherwise ":w!" would overwrite it. */
+           // Prepend a ! to the command name to avoid the buffer name equals
+           // the executable, otherwise ":w!" would overwrite it.
            if (i == 0)
                vim_snprintf((char *)p, len, "!%s", cmd);
            else
@@ -576,8 +575,8 @@ term_start(
     // Avoid that 'buftype' is reset when this buffer is entered.
     curbuf->b_p_initialized = TRUE;
 
-    /* Mark the buffer as not modifiable. It can only be made modifiable after
-     * the job finished. */
+    // Mark the buffer as not modifiable. It can only be made modifiable after
+    // the job finished.
     curbuf->b_p_ma = FALSE;
 
     set_term_and_win_size(term);
@@ -590,7 +589,7 @@ term_start(
        return curbuf;
 
 #if defined(FEAT_SESSION)
-    /* Remember the command for the session file. */
+    // Remember the command for the session file.
     if (opt->jo_term_norestore || argv != NULL)
     {
        term->tl_command = vim_strsave((char_u *)"NONE");
@@ -647,7 +646,7 @@ term_start(
     else
        term->tl_api = vim_strsave((char_u *)"Tapi_");
 
-    /* System dependent: setup the vterm and maybe start the job in it. */
+    // System dependent: setup the vterm and maybe start the job in it.
     if (argv == NULL
            && argvar->v_type == VAR_STRING
            && argvar->vval.v_string != NULL
@@ -659,20 +658,20 @@ term_start(
     newbuf = curbuf;
     if (res == OK)
     {
-       /* Get and remember the size we ended up with.  Update the pty. */
+       // Get and remember the size we ended up with.  Update the pty.
        vterm_get_size(term->tl_vterm, &term->tl_rows, &term->tl_cols);
        term_report_winsize(term, term->tl_rows, term->tl_cols);
 #ifdef FEAT_GUI
        if (term->tl_system)
        {
-           /* display first line below typed command */
+           // display first line below typed command
            term->tl_toprow = msg_row + 1;
            term->tl_dirty_row_end = 0;
        }
 #endif
 
-       /* Make sure we don't get stuck on sending keys to the job, it leads to
-        * a deadlock if the job is waiting for Vim to read. */
+       // Make sure we don't get stuck on sending keys to the job, it leads to
+       // a deadlock if the job is waiting for Vim to read.
        channel_set_nonblock(term->tl_job->jv_channel, PART_IN);
 
        if (old_curbuf != NULL)
@@ -816,17 +815,17 @@ ex_terminal(exarg_T *eap)
     }
     if (*cmd == NUL)
     {
-       /* Make a copy of 'shell', an autocommand may change the option. */
+       // Make a copy of 'shell', an autocommand may change the option.
        tofree = cmd = vim_strsave(p_sh);
 
-       /* default to close when the shell exits */
+       // default to close when the shell exits
        if (opt.jo_term_finish == NUL)
            opt.jo_term_finish = 'c';
     }
 
     if (eap->addr_count > 0)
     {
-       /* Write lines from current buffer to the job. */
+       // Write lines from current buffer to the job.
        opt.jo_set |= JO_IN_IO | JO_IN_BUF | JO_IN_TOP | JO_IN_BOT;
        opt.jo_io[PART_IN] = JIO_BUFFER;
        opt.jo_io_buf[PART_IN] = curbuf->b_fnum;
@@ -886,9 +885,9 @@ term_write_session(FILE *fd, win_T *wp)
 {
     term_T *term = wp->w_buffer->b_term;
 
-    /* Create the terminal and run the command.  This is not without
-     * risk, but let's assume the user only creates a session when this
-     * will be OK. */
+    // Create the terminal and run the command.  This is not without
+    // risk, but let's assume the user only creates a session when this
+    // will be OK.
     if (fprintf(fd, "terminal ++curwin ++cols=%d ++rows=%d ",
                term->tl_cols, term->tl_rows) < 0)
        return FAIL;
@@ -1044,7 +1043,7 @@ term_write_job_output(term_T *term, char_u *msg, size_t len)
 
     vterm_input_write(vterm, (char *)msg, len);
 
-    /* flush vterm buffer when vterm responded to control sequence */
+    // flush vterm buffer when vterm responded to control sequence
     if (prevlen != vterm_output_get_buffer_current(vterm))
     {
        char   buf[KEY_BUF_LEN];
@@ -1055,7 +1054,7 @@ term_write_job_output(term_T *term, char_u *msg, size_t len)
                                             (char_u *)buf, (int)curlen, NULL);
     }
 
-    /* this invokes the damage callbacks */
+    // this invokes the damage callbacks
     vterm_screen_flush_damage(vterm_obtain_screen(vterm));
 }
 
@@ -1097,8 +1096,8 @@ write_to_term(buf_T *buffer, char_u *msg, channel_T *channel)
     term_T     *term = buffer->b_term;
 
 #ifdef MSWIN
-    /* Win32: Cannot redirect output of the job, intercept it here and write to
-     * the file. */
+    // Win32: Cannot redirect output of the job, intercept it here and write to
+    // the file.
     if (term->tl_out_fd != NULL)
     {
        ch_log(channel, "Writing %d bytes to output file", (int)len);
@@ -1118,14 +1117,14 @@ write_to_term(buf_T *buffer, char_u *msg, channel_T *channel)
 #ifdef FEAT_GUI
     if (term->tl_system)
     {
-       /* show system output, scrolling up the screen as needed */
+       // show system output, scrolling up the screen as needed
        update_system_term(term);
        update_cursor(term, TRUE);
     }
     else
 #endif
-    /* In Terminal-Normal mode we are displaying the buffer, not the terminal
-     * contents, thus no screen update is needed. */
+    // In Terminal-Normal mode we are displaying the buffer, not the terminal
+    // contents, thus no screen update is needed.
     if (!term->tl_normal_mode)
     {
        // Don't use update_screen() when editing the command line, it gets
@@ -1135,8 +1134,8 @@ write_to_term(buf_T *buffer, char_u *msg, channel_T *channel)
        if (buffer == curbuf && (State & CMDLINE) == 0)
        {
            update_screen(VALID_NO_UPDATE);
-           /* update_screen() can be slow, check the terminal wasn't closed
-            * already */
+           // update_screen() can be slow, check the terminal wasn't closed
+           // already
            if (buffer == curbuf && curbuf->b_term != NULL)
                update_cursor(curbuf->b_term, TRUE);
        }
@@ -1171,23 +1170,23 @@ static int enter_mouse_row = -1;
 term_mouse_click(VTerm *vterm, int key)
 {
 #if defined(FEAT_CLIPBOARD)
-    /* For modeless selection mouse drag and release events are ignored, unless
-     * they are preceded with a mouse down event */
+    // For modeless selection mouse drag and release events are ignored, unless
+    // they are preceded with a mouse down event
     static int     ignore_drag_release = TRUE;
     VTermMouseState mouse_state;
 
     vterm_state_get_mousestate(vterm_obtain_state(vterm), &mouse_state);
     if (mouse_state.flags == 0)
     {
-       /* Terminal is not using the mouse, use modeless selection. */
+       // Terminal is not using the mouse, use modeless selection.
        switch (key)
        {
        case K_LEFTDRAG:
        case K_LEFTRELEASE:
        case K_RIGHTDRAG:
        case K_RIGHTRELEASE:
-               /* Ignore drag and release events when the button-down wasn't
-                * seen before. */
+               // Ignore drag and release events when the button-down wasn't
+               // seen before.
                if (ignore_drag_release)
                {
                    int save_mouse_col, save_mouse_row;
@@ -1195,8 +1194,8 @@ term_mouse_click(VTerm *vterm, int key)
                    if (enter_mouse_col < 0)
                        break;
 
-                   /* mouse click in the window gave us focus, handle that
-                    * click now */
+                   // mouse click in the window gave us focus, handle that
+                   // click now
                    save_mouse_col = mouse_col;
                    save_mouse_row = mouse_row;
                    mouse_col = enter_mouse_col;
@@ -1205,14 +1204,14 @@ term_mouse_click(VTerm *vterm, int key)
                    mouse_col = save_mouse_col;
                    mouse_row = save_mouse_row;
                }
-               /* FALLTHROUGH */
+               // FALLTHROUGH
        case K_LEFTMOUSE:
        case K_RIGHTMOUSE:
                if (key == K_LEFTRELEASE || key == K_RIGHTRELEASE)
                    ignore_drag_release = TRUE;
                else
                    ignore_drag_release = FALSE;
-               /* Should we call mouse_has() here? */
+               // Should we call mouse_has() here?
                if (clip_star.available)
                {
                    int     button, is_click, is_drag;
@@ -1222,7 +1221,7 @@ term_mouse_click(VTerm *vterm, int key)
                    if (mouse_model_popup() && button == MOUSE_LEFT
                                               && (mod_mask & MOD_MASK_SHIFT))
                    {
-                       /* Translate shift-left to right button. */
+                       // Translate shift-left to right button.
                        button = MOUSE_RIGHT;
                        mod_mask &= ~MOD_MASK_SHIFT;
                    }
@@ -1274,10 +1273,10 @@ term_convert_key(term_T *term, int c, int modmask, char *buf)
 
     switch (c)
     {
-       /* don't use VTERM_KEY_ENTER, it may do an unwanted conversion */
+       // don't use VTERM_KEY_ENTER, it may do an unwanted conversion
 
-                               /* don't use VTERM_KEY_BACKSPACE, it always
-                                * becomes 0x7f DEL */
+                               // don't use VTERM_KEY_BACKSPACE, it always
+                               // becomes 0x7f DEL
        case K_BS:              c = term_backspace_char; break;
 
        case ESC:               key = VTERM_KEY_ESCAPE; break;
@@ -1318,16 +1317,16 @@ term_convert_key(term_T *term, int c, int modmask, char *buf)
        case K_K7:              key = VTERM_KEY_KP_7; break;
        case K_K8:              key = VTERM_KEY_KP_8; break;
        case K_K9:              key = VTERM_KEY_KP_9; break;
-       case K_KDEL:            key = VTERM_KEY_DEL; break; /* TODO */
+       case K_KDEL:            key = VTERM_KEY_DEL; break; // TODO
        case K_KDIVIDE:         key = VTERM_KEY_KP_DIVIDE; break;
-       case K_KEND:            key = VTERM_KEY_KP_1; break; /* TODO */
+       case K_KEND:            key = VTERM_KEY_KP_1; break; // TODO
        case K_KENTER:          key = VTERM_KEY_KP_ENTER; break;
-       case K_KHOME:           key = VTERM_KEY_KP_7; break; /* TODO */
-       case K_KINS:            key = VTERM_KEY_KP_0; break; /* TODO */
+       case K_KHOME:           key = VTERM_KEY_KP_7; break; // TODO
+       case K_KINS:            key = VTERM_KEY_KP_0; break; // TODO
        case K_KMINUS:          key = VTERM_KEY_KP_MINUS; break;
        case K_KMULTIPLY:       key = VTERM_KEY_KP_MULT; break;
-       case K_KPAGEDOWN:       key = VTERM_KEY_KP_3; break; /* TODO */
-       case K_KPAGEUP:         key = VTERM_KEY_KP_9; break; /* TODO */
+       case K_KPAGEDOWN:       key = VTERM_KEY_KP_3; break; // TODO
+       case K_KPAGEUP:         key = VTERM_KEY_KP_9; break; // TODO
        case K_KPLUS:           key = VTERM_KEY_KP_PLUS; break;
        case K_KPOINT:          key = VTERM_KEY_KP_PERIOD; break;
        case K_LEFT:            key = VTERM_KEY_LEFT; break;
@@ -1423,13 +1422,13 @@ term_convert_key(term_T *term, int c, int modmask, char *buf)
      * - Write output to channel.
      */
     if (key != VTERM_KEY_NONE)
-       /* Special key, let vterm convert it. */
+       // Special key, let vterm convert it.
        vterm_keyboard_key(vterm, key, mod);
     else if (!other)
-       /* Normal character, let vterm convert it. */
+       // Normal character, let vterm convert it.
        vterm_keyboard_unichar(vterm, c, mod);
 
-    /* Read back the converted escape sequence. */
+    // Read back the converted escape sequence.
     return (int)vterm_output_read(vterm, buf, KEY_BUF_LEN);
 }
 
@@ -1441,8 +1440,8 @@ term_convert_key(term_T *term, int c, int modmask, char *buf)
     static int
 term_job_running_check(term_T *term, int check_job_status)
 {
-    /* Also consider the job finished when the channel is closed, to avoid a
-     * race condition when updating the title. */
+    // Also consider the job finished when the channel is closed, to avoid a
+    // race condition when updating the title.
     if (term != NULL
        && term->tl_job != NULL
        && channel_is_open(term->tl_job->jv_channel))
@@ -1475,8 +1474,8 @@ term_job_running(term_T *term)
     int
 term_none_open(term_T *term)
 {
-    /* Also consider the job finished when the channel is closed, to avoid a
-     * race condition when updating the title. */
+    // Also consider the job finished when the channel is closed, to avoid a
+    // race condition when updating the title.
     return term != NULL
        && term->tl_job != NULL
        && channel_is_open(term->tl_job->jv_channel)
@@ -1569,7 +1568,7 @@ add_scrollback_line_to_buffer(term_T *term, char_u *text, int len)
        ml_append_buf(term->tl_buffer, lnum, text, len + 1, FALSE);
     if (empty)
     {
-       /* Delete the empty line that was in the empty buffer. */
+       // Delete the empty line that was in the empty buffer.
        curbuf = buf;
        ml_delete(1, FALSE);
        curbuf = curwin->w_buffer;
@@ -1588,7 +1587,7 @@ cell2cellattr(const VTermScreenCell *cell, cellattr_T *attr)
     static int
 equal_celattr(cellattr_T *a, cellattr_T *b)
 {
-    /* Comparing the colors should be sufficient. */
+    // Comparing the colors should be sufficient.
     return a->fg.red == b->fg.red
        && a->fg.green == b->fg.green
        && a->fg.blue == b->fg.blue
@@ -1671,8 +1670,8 @@ update_snapshot(term_T *term)
     ch_log(term->tl_job == NULL ? NULL : term->tl_job->jv_channel,
                                  "Adding terminal window snapshot to buffer");
 
-    /* First remove the lines that were appended before, they might be
-     * outdated. */
+    // First remove the lines that were appended before, they might be
+    // outdated.
     cleanup_scrollback(term);
 
     screen = vterm_obtain_screen(term->tl_vterm);
@@ -1688,7 +1687,7 @@ update_snapshot(term_T *term)
                new_fill_attr = term->tl_default_color;
            }
            else
-               /* Assume the last attr is the filler attr. */
+               // Assume the last attr is the filler attr.
                cell2cellattr(&cell, &new_fill_attr);
 
        if (len == 0 && equal_celattr(&new_fill_attr, &fill_attr))
@@ -1697,7 +1696,7 @@ update_snapshot(term_T *term)
        {
            while (lines_skipped > 0)
            {
-               /* Line was skipped, add an empty line. */
+               // Line was skipped, add an empty line.
                --lines_skipped;
                if (add_empty_scrollback(term, &fill_attr, 0) == OK)
                    add_scrollback_line_to_buffer(term, (char_u *)"", 0);
@@ -1793,13 +1792,13 @@ may_move_terminal_to_buffer(term_T *term, int redraw)
     if (term->tl_vterm == NULL)
        return;
 
-    /* Update the snapshot only if something changes or the buffer does not
-     * have all the lines. */
+    // Update the snapshot only if something changes or the buffer does not
+    // have all the lines.
     if (term->tl_dirty_snapshot || term->tl_buffer->b_ml.ml_line_count
                                               <= term->tl_scrollback_scrolled)
        update_snapshot(term);
 
-    /* Obtain the current background color. */
+    // Obtain the current background color.
     vterm_state_get_default_colors(vterm_obtain_state(term->tl_vterm),
                       &term->tl_default_color.fg, &term->tl_default_color.bg);
 
@@ -1894,18 +1893,18 @@ term_enter_normal_mode(void)
 
     set_terminal_mode(term, TRUE);
 
-    /* Append the current terminal contents to the buffer. */
+    // Append the current terminal contents to the buffer.
     may_move_terminal_to_buffer(term, TRUE);
 
-    /* Move the window cursor to the position of the cursor in the
-     * terminal. */
+    // Move the window cursor to the position of the cursor in the
+    // terminal.
     curwin->w_cursor.lnum = term->tl_scrollback_scrolled
                                             + term->tl_cursor_pos.row + 1;
     check_cursor();
     if (coladvance(term->tl_cursor_pos.col) == FAIL)
        coladvance(MAXCOL);
 
-    /* Display the same lines as in the terminal. */
+    // Display the same lines as in the terminal.
     curwin->w_topline = term->tl_scrollback_scrolled + 1;
 }
 
@@ -1979,7 +1978,7 @@ send_keys_to_term(term_T *term, int c, int modmask, int typed)
     size_t     len;
     int                dragging_outside = FALSE;
 
-    /* Catch keys that need to be handled as in Normal mode. */
+    // Catch keys that need to be handled as in Normal mode.
     switch (c)
     {
        case NUL:
@@ -2002,7 +2001,7 @@ send_keys_to_term(term_T *term, int c, int modmask, int typed)
        case K_X1DRAG:
        case K_X2DRAG:
            dragging_outside = mouse_was_outside;
-           /* FALLTHROUGH */
+           // FALLTHROUGH
        case K_LEFTMOUSE:
        case K_LEFTMOUSE_NM:
        case K_LEFTRELEASE:
@@ -2027,8 +2026,8 @@ send_keys_to_term(term_T *term, int c, int modmask, int typed)
                    || mouse_col >= W_ENDCOL(curwin)
                    || dragging_outside)
            {
-               /* click or scroll outside the current window or on status line
-                * or vertical separator */
+               // click or scroll outside the current window or on status line
+               // or vertical separator
                if (typed)
                {
                    stuffcharReadbuff(c);
@@ -2080,14 +2079,14 @@ term_paste_register(int prev_c UNUSED)
     clear_showcmd();
 #endif
     if (!term_use_loop())
-       /* job finished while waiting for a character */
+       // job finished while waiting for a character
        return;
 
-    /* CTRL-W "= prompt for expression to evaluate. */
+    // CTRL-W "= prompt for expression to evaluate.
     if (c == '=' && get_expr_register() != '=')
        return;
     if (!term_use_loop())
-       /* job finished while waiting for a character */
+       // job finished while waiting for a character
        return;
 
     l = (list_T *)get_reg_contents(c, GREG_LIST);
@@ -2162,7 +2161,7 @@ term_get_cursor_shape(guicolor_T *fg, guicolor_T *bg)
        entry.blinkoff = 250;
     }
 
-    /* The "Terminal" highlight group overrules the defaults. */
+    // The "Terminal" highlight group overrules the defaults.
     id = syn_name2id((char_u *)"Terminal");
     if (id != 0)
     {
@@ -2200,7 +2199,7 @@ may_output_cursor_props(void)
        last_set_cursor_blink = desired_cursor_blink;
        term_cursor_color(cursor_color_get(desired_cursor_color));
        if (desired_cursor_shape == -1 || desired_cursor_blink == -1)
-           /* this will restore the initial cursor style, if possible */
+           // this will restore the initial cursor style, if possible
            ui_cursor_shape_forced(TRUE);
        else
            term_cursor_shape(desired_cursor_shape, desired_cursor_blink);
@@ -2214,8 +2213,8 @@ may_output_cursor_props(void)
 may_set_cursor_props(term_T *term)
 {
 #ifdef FEAT_GUI
-    /* For the GUI the cursor properties are obtained with
-     * term_get_cursor_shape(). */
+    // For the GUI the cursor properties are obtained with
+    // term_get_cursor_shape().
     if (gui.in_use)
        return;
 #endif
@@ -2343,10 +2342,10 @@ terminal_loop(int blocking)
 #endif
     int                restore_cursor = FALSE;
 
-    /* Remember the terminal we are sending keys to.  However, the terminal
-     * might be closed while waiting for a character, e.g. typing "exit" in a
-     * shell and ++close was used.  Therefore use curbuf->b_term instead of a
-     * stored reference. */
+    // Remember the terminal we are sending keys to.  However, the terminal
+    // might be closed while waiting for a character, e.g. typing "exit" in a
+    // shell and ++close was used.  Therefore use curbuf->b_term instead of a
+    // stored reference.
     in_terminal_loop = curbuf->b_term;
 
     if (*curwin->w_p_twk != NUL)
@@ -2369,7 +2368,7 @@ terminal_loop(int blocking)
                if (update_screen(0) == FAIL)
                    break;
        if (!term_use_loop_check(TRUE) || in_terminal_loop != curbuf->b_term)
-           /* job finished while redrawing */
+           // job finished while redrawing
            break;
 
        update_cursor(curbuf->b_term, FALSE);
@@ -2378,8 +2377,8 @@ terminal_loop(int blocking)
        raw_c = term_vgetc();
        if (!term_use_loop_check(TRUE) || in_terminal_loop != curbuf->b_term)
        {
-           /* Job finished while waiting for a character.  Push back the
-            * received character. */
+           // Job finished while waiting for a character.  Push back the
+           // received character.
            if (raw_c != K_IGNORE)
                vungetc(raw_c);
            break;
@@ -2398,20 +2397,20 @@ terminal_loop(int blocking)
        {
            ttyinfo_T info;
 
-           /* Get the current backspace character of the pty. */
+           // Get the current backspace character of the pty.
            if (get_tty_info(tty_fd, &info) == OK)
                term_backspace_char = info.backspace;
        }
 #endif
 
 #ifdef MSWIN
-       /* On Windows winpty handles CTRL-C, don't send a CTRL_C_EVENT.
-        * Use CTRL-BREAK to kill the job. */
+       // On Windows winpty handles CTRL-C, don't send a CTRL_C_EVENT.
+       // Use CTRL-BREAK to kill the job.
        if (ctrl_break_was_pressed)
            mch_signal_job(curbuf->b_term->tl_job, (char_u *)"kill");
 #endif
-       /* Was either CTRL-W (termwinkey) or CTRL-\ pressed?
-        * Not in a system terminal. */
+       // Was either CTRL-W (termwinkey) or CTRL-\ pressed?
+       // Not in a system terminal.
        if ((c == (termwinkey == 0 ? Ctrl_W : termwinkey) || c == Ctrl_BSL)
 #ifdef FEAT_GUI
                && !curbuf->b_term->tl_system
@@ -2434,14 +2433,14 @@ terminal_loop(int blocking)
 #endif
            if (!term_use_loop_check(TRUE)
                                         || in_terminal_loop != curbuf->b_term)
-               /* job finished while waiting for a character */
+               // job finished while waiting for a character
                break;
 
            if (prev_c == Ctrl_BSL)
            {
                if (c == Ctrl_N)
                {
-                   /* CTRL-\ CTRL-N : go to Terminal-Normal mode. */
+                   // CTRL-\ CTRL-N : go to Terminal-Normal mode.
                    term_enter_normal_mode();
                    ret = FAIL;
                    goto theend;
@@ -2453,23 +2452,23 @@ terminal_loop(int blocking)
            }
            else if (c == Ctrl_C)
            {
-               /* "CTRL-W CTRL-C" or 'termwinkey' CTRL-C: end the job */
+               // "CTRL-W CTRL-C" or 'termwinkey' CTRL-C: end the job
                mch_signal_job(curbuf->b_term->tl_job, (char_u *)"kill");
            }
            else if (c == '.')
            {
-               /* "CTRL-W .": send CTRL-W to the job */
-               /* "'termwinkey' .": send 'termwinkey' to the job */
+               // "CTRL-W .": send CTRL-W to the job
+               // "'termwinkey' .": send 'termwinkey' to the job
                raw_c = ctrl_to_raw_c(termwinkey == 0 ? Ctrl_W : termwinkey);
            }
            else if (c == Ctrl_BSL)
            {
-               /* "CTRL-W CTRL-\": send CTRL-\ to the job */
+               // "CTRL-W CTRL-\": send CTRL-\ to the job
                raw_c = ctrl_to_raw_c(Ctrl_BSL);
            }
            else if (c == 'N')
            {
-               /* CTRL-W N : go to Terminal-Normal mode. */
+               // CTRL-W N : go to Terminal-Normal mode.
                term_enter_normal_mode();
                ret = FAIL;
                goto theend;
@@ -2507,8 +2506,8 @@ terminal_loop(int blocking)
        if (send_keys_to_term(curbuf->b_term, raw_c, mod_mask, TRUE) != OK)
        {
            if (raw_c == K_MOUSEMOVE)
-               /* We are sure to come back here, don't reset the cursor color
-                * and shape to avoid flickering. */
+               // We are sure to come back here, don't reset the cursor color
+               // and shape to avoid flickering.
                restore_cursor = FALSE;
 
            ret = OK;
@@ -2522,8 +2521,8 @@ theend:
     if (restore_cursor)
        prepare_restore_cursor_props();
 
-    /* Move a snapshot of the screen contents to the buffer, so that completion
-     * works in other buffers. */
+    // Move a snapshot of the screen contents to the buffer, so that completion
+    // works in other buffers.
     if (curbuf->b_term != NULL && !curbuf->b_term->tl_normal_mode)
        may_move_terminal_to_buffer(curbuf->b_term, FALSE);
 
@@ -2559,22 +2558,22 @@ color2index(VTermColor *color, int fg, int *boldp)
        switch (color->ansi_index)
        {
            case  0: return 0;
-           case  1: return lookup_color( 0, fg, boldp) + 1; /* black */
-           case  2: return lookup_color( 4, fg, boldp) + 1; /* dark red */
-           case  3: return lookup_color( 2, fg, boldp) + 1; /* dark green */
-           case  4: return lookup_color( 6, fg, boldp) + 1; /* brown */
-           case  5: return lookup_color( 1, fg, boldp) + 1; /* dark blue */
-           case  6: return lookup_color( 5, fg, boldp) + 1; /* dark magenta */
-           case  7: return lookup_color( 3, fg, boldp) + 1; /* dark cyan */
-           case  8: return lookup_color( 8, fg, boldp) + 1; /* light grey */
-           case  9: return lookup_color(12, fg, boldp) + 1; /* dark grey */
-           case 10: return lookup_color(20, fg, boldp) + 1; /* red */
-           case 11: return lookup_color(16, fg, boldp) + 1; /* green */
-           case 12: return lookup_color(24, fg, boldp) + 1; /* yellow */
-           case 13: return lookup_color(14, fg, boldp) + 1; /* blue */
-           case 14: return lookup_color(22, fg, boldp) + 1; /* magenta */
-           case 15: return lookup_color(18, fg, boldp) + 1; /* cyan */
-           case 16: return lookup_color(26, fg, boldp) + 1; /* white */
+           case  1: return lookup_color( 0, fg, boldp) + 1; // black
+           case  2: return lookup_color( 4, fg, boldp) + 1; // dark red
+           case  3: return lookup_color( 2, fg, boldp) + 1; // dark green
+           case  4: return lookup_color( 6, fg, boldp) + 1; // brown
+           case  5: return lookup_color( 1, fg, boldp) + 1; // dark blue
+           case  6: return lookup_color( 5, fg, boldp) + 1; // dark magenta
+           case  7: return lookup_color( 3, fg, boldp) + 1; // dark cyan
+           case  8: return lookup_color( 8, fg, boldp) + 1; // light grey
+           case  9: return lookup_color(12, fg, boldp) + 1; // dark grey
+           case 10: return lookup_color(20, fg, boldp) + 1; // red
+           case 11: return lookup_color(16, fg, boldp) + 1; // green
+           case 12: return lookup_color(24, fg, boldp) + 1; // yellow
+           case 13: return lookup_color(14, fg, boldp) + 1; // blue
+           case 14: return lookup_color(22, fg, boldp) + 1; // magenta
+           case 15: return lookup_color(18, fg, boldp) + 1; // cyan
+           case 16: return lookup_color(26, fg, boldp) + 1; // white
        }
     }
 
@@ -2582,7 +2581,7 @@ color2index(VTermColor *color, int fg, int *boldp)
     {
        if (red == blue && red == green)
        {
-           /* 24-color greyscale plus white and black */
+           // 24-color greyscale plus white and black
            static int cutoff[23] = {
                    0x0D, 0x17, 0x21, 0x2B, 0x35, 0x3F, 0x49, 0x53, 0x5D, 0x67,
                    0x71, 0x7B, 0x85, 0x8F, 0x99, 0xA3, 0xAD, 0xB7, 0xC1, 0xCB,
@@ -2590,8 +2589,8 @@ color2index(VTermColor *color, int fg, int *boldp)
            int i;
 
            if (red < 5)
-               return 17; /* 00/00/00 */
-           if (red > 245) /* ff/ff/ff */
+               return 17; // 00/00/00
+           if (red > 245) // ff/ff/ff
                return 232;
            for (i = 0; i < 23; ++i)
                if (red < cutoff[i])
@@ -2602,7 +2601,7 @@ color2index(VTermColor *color, int fg, int *boldp)
            static int cutoff[5] = {0x2F, 0x73, 0x9B, 0xC3, 0xEB};
            int ri, gi, bi;
 
-           /* 216-color cube */
+           // 216-color cube
            for (ri = 0; ri < 5; ++ri)
                if (red < cutoff[ri])
                    break;
@@ -2694,7 +2693,7 @@ cell2attr(VTermScreenCellAttrs cellattrs, VTermColor cellfg, VTermColor cellbg)
        int fg = color2index(&cellfg, TRUE, &bold);
        int bg = color2index(&cellbg, FALSE, &bold);
 
-       /* Use the "Terminal" highlighting for the default colors. */
+       // Use the "Terminal" highlighting for the default colors.
        if ((fg == 0 || bg == 0) && t_colors >= 16)
        {
            if (fg == 0 && term_default_cterm_fg >= 0)
@@ -2703,7 +2702,7 @@ cell2attr(VTermScreenCellAttrs cellattrs, VTermColor cellfg, VTermColor cellbg)
                bg = term_default_cterm_bg + 1;
        }
 
-       /* with 8 colors set the bold attribute to get a bright foreground */
+       // with 8 colors set the bold attribute to get a bright foreground
        if (bold == TRUE)
            attr |= HL_BOLD;
        return get_cterm_attr_idx(attr, fg, bg);
@@ -2718,7 +2717,7 @@ set_dirty_snapshot(term_T *term)
 #ifdef FEAT_TIMERS
     if (!term->tl_normal_mode)
     {
-       /* Update the snapshot after 100 msec of not getting updates. */
+       // Update the snapshot after 100 msec of not getting updates.
        profile_setlimit(100L, &term->tl_timer_due);
        term->tl_timer_set = TRUE;
     }
@@ -2745,7 +2744,7 @@ term_scroll_up(term_T *term, int start_row, int count)
     VTermScreenCellAttrs attr;
     int                         clear_attr;
 
-    /* Set the color to clear lines with. */
+    // Set the color to clear lines with.
     vterm_state_get_default_colors(vterm_obtain_state(term->tl_vterm),
                                                                     &fg, &bg);
     vim_memset(&attr, 0, sizeof(attr));
@@ -2764,9 +2763,9 @@ handle_moverect(VTermRect dest, VTermRect src, void *user)
     term_T     *term = (term_T *)user;
     int                count = src.start_row - dest.start_row;
 
-    /* Scrolling up is done much more efficiently by deleting lines instead of
-     * redrawing the text. But avoid doing this multiple times, postpone until
-     * the redraw happens. */
+    // Scrolling up is done much more efficiently by deleting lines instead of
+    // redrawing the text. But avoid doing this multiple times, postpone until
+    // the redraw happens.
     if (dest.start_col == src.start_col
            && dest.end_col == src.end_col
            && dest.start_row < src.start_row)
@@ -2781,8 +2780,8 @@ handle_moverect(VTermRect dest, VTermRect src, void *user)
     term->tl_dirty_row_end = MIN(term->tl_dirty_row_end, dest.end_row);
     set_dirty_snapshot(term);
 
-    /* Note sure if the scrolling will work correctly, let's do a complete
-     * redraw later. */
+    // Note sure if the scrolling will work correctly, let's do a complete
+    // redraw later.
     redraw_buf_later(term->tl_buffer, NOT_VALID);
     return 1;
 }
@@ -2885,14 +2884,14 @@ handle_settermprop(
            break;
 
        case VTERM_PROP_ALTSCREEN:
-           /* TODO: do anything else? */
+           // TODO: do anything else?
            term->tl_using_altscreen = value->boolean;
            break;
 
        default:
            break;
     }
-    /* Always return 1, otherwise vterm doesn't store the value internally. */
+    // Always return 1, otherwise vterm doesn't store the value internally.
     return 1;
 }
 
@@ -2908,7 +2907,7 @@ handle_resize(int rows, int cols, void *user)
     term->tl_rows = rows;
     term->tl_cols = cols;
     if (term->tl_vterm_size_changed)
-       /* Size was set by vterm_set_size(), don't set the window size. */
+       // Size was set by vterm_set_size(), don't set the window size.
        term->tl_vterm_size_changed = FALSE;
     else
     {
@@ -3057,7 +3056,7 @@ handle_pushline(int cols, const VTermScreenCell *cells, void *user)
        }
        ++gap->ga_len;
     }
-    return 0; /* ignored */
+    return 0; // ignored
 }
 
 /*
@@ -3108,14 +3107,14 @@ handle_postponed_scrollback(term_T *term)
 }
 
 static VTermScreenCallbacks screen_callbacks = {
-  handle_damage,       /* damage */
-  handle_moverect,     /* moverect */
-  handle_movecursor,   /* movecursor */
-  handle_settermprop,  /* settermprop */
-  NULL,                        /* bell */
-  handle_resize,       /* resize */
-  handle_pushline,     /* sb_pushline */
-  NULL                 /* sb_popline */
+  handle_damage,       // damage
+  handle_moverect,     // moverect
+  handle_movecursor,   // movecursor
+  handle_settermprop,  // settermprop
+  NULL,                        // bell
+  handle_resize,       // resize
+  handle_pushline,     // sb_pushline
+  NULL                 // sb_popline
 };
 
 /*
@@ -3126,7 +3125,7 @@ static VTermScreenCallbacks screen_callbacks = {
     static int
 term_after_channel_closed(term_T *term)
 {
-    /* Unless in Terminal-Normal mode: clear the vterm. */
+    // Unless in Terminal-Normal mode: clear the vterm.
     if (!term->tl_normal_mode)
     {
        int     fnum = term->tl_buffer->b_fnum;
@@ -3167,7 +3166,7 @@ term_after_channel_closed(term_T *term)
        {
            char buf[50];
 
-           /* TODO: use term_opencmd */
+           // TODO: use term_opencmd
            ch_log(NULL, "terminal job finished, opening window");
            vim_snprintf(buf, sizeof(buf),
                    term->tl_opencmd == NULL
@@ -3214,8 +3213,8 @@ term_channel_closed(channel_T *ch)
 
            if (updating_screen)
            {
-               /* Cannot open or close windows now.  Can happen when
-                * 'lazyredraw' is set. */
+               // Cannot open or close windows now.  Can happen when
+               // 'lazyredraw' is set.
                term->tl_channel_recently_closed = TRUE;
                continue;
            }
@@ -3229,7 +3228,7 @@ term_channel_closed(channel_T *ch)
     {
        redraw_statuslines();
 
-       /* Need to break out of vgetc(). */
+       // Need to break out of vgetc().
        ins_char_typebuf(K_IGNORE);
        typebuf_was_filled = TRUE;
 
@@ -3296,7 +3295,7 @@ term_line2screenline(VTermScreen *screen, VTermPos *pos, int max_col)
            {
                int i;
 
-               /* composing chars */
+               // composing chars
                for (i = 0; i < Screen_mco
                              && i + 1 < VTERM_MAX_CHARS_PER_CELL; ++i)
                {
@@ -3345,8 +3344,8 @@ term_line2screenline(VTermScreen *screen, VTermPos *pos, int max_col)
            if (enc_utf8)
                ScreenLinesUC[off] = NUL;
 
-           /* don't set the second byte to NUL for a DBCS encoding, it
-            * has been set above */
+           // don't set the second byte to NUL for a DBCS encoding, it
+           // has been set above
            if (enc_utf8 || !has_mbyte)
                ScreenLines[off] = NUL;
 
@@ -3367,7 +3366,7 @@ update_system_term(term_T *term)
        return;
     screen = vterm_obtain_screen(term->tl_vterm);
 
-    /* Scroll up to make more room for terminal lines if needed. */
+    // Scroll up to make more room for terminal lines if needed.
     while (term->tl_toprow > 0
                          && (Rows - term->tl_toprow) < term->tl_dirty_row_end)
     {
@@ -3433,8 +3432,8 @@ term_update_window(win_T *wp)
     screen = vterm_obtain_screen(vterm);
     state = vterm_obtain_state(vterm);
 
-    /* We use NOT_VALID on a resize or scroll, redraw everything then.  With
-     * SOME_VALID only redraw what was marked dirty. */
+    // We use NOT_VALID on a resize or scroll, redraw everything then.  With
+    // SOME_VALID only redraw what was marked dirty.
     if (wp->w_redr_type > SOME_VALID)
     {
        term->tl_dirty_row_start = 0;
@@ -3442,8 +3441,8 @@ term_update_window(win_T *wp)
 
        if (term->tl_postponed_scroll > 0
                              && term->tl_postponed_scroll < term->tl_rows / 3)
-           /* Scrolling is usually faster than redrawing, when there are only
-            * a few lines to scroll. */
+           // Scrolling is usually faster than redrawing, when there are only
+           // a few lines to scroll.
            term_scroll_up(term, 0, term->tl_postponed_scroll);
        term->tl_postponed_scroll = 0;
     }
@@ -3458,8 +3457,8 @@ term_update_window(win_T *wp)
     newcols = 99999;
     FOR_ALL_WINDOWS(twp)
     {
-       /* When more than one window shows the same terminal, use the
-        * smallest size. */
+       // When more than one window shows the same terminal, use the
+       // smallest size.
        if (twp->w_buffer == term->tl_buffer)
        {
            newrows = MIN(newrows, twp->w_height);
@@ -3485,7 +3484,7 @@ term_update_window(win_T *wp)
            may_move_terminal_to_buffer(term, FALSE);
     }
 
-    /* The cursor may have been moved when resizing. */
+    // The cursor may have been moved when resizing.
     vterm_state_get_cursorpos(state, &pos);
     position_cursor(wp, &pos);
 
@@ -3546,8 +3545,8 @@ term_change_in_curbuf(void)
        free_scrollback(term);
        redraw_buf_later(term->tl_buffer, NOT_VALID);
 
-       /* The buffer is now like a normal buffer, it cannot be easily
-        * abandoned when changed. */
+       // The buffer is now like a normal buffer, it cannot be easily
+       // abandoned when changed.
        set_string_option_direct((char_u *)"buftype", -1,
                                          (char_u *)"", OPT_FREE|OPT_LOCAL, 0);
     }
@@ -3602,8 +3601,8 @@ init_default_colors(term_T *term)
     fg = &term->tl_default_color.fg;
     bg = &term->tl_default_color.bg;
 
-    /* Vterm uses a default black background.  Set it to white when
-     * 'background' is "light". */
+    // Vterm uses a default black background.  Set it to white when
+    // 'background' is "light".
     if (*p_bg == 'l')
     {
        fgval = 0;
@@ -3618,10 +3617,10 @@ init_default_colors(term_T *term)
     bg->red = bg->green = bg->blue = bgval;
     fg->ansi_index = bg->ansi_index = VTERM_ANSI_INDEX_DEFAULT;
 
-    /* The "Terminal" highlight group overrules the defaults. */
+    // The "Terminal" highlight group overrules the defaults.
     id = syn_name2id((char_u *)"Terminal");
 
-    /* Use the actual color for the GUI and when 'termguicolors' is set. */
+    // Use the actual color for the GUI and when 'termguicolors' is set.
 #if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
     if (0
 # ifdef FEAT_GUI
@@ -3630,7 +3629,7 @@ init_default_colors(term_T *term)
 # ifdef FEAT_TERMGUICOLORS
            || p_tgc
 #  ifdef FEAT_VTP
-           /* Finally get INVALCOLOR on this execution path */
+           // Finally get INVALCOLOR on this execution path
            || (!p_tgc && t_colors >= 256)
 #  endif
 # endif
@@ -3694,7 +3693,7 @@ init_default_colors(term_T *term)
        int tmp;
 #endif
 
-       /* In an MS-Windows console we know the normal colors. */
+       // In an MS-Windows console we know the normal colors.
        if (cterm_normal_fg_color > 0)
        {
            cterm_color2vterm(cterm_normal_fg_color - 1, fg);
@@ -3826,7 +3825,7 @@ handle_drop_command(listitem_T *item)
     {
        if (wp->w_buffer->b_fnum == bufnr)
        {
-           /* buffer is in a window already, go there */
+           // buffer is in a window already, go there
            goto_tabpage_win(tp, wp);
            return;
        }
@@ -3878,7 +3877,7 @@ handle_drop_command(listitem_T *item)
            ea.force_bin = FORCE_NOBIN;
     }
 
-    /* open in new window, like ":split fname" */
+    // open in new window, like ":split fname"
     if (ea.cmd == NULL)
        ea.cmd = (char_u *)"split";
     ea.arg = fname;
@@ -3951,9 +3950,9 @@ parse_osc(const char *command, size_t cmdlen, void *user)
     channel_T  *channel = term->tl_job == NULL ? NULL
                                                    : term->tl_job->jv_channel;
 
-    /* We recognize only OSC 5 1 ; {command} */
+    // We recognize only OSC 5 1 ; {command}
     if (cmdlen < 3 || STRNCMP(command, "51;", 3) != 0)
-       return 0; /* not handled */
+       return 0; // not handled
 
     reader.js_buf = vim_strnsave((char_u *)command + 3, (int)(cmdlen - 3));
     if (reader.js_buf == NULL)
@@ -3972,8 +3971,8 @@ parse_osc(const char *command, size_t cmdlen, void *user)
        {
            char_u      *cmd = tv_get_string(&item->li_tv);
 
-           /* Make sure an invoked command doesn't delete the buffer (and the
-            * terminal) under our fingers. */
+           // Make sure an invoked command doesn't delete the buffer (and the
+           // terminal) under our fingers.
            ++term->tl_buffer->b_locked;
 
            item = item->li_next;
@@ -4112,7 +4111,7 @@ create_vterm(term_T *term, int rows, int cols)
     }
 
     vterm_screen_set_callbacks(screen, &screen_callbacks, term);
-    /* TODO: depends on 'encoding'. */
+    // TODO: depends on 'encoding'.
     vterm_set_utf8(vterm, 1);
 
     init_default_colors(term);
@@ -4127,15 +4126,15 @@ create_vterm(term_T *term, int rows, int cols)
        // the foreground color.
        vterm_state_set_bold_highbright(vterm_obtain_state(vterm), 1);
 
-    /* Required to initialize most things. */
+    // Required to initialize most things.
     vterm_screen_reset(screen, 1 /* hard */);
 
-    /* Allow using alternate screen. */
+    // Allow using alternate screen.
     vterm_screen_enable_altscreen(screen, 1);
 
-    /* For unix do not use a blinking cursor.  In an xterm this causes the
-     * cursor to blink if it's blinking in the xterm.
-     * For Windows we respect the system wide setting. */
+    // For unix do not use a blinking cursor.  In an xterm this causes the
+    // cursor to blink if it's blinking in the xterm.
+    // For Windows we respect the system wide setting.
 #ifdef MSWIN
     if (GetCaretBlinkTime() == INFINITE)
        value.boolean = 0;
@@ -4225,7 +4224,7 @@ term_get_buf(typval_T *argvars, char *where)
 {
     buf_T *buf;
 
-    (void)tv_get_number(&argvars[0]);      /* issue errmsg if type error */
+    (void)tv_get_number(&argvars[0]);      // issue errmsg if type error
     ++emsg_off;
     buf = tv_get_buf(&argvars[0], FALSE);
     --emsg_off;
@@ -4364,7 +4363,7 @@ f_term_dumpwrite(typval_T *argvars, typval_T *rettv UNUSED)
                int c = cell.chars[i];
                int pc = prev_cell.chars[i];
 
-               /* For the first character NUL is the same as space. */
+               // For the first character NUL is the same as space.
                if (i == 0)
                {
                    c = (c == NUL) ? ' ' : c;
@@ -4408,9 +4407,9 @@ f_term_dumpwrite(typval_T *argvars, typval_T *rettv UNUSED)
                    }
                }
 
-               /* When only the characters differ we don't write anything, the
-                * following "|", "@" or NL will indicate using the same
-                * attributes. */
+               // When only the characters differ we don't write anything, the
+               // following "|", "@" or NL will indicate using the same
+               // attributes.
                if (cell.width != prev_cell.width || !same_attr)
                {
                    if (cell.width == 2)
@@ -4512,7 +4511,7 @@ read_dump_file(FILE *fd, VTermPos *cursor_pos)
        }
        else if (c == '\n')
        {
-           /* End of a line: append it to the buffer. */
+           // End of a line: append it to the buffer.
            if (ga_text.ga_data == NULL)
                dump_is_corrupt(&ga_text);
            if (ga_grow(&term->tl_scrollback, 1) == OK)
@@ -4545,12 +4544,12 @@ read_dump_file(FILE *fd, VTermPos *cursor_pos)
            if (c == '>')
            {
                if (cursor_pos->row != -1)
-                   dump_is_corrupt(&ga_text);  /* duplicate cursor */
+                   dump_is_corrupt(&ga_text);  // duplicate cursor
                cursor_pos->row = term->tl_scrollback.ga_len - start_row;
                cursor_pos->col = ga_cell.ga_len;
            }
 
-           /* normal character(s) followed by "+", "*", "|", "@" or NL */
+           // normal character(s) followed by "+", "*", "|", "@" or NL
            c = fgetc(fd);
            if (c != EOF)
                ga_append(&ga_text, c);
@@ -4563,7 +4562,7 @@ read_dump_file(FILE *fd, VTermPos *cursor_pos)
                ga_append(&ga_text, c);
            }
 
-           /* save the character for repeating it */
+           // save the character for repeating it
            vim_free(prev_char);
            if (ga_text.ga_data != NULL)
                prev_char = vim_strnsave(((char_u *)ga_text.ga_data) + prev_len,
@@ -4571,7 +4570,7 @@ read_dump_file(FILE *fd, VTermPos *cursor_pos)
 
            if (c == '@' || c == '|' || c == '>' || c == '\n')
            {
-               /* use all attributes from previous cell */
+               // use all attributes from previous cell
            }
            else if (c == '+' || c == '*')
            {
@@ -4582,12 +4581,12 @@ read_dump_file(FILE *fd, VTermPos *cursor_pos)
                c = fgetc(fd);
                if (c == '&')
                {
-                   /* use same attr as previous cell */
+                   // use same attr as previous cell
                    c = fgetc(fd);
                }
                else if (isdigit(c))
                {
-                   /* get the decimal attribute */
+                   // get the decimal attribute
                    attr = 0;
                    while (isdigit(c))
                    {
@@ -4596,12 +4595,12 @@ read_dump_file(FILE *fd, VTermPos *cursor_pos)
                    }
                    hl2vtermAttr(attr, &cell);
 
-                   /* is_bg == 0: fg, is_bg == 1: bg */
+                   // is_bg == 0: fg, is_bg == 1: bg
                    for (is_bg = 0; is_bg <= 1; ++is_bg)
                    {
                        if (c == '&')
                        {
-                           /* use same color as previous cell */
+                           // use same color as previous cell
                            c = fgetc(fd);
                        }
                        else if (c == '#')
@@ -4666,7 +4665,7 @@ read_dump_file(FILE *fd, VTermPos *cursor_pos)
            {
                int count = 0;
 
-               /* repeat previous character, get the count */
+               // repeat previous character, get the count
                for (;;)
                {
                    c = fgetc(fd);
@@ -4691,7 +4690,7 @@ read_dump_file(FILE *fd, VTermPos *cursor_pos)
 
     if (ga_text.ga_len > 0)
     {
-       /* trailing characters after last NL */
+       // trailing characters after last NL
        dump_is_corrupt(&ga_text);
        ga_append(&ga_text, NUL);
        ml_append(curbuf->b_ml.ml_line_count, ga_text.ga_data,
@@ -4726,16 +4725,16 @@ get_separator(int text_width, char_u *fname)
     fname_size = vim_strsize(fname);
     if (fname_size < width - 8)
     {
-       /* enough room, don't use the full window width */
+       // enough room, don't use the full window width
        width = MAX(text_width, fname_size + 8);
     }
     else if (fname_size > width - 8)
     {
-       /* full name doesn't fit, use only the tail */
+       // full name doesn't fit, use only the tail
        p = gettail(fname);
        fname_size = vim_strsize(p);
     }
-    /* skip characters until the name fits */
+    // skip characters until the name fits
     while (fname_size > width - 8)
     {
        p += (*mb_ptr2len)(p);
@@ -4773,7 +4772,7 @@ term_load_dump(typval_T *argvars, typval_T *rettv, int do_diff)
     FILE       *fd2 = NULL;
     char_u     *textline = NULL;
 
-    /* First open the files.  If this fails bail out. */
+    // First open the files.  If this fails bail out.
     fname1 = tv_get_string_buf_chk(&argvars[0], buf1);
     if (do_diff)
        fname2 = tv_get_string_buf_chk(&argvars[1], buf2);
@@ -4854,20 +4853,20 @@ term_load_dump(typval_T *argvars, typval_T *rettv, int do_diff)
 
        rettv->vval.v_number = buf->b_fnum;
 
-       /* read the files, fill the buffer with the diff */
+       // read the files, fill the buffer with the diff
        width = read_dump_file(fd1, &cursor_pos1);
 
-       /* position the cursor */
+       // position the cursor
        if (cursor_pos1.row >= 0)
        {
            curwin->w_cursor.lnum = cursor_pos1.row + 1;
            coladvance(cursor_pos1.col);
        }
 
-       /* Delete the empty line that was in the empty buffer. */
+       // Delete the empty line that was in the empty buffer.
        ml_delete(1, FALSE);
 
-       /* For term_dumpload() we are done here. */
+       // For term_dumpload() we are done here.
        if (!do_diff)
            goto theend;
 
@@ -4904,7 +4903,7 @@ term_load_dump(typval_T *argvars, typval_T *rettv, int do_diff)
        {
            if (lnum + bot_lnum > curbuf->b_ml.ml_line_count)
            {
-               /* bottom part has fewer rows, fill with "-" */
+               // bottom part has fewer rows, fill with "-"
                for (i = 0; i < width; ++i)
                    textline[i] = '-';
            }
@@ -4920,7 +4919,7 @@ term_load_dump(typval_T *argvars, typval_T *rettv, int do_diff)
                cellattr_T *cellattr2 = (sb_line + lnum + bot_lnum - 1)
                                                                    ->sb_cells;
 
-               /* Make a copy, getting the second line will invalidate it. */
+               // Make a copy, getting the second line will invalidate it.
                line1 = vim_strsave(ml_get(lnum));
                if (line1 == NULL)
                    break;
@@ -4935,19 +4934,19 @@ term_load_dump(typval_T *argvars, typval_T *rettv, int do_diff)
 
                    textline[col] = ' ';
                    if (len1 != len2 || STRNCMP(p1, p2, len1) != 0)
-                       /* text differs */
+                       // text differs
                        textline[col] = 'X';
                    else if (lnum == cursor_pos1.row + 1
                            && col == cursor_pos1.col
                            && (cursor_pos1.row != cursor_pos2.row
                                        || cursor_pos1.col != cursor_pos2.col))
-                       /* cursor in first but not in second */
+                       // cursor in first but not in second
                        textline[col] = '>';
                    else if (lnum == cursor_pos2.row + 1
                            && col == cursor_pos2.col
                            && (cursor_pos1.row != cursor_pos2.row
                                        || cursor_pos1.col != cursor_pos2.col))
-                       /* cursor in second but not in first */
+                       // cursor in second but not in first
                        textline[col] = '<';
                    else if (cellattr1 != NULL && cellattr2 != NULL)
                    {
@@ -4966,7 +4965,7 @@ term_load_dump(typval_T *argvars, typval_T *rettv, int do_diff)
                    }
                    p1 += len1;
                    p2 += len2;
-                   /* TODO: handle different width */
+                   // TODO: handle different width
                }
 
                while (col < width)
@@ -4996,7 +4995,7 @@ term_load_dump(typval_T *argvars, typval_T *rettv, int do_diff)
 
        while (lnum + bot_lnum <= curbuf->b_ml.ml_line_count)
        {
-           /* bottom part has more rows, fill with "+" */
+           // bottom part has more rows, fill with "+"
            for (i = 0; i < width; ++i)
                textline[i] = '+';
            if (add_empty_scrollback(term, &term->tl_default_color,
@@ -5008,7 +5007,7 @@ term_load_dump(typval_T *argvars, typval_T *rettv, int do_diff)
 
        term->tl_cols = width;
 
-       /* looks better without wrapping */
+       // looks better without wrapping
        curwin->w_p_wrap = 0;
     }
 
@@ -5089,7 +5088,7 @@ term_swap_diff()
 
     if (top_rows == bot_rows)
     {
-       /* rows counts are equal, can swap cell properties */
+       // rows counts are equal, can swap cell properties
        for (lnum = 0; lnum < top_rows; ++lnum)
        {
            sb_line_T   temp;
@@ -5104,7 +5103,7 @@ term_swap_diff()
        size_t          size = sizeof(sb_line_T) * term->tl_scrollback.ga_len;
        sb_line_T       *temp = alloc(size);
 
-       /* need to copy cell properties into temp memory */
+       // need to copy cell properties into temp memory
        if (temp != NULL)
        {
            mch_memmove(temp, term->tl_scrollback.ga_data, size);
@@ -5280,7 +5279,7 @@ f_term_getline(typval_T *argvars, typval_T *rettv)
     {
        linenr_T lnum = row + term->tl_scrollback_scrolled + 1;
 
-       /* vterm is finished, get the text from the buffer */
+       // vterm is finished, get the text from the buffer
        if (lnum > 0 && lnum <= buf->b_ml.ml_line_count)
            rettv->vval.v_string = vim_strsave(ml_get_buf(buf, lnum, FALSE));
     }
@@ -5362,9 +5361,9 @@ f_term_setsize(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
     cols = tv_get_number(&argvars[2]);
     cols = cols <= 0 ? term->tl_cols : cols;
     vterm_set_size(term->tl_vterm, rows, cols);
-    /* handle_resize() will resize the windows */
+    // handle_resize() will resize the windows
 
-    /* Get and remember the size we ended up with.  Update the pty. */
+    // Get and remember the size we ended up with.  Update the pty.
     vterm_get_size(term->tl_vterm, &term->tl_rows, &term->tl_cols);
     term_report_winsize(term, term->tl_rows, term->tl_cols);
 }
@@ -5520,7 +5519,7 @@ f_term_scrape(typval_T *argvars, typval_T *rettv)
            cellattr_T  *cellattr;
            int         len;
 
-           /* vterm has finished, get the cell from scrollback */
+           // vterm has finished, get the cell from scrollback
            if (pos.col >= line->sb_cols)
                break;
            cellattr = line->sb_cells + pos.col;
@@ -5783,16 +5782,16 @@ f_term_wait(typval_T *argvars, typval_T *rettv UNUSED)
        return;
     }
     if (buf->b_term->tl_job->jv_channel == NULL)
-       /* channel is closed, nothing to do */
+       // channel is closed, nothing to do
        return;
 
-    /* Get the job status, this will detect a job that finished. */
+    // Get the job status, this will detect a job that finished.
     if (!buf->b_term->tl_job->jv_channel->ch_keep_open
            && STRCMP(job_status(buf->b_term->tl_job), "dead") == 0)
     {
-       /* The job is dead, keep reading channel I/O until the channel is
-        * closed. buf->b_term may become NULL if the terminal was closed while
-        * waiting. */
+       // The job is dead, keep reading channel I/O until the channel is
+       // closed. buf->b_term may become NULL if the terminal was closed while
+       // waiting.
        ch_log(NULL, "term_wait(): waiting for channel to close");
        while (buf->b_term != NULL && !buf->b_term->tl_channel_closed)
        {
@@ -5800,8 +5799,8 @@ f_term_wait(typval_T *argvars, typval_T *rettv UNUSED)
 
            ui_delay(10L, FALSE);
            if (!buf_valid(buf))
-               /* If the terminal is closed when the channel is closed the
-                * buffer disappears. */
+               // If the terminal is closed when the channel is closed the
+               // buffer disappears.
                break;
        }
 
@@ -5813,13 +5812,13 @@ f_term_wait(typval_T *argvars, typval_T *rettv UNUSED)
 
        term_flush_messages();
 
-       /* Wait for some time for any channel I/O. */
+       // Wait for some time for any channel I/O.
        if (argvars[1].v_type != VAR_UNKNOWN)
            wait = tv_get_number(&argvars[1]);
        ui_delay(wait, TRUE);
 
-       /* Flushing messages on channels is hopefully sufficient.
-        * TODO: is there a better way? */
+       // Flushing messages on channels is hopefully sufficient.
+       // TODO: is there a better way?
        term_flush_messages();
     }
 }
@@ -5844,7 +5843,7 @@ term_send_eof(channel_T *ch)
            }
 # ifdef MSWIN
            else
-               /* Default: CTRL-D */
+               // Default: CTRL-D
                channel_send(ch, PART_IN, (char_u *)"\004\r", 2, NULL);
 # endif
        }
@@ -5860,9 +5859,8 @@ term_getjob(term_T *term)
 
 # if defined(MSWIN) || defined(PROTO)
 
-/**************************************
- * 2. MS-Windows implementation.
- */
+///////////////////////////////////////
+// 2. MS-Windows implementation.
 #ifdef PROTO
 typedef int COORD;
 typedef int DWORD;
@@ -5987,8 +5985,8 @@ conpty_term_and_job_init(
 
     if (cmd_wchar != NULL)
     {
-       /* Request by CreateProcessW */
-       breq = wcslen(cmd_wchar) + 1 + 1;       /* Addition of NUL by API */
+       // Request by CreateProcessW
+       breq = wcslen(cmd_wchar) + 1 + 1;       // Addition of NUL by API
        cmd_wchar_copy = ALLOC_MULT(WCHAR, breq);
        wcsncpy(cmd_wchar_copy, cmd_wchar, breq - 1);
     }
@@ -6016,7 +6014,7 @@ conpty_term_and_job_init(
 
     term->tl_siex.StartupInfo.cb = sizeof(term->tl_siex);
 
-    /* Set up pipe inheritance safely: Vista or later. */
+    // Set up pipe inheritance safely: Vista or later.
     pInitializeProcThreadAttributeList(NULL, 1, 0, &breq);
     term->tl_siex.lpAttributeList = alloc(breq);
     if (!term->tl_siex.lpAttributeList)
@@ -6069,10 +6067,10 @@ conpty_term_and_job_init(
            (sock_T)o_ours,
            (sock_T)o_ours);
 
-    /* Write lines with CR instead of NL. */
+    // Write lines with CR instead of NL.
     channel->ch_write_text_mode = TRUE;
 
-    /* Use to explicitly delete anonymous pipe handle. */
+    // Use to explicitly delete anonymous pipe handle.
     channel->ch_anonymous_pipe = TRUE;
 
     jo = CreateJobObject(NULL, NULL);
@@ -6081,7 +6079,7 @@ conpty_term_and_job_init(
 
     if (!AssignProcessToJobObject(jo, proc_info.hProcess))
     {
-       /* Failed, switch the way to terminate process with TerminateProcess. */
+       // Failed, switch the way to terminate process with TerminateProcess.
        CloseHandle(jo);
        jo = NULL;
     }
@@ -6115,9 +6113,9 @@ conpty_term_and_job_init(
     ++job->jv_refcount;
     term->tl_job = job;
 
-    /* Redirecting stdout and stderr doesn't work at the job level.  Instead
-     * open the file here and handle it in.  opt->jo_io was changed in
-     * setup_job_options(), use the original flags here. */
+    // Redirecting stdout and stderr doesn't work at the job level.  Instead
+    // open the file here and handle it in.  opt->jo_io was changed in
+    // setup_job_options(), use the original flags here.
     if (orig_opt->jo_io[PART_OUT] == JIO_FILE)
     {
        char_u *fname = opt->jo_io_name[PART_OUT];
@@ -6256,11 +6254,11 @@ dyn_winpty_init(int verbose)
        {NULL, NULL}
     };
 
-    /* No need to initialize twice. */
+    // No need to initialize twice.
     if (hWinPtyDLL)
        return OK;
-    /* Load winpty.dll, prefer using the 'winptydll' option, fall back to just
-     * winpty.dll. */
+    // Load winpty.dll, prefer using the 'winptydll' option, fall back to just
+    // winpty.dll.
     if (*p_winptydll != NUL)
        hWinPtyDLL = vimLoadLib((char *)p_winptydll);
     if (!hWinPtyDLL)
@@ -6405,7 +6403,7 @@ winpty_term_and_job_init(
            GENERIC_READ, 0, NULL,
            OPEN_EXISTING, 0, NULL));
 
-    /* Write lines with CR instead of NL. */
+    // Write lines with CR instead of NL.
     channel->ch_write_text_mode = TRUE;
 
     jo = CreateJobObject(NULL, NULL);
@@ -6414,7 +6412,7 @@ winpty_term_and_job_init(
 
     if (!AssignProcessToJobObject(jo, child_process_handle))
     {
-       /* Failed, switch the way to terminate process with TerminateProcess. */
+       // Failed, switch the way to terminate process with TerminateProcess.
        CloseHandle(jo);
        jo = NULL;
     }
@@ -6450,9 +6448,9 @@ winpty_term_and_job_init(
     ++job->jv_refcount;
     term->tl_job = job;
 
-    /* Redirecting stdout and stderr doesn't work at the job level.  Instead
-     * open the file here and handle it in.  opt->jo_io was changed in
-     * setup_job_options(), use the original flags here. */
+    // Redirecting stdout and stderr doesn't work at the job level.  Instead
+    // open the file here and handle it in.  opt->jo_io was changed in
+    // setup_job_options(), use the original flags here.
     if (orig_opt->jo_io[PART_OUT] == JIO_FILE)
     {
        char_u *fname = opt->jo_io_name[PART_OUT];
@@ -6597,7 +6595,7 @@ create_pty_only(term_T *term, jobopt_T *options)
        goto failed;
     ++term->tl_job->jv_refcount;
 
-    /* behave like the job is already finished */
+    // behave like the job is already finished
     term->tl_job->jv_status = JOB_FINISHED;
 
     channel = add_channel();
@@ -6663,9 +6661,8 @@ terminal_enabled(void)
 
 # else
 
-/**************************************
- * 3. Unix-like implementation.
- */
+///////////////////////////////////////
+// 3. Unix-like implementation.
 
 /*
  * Create a new terminal of "rows" by "cols" cells.
@@ -6694,7 +6691,7 @@ term_and_job_init(
        init_vterm_ansi_colors(term->tl_vterm);
 #endif
 
-    /* This may change a string in "argvar". */
+    // This may change a string in "argvar".
     term->tl_job = job_start(argvar, argv, opt, TRUE);
     if (term->tl_job != NULL)
        ++term->tl_job->jv_refcount;
@@ -6715,7 +6712,7 @@ create_pty_only(term_T *term, jobopt_T *opt)
        return FAIL;
     ++term->tl_job->jv_refcount;
 
-    /* behave like the job is already finished */
+    // behave like the job is already finished
     term->tl_job->jv_status = JOB_FINISHED;
 
     return mch_create_pty_channel(term->tl_job, opt);
@@ -6738,7 +6735,7 @@ term_free_vterm(term_T *term)
     static void
 term_report_winsize(term_T *term, int rows, int cols)
 {
-    /* Use an ioctl() to report the new window size to the job. */
+    // Use an ioctl() to report the new window size to the job.
     if (term->tl_job != NULL && term->tl_job->jv_channel != NULL)
     {
        int fd = -1;
@@ -6757,4 +6754,4 @@ term_report_winsize(term_T *term, int rows, int cols)
 
 # endif
 
-#endif /* FEAT_TERMINAL */
+#endif // FEAT_TERMINAL
index 0dc58942ebdb5d3b3cfdeaa5e9e3e96c855f64a6..e05daae5d4cf75713252568dc1c2fec6cd04f7ff 100644 (file)
@@ -5,10 +5,10 @@
  * inclusion of this notice.
  */
 
-/* Modified by Bram Moolenaar for use with VIM - Vi Improved. */
-/* A few bugs removed by Olaf 'Rhialto' Seibert. */
+// Modified by Bram Moolenaar for use with VIM - Vi Improved.
+// A few bugs removed by Olaf 'Rhialto' Seibert.
 
-/* TERMLIB: Terminal independent database. */
+// TERMLIB: Terminal independent database.
 
 #include "vim.h"
 #include "termlib.pro"
@@ -27,10 +27,10 @@ static char *_find(char *, char *);
  * Global variables for termlib
  */
 
-char   *tent;                /* Pointer to terminal entry, set by tgetent */
-char   PC = 0;               /* Pad character, default NULL */
-char   *UP = 0, *BC = 0;     /* Pointers to UP and BC strings from database */
-short  ospeed;               /* Baud rate (1-16, 1=300, 16=19200), as in stty */
+char   *tent;                // Pointer to terminal entry, set by tgetent
+char   PC = 0;               // Pad character, default NULL
+char   *UP = 0, *BC = 0;     // Pointers to UP and BC strings from database
+short  ospeed;               // Baud rate (1-16, 1=300, 16=19200), as in stty
 
 /*
  * Module: tgetent
@@ -67,12 +67,12 @@ short       ospeed;               /* Baud rate (1-16, 1=300, 16=19200), as in stty */
 
     int
 tgetent(
-    char    *tbuf,             /* Buffer to hold termcap entry, TBUFSZ bytes max */
-    char    *term)             /* Name of terminal */
+    char    *tbuf,             // Buffer to hold termcap entry, TBUFSZ bytes max
+    char    *term)             // Name of terminal
 {
-    char    tcbuf[32];         /* Temp buffer to handle */
-    char    *tcptr = tcbuf;    /* extended entries */
-    char    *tcap = TERMCAPFILE; /* Default termcap file */
+    char    tcbuf[32];         // Temp buffer to handle
+    char    *tcptr = tcbuf;    // extended entries
+    char    *tcap = TERMCAPFILE; // Default termcap file
     char    *tmp;
     FILE    *termcap;
     int            retval = 0;
@@ -80,28 +80,28 @@ tgetent(
 
     if ((tmp = (char *)mch_getenv((char_u *)"TERMCAP")) != NULL)
     {
-       if (*tmp == '/')                /* TERMCAP = name of termcap file */
+       if (*tmp == '/')                // TERMCAP = name of termcap file
        {
            tcap = tmp ;
 #if defined(AMIGA)
-           /* Convert /usr/share/lib/termcap to usr:share/lib/termcap */
+           // Convert /usr/share/lib/termcap to usr:share/lib/termcap
            tcap++;
            tmp = strchr(tcap, '/');
            if (tmp)
                *tmp = ':';
 #endif
        }
-       else                            /* TERMCAP = termcap entry itself */
+       else                            // TERMCAP = termcap entry itself
        {
            int tlen = strlen(term);
 
-           while (*tmp && *tmp != ':')         /* Check if TERM matches */
+           while (*tmp && *tmp != ':')         // Check if TERM matches
            {
                char *nexttmp;
 
                while (*tmp == '|')
                    tmp++;
-               nexttmp  = _find(tmp, ":|");    /* Rhialto */
+               nexttmp  = _find(tmp, ":|");    // Rhialto
                if (tmp+tlen == nexttmp && _match(tmp, term) == tlen)
                {
                    strcpy(tbuf, tmp);
@@ -122,8 +122,8 @@ tgetent(
     len = 0;
     while (getent(tbuf + len, term, termcap, TBUFSZ - len))
     {
-       tcptr = tcbuf;                          /* Rhialto */
-       if ((term = tgetstr("tc", &tcptr)))     /* extended entry */
+       tcptr = tcbuf;                          // Rhialto
+       if ((term = tgetstr("tc", &tcptr)))     // extended entry
        {
            rewind(termcap);
            len = strlen(tbuf);
@@ -131,7 +131,7 @@ tgetent(
        else
        {
            retval = 1;
-           tent = tbuf;        /* reset it back to the beginning */
+           tent = tbuf;        // reset it back to the beginning
            break;
        }
     }
@@ -145,23 +145,23 @@ getent(char *tbuf, char *term, FILE *termcap, int buflen)
     char    *tptr;
     int            tlen = strlen(term);
 
-    while (nextent(tbuf, termcap, buflen))     /* For each possible entry */
+    while (nextent(tbuf, termcap, buflen))     // For each possible entry
     {
        tptr = tbuf;
-       while (*tptr && *tptr != ':')           /* : terminates name field */
+       while (*tptr && *tptr != ':')           // : terminates name field
        {
            char    *nexttptr;
 
-           while (*tptr == '|')                /* | separates names */
+           while (*tptr == '|')                // | separates names
                tptr++;
-           nexttptr = _find(tptr, ":|");       /* Rhialto */
+           nexttptr = _find(tptr, ":|");       // Rhialto
            if (tptr + tlen == nexttptr &&
-               _match(tptr, term) == tlen)     /* FOUND! */
+               _match(tptr, term) == tlen)     // FOUND!
            {
                tent = tbuf;
                return 1;
            }
-           else                                /* Look for next name */
+           else                                // Look for next name
                tptr = nexttptr;
        }
     }
@@ -174,33 +174,33 @@ getent(char *tbuf, char *term, FILE *termcap, int buflen)
     static int
 nextent(char *tbuf, FILE *termcap, int buflen)
 {
-    char *lbuf = tbuf;                         /* lbuf=line buffer */
-                               /* read lines straight into buffer */
+    char *lbuf = tbuf;                         // lbuf=line buffer
+                               // read lines straight into buffer
 
-    while (lbuf < tbuf+buflen &&               /* There's room and */
-         fgets(lbuf, (int)(tbuf+buflen-lbuf), termcap)) /* another line */
+    while (lbuf < tbuf+buflen &&               // There's room and
+         fgets(lbuf, (int)(tbuf+buflen-lbuf), termcap)) // another line
     {
        int llen = strlen(lbuf);
 
-       if (*lbuf == '#')                       /* eat comments */
+       if (*lbuf == '#')                       // eat comments
            continue;
-       if (lbuf[-1] == ':' &&                  /* and whitespace */
+       if (lbuf[-1] == ':' &&                  // and whitespace
            lbuf[0] == '\t' &&
            lbuf[1] == ':')
        {
            STRMOVE(lbuf, lbuf + 2);
            llen -= 2;
        }
-       if (lbuf[llen-2] == '\\')               /* and continuations */
+       if (lbuf[llen-2] == '\\')               // and continuations
            lbuf += llen-2;
        else
        {
-           lbuf[llen-1]=0;                     /* no continuation, return */
+           lbuf[llen-1]=0;                     // no continuation, return
            return 1;
        }
     }
 
-    return 0;                                  /* ran into end of file */
+    return 0;                                  // ran into end of file
 }
 
 /*
@@ -280,44 +280,44 @@ tgetstr(char *id, char **buf)
     int                i;
 
     do {
-       tmp = _find(tmp, ":");                  /* For each field */
-       while (*tmp == ':')                     /* skip empty fields */
+       tmp = _find(tmp, ":");                  // For each field
+       while (*tmp == ':')                     // skip empty fields
            tmp++;
        if (!*tmp)
            break;
 
        if (_match(id, tmp) == len) {
-           tmp += len;                         /* find '=' '@' or '#' */
-           if (*tmp == '@')                    /* :xx@: entry for tc */
-               return 0;                       /* deleted entry */
+           tmp += len;                         // find '=' '@' or '#'
+           if (*tmp == '@')                    // :xx@: entry for tc
+               return 0;                       // deleted entry
            hold= *buf;
-           while (*++tmp && *tmp != ':') {     /* not at end of field */
+           while (*++tmp && *tmp != ':') {     // not at end of field
                switch(*tmp) {
-               case '\\':                      /* Expand escapes here */
+               case '\\':                      // Expand escapes here
                    switch(*++tmp) {
-                   case 0:                     /* ignore backslashes */
-                       tmp--;                  /* at end of entry */
-                       break;                  /* shouldn't happen */
+                   case 0:                     // ignore backslashes
+                       tmp--;                  // at end of entry
+                       break;                  // shouldn't happen
                    case 'e':
-                   case 'E':                   /* ESC */
+                   case 'E':                   // ESC
                        *(*buf)++ = ESC;
                        break;
-                   case 'n':                   /* \n */
+                   case 'n':                   // \n
                        *(*buf)++ = '\n';
                        break;
-                   case 'r':                   /* \r */
+                   case 'r':                   // \r
                        *(*buf)++ = '\r';
                        break;
-                   case 't':                   /* \t */
+                   case 't':                   // \t
                        *(*buf)++ = '\t';
                        break;
-                   case 'b':                   /* \b */
+                   case 'b':                   // \b
                        *(*buf)++ = '\b';
                        break;
-                   case 'f':                   /* \f */
+                   case 'f':                   // \f
                        *(*buf)++ = '\f';
                        break;
-                   case '0':                   /* \nnn */
+                   case '0':                   // \nnn
                    case '1':
                    case '2':
                    case '3':
@@ -328,17 +328,17 @@ tgetstr(char *id, char **buf)
                    case '8':
                    case '9':
                        **buf = 0;
-                           /* get up to three digits */
+                           // get up to three digits
                        for (i = 0; i < 3 && VIM_ISDIGIT(*tmp); ++i)
                            **buf = **buf * 8 + *tmp++ - '0';
                        (*buf)++;
                        tmp--;
                        break;
-                   default:                    /* \x, for all other x */
+                   default:                    // \x, for all other x
                        *(*buf)++= *tmp;
                    }
                    break;
-               case '^':                       /* control characters */
+               case '^':                       // control characters
                    ++tmp;
                    *(*buf)++ = Ctrl_chr(*tmp);
                    break;
@@ -382,96 +382,96 @@ tgetstr(char *id, char **buf)
 
     char *
 tgoto(
-    char    *cm,                               /* cm string, from termcap */
-    int            col,                                /* column, x position */
-    int            line)                               /* line, y position */
+    char    *cm,                               // cm string, from termcap
+    int            col,                                // column, x position
+    int            line)                               // line, y position
 {
-    char    gx, gy,                            /* x, y */
-       *ptr,                                   /* pointer in 'cm' */
-       reverse = 0,                            /* reverse flag */
-       *bufp,                                  /* pointer in returned string */
-       addup = 0,                              /* add upline */
-       addbak = 0,                             /* add backup */
+    char    gx, gy,                            // x, y
+       *ptr,                                   // pointer in 'cm'
+       reverse = 0,                            // reverse flag
+       *bufp,                                  // pointer in returned string
+       addup = 0,                              // add upline
+       addbak = 0,                             // add backup
        c;
     static char buffer[32];
 
     if (!cm)
-       return "OOPS";                          /* Kludge, but standard */
+       return "OOPS";                          // Kludge, but standard
 
     bufp = buffer;
     ptr = cm;
 
     while (*ptr) {
-       if ((c = *ptr++) != '%') {              /* normal char */
+       if ((c = *ptr++) != '%') {              // normal char
            *bufp++ = c;
-       } else {                                /* % escape */
+       } else {                                // % escape
            switch(c = *ptr++) {
-           case 'd':                           /* decimal */
+           case 'd':                           // decimal
                bufp = _addfmt(bufp, "%d", line);
                line = col;
                break;
-           case '2':                           /* 2 digit decimal */
+           case '2':                           // 2 digit decimal
                bufp = _addfmt(bufp, "%02d", line);
                line = col;
                break;
-           case '3':                           /* 3 digit decimal */
+           case '3':                           // 3 digit decimal
                bufp = _addfmt(bufp, "%03d", line);
                line = col;
                break;
-           case '>':                           /* %>xy: if >x, add y */
+           case '>':                           // %>xy: if >x, add y
                gx = *ptr++;
                gy = *ptr++;
                if (col>gx) col += gy;
                if (line>gx) line += gy;
                break;
-           case '+':                           /* %+c: add c */
+           case '+':                           // %+c: add c
                line += *ptr++;
-           case '.':                           /* print x/y */
-               if (line == '\t' ||             /* these are */
-                  line == '\n' ||              /* chars that */
-                  line == '\004' ||            /* UNIX hates */
+           case '.':                           // print x/y
+               if (line == '\t' ||             // these are
+                  line == '\n' ||              // chars that
+                  line == '\004' ||            // UNIX hates
                   line == '\0') {
-                   line++;                     /* so go to next pos */
+                   line++;                     // so go to next pos
                    if (reverse == (line == col))
-                       addup=1;                /* and mark UP */
+                       addup=1;                // and mark UP
                    else
-                       addbak=1;               /* or BC */
+                       addbak=1;               // or BC
                }
                *bufp++=line;
                line = col;
                break;
-           case 'r':                           /* r: reverse */
+           case 'r':                           // r: reverse
                gx = line;
                line = col;
                col = gx;
                reverse = 1;
                break;
-           case 'i':                   /* increment (1-origin screen) */
+           case 'i':                   // increment (1-origin screen)
                col++;
                line++;
                break;
-           case '%':                           /* %%=% literally */
+           case '%':                           // %%=% literally
                *bufp++='%';
                break;
-           case 'n':                           /* magic DM2500 code */
+           case 'n':                           // magic DM2500 code
                line ^= 0140;
                col ^= 0140;
                break;
-           case 'B':                           /* bcd encoding */
+           case 'B':                           // bcd encoding
                line = line/10<<4+line%10;
                col = col/10<<4+col%10;
                break;
-           case 'D':                           /* magic Delta Data code */
+           case 'D':                           // magic Delta Data code
                line = line-2*(line&15);
                col = col-2*(col&15);
                break;
-           default:                            /* Unknown escape */
+           default:                            // Unknown escape
                return "OOPS";
            }
        }
     }
 
-    if (addup)                                 /* add upline */
+    if (addup)                                 // add upline
        if (UP) {
            ptr=UP;
            while (VIM_ISDIGIT(*ptr) || *ptr == '.')
@@ -482,7 +482,7 @@ tgoto(
                *bufp++ = *ptr++;
        }
 
-    if (addbak)                                        /* add backspace */
+    if (addbak)                                        // add backspace
        if (BC) {
            ptr=BC;
            while (VIM_ISDIGIT(*ptr) || *ptr == '.')
@@ -528,12 +528,12 @@ long _bauds[16]={
 
     int
 tputs(
-    char *cp,                          /* string to print */
-    int affcnt,                                /* Number of lines affected */
-    void (*outc)(unsigned int))                /* routine to output 1 character */
+    char *cp,                          // string to print
+    int affcnt,                                // Number of lines affected
+    void (*outc)(unsigned int))                // routine to output 1 character
 {
-    long    frac,                      /* 10^(#digits after decimal point) */
-       counter,                        /* digits */
+    long    frac,                      // 10^(#digits after decimal point)
+       counter,                        // digits
        atol(const char *);
 
     if (VIM_ISDIGIT(*cp)) {
@@ -546,20 +546,20 @@ tputs(
                counter = counter * 10L + (long)(*cp++ - '0');
                frac = frac * 10;
            }
-       if (*cp!='*') {                 /* multiply by affected lines */
+       if (*cp!='*') {                 // multiply by affected lines
            if (affcnt>1) affcnt = 1;
        }
        else
            cp++;
 
-       /* Calculate number of characters for padding counter/frac ms delay */
+       // Calculate number of characters for padding counter/frac ms delay
        if (ospeed)
            counter = (counter * _bauds[ospeed] * (long)affcnt) / frac;
 
-       while (*cp)                     /* output string */
+       while (*cp)                     // output string
            (*outc)(*cp++);
        if (ospeed)
-           while (counter--)           /* followed by pad characters */
+           while (counter--)           // followed by pad characters
                (*outc)(PC);
     }
     else
index 7543dd88b1aad8b3f9f1651dfbf07fc0fb7db433..f879f1ea9c71f4fae59892503b8662fcc968157a 100644 (file)
@@ -813,8 +813,8 @@ f_test_refcount(typval_T *argvars, typval_T *rettv)
     void
 f_test_garbagecollect_now(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
-    /* This is dangerous, any Lists and Dicts used internally may be freed
-     * while still in use. */
+    // This is dangerous, any Lists and Dicts used internally may be freed
+    // while still in use.
     garbage_collect(TRUE);
 }
 
index 6dd27980b0a5106b3b0a8591f1da37743d6155d0..504c546560b820dd42a2894eb2e6e898d3c8143e 100644 (file)
@@ -742,6 +742,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2395,
 /**/
     2394,
 /**/