-o switch in find

Hello all

I'm experimenting with the use of the -prune action and I've encountered some confusing behaviour when using the -o option. Can't find anything specific in the man page.

If I have a directory within my current directory called testlink and I run:-

find . -name testlink -prune

I get what I would expect - the name of the directory, but none of the contents, since the -prune switch has prevented the command descending. However, if I run:-

find . -name testlink -prune -o -print

Then all other files/directories in the current one are displayed, but not the testlink directory.

My understanding is that the -o option is a 'short-circuit' OR, in which case, having returned true with the left-hand expression, should the -print action be performed? Also, shouldn't the testlink directory be displayed?

I'm using SunOS 5.5.1, using KSH.

Thanks