Some time ago, Stephen J. Turnbull wrote...
|+
|  But if you're actually going to stuff it into a TCP/IP stream via a
|  process buffer, you need to use coding-system-for-process-output (or
|  whatever the appropriate variable is named).  These may very well be
|  different; eg, if the TCP/IP stream mentioned is actually SMTP, you
|  may very well want to use an ISO-2022-7 coding system, while when you
|  save the buffer to a local file as a log you can use 8-bit ISO-8859-2
|  without silly escape sequences, because as you say "Trust me, there's
|  nobody here that doesn't speak ISO-8859-2."  Fmd5 cares whether you're
|  using its value as a check on the log or on the SMTP transmission.
Again, coding-system-for-* are bindable, not settable. Their values
are stored into the process object which represents a tcp/ip conneciotion
internally.
If you want to md5 something which goes out through a connection, you
may use (process-coding-system-for-*) functions. If you want to md5 a
part of a buffer, you may use buffer-file-coding-system variable, which
is actually done by md5 implementation. Of course, any of these may be
'undecided.
As I see the problem, the only questionable hashing source is a string,
in which case there is no associated source of coding type information.
Am I missing something?
Kirill