bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug in @printindex


From: Karl Berry
Subject: Re: Bug in @printindex
Date: Thu, 30 Jan 2003 18:52:38 -0500

    ozNameon MozBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
    i.e. there is no space between the name and the class it's stored on.

Thanks for the report.  Here's a patch if you want to try it.  The new
texinfo.tex is also at ftp://ftp.gnu.org/gnu/texinfo.tex.


*** texinfo.tex.~1.55.~ Thu Jan 30 09:02:05 2003
--- texinfo.tex Thu Jan 30 15:41:48 2003
***************
*** 3202,3229 ****
          \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined 
now
          % so it will be output as is; and it will print as backslash.
          %
!         \def\thirdarg{#3}%
!         %
!         % If third arg is present, precede it with space in sort key.
!         \ifx\thirdarg\emptymacro
!           \let\subentry = \empty
!         \else
!           \def\subentry{ #3}%
!         \fi
!         %
!         % First process the index entry with all font commands turned
!         % off to get the string to sort by.
!         {\indexnofonts \xdef\indexsorttmp{#2\subentry}}%
!         %
!         % Now the real index entry with the fonts.
          \toks0 = {#2}%
          %
!         % If the third (subentry) arg is present, add it to the index
!         % line to write.
          \ifx\thirdarg\emptymacro \else
!           \toks0 = \expandafter{\the\toks0{#3}}%
          \fi
          %
          % Set up the complete index entry, with both the sort key and
          % the original text, including any font commands.  We write
          % three arguments to \entry to the .?? file (four in the
--- 3202,3222 ----
          \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined 
now
          % so it will be output as is; and it will print as backslash.
          %
!         % The main index entry text.
          \toks0 = {#2}%
          %
!         % If third arg is present, precede it with space in sort key.
!         \def\thirdarg{#3}%
          \ifx\thirdarg\emptymacro \else
!            % If the third (subentry) arg is present, add it to the index
!            % line to write.
!           \toks0 = \expandafter{\the\toks0 \space #3}%
          \fi
          %
+         % Process the index entry with all font commands turned off, to
+         % get the string to sort by.
+         {\indexnofonts \xdef\indexsorttmp{\the\toks0}}%
+         %
          % Set up the complete index entry, with both the sort key and
          % the original text, including any font commands.  We write
          % three arguments to \entry to the .?? file (four in the
***************
*** 5270,5278 ****
  \defopparsebody\Edefop\defopx\defopheader\defoptype}
  %
  \def\defopheader#1#2#3{%
! \dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index
! \begingroup\defname {#2}{\defoptype\ \putwordon\ #1}%
! \defunargs {#3}\endgroup %
  }
  
  % @deftypeop CATEGORY CLASS TYPE OPERATION ARG...
--- 5263,5273 ----
  \defopparsebody\Edefop\defopx\defopheader\defoptype}
  %
  \def\defopheader#1#2#3{%
!   \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% function index entry
!   \begingroup
!     \defname{#2}{\defoptype\ \putwordon\ #1}%
!     \defunargs{#3}%
!   \endgroup
  }
  
  % @deftypeop CATEGORY CLASS TYPE OPERATION ARG...
***************
*** 5339,5347 ****
  \defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}
  
  \def\defcvarheader #1#2#3{%
! \dosubind {vr}{\code{#2}}{\putwordof\ #1}% Make entry in var index
! \begingroup\defname {#2}{\defcvtype\ \putwordof\ #1}%
! \defvarargs {#3}\endgroup %
  }
  
  % @defivar CLASS VARNAME == @defcv {Instance Variable} CLASS VARNAME
--- 5334,5344 ----
  \defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}
  
  \def\defcvarheader #1#2#3{%
!   \dosubind{vr}{\code{#2}}{\putwordof\ \code{#1}}% variable index entry
!   \begingroup
!     \defname{#2}{\defcvtype\ \putwordof\ #1}%
!     \defvarargs{#3}%
!   \endgroup
  }
  
  % @defivar CLASS VARNAME == @defcv {Instance Variable} CLASS VARNAME
***************
*** 5349,5355 ****
  \def\defivar{\defvrparsebody\Edefivar\defivarx\defivarheader}
  %
  \def\defivarheader#1#2#3{%
!   \dosubind {vr}{\code{#2}}{\putwordof\ #1}% entry in var index
    \begingroup
      \defname{#2}{\putwordInstanceVariableof\ #1}%
      \defvarargs{#3}%
--- 5346,5352 ----
  \def\defivar{\defvrparsebody\Edefivar\defivarx\defivarheader}
  %
  \def\defivarheader#1#2#3{%
!   \dosubind{vr}{\code{#2}}{\putwordof\ \code{#1}}% entry in var index
    \begingroup
      \defname{#2}{\putwordInstanceVariableof\ #1}%
      \defvarargs{#3}%




reply via email to

[Prev in Thread] Current Thread [Next in Thread]