Fedora 22, Emacs Shell Warning: no access to tty (Inappropriate ioctl for device).
"Stephen J. Turnbull" <[email protected]> Tue, 08 Sep 2015 02:54:19 +0900
| Newsgroups | gmane.emacs.xemacs.beta |
|---|---|
| Message-ID | <[email protected]> |
B. Joshua Rosen writes: > The Fedora Xemacs maintainer suggested that I contract you directly > about this problem. Opening a shell in Xemacs on Fedora 22 gets the > following error, > > Warning: no access to tty (Inappropriate ioctl for device). > Thus no job control in this shell. > > I use tcsh as my shell, the problem is tcsh specific. This problem is > limited to Fedora 22, there is no problem on Fedora 21. Here is a link > to the bugzilla report > > https://bugzilla.redhat.com/show_bug.cgi?id=1222897 Works for me on Mac OS X (both process-connection-types, but I suspect Mac doesn't have ptys? as it defaults to nil, in which case this is a no-op) and on Gentoo Linux (with process-connection-type t, sh and tsch both work as expected, on nil, both fail as above). Two things I can think of. First is that somehow tcsh is disabling use of ptys, which are the preferred way to communicate with subprocesses on Linux, and using pipes instead. The second is Vin's change where he moved disconnect_controlling_terminal() later in unix_create_process (process-unix.c). If playing with those doesn't help, I don't have a suggestion. The process code is hairy, and otherwise it hasn't been touched in a decade or so. It also looks a lot like Emacs's (to the extent that I can tell; there are various differences in factoring). By the very fact that it hasn't changed in a while, it's quite possible that the appropriate place to fix this bug is in XEmacs, but I suppose there's a good chance that the fastest way to localize the problem is to figure out what changed in Fedora and correlate that with the corresponding functionality in XEmacs. Has anybody asked the tcsh channels? Have you tried tcsh in GNU Emacs? @Jerry: the last person to do significant work on the process code was Martin, I think.