]> granicus.if.org Git - vim/commitdiff
patch 8.1.0169: calling message_filtered() a bit too often v8.1.0169
authorBram Moolenaar <Bram@vim.org>
Sun, 8 Jul 2018 16:20:24 +0000 (18:20 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 8 Jul 2018 16:20:24 +0000 (18:20 +0200)
Problem:    Calling message_filtered() a bit too often.
Solution:   Only call message_filtered() when filtering is already false.

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

index c3f85043720b0d2ce4b5d5f226e622ff94d2e4d0..2955edac9203718ead0c6b9d6cf6907803505288 100644 (file)
@@ -298,6 +298,10 @@ processing a quickfix or location list command, it will be aborted.
                        from the last error backwards, -1 being the last error.
                        The 'switchbuf' settings are respected when jumping
                        to a buffer.
+                       The |:filter| command can be used to display only the
+                       quickfix entries matching a supplied pattern. The
+                       pattern is matched against the filename, module name,
+                       pattern and text of the entry.
 
 :cl[ist] +{count}      List the current and next {count} valid errors.  This
                        is similar to ":clist from from+count", where "from"
@@ -1287,7 +1291,7 @@ to the file.
 Changing directory
 
 The following uppercase conversion characters specify the type of special
-format strings.  At most one of them may be given as a prefix at the begin
+format strings.  At most one of them may be given as a prefix at the beginning
 of a single comma-separated format pattern.
 Some compilers produce messages that consist of directory names that have to
 be prepended to each file name read by %f (example: GNU make).  The following
index e7e34e4bed2140159b0da7446fc5cc65192cc610..f758980b483eb28b80fb452d9f92d2eb2851ac7c 100644 (file)
@@ -3139,18 +3139,21 @@ qf_list(exarg_T *eap)
                    sprintf((char *)IObuff, "%2d", i);
                else
                    vim_snprintf((char *)IObuff, IOSIZE, "%2d %s",
-                                                               i, (char *)fname);
+                                                            i, (char *)fname);
            }
 
            // Support for filtering entries using :filter /pat/ clist
-           filter_entry = 1;
+           // Match against the module name, file name, search pattern and
+           // text of the entry.
+           filter_entry = TRUE;
            if (qfp->qf_module != NULL && *qfp->qf_module != NUL)
                filter_entry &= message_filtered(qfp->qf_module);
-           if (fname != NULL)
+           if (filter_entry && fname != NULL)
                filter_entry &= message_filtered(fname);
-           if (qfp->qf_pattern != NULL)
+           if (filter_entry && qfp->qf_pattern != NULL)
                filter_entry &= message_filtered(qfp->qf_pattern);
-           filter_entry &= message_filtered(qfp->qf_text);
+           if (filter_entry)
+               filter_entry &= message_filtered(qfp->qf_text);
            if (filter_entry)
                goto next_entry;
 
index ce1c55bd5f0513795706bd8cd95f61eb1239f673..2b33f537d39e6a2026a7cab8078bee4f042e885c 100644 (file)
@@ -789,6 +789,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    169,
 /**/
     168,
 /**/