From: Chong Yidong Date: Sun, 2 Nov 2008 23:16:33 +0000 (+0000) Subject: Fix last change. X-Git-Tag: emacs-pretest-23.0.90~2012 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a336ee5bc032c489e7de491f4eeddb8ea28ed6a9;p=emacs.git Fix last change. --- diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c index a2479b3d6bf..c1d0c01eea4 100644 --- a/lib-src/emacsclient.c +++ b/lib-src/emacsclient.c @@ -995,6 +995,57 @@ strprefix (char *prefix, char *string) 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 @@ handle_sigtstp (int signalnum) } -/* 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