Blob Blame History Raw
To: vim-dev@vim.org
Subject: Patch 7.1.217
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
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    ///