To: vim_dev@googlegroups.com
Subject: Patch 7.3.734
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.734
Problem: Cannot put help files in a sub-directory.
Solution: Make :helptags work for sub-directories. (Charles Campbell)
Files: src/ex_cmds.c
*** ../vim-7.3.733/src/ex_cmds.c 2012-09-05 15:15:01.000000000 +0200
--- src/ex_cmds.c 2012-11-28 15:59:58.000000000 +0100
***************
*** 6344,6353 ****
}
#ifdef FEAT_MULTI_LANG
! /* Get a list of all files in the directory. */
STRCPY(NameBuff, dirname);
add_pathsep(NameBuff);
! STRCAT(NameBuff, "*");
if (gen_expand_wildcards(1, &NameBuff, &filecount, &files,
EW_FILE|EW_SILENT) == FAIL
|| filecount == 0)
--- 6344,6353 ----
}
#ifdef FEAT_MULTI_LANG
! /* Get a list of all files in the help directory and in subdirectories. */
STRCPY(NameBuff, dirname);
add_pathsep(NameBuff);
! STRCAT(NameBuff, "**");
if (gen_expand_wildcards(1, &NameBuff, &filecount, &files,
EW_FILE|EW_SILENT) == FAIL
|| filecount == 0)
***************
*** 6436,6443 ****
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;
--- 6436,6443 ----
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;
***************
*** 6449,6454 ****
--- 6449,6455 ----
char_u *s;
int i;
char_u *fname;
+ int dirlen;
# ifdef FEAT_MBYTE
int utf8 = MAYBE;
int this_utf8;
***************
*** 6459,6467 ****
/*
* Find all *.txt files.
*/
STRCPY(NameBuff, dir);
! add_pathsep(NameBuff);
! STRCAT(NameBuff, "*");
STRCAT(NameBuff, ext);
if (gen_expand_wildcards(1, &NameBuff, &filecount, &files,
EW_FILE|EW_SILENT) == FAIL
--- 6460,6468 ----
/*
* Find all *.txt files.
*/
+ dirlen = STRLEN(dir);
STRCPY(NameBuff, dir);
! STRCAT(NameBuff, "/**/*");
STRCAT(NameBuff, ext);
if (gen_expand_wildcards(1, &NameBuff, &filecount, &files,
EW_FILE|EW_SILENT) == FAIL
***************
*** 6522,6528 ****
EMSG2(_("E153: Unable to open %s for reading"), files[fi]);
continue;
}
! fname = gettail(files[fi]);
# ifdef FEAT_MBYTE
firstline = TRUE;
--- 6523,6529 ----
EMSG2(_("E153: Unable to open %s for reading"), files[fi]);
continue;
}
! fname = files[fi] + dirlen + 1;
# ifdef FEAT_MBYTE
firstline = TRUE;
*** ../vim-7.3.733/src/version.c 2012-11-28 15:55:37.000000000 +0100
--- src/version.c 2012-11-28 15:58:26.000000000 +0100
***************
*** 727,728 ****
--- 727,730 ----
{ /* Add new patch number below this line */
+ /**/
+ 734,
/**/
--
From "know your smileys":
y:-) Bad toupee
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///