GNU Emacs Lisp Reference Manual
On MS-DOS, you must indicate whether the data going to and from a synchronous subprocess are text or binary. Text data requires translation between the end-of-line convention used within Emacs (a single newline character) and the convention used outside Emacs (the two-character sequence, crlf).
The variable binary-process-input applies to input sent to the
subprocess, and binary-process-output applies to output received
from it. A non-nil value means the data is non-text; nil
means the data is text, and calls for conversion.
nil, convert newlines to crlf sequences in
the input to a synchronous subprocess.
nil, convert crlf sequences to newlines in
the output from a synchronous subprocess.
See Files and MS-DOS, for related information.