Mercurial > emacs
annotate lib-src/ntlib.h @ 82988:f82e3a6f5ccb
A few more bugfixes and new features.
(Sigh.) I obviously need to remember to separate individual changes
to multiple commits.
src/emacsclient.c: Improved error handling.
(decode_options): Changed frame option (again) from -f to -t.
(print_help_and_exit): Ditto.
(copy_from_to): Check EINTR after write, not EAGAIN. Removed SIGIO hack.
(pty_conversation): Handle errors transmitted through the socket.
Handle pty errors by not reading from it anymore.
(main): Restore correct errno after socket_status failed. Send -tty
on -t, not -pty.
lisp/server.el (server-process-filter): Watch -tty, not -pty.
Use make-frame-on-tty instead of make-terminal-frame.
Don't set newframe to t if make-frame-on-tty failed.
Don't delete frames here. Print correct message when there are no
files to edit, but a new frame was requested.
(server-sentinel): Delete the frame after the process.
(server-handle-delete-frame): New function for delete-frame-functions.
(server-start): Add server-handle-delete-frame to delete-frame-functions.
(server-buffer-done): Don't delete frames here.
src/alloc.c (mark_ttys): Add prototype.
(Fgarbage_collect): Call mark_ttys.
src/emacs.c: (shut_down_emacs): Don't flush stdout before
reset_sys_modes().
src/process.c (add_keyboard_wait_descriptor_called_flag): Removed.
(add_keyboard_wait_descriptor): Removed stdin hack.
src/sysdep.c: Unconditionally include sysselect.h.
(old_fcntl_flags): Changed to an array.
(init_sigio, reset_sigio): Use it.
(narrow_foreground_group, widen_foreground_group): Use setpgid, not
setpgrp.
(old_fcntl_owner): Changed to an array.
(init_sys_modes, reset_sys_modes): Use it. Fix fsync() and reset_sigio() calls.
src/term.c (Qframe_tty_name, Qframe_tty_type): New variables.
(syms_of_term): Initialize them.
(Fframe_tty_name, Fframe_tty_type): New functions.
(term_init): Call add_keyboard_wait_descriptor().
(Fdelete_tty): New function.
(delete_tty): Call delete_keyboard_wait_descriptor().
(get_current_tty): Removed.
(mark_ttys): New function.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-28
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Wed, 31 Dec 2003 05:09:29 +0000 |
parents | 695cf19ef79e |
children | e50e8a19d938 375f2633d815 |
rev | line source |
---|---|
15139 | 1 /* Utility and Unix shadow routines for GNU Emacs support programs on NT. |
2 Copyright (C) 1994 Free Software Foundation, Inc. | |
3 | |
4 This file is part of GNU Emacs. | |
5 | |
6 GNU Emacs is free software; you can redistribute it and/or modify it | |
7 under the terms of the GNU General Public License as published by the | |
8 Free Software Foundation; either version 2, or (at your option) any later | |
9 version. | |
10 | |
11 GNU Emacs is distributed in the hope that it will be useful, but WITHOUT | |
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
14 more details. | |
15 | |
15742 | 16 You should have received a copy of the GNU General Public License |
17 along with GNU Emacs; see the file COPYING. If not, write to the | |
18 Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
19 Boston, MA 02111-1307, USA. | |
15139 | 20 |
21 */ | |
22 | |
23 #include <pwd.h> | |
24 #include <malloc.h> | |
25 | |
19232 | 26 /* Include these headers now so we don't have to worry about include |
27 order dependencies in common source files. */ | |
28 #include <direct.h> | |
29 #include <io.h> | |
30 #include <stdio.h> | |
31 | |
32 #ifdef sleep | |
33 #undef sleep | |
34 #endif | |
31082
9865d23be9e7
(WIN32): Remove unnecessary definition.
Andrew Innes <andrewi@gnu.org>
parents:
22315
diff
changeset
|
35 void sleep(unsigned long seconds); |
15674 | 36 char *getwd (char *dir); |
15139 | 37 int getppid(void); |
38 char * getlogin (); | |
39 char * cuserid (char * s); | |
40 int getuid (); | |
41 int setuid (int uid); | |
42 struct passwd * getpwuid (int uid); | |
43 char * getpass (const char * prompt); | |
44 int fchown (int fd, int uid, int gid); | |
45 | |
46 #ifndef BSTRING | |
47 #define bzero(b, l) memset(b, 0, l) | |
48 #define bcopy(s, d, l) memcpy(d, s, l) | |
49 #define bcmp(a, b, l) memcmp(a, b, l) | |
50 #endif | |
51 | |
22315 | 52 /* redirect or undo interceptions created by config.h */ |
19232 | 53 #undef access |
54 #define access _access | |
55 #undef chdir | |
56 #define chdir _chdir | |
57 #undef chmod | |
58 #define chmod _chmod | |
59 #undef close | |
60 #define close _close | |
61 #undef creat | |
62 #define creat _creat | |
63 #undef ctime | |
64 #undef dup | |
65 #define dup _dup | |
66 #undef dup2 | |
67 #define dup2 _dup2 | |
68 #undef fopen | |
69 #undef mkdir | |
70 #define mkdir _mkdir | |
71 #undef mktemp | |
72 #define mktemp _mktemp | |
73 #undef open | |
74 #define open _open | |
75 #undef pipe | |
76 #define pipe _pipe | |
77 #undef read | |
78 #define read _read | |
79 #undef rename | |
80 #undef rmdir | |
81 #define rmdir _rmdir | |
82 #undef unlink | |
83 #define unlink _unlink | |
84 #undef write | |
85 #define write _write | |
86 | |
87 /* map to MSVC names */ | |
88 #define execlp _execlp | |
89 #define execvp _execvp | |
90 #define fcloseall _fcloseall | |
91 #define fdopen _fdopen | |
92 #define fgetchar _fgetchar | |
93 #define fileno _fileno | |
94 #define flushall _flushall | |
95 #define fputchar _fputchar | |
96 #define getcwd _getcwd | |
97 #define getw _getw | |
98 #define getpid _getpid | |
99 #define isatty _isatty | |
100 #define locking _locking | |
101 #define logb _logb | |
102 #define _longjmp longjmp | |
103 #define lseek _lseek | |
104 #define popen _popen | |
105 #define pclose _pclose | |
106 #define putw _putw | |
107 #define umask _umask | |
108 #define utime _utime | |
109 #define index strchr | |
110 #define rindex strrchr | |
111 | |
22315 | 112 /* Make standard winsock definitions available if needed. */ |
113 #undef _WINSOCKAPI_ | |
31082
9865d23be9e7
(WIN32): Remove unnecessary definition.
Andrew Innes <andrewi@gnu.org>
parents:
22315
diff
changeset
|
114 #undef _WINSOCK_H |
22315 | 115 |
15139 | 116 /* end of ntlib.h */ |
52401 | 117 |
118 /* arch-tag: 93444f66-7b98-4aa5-a5cd-01444094af28 | |
119 (do not change this comment) */ |