From 6cc2c89243924fb671f0ad637ed718b99933fbde Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Fri, 13 Nov 2009 16:23:27 +0000
Subject: glossaries 2.4 (10nov09)

git-svn-id: svn://tug.org/texlive/trunk@16008 c570f23f-e606-0410-a88d-b1316a301751
---
 .../tex/latex/glossaries/base/mfirstuc.sty         | 63 ++++++++++++----------
 1 file changed, 36 insertions(+), 27 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty')

diff --git a/Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty b/Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty
index 6b7959f3719..1e513dd332a 100644
--- a/Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty
+++ b/Master/texmf-dist/tex/latex/glossaries/base/mfirstuc.sty
@@ -21,7 +21,7 @@
 %% 
 %%  The Current Maintainer of this work is Nicola Talbot.
 %% 
-%%  This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, mfirstuc.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-longragged.sty, glossary-super.sty, glossary-superragged.sty, glossary-tree.sty, glossaries-accsupp.sty, glossaries-babel.sty, glossaries-dictionary-Brazilian.dict, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Polish.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleaccsupp.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleDesc.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, sampletree.tex, sampleutf8.tex, samplexdy.tex, samplexdy-mc.xdy, database1.tex, database2.tex, glossaries.perl.
+%%  This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, mfirstuc.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-longragged.sty, glossary-super.sty, glossary-superragged.sty, glossary-tree.sty, glossaries-accsupp.sty, glossaries-babel.sty, glossaries-polyglossia.sty, glossaries-dictionary-Brazilian.dict, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Polish.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleaccsupp.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleacronyms.tex, sampleDB.tex, sampleDesc.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, sampletree.tex, sampleutf8.tex, samplexdy.tex, samplexdy-mc.xdy, database1.tex, database2.tex, glossaries.perl.
 %% 
 %% \CharacterTable
 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -39,40 +39,49 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{mfirstuc}[2008/12/22 v1.03 (NLCT)]
+\ProvidesPackage{mfirstuc}[2009/11/03 v1.04 (NLCT)]
 \newif\if@glscs
+\newtoks\@glsmfirst
+\newtoks\@glsmrest
 \def\makefirstuc#1{%
-\def\gls@argi{#1}%
-\ifx\gls@argi\@empty
-\else
-  \def\@gls@tmp{\ #1}%
-  \@onelevel@sanitize\@gls@tmp
-  \expandafter\@gls@checkcs\@gls@tmp\relax\relax
-  \if@glscs
-    \@gls@getbody #1{}\@nil
-    \ifx\@gls@rest\@empty
-      \@gls@makefirstuc{#1}%
-    \else
-      \expandafter\@gls@split\@gls@rest\@nil
-      \ifx\@gls@first\@empty
-         \@gls@makefirstuc{#1}%
+  \def\gls@argi{#1}%
+  \ifx\gls@argi\@empty
+  \else
+    \def\@gls@tmp{\ #1}%
+    \@onelevel@sanitize\@gls@tmp
+    \expandafter\@gls@checkcs\@gls@tmp\relax\relax
+    \if@glscs
+      \@gls@getbody #1{}\@nil
+      \ifx\@gls@rest\@empty
+        \@gls@makefirstuc{#1}%
       \else
-         \@gls@body{\expandafter\@gls@makefirstuc\@gls@first}\@gls@rest%
+        \expandafter\@gls@split\@gls@rest\@nil
+        \ifx\@gls@first\@empty
+           \@gls@makefirstuc{#1}%
+        \else
+           \expandafter\@glsmfirst\expandafter{\@gls@first}%
+           \expandafter\@glsmrest\expandafter{\@gls@rest}%
+           \edef\@gls@domfirstuc{\noexpand\@gls@body
+             {\noexpand\@gls@makefirstuc\the\@glsmfirst}%
+             \the\@glsmrest}%
+           \@gls@domfirstuc
+        \fi
       \fi
+    \else
+      \@gls@makefirstuc{#1}%
     \fi
-  \else
-    \@gls@makefirstuc{#1}%
   \fi
-\fi
 }
-\def\@gls@split#1#2\@nil{\def\@gls@first{#1}\def\@gls@rest{#2}}
+\def\@gls@split#1#2\@nil{%
+  \def\@gls@first{#1}\def\@gls@rest{#2}%
+}
 \def\@gls@checkcs#1 #2#3\relax{%
-\def\@gls@argi{#1}\def\@gls@argii{#2}%
-\ifx\@gls@argi\@gls@argii
-  \@glscstrue
-\else
-  \@glscsfalse
-\fi
+  \def\@gls@argi{#1}\def\@gls@argii{#2}%
+  \ifx\@gls@argi\@gls@argii
+    \@glscstrue
+  \else
+    \@glscsfalse
+  \fi
 }
 \def\@gls@makefirstuc#1{\MakeUppercase #1}
 \def\@gls@getbody#1#{\def\@gls@body{#1}\@gls@gobbletonil}
-- 
cgit v1.2.3

