As usual, "our musixflx specialist" found the bug :-)

He asked me to forward the mail to the list. Many thanks, Joel!

------------   cut and post   ------------------------------
Werner, and all:

Greetings!
There is evidently a bug in the MusixTex source code which can cause the 
underfull hbox when \invertslur is used, as shown in your example code:

The bug appears in the definition of the macro \[EMAIL PROTECTED]
Here is the context of the offending code... (within \t@slur)

% test for \invertslur
  \if D\@sense \s@s{u}%
      \let\@invert\@ne
  \fi
  \if U\@sense \s@s{d}   <--- NOTE that the % is missing here.
      \let\@invert\@ne
  \fi

I am not sure what line this is in the latest version, but in
Musixtex T.83, 30 November 1997, it is LINE 1165.

By adding a % at the end of the noted line, the underfull \hbox no
longer appears.

This was a tricky little bug to find... I first inserted the line

  \tracingall\tracingonline=0%

into your example, (just after \startmuflex ) and ran both passes, keeping
the (large) log files.

After analyzing several things, such as the contents of the underfull box,
and the expansion of all the macros when the \invertslur macro was executed
(all to no avail), I was only able to note that the hbox written for the
first line was significantly smaller than was written for the second line.

Strangely (luckily) enough, when I was looking for all the times
when \y@v is adjusted, I noticed that some conditions of \invertslur
are tested during \t@slur execution.  This led to a browse down all the
macro expansions for \t@slur and ... there it was, the notorious

{ blank space )

entry in the log file.  This allowed me to isolate the exact place
where the blank space was inserted.  Too much LUCK, Not Enough Smarts :-)

Lesson Learned:  It would have been a lot quicker if I had just searched
the full log file for "blank space" in the first place!  (By the way,
blank space only hurts when it is not embedded within a "text box" of
some kind... For example, there was another occurrence of "blank space"
in my logs, related to a \shortauthor expansion that comes from my
output routine.  That can be ignored, since it does not occur during the
extract.)

This is probably something important to the next update of MusixTex!

Joel Hunsberger
[EMAIL PROTECTED]

Reply via email to