On 18 Mar 2002, Stephen J. Turnbull wrote:
>> --- mail-lib/pop3.el Fri Oct 6 13:40:48 2000 +++
/c/Program
>> Files/XEmacs/xemacs-packages/lisp/mail-lib/pop3.el Mon Mar 18
>> 15:12:22 2002 @@ -248,6 +248,7 @@ (erase-buffer)) (setq process
>> (open-network-stream "POP" process-buffer mailhost port)) +
>> (set-process-input-coding-system process 'binary)
Simon> Look a few lines up, and you see that
Simon> `coding-system-for-{read,write}' is bound. It should be
Simon> sufficient IMHO.
Er, the function unbinds c-s-f-r as it returns the process. c-f-s-r
is consulted by functions that read from streams, not by functions
that create streams. So when you read from the process, the value of
c-s-f-r is not bound.
Nick's code sets the coding system for the process, which you can then
return. Since this is part of the process, it works.
Don't ask me why the API is designed this way.
But simply binding c-s-f-* when opening the stream used to work. If pop3
and nntp now both breaks, I'd say something changed in 21.5 that triggers
this. Maybe it can be reverted.