In the documentation on collision resolution
(http://lilypond.org/doc/v2.15/Documentation/notation/multiple-voices#collision-resolution),
it states: "The \shiftOn command allows (but does not force) the notes
in a voice to be shifted. When \shiftOn is applied to a voice, a note
or chord in that voice is shifted *only* if its stem would otherwise
collide with a stem from another voice, and only if the colliding
stems point in the same direction." (the emphasis on *only* is mine).
However, in the example below, where I have to use shiftOff in the
middle voice (to get the two F notes to merge) and shiftOn in the
treble voice (to prevent the merged half notes from having their heads
filled in), the two A half notes in the treble voice *are* being
shifted, though from my reading of the sentence quoted above, the
shift is not needed.
\version "2.15.38"
treble = \relative c''' {
\shiftOn
a2 a
}
bass = \relative c' {
f2 f
}
middle = \relative c' {
\shiftOff f8[ c'] b c f,[ c'] b c
}
\score {
\new Staff {
\clef treble
\mergeDifferentlyHeadedOn
<<
\context Voice = "1" { \voiceOne \treble }
\context Voice = "2" { \voiceTwo \bass }
\context Voice = "3" { \voiceThree \middle }
>>
}
\layout { }
}