Just spent time trying to understand why recursion did not seem to work
properly in Info-ZIP's zip 2.3 as exemplified by "zip -r -o -S e:\foo\*.exe".

After downloading the latest version 2.31 from Info-ZIP's website
(info-zip.org), I found that it displayed the same behavior. After
consulting their FAQ (http://www.info-zip.org/FAQ.html#recursion), I learned
that this bug existed in the Win versions 2.1 and was fixed in 2.2.
Unfortunately the OS/2 version still seems to suffer from the same problem.

BTW, the workaround is to use "zip -r -o -S e:\* -i e:\foo\*.exe" --
apparently the -i flag overrides the general file specification. I also
noted that 2.31 does not seem to be on Hobbes.

The bug has been reported to Info-ZIP.