Mercurial > emacs
changeset 99334:e6ec0b2ebf47
Fix last change.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sun, 02 Nov 2008 23:16:33 +0000 |
parents | a999ab783eff |
children | 91df9fb880c4 |
files | lib-src/emacsclient.c |
diffstat | 1 files changed, 51 insertions(+), 52 deletions(-) [+] |
line wrap: on
line diff
--- a/lib-src/emacsclient.c Sun Nov 02 21:41:57 2008 +0000 +++ b/lib-src/emacsclient.c Sun Nov 02 23:16:33 2008 +0000 @@ -995,6 +995,57 @@ return !strncmp (prefix, string, strlen (prefix)); } +/* Get tty name and type. If successful, return the type in TTY_TYPE + and the name in TTY_NAME, and return 1. Otherwise, fail if NOABORT + is zero, or return 0 if NOABORT is non-zero. */ + +int +find_tty (char **tty_type, char **tty_name, int noabort) +{ + char *type = egetenv ("TERM"); + char *name = ttyname (fileno (stdout)); + + if (!name) + { + if (noabort) + return 0; + else + { + message (TRUE, "%s: could not get terminal name\n", progname); + fail (); + } + } + + if (!type) + { + if (noabort) + return 0; + else + { + message (TRUE, "%s: please set the TERM variable to your terminal type\n", + progname); + fail (); + } + } + + if (strcmp (type, "eterm") == 0) + { + if (noabort) + return 0; + else + { + /* This causes nasty, MULTI_KBOARD-related input lockouts. */ + message (TRUE, "%s: opening a frame in an Emacs term buffer" + " is not supported\n", progname); + fail (); + } + } + + *tty_name = name; + *tty_type = type; + return 1; +} + #if !defined (NO_SOCKETS_IN_FILE_SYSTEM) @@ -1085,58 +1136,6 @@ } -/* Get tty name and type. If successful, return the type in TTY_TYPE - and the name in TTY_NAME, and return 1. Otherwise, fail if NOABORT - is zero, or return 0 if NOABORT is non-zero. */ - -int -find_tty (char **tty_type, char **tty_name, int noabort) -{ - char *type = egetenv ("TERM"); - char *name = ttyname (fileno (stdout)); - - if (!name) - { - if (noabort) - return 0; - else - { - message (TRUE, "%s: could not get terminal name\n", progname); - fail (); - } - } - - if (!type) - { - if (noabort) - return 0; - else - { - message (TRUE, "%s: please set the TERM variable to your terminal type\n", - progname); - fail (); - } - } - - if (strcmp (type, "eterm") == 0) - { - if (noabort) - return 0; - else - { - /* This causes nasty, MULTI_KBOARD-related input lockouts. */ - message (TRUE, "%s: opening a frame in an Emacs term buffer" - " is not supported\n", progname); - fail (); - } - } - - *tty_name = name; - *tty_type = type; - return 1; -} - - /* Set up signal handlers before opening a frame on the current tty. */ void