1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 15:21:51 -08:00
Commit graph

326 commits

Author SHA1 Message Date
Kenichi Handa
57bb5c37d7 (read_process_output): Cancel previous change. 2000-10-11 23:56:30 +00:00
Kenichi Handa
df3c11b907 (read_process_output): Fix previous change. Adjust multibyteness of
text to insert in a buffer by make_string_unibyte/multibyte instead of
Fstring_as_unibyte/multibyte.
2000-10-11 01:23:36 +00:00
Andreas Schwab
3316160629 (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
-1 after socket is closed, to fall through to error processing.
2000-10-09 20:01:10 +00:00
Dave Love
f6270f62c2 (Fopen_network_stream): Use HAVE_GAI_STRERROR. 2000-10-02 16:42:47 +00:00
Gerd Moellmann
70dbdb363e (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
gai_strerror.  Make sure xerrno is set if connect fails.  Improve
error recovery.
2000-09-30 13:51:15 +00:00
Gerd Moellmann
0daad115c4 (process_sent_to): New variable.
(send_process): Workaround for a crash on sparc-sun-solaris-2.6
with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
Declare more parameters volatile.
2000-09-21 11:48:48 +00:00
Kenichi Handa
d69864bf3e (read_process_output): Before inserting the decoded
text in the buffer, adjust the multibyteness.
2000-09-07 01:14:20 +00:00
Kenichi Handa
278bfdd615 (create_process): Don't setup raw-text coding here.
(Fopen_network_stream): Don't set coding->src_multibyte and
coding->dst_multibyte here.
(read_process_output): For process filter, return unibyte string
if default-enable-multibyte-characters is nil.
(send_process): If OBJECT is multibyte text, be sure to encoded it
by the specified coding system for the process.  Otherwise, setup
raw-text coding.
(init_process): Don't initialize default-process-coding-system
here.
2000-08-24 02:06:43 +00:00
Andrew Innes
3ec68006ee Include keyboard.h before frame.h.
[USE_CRT_DLL]: Remove unnecessary extern, which screws
up dllimport attributes.
(create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
screws up dllimport attributes.
2000-08-22 22:36:52 +00:00
Kenichi Handa
082a1df2db *** empty log message *** 2000-08-04 05:53:39 +00:00
Kenichi Handa
ed7a4b2d60 (read_process_output): Big simplification. Handle
composition and post-read-conversion of coding system correctly.
(send_process): Handle composition correctly.
2000-08-04 02:26:32 +00:00
Ken Raeburn
b8c2455611 * process.c (Fopen_network_stream): Turn off atimers for duration of call to
connect.  (Patch from Gerd.)
2000-06-24 06:06:53 +00:00
Gerd Moellmann
f22ac298de (toplevel) [UNIX98_PTYS]: Include stdlib.h. 2000-05-20 15:54:05 +00:00
Kenichi Handa
a4a37e652d (Fstart_process): GCPRO current_dir before calling
Ffind_operation_coding_system.  Encode arguments here.
(create_process): Don't encode arguments here.  Setup
src_multibyte and dst_multibyte members of struct coding.
(read_process_output): Setup src_multibyte and dst_multibyte
members of struct coding.  If the output is to multibyte buffer,
always decode the output of the process.  Adjust the
representation of 8-bit characters to the multibyteness of the
output.
(send_process): Setup coding->src_multibyte according to the
multibyteness of the source.
2000-05-20 00:04:37 +00:00
Gerd Moellmann
1fb0098cc6 (send_process): Add a hint that the function
can call Lisp code to its comment.
2000-03-15 19:58:03 +00:00
Gerd Moellmann
4dd8a783b3 (send_process): Remove local variable `procname' that
might become invalid when a GC happens.  Instead, access the
process name slot directly.
2000-03-06 12:41:53 +00:00
Gerd Moellmann
e12da451f5 (wait_reading_process_input): Remove busy-cursor code. 2000-02-25 13:30:07 +00:00
Gerd Moellmann
3433b6bdab (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
Workaround for FreeBSD bug.  Flush output queue after EAGAIN in
write(2).
2000-02-15 10:27:23 +00:00
Gerd Moellmann
4cf3fa0818 (Fopen_network_stream) [POLL_FOR_INPUT]: Register
unwind function to undo the effect of stopping atimers.
2000-02-12 13:12:17 +00:00
Dave Love
8c983bf257 (Fstart_process): Doc fix. 2000-02-01 15:01:28 +00:00
Gerd Moellmann
30904ab7d1 (toplevel): Include atimer.h.
(create_process_1): Rewritten.
(create_process): Use atimers instead of alarm.
(wait_reading_process_input) [hpux]: Turn atimers off instead
of turning off SIGALRM.
(wait_reading_process_input): Turn off atimers instead off
calling stop_polling.
2000-01-25 15:56:42 +00:00
Kenichi Handa
1c89844b12 (read_process_output): Fix the args CHARPOS and LENINS
to signal_after_change.
1999-12-29 00:57:25 +00:00
Kenichi Handa
f9b537ecb3 (read_process_output): Fix the arg FROM to
update_compositions.
1999-12-24 01:06:50 +00:00
Kenichi Handa
e0016554c4 Include composite.h.
(read_process_output): Call update_compositions.
1999-12-15 00:17:54 +00:00
Paul Eggert
ca9c056758 * callproc.c (strerror): Remove decl.
* fileio.c (strerror): Likewise.
* process.c (strerror): Likewise.
* emacs.c (strerror): Likewise.
(Vsystem_messages_locale): Renamed from Vmessages_locale.
All uses changed.
(Vprevious_system_messages_locale): Likewise, from
Vprevious_messages_locale.
(Vsystem_time_locale): Likewise, from Vtime_locale.
(Vprevious_system_time_locale): Likewise, from Vprevious_time_locale.
(ABORT_RETURN_TYPE): New macro.
(abort): Return type is now ABORT_RETURN_TYPE.
(main): Always invoke init_signals, even if POSIX_SIGNALS is not
defined.
(syms_of_emacs): messages-locale -> system-messages-locale,
previous-messages-locale -> previous-system-messages-locale,
time-locale -> system-time-locale,
previous-time-locale -> previous-system-time-locale.

* gmalloc.c (PP, __ptr_t): Assume ANSI C if STDC_HEADERS is defined.
(const): Do not define; that's config.h's job.
(<limits.h>): Include if HAVE_LIMITS_H is defined.
(CHAR_BIT): Move test for definedness outside of limits.h condition.
(<stddef.h>): Include if STDC_HEADERS is defined.
(FREE_RETURN_TYPE): New macro.
(free): Return type is now FREE_RETURN_TYPE.

* lisp.h (synchronize_system_time_locale): Renamed from
synchronize_time_locale.  All uses changed.
(synchronize_system_messages_locale): Likewise, from
synchronize_messages_locale.

* process.c (sys_siglist): Remove.

* syntax.c (scan_sexps_forward): Use abort, not assert.

* sysdep.c (my_sys_siglist): New var.
(sys_siglist): New macro.  Remove old initialized vars of same name.
(init_signals): Initialize sys_siglist.

* xfns.c (abort): Remove decl; stdlib.h now does this.
1999-11-22 08:19:51 +00:00
Dave Love
827a1788e0 Undo last change and define _GNU_SOURCE before config.h. 1999-11-02 22:44:28 +00:00
Dave Love
b5540f0dc6 Use string.h for strsignal. 1999-11-02 14:23:20 +00:00
Paul Eggert
68c45bf065 Add support for large files, 64-bit Solaris, system locale codings.
* Makefile.in (emacs): Set the LC_ALL environment variable to "C"
when dumping, so that the dumped Emacs doesn't have stray locale info.
(dired.o): Depend on systime.h.
(editfns.o): Depend on coding.h.

* alloc.c, buffer.c, callproc.c, ccl.c, charset.c, coding.c, data.c,
dispnew.c, editfns.c, emacs.c, filelock.c, floatfns.c, hftctl.c,
keyboard.c, process.c, sysdep.c, unexelf.c, unexhp9k800.c,
unexsunos4.c, vmsfns.c, vmsgmalloc.c, w32faces.c, w32menu.c, w32term.c,
w32xfns.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
Include <config.h> before any system include files.

* alloc.c, buffer.c, ccl.c, data.c, editfns.c, emacs.c, eval.c,
fileio.c, filelock.c, frame.c, insdel.c, keymap.c, lread.c,
m/alpha.h, print.c, search.c, sysdep.c, xdisp.c, xfaces.c, xfns.c,
xmenu.c, xterm.c:
Do not include <stdlib.h>, as <config.h> does this now.

* callproc.c (Fcall_process):
Synchronize messages locale before invoking strerror.
Decode resulting string with locale-coding-system.

* coding.c (Vlocale_coding_system): New var.
(syms_of_coding): Adjust to above change.
(emacs_strerror): New function.

* coding.h (emacs_strerror, Vlocale_coding_system): New decls.

* config.in (HAVE_STDIO_EXT_H, HAVE_TM_GMTOFF, HAVE___FPENDING,
HAVE_FTELLO, HAVE_GETLOADAVG, HAVE_MBLEN, HAVE_MBRLEN,
HAVE_STRSIGNAL): New macros.
(BITS_PER_LONG): Default to 64 if _LP64 is defined.
<stdlib.h>: Include if HAVE_STDLIB_H is defined and NOT_C_CODE isn't.

* dired.c: Include "systime.h".
(Ffile_attributes): Do not cast s.st_size to int; this loses
information if int is 32 bits but st_size and EMACS_INT are larger.
Treat large device numbers like large inode numbers.

* dispnew.c (PENDING_OUTPUT_COUNT): Use __fpending if available.

* editfns.c: Include coding.h.
(emacs_strftime): Remove decl.
(emacs_strftimeu): New decl.
(emacs_memftimeu): Renamed from emacs_memftime; new arg UT.
Use emacs_strftimeu instead of emacs_strftime.
(Fformat_time_string): Convert format string using
Vlocale_coding_system, and convert result back.  Synchronize time
locale before invoking lower level function.  Invoke
emacs_memftimeu, passing ut, instead of emacs_memftime.

* emacs.c: Include <locale.h> if HAVE_SETLOCALE is defined.
(Vmessages_locale, Vprevious_messages_locale, Vtime_locale,
Vprevious_time_locale): New variables.
(main): Invoke setlocale early, so that initial error messages are
localized properly.  But skip locale-setting if LC_ALL is "C".
Fix up locale when it's safe to do so.
(fixup_locale): Moved here from xterm.c.
(synchronize_locale, synchronize_time_locale,
synchronize_messages_locale): New functions.
(syms_of_emacs): Accommodate above changes.

* fileio.c (report_file_error): Convert strerror output according
to Vlocale_coding_system.
(Finsert_file_contents): Check for arithmetic overflow in
computations that depend on file size.  Report IO errors
with emacs_strerror, not strerror.

* fns.c (Fgethash): Declare dflt parameter.

* gmalloc.c: Do not define const to nothing if HAVE_CONFIG_H
is defined; that's config.h's job.

* lisp.h (EMACS_INT, BITS_PER_EMACS_INT, EMACS_UINT): If _LP64,
default these values to long, BITS_PER_LONG, and unsigned long.
(VALBITS, MARKBIT, XINT): Do not assume 32-bit EMACS_INT.
(PNTR_COMPARISON_TYPE): Default to EMACS_UINT, not to unsigned int.
(code_convert_string_norecord, fixup_locale,
synchronize_messages_locale, synchronize_time_locale,
emacs_open, emacs_close, emacs_read, emacs_write): New decls.
All Emacs callers of open, close, read, write changed to use
emacs_open, emacs_close, emacs_read, emacs_write.

* lread.c (file_offset, file_tell): New macros.  All uses of ftell
changed to file_tell.
(saved_doc_string_position, prev_saved_doc_string_position): Now
of type file_offset.
(init_lread): Do not fix locale here; fixup_locale now does this.

* m/amdahl.h, s/usg5-4.h:
(NSIG): Remove.
(NSIG_MINIMUM): New macro.

* m/cydra5.h, m/dpx2.h, m/mips.h, m/pfa50.h, m/sps7.h, m/stride.h,
m/ustation.h, s/gnu-linux.h, s/hpux.h, s/iris3-5.h, s/iris3-6.h,
s/umips.h, s/usg5-4.h:
(SIGIO): Do not undef.
(BROKEN_SIGIO): New macro.

* m/ustation.h:
(SIGTSTP): Do not undef.
(BROKEN_SIGTSTP): New macro.

* s/gnu-linux.h:
(SIGPOLL, SIGURG): Do not undef.
(BROKEN_SIGPOLL, BROKEN_SIGURG): New macros.

* s/ptx4.h:
(SIGINFO): Do not undef.
(BROKEN_SIGINFO): New macros.

* m/delta.h, s/ptx.h, s/template.h: Doc fix.

* mktime.c, strftime.c: Update to glibc 2.1.2 version, with
some Emacs-related changes merged.

* print.c (float_to_string): Prepend "-" to representation of a
NaN if the NaN is negative.

* process.c (sys_siglist): Omit if HAVE_STRSIGNAL.
(wait_reading_process_input): Use emacs_strerror, not strerror.

* process.c (status_message, sigchld_handler): Synchronize locale,
then use strsignal istead of sys_siglist.
* w32proc.c (sys_wait): Likewise.

* s/aix3-1.h, s/bsd4-1.h, s/dgux.h, s/gnu-linux.h, s/hiuxmpp.h,
s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/osf1.h, s/rtu.h,
s/sunos4-1.h, s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h,
s/usg5-2.h, s/usg5-3.h, s/xenix.h:
(open, close, read, write, INTERRUPTIBLE_OPEN,
INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Remove.

* s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): New macros.
* sysdep.c (sys_read, sys_write, read, write, sys_close, close,
sys_open, open): Remove.
(emacs_open, emacs_close, emacs_read, emacs_write): Always define;
the old INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, and INTERRUPTIBLE_IO
macros are no longer used.
(emacs_open): Renamed from sys_open.  Merge BSD4_1 version.
(emacs_close): Renamed from sys_close.
(emacs_read): Renamed from sys_read.
(emacs_write): Renamed from sys_write.
(sys_siglist): Do not declare if HAVE_STRSIGNAL.
(dup2): Do not print error on failure; the real dup2 doesn't.
(strsignal): New function, defined if !HAVE_STRSIGNAL.

* syssignal.h (SIGINFO): Undef if defined and if BROKEN_SIGINFO
is defined.
(SIGIO, SIGPOLL, SIGTSTP, SIGURG): Likewise.
(NSIG): If less than NSIG_MINIMUM, define to NSIG_MINIMUM.
(strsignal): Declare if !HAVE_STRSIGNAL.

* unexelf.c (ElfBitsW, ELFSIZE, ElfExpandBitsW): New macros.
(ElfW): Define in terms of ElfExpandBitsW.

* w32proc.c (sys_siglist): Remove decl.

* xdisp.c (decode_mode_spec): 3rd arg is int, not char, to comply
with ANSI C.
(display_string): Declare face_string_pos arg.

* xfns.c (Fx_show_tip): Declare timeout param.

* xterm.c: No need to include locale.h.
(x_alloc_lighter_color, x_setup_relief_color):
Pass arg as double, not float, for compatibility with ANSI C.
(fixup_locale): Move to emacs.c.
(x_term_init): Do not setlocale or fixup locale; the main program
does this now.
1999-10-19 07:25:11 +00:00
Gerd Moellmann
45f9341666 (Fopen_network_stream): Don't loop if gethostbyname
fails and h_errno is TRY_AGAIN.
1999-10-14 11:23:11 +00:00
Gerd Moellmann
e1b37c3468 (wait_reading_process_input): When trying to suck
input from one process, for accept-process-output,
exit that loop if we get EAGAIN or EWOULDBLOCK.
1999-10-07 11:37:40 +00:00
Gerd Moellmann
41d03b9a59 (list_processes_1): Remove unused variables.
(Fopen_network_stream, create_process): Add parentheses to
conditional expressions.
(create_process): Put declaration of sigchld in #if 0.
(Fopen_network_stream): Removed unused variables.
(Fopen_network_stream, wait_reading_process_input,
wait_reading_process_input, send_process, send_process): Ditto.
(toplevel): Add prototypes for set_waiting_for_input and
keyboard_bit_set.
1999-09-20 00:34:43 +00:00
Dave Love
1db972cb2e (Fopen_network_stream): Use strerror, not gai_strerror. 1999-09-19 15:48:09 +00:00
Andreas Schwab
5684cd6e1b (Fopen_network_stream): Avoid socket decriptor leak. 1999-09-14 08:33:24 +00:00
Ken Raeburn
70949dac51 Use XCAR, XCDR, XFLOAT_DATA instead of explicit member access. 1999-09-12 05:07:01 +00:00
Gerd Moellmann
2b6538062c Call change_frame_size and do_pending_window_change with
new parameter.
1999-08-21 19:30:35 +00:00
Karl Heuer
418b48fddf (Fopen_network_stream): Fix previous change. 1999-08-14 04:36:10 +00:00
Karl Heuer
a319f7c188 (Fopen_network_stream): Use getaddrinfo. 1999-08-12 16:35:22 +00:00
Karl Heuer
fc14013c81 (create_process): Detect failure of `pipe'. 1999-07-30 14:39:27 +00:00
Gerd Moellmann
efa2a55cbd (wait_reading_process_input): Show and hide busy
cursor.
1999-07-21 21:43:52 +00:00
Richard M. Stallman
10af5b4c34 (create_process): If the output goes to a unibyte
buffer, suppress character code conversion.p
1999-07-07 22:50:13 +00:00
Karl Heuer
9660863d1e (send_process): Delete unsafe/redundant assignment. 1999-06-17 22:52:23 +00:00
Richard M. Stallman
0748d150ec (Faccept_process_output): Check validity of PROCESS. 1999-04-08 16:50:04 +00:00
Richard M. Stallman
b81ea5ef1d (syms_of_process): defsubr it.
(Fprocess_running_child_p): New function.

(process_send_signal): If CURRENT_GROUP is `lambda'
then don't send the signal if the shell owns the terminal.
(Finterrupt_process): Doc change.
1999-02-19 01:39:27 +00:00
Kenichi Handa
51c6067d9b (read_process_output): Decide the multibyteness of
string given to a process filter by a coding system used for
decoding the process output.
1998-12-22 06:06:48 +00:00
Kenichi Handa
de7fbd0989 (read_process_output): If NBYTES is zero and
CODING_MODE_LAST_BLOCK bit is not yet set in coding->mode, set it
and try decoding again.
(Fprocess_send_eof): If the coding system of PROCESS
requires flushing, call send_process with null-string at first.
1998-12-15 04:35:38 +00:00
Richard M. Stallman
1741e72de6 (read_process_output): Call signal_after_change. 1998-11-25 01:26:56 +00:00
Karl Heuer
31cd7d0079 (Fprocess_status): Doc fix. 1998-11-07 16:55:41 +00:00
Richard M. Stallman
bbce7d721d (exec_sentinel, read_process_output):
Restore waiting_for_user_input_p after running Lisp code.
1998-10-14 14:36:33 +00:00
Karl Heuer
7744ca33c6 Doc fixes. 1998-10-08 20:31:34 +00:00
Richard M. Stallman
5651af6d63 (wait_reading_process_input): If a pty gives EIO,
raise SIGCHLD just in case.
1998-08-15 05:53:00 +00:00