I don't recall when it stopped working, if it ever did work, but talk seems to be annoyingly broken in Panther. I like to ssh home from work and gossip securely with my sweetie-pie, who does the same. I have several good reasons to avoid the "secure" extensions to the various IM clients, so the best option for us is to open a remote shell on my G5 at home and start a "unix talk" session. Unfortunately, Panther's talk seems unable to deal with line breaks; it prints ^M instead of a carriage return/new line sequence (CR/NL). Control-J will force a CR/NL, but this is quite unsatisfactory. I fooled around with stty options for awhile until I gave up and wrote the following expect script:
#!/usr/local/bin/expect
spawn /usr/bin/talk $argv
interact "\r" { send "\n" }
I named it "talk", placed it in my path, made it executable, and ran rehash (I use tcsh, not bash). This fix completely cleared up the problem. I'm not sure whether expect is now part of the standard distribution -- it's in /usr/bin on my G5 and in /usr/local/bin on my G4, both of which have Panther -- but it's easily available in binary package form from many sources.
Mac OS X Hints
http://hints.macworld.com/article.php?story=20040408211336798