To: vim-dev@vim.org Subject: Patch 5.6.049 Fcc: outbox From: Bram Moolenaar ------------ Patch 5.6.049 Problem: Documentation for [!] after ":ijump" is wrong way around. (Benji Fisher) Solution: Fix the documentation. Also improve the code to check for a match after a /* */ comment. Files: runtime/doc/tagsearch.txt, src/search.c *** ../vim-5.6.48/runtime/doc/tagsearch.txt Sun Jan 16 14:13:00 2000 --- runtime/doc/tagsearch.txt Sun Apr 2 11:54:39 2000 *************** *** 1,4 **** ! *tagsearch.txt* For Vim version 5.6. Last change: 1999 Aug 09 VIM REFERENCE MANUAL by Bram Moolenaar --- 1,4 ---- ! *tagsearch.txt* For Vim version 5.6. Last change: 2000 Apr 02 VIM REFERENCE MANUAL by Bram Moolenaar *************** *** 744,750 **** *:search-args* Common arguments for the commands above: ! [!] When included, lines that are recognized as comments are skipped. [/] A pattern can be surrounded by '/'. Without '/' only whole words are matched, using the pattern "\". Only after the second '/' a next command can be appended with '|'. Examples: --- 744,760 ---- *:search-args* Common arguments for the commands above: ! [!] When included, find matches in lines that are recognized as comments. ! When excluded, a match is ignored when the line is recognized as a ! comment (according to 'comments'), or the match is in a C comment (after ! "//" or inside /* */). Note that a match may be missed if a line is ! recognized as a comment, but the comment ends halfway the line. ! And if the line is a comment, but it is not recognized (according to ! 'comments') a match may be found in it anyway. Example: ! > /* comment ! > foobar */ ! A match for "foobar" is found, because this line is not recognized as a ! comment (even though syntax highlighting does recognize it). [/] A pattern can be surrounded by '/'. Without '/' only whole words are matched, using the pattern "\". Only after the second '/' a next command can be appended with '|'. Examples: *** ../vim-5.6.48/src/search.c Mon Mar 27 13:36:17 2000 --- src/search.c Sun Apr 2 11:47:17 2000 *************** *** 3442,3456 **** * Also check for a "/ *" or "/ /" before the match. * Skips lines like "int backwards; / * normal index * * /" when looking for "normal". */ ! else #endif for (p = line; *p && p < startp; ++p) ! if (p[0] == '/' && (p[1] == '*' || p[1] == '/')) { matched = FALSE; ! break; } #ifdef COMMENTS fo_do_comments = FALSE; #endif --- 3442,3472 ---- * Also check for a "/ *" or "/ /" before the match. * Skips lines like "int backwards; / * normal index * * /" when looking for "normal". + * Note: Doesn't skip "/ *" in comments. */ ! p = skipwhite(line); ! if (matched ! || (p[0] == '/' && p[1] == '*') || p[0] == '*') #endif for (p = line; *p && p < startp; ++p) ! { ! if (matched ! && p[0] == '/' ! && (p[1] == '*' || p[1] == '/')) { matched = FALSE; ! /* After "//" all text is comment */ ! if (p[1] == '/') ! break; ! ++p; } + else if (!matched && p[0] == '*' && p[1] == '/') + { + /* Can find match after "* /". */ + matched = TRUE; + ++p; + } + } #ifdef COMMENTS fo_do_comments = FALSE; #endif *** ../vim-5.6.48/src/version.c Sun Apr 2 11:57:12 2000 --- src/version.c Sun Apr 2 11:55:39 2000 *************** *** 420,421 **** --- 420,423 ---- { /* Add new patch number below this line */ + /**/ + 49, /**/ -- You can be stopped by the police for biking over 65 miles per hour. You are not allowed to walk across a street on your hands. [real standing laws in Connecticut, United States of America] /-/-- Bram Moolenaar --- Bram@moolenaar.net --- http://www.moolenaar.net --\-\ \-\-- Vim: http://www.vim.org ---- ICCF Holland: http://www.vim.org/iccf --/-/