To: vim-dev@vim.org Subject: Patch 7.1.217 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 7.1.217 Problem: The "help-tags" tag may be missing from runtime/doc/tags when it was generated during "make install". Solution: Add the "++t" argument to ":helptags" to force adding the tag. Files: runtime/doc/Makefile, runtime/doc/various.txt, src/ex_cmds.c, src/ex_cmds.h *** ../vim-7.1.216/runtime/doc/Makefile Sat May 5 19:14:15 2007 --- runtime/doc/Makefile Fri Jan 11 20:55:34 2008 *************** *** 301,307 **** # Use Vim to generate the tags file. Can only be used when Vim has been # compiled and installed. Supports multiple languages. vimtags: $(DOCS) ! $(VIMEXE) -u NONE -esX -c "helptags ." -c quit # Use "doctags" to generate the tags file. Only works for English! tags: doctags $(DOCS) --- 301,307 ---- # Use Vim to generate the tags file. Can only be used when Vim has been # compiled and installed. Supports multiple languages. vimtags: $(DOCS) ! $(VIMEXE) -u NONE -esX -c "helptags ++t ." -c quit # Use "doctags" to generate the tags file. Only works for English! tags: doctags $(DOCS) *** ../vim-7.1.216/runtime/doc/various.txt Sat May 12 17:05:26 2007 --- runtime/doc/various.txt Fri Jan 11 20:45:45 2008 *************** *** 1,4 **** ! *various.txt* For Vim version 7.1. Last change: 2007 Jan 14 VIM REFERENCE MANUAL by Bram Moolenaar --- 1,4 ---- ! *various.txt* For Vim version 7.1. Last change: 2008 Jan 11 VIM REFERENCE MANUAL by Bram Moolenaar *************** *** 748,754 **** *:helpt* *:helptags* *E154* *E150* *E151* *E152* *E153* *E670* ! :helpt[ags] {dir} Generate the help tags file(s) for directory {dir}. All "*.txt" and "*.??x" files in the directory are scanned for a help tag definition in between stars. The "*.??x" files are for translated docs, they --- 754,761 ---- *:helpt* *:helptags* *E154* *E150* *E151* *E152* *E153* *E670* ! :helpt[ags] [++t] {dir} ! Generate the help tags file(s) for directory {dir}. All "*.txt" and "*.??x" files in the directory are scanned for a help tag definition in between stars. The "*.??x" files are for translated docs, they *************** *** 756,761 **** --- 763,771 ---- The generated tags files are sorted. When there are duplicates an error message is given. An existing tags file is silently overwritten. + The optional "++t" argument forces adding the + "help-tags" tag. This is also done when the {dir} is + equal to $VIMRUNTIME/doc. To rebuild the help tags in the runtime directory (requires write permission there): > :helptags $VIMRUNTIME/doc *** ../vim-7.1.216/src/ex_cmds.c Wed Jan 9 22:39:55 2008 --- src/ex_cmds.c Fri Jan 11 20:47:13 2008 *************** *** 6091,6097 **** } #if defined(FEAT_EX_EXTRA) || defined(PROTO) ! static void helptags_one __ARGS((char_u *dir, char_u *ext, char_u *lang)); /* * ":helptags" --- 6091,6097 ---- } #if defined(FEAT_EX_EXTRA) || defined(PROTO) ! static void helptags_one __ARGS((char_u *dir, char_u *ext, char_u *lang, int add_help_tags)); /* * ":helptags" *************** *** 6110,6115 **** --- 6110,6123 ---- char_u fname[8]; int filecount; char_u **files; + int add_help_tags = FALSE; + + /* Check for ":helptags ++t {dir}". */ + if (STRNCMP(eap->arg, "++t", 3) == 0 && vim_iswhite(eap->arg[3])) + { + add_help_tags = TRUE; + eap->arg = skipwhite(eap->arg + 3); + } if (!mch_isdir(eap->arg)) { *************** *** 6192,6198 **** ext[1] = fname[5]; ext[2] = fname[6]; } ! helptags_one(eap->arg, ext, fname); } ga_clear(&ga); --- 6200,6206 ---- ext[1] = fname[5]; ext[2] = fname[6]; } ! helptags_one(eap->arg, ext, fname, add_help_tags); } ga_clear(&ga); *************** *** 6200,6214 **** #else /* No language support, just use "*.txt" and "tags". */ ! helptags_one(eap->arg, (char_u *)".txt", (char_u *)"tags"); #endif } static void ! helptags_one(dir, ext, tagfname) ! char_u *dir; /* doc directory */ ! char_u *ext; /* suffix, ".txt", ".itx", ".frx", etc. */ ! char_u *tagfname; /* "tags" for English, "tags-it" for Italian. */ { FILE *fd_tags; FILE *fd; --- 6208,6223 ---- #else /* No language support, just use "*.txt" and "tags". */ ! helptags_one(eap->arg, (char_u *)".txt", (char_u *)"tags", add_help_tags); #endif } static void ! helptags_one(dir, ext, tagfname, add_help_tags) ! char_u *dir; /* doc directory */ ! char_u *ext; /* suffix, ".txt", ".itx", ".frx", etc. */ ! char_u *tagfname; /* "tags" for English, "tags-fr" for French. */ ! int add_help_tags; /* add "help-tags" tag */ { FILE *fd_tags; FILE *fd; *************** *** 6259,6268 **** } /* ! * If generating tags for "$VIMRUNTIME/doc" add the "help-tags" tag. */ ga_init2(&ga, (int)sizeof(char_u *), 100); ! if (fullpathcmp((char_u *)"$VIMRUNTIME/doc", dir, FALSE) == FPC_SAME) { if (ga_grow(&ga, 1) == FAIL) got_int = TRUE; --- 6268,6279 ---- } /* ! * If using the "++t" argument or generating tags for "$VIMRUNTIME/doc" ! * add the "help-tags" tag. */ ga_init2(&ga, (int)sizeof(char_u *), 100); ! if (add_help_tags || fullpathcmp((char_u *)"$VIMRUNTIME/doc", ! dir, FALSE) == FPC_SAME) { if (ga_grow(&ga, 1) == FAIL) got_int = TRUE; *** ../vim-7.1.216/src/ex_cmds.h Thu Mar 8 11:00:55 2007 --- src/ex_cmds.h Fri Jan 11 20:49:18 2008 *************** *** 422,428 **** EX(CMD_helpgrep, "helpgrep", ex_helpgrep, EXTRA|NOTRLCOM|NEEDARG), EX(CMD_helptags, "helptags", ex_helptags, ! NEEDARG|FILE1|TRLBAR|CMDWIN), EX(CMD_hardcopy, "hardcopy", ex_hardcopy, RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG), EX(CMD_highlight, "highlight", ex_highlight, --- 422,428 ---- EX(CMD_helpgrep, "helpgrep", ex_helpgrep, EXTRA|NOTRLCOM|NEEDARG), EX(CMD_helptags, "helptags", ex_helptags, ! NEEDARG|FILES|TRLBAR|CMDWIN), EX(CMD_hardcopy, "hardcopy", ex_hardcopy, RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG), EX(CMD_highlight, "highlight", ex_highlight, *** ../vim-7.1.216/src/version.c Fri Jan 11 20:25:42 2008 --- src/version.c Fri Jan 11 20:58:44 2008 *************** *** 668,669 **** --- 668,671 ---- { /* Add new patch number below this line */ + /**/ + 217, /**/ -- My girlfriend told me I should be more affectionate. So I got TWO girlfriends. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ download, build and distribute -- http://www.A-A-P.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///