The zshmisc man page on my new Debian Squeeze install states, under SIMPLE PROMPT ESCAPES:
%m
The hostname up to the first `.'. An integer may follow the '%' to specify how
many components of the hostname are desired. With a negative integer, trailing
components of the hostname are shown.
When I include %2m in my prompt, I see differing behaviour between OSX and Linux.
On OSX (10.7.3), running zsh 4.3.11, the prompt behaves as expected, showing the two leading components of the system hostname.
On Debian, running zsh 4.3.10, the prompt still only shows the bare hostname. hostname -f on this system confirms that the full hostname is set correctly. Note also that the manpage for this zsh release says that %2m should be supported.
Does anyone have any suggestions as to where to start debugging this?