]> granicus.if.org Git - vim/commitdiff
patch 7.4.1971 v7.4.1971
authorBram Moolenaar <Bram@vim.org>
Fri, 1 Jul 2016 12:48:27 +0000 (14:48 +0200)
committerBram Moolenaar <Bram@vim.org>
Fri, 1 Jul 2016 12:48:27 +0000 (14:48 +0200)
Problem:    It is not easy to see unrecognized error lines below the current
            error position.
Solution:   Add ":clist +count".

runtime/doc/quickfix.txt
src/quickfix.c
src/version.c

index 649eb1d90b94167d18decb507f5a1b872c5962f2..9b5803c6101f0a423d6b7dca369b3db8309e1afe 100644 (file)
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.4.  Last change: 2016 Jun 02
+*quickfix.txt*  For Vim version 7.4.  Last change: 2016 Jul 01
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -270,11 +270,24 @@ processing a quickfix or location list command, it will be aborted.
                        The 'switchbuf' settings are respected when jumping
                        to a buffer.
 
+:cl[ist] +{count}      List the current and next {count} valid errors.  This
+                       is similar to ":clist from from+count", where "from"
+                       is the current error position.
+
 :cl[ist]! [from] [, [to]]
                        List all errors.
 
-                                                       *:lli* *:llist*
-:lli[st] [from] [, [to]]
+:cl[ist]! +{count}     List the current and next {count} error lines.  This
+                        is useful to see unrecognized lines after the current
+                       one.  For example, if ":clist" shows:
+        8384 testje.java:252: error: cannot find symbol ~
+                        Then using ":cl! +3" shows the reason:
+        8384 testje.java:252: error: cannot find symbol ~
+        8385:   ZexitCode = Fmainx(); ~
+        8386:               ^ ~
+        8387:   symbol:   method Fmainx() ~
+
+:lli[st] [from] [, [to]]                               *:lli* *:llist*
                        Same as ":clist", except the location list for the
                        current window is used instead of the quickfix list.
 
@@ -318,7 +331,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
                                etc.
 <                      When the current file can't be |abandon|ed and the [!]
                        is not present, the command fails.
-                       When an error is detected excecution stops.
+                       When an error is detected execution stops.
                        The last buffer (or where an error occurred) becomes
                        the current buffer.
                        {cmd} can contain '|' to concatenate several commands.
index 366e4bd9223bf01ebcab4a36bdecc856f2d95352..f71fed3e17e9b64ef597556bd3cbb8ccd48b3c84 100644 (file)
@@ -2258,6 +2258,7 @@ qf_list(exarg_T *eap)
     int                idx1 = 1;
     int                idx2 = -1;
     char_u     *arg = eap->arg;
+    int                plus = FALSE;
     int                all = eap->forceit;     /* if not :cl!, only show
                                                   recognised errors */
     qf_info_T  *qi = &ql_info;
@@ -2278,16 +2279,30 @@ qf_list(exarg_T *eap)
        EMSG(_(e_quickfix));
        return;
     }
+    if (*arg == '+')
+    {
+       ++arg;
+       plus = TRUE;
+    }
     if (!get_list_range(&arg, &idx1, &idx2) || *arg != NUL)
     {
        EMSG(_(e_trailing));
        return;
     }
-    i = qi->qf_lists[qi->qf_curlist].qf_count;
-    if (idx1 < 0)
-       idx1 = (-idx1 > i) ? 0 : idx1 + i + 1;
-    if (idx2 < 0)
-       idx2 = (-idx2 > i) ? 0 : idx2 + i + 1;
+    if (plus)
+    {
+       i = qi->qf_lists[qi->qf_curlist].qf_index;
+       idx2 = i + idx1;
+       idx1 = i;
+    }
+    else
+    {
+       i = qi->qf_lists[qi->qf_curlist].qf_count;
+       if (idx1 < 0)
+           idx1 = (-idx1 > i) ? 0 : idx1 + i + 1;
+       if (idx2 < 0)
+           idx2 = (-idx2 > i) ? 0 : idx2 + i + 1;
+    }
 
     if (qi->qf_lists[qi->qf_curlist].qf_nonevalid)
        all = TRUE;
index 774d309d379e8a51ab0646c2b24197963f500e0b..cfce606279adf2af83a10b0d61f0ff9b1c8af85b 100644 (file)
@@ -753,6 +753,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1971,
 /**/
     1970,
 /**/