diff -ur xindy-2.4.orig/modules/base/tex.xdy xindy-2.4/modules/base/tex.xdy
--- xindy-2.4.orig/modules/base/tex.xdy	2005-05-09 22:21:11.000000000 +0200
+++ xindy-2.4/modules/base/tex.xdy	2010-06-11 13:03:40.000000000 +0200
@@ -1,4 +1,4 @@
-;; $Id: tex.xdy,v 1.2 2005/05/09 20:21:11 jschrod Exp $
+;; $Id: tex.xdy,v 1.3 2010/06/11 11:01:46 jschrod Exp $
 ;;------------------------------------------------------------
 
 ;;;
@@ -16,15 +16,10 @@
 ;; keep-blanks is not loaded. Module keep-blanks would set a flag, and
 ;; this code would check for it. We will need a hook in the kernel, to
 ;; achieve that goal.
-;;
-;; FIXME: Regexps with start-anchored matches do not work. They match
-;; everywhere. We think it's better to not handle leading blanks than
-;; to make all blanks disappear, therefore the first rule is not
-;; activated.
 
-;(merge-rule "^ +" "" :eregexp)
+(merge-rule "^ +" "" :eregexp)
 (merge-rule " +$" "" :eregexp)
-(merge-rule " +" " " :eregexp)
+(merge-rule "  +" " " :eregexp)
 
 
 ;;
@@ -55,13 +50,21 @@
 
 (merge-rule "\\[a-zA-Z@]+ *" "" :eregexp)
 (merge-rule "\\[^a-zA-Z@]" "" :eregexp)
-(merge-rule "^[{}$]" "" :eregexp)
+(merge-rule "[{}$]" "" :eregexp)
 
 
 
 ;;======================================================================
 ;;
 ;; $Log: tex.xdy,v $
+;; Revision 1.3  2010/06/11 11:01:46  jschrod
+;;     New 2.4 ordrules supports regexps with start-anchored matches.
+;; Thus we can activate the leading blank processing rule. The
+;; parenthesis-discard rule must trigger everywhere, not just at the
+;; start of the index key.
+;;     The blank suppression clause got optimized, it now triggers only
+;; if there are multiple blanks and not for each appearing blank.
+;;
 ;; Revision 1.2  2005/05/09 20:21:11  jschrod
 ;;     Support handling of some common macros for logos; ignore all other
 ;; TeX commands.
