ESS on Panther

Na Li nali at
Wed Dec 17 06:16:50 CET 2003

On 16 Dec 2003, Martin Maechler outgrape:

> > > > > >  "NaLi" == Na Li <nali at>
> > > > > >  on Mon, 15 Dec 2003 16:16:37 -0600 writes:
>  NaLi> To use ESS with Carbon Emacs, you need do:
>  NaLi> (setq process-connection-type t)
>  NaLi> before, say, 'M-x R'.
>  NaLi> Maybe it should be added to ESS? See Andrew's website
>  NaLi> for discussion on this issue.
>  Ah, that's interesting.
>  Note that I can do
>  emacs -q		{-q ~= --vanilla :  no initialization whatsoever}
>  ask for process-connection-type and it's always true (t) on both
>  Unix versions I've available (Solaris, Linux).
>  In other words, I think  your "OS_X emacs" should be configured
>  such that this is set to true early enough in order to behave
>  like other emacsen.

There is a reason for setting it to nil in Carbon Emacs, which has
to do with a psuedo-terminal bug in Darwin.  Here is a quote from Choi's

,----[ ]
| The implementation of pty's in Darwin is flawed. If a slave terminates before
| the master can read all its output, the last part of the output can be lost.
| ...
| As a result an *interactive* program that uses a pty in Emacs, such as ftp or
| ssh, will work OK, up until the last command (quit, e.g.) sent to it, which
| usually doesn't matter. However if pty's are used to start a man, diff,
| latex, or make process, which don't wait for any input, the last part of the
| output will be lost. Fortunately *pipes* work and will not lose output, and
| setting process-connection-type to nil enables them by default. Emacs Lisp
| packages that do require pty's will set the buffer-local variable
| process-connection-type to t, and everything should work the way they're
| intended.


More information about the ESS-help mailing list