1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 00:01:33 -08:00
Commit graph

65 commits

Author SHA1 Message Date
Thien-Thi Nguyen
0b5538bd85 Update years in copyright notice; nfc. 2005-08-07 12:33:19 +00:00
Eli Zaretskii
af621bc3f0 (syms_of_ntproc): staticpro Qhigh, Qlow,
Vw32_valid_locale_ids, and Vw32_valid_codepages.
2005-07-16 11:25:43 +00:00
Lute Kamstra
4fc5845fe8 Update FSF's address. 2005-07-04 16:49:24 +00:00
Eli Zaretskii
8747ac3f68 (RVA_TO_PTR): New macro. 2005-06-06 19:28:27 +00:00
Kim F. Storm
d64b707cb1 Rename wait_reading_process_input to wait_reading_process_output. 2004-08-20 10:34:12 +00:00
Stefan Monnier
acba5cae3e (create_child): Use INTMASK. 2004-05-18 22:09:25 +00:00
Jason Rumney
ff999ce63e Fix last change. 2004-05-17 22:29:59 +00:00
Jason Rumney
8f5457ae60 * w32proc.c (create_child): Use make_number instead of masking pid. 2004-05-17 22:27:53 +00:00
Jason Rumney
5322f50b91 * w32proc.c (w32_pipe_read_delay): Rename from Vw32_pipe_read_delay
and make it an int.
* w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
2004-05-17 21:05:06 +00:00
Miles Bader
ab5796a9f9 Add arch taglines 2003-09-01 15:45:59 +00:00
Juanma Barranquero
177c0ea743 Trailing whitespace deleted. 2003-02-04 14:56:31 +00:00
Juanma Barranquero
c7a1aae940 Add missing semicolon. 2002-07-30 16:24:30 +00:00
Juanma Barranquero
45de4a6fcd (syms_of_ntproc): Fix docstring of `w32-get-true-file-attributes'. 2002-07-30 16:19:30 +00:00
Ken Raeburn
d5db40779d Most uses of XSTRING combined with STRING_BYTES or indirection changed to
SCHARS, SBYTES, STRING_INTERVALS, SREF, SDATA; explicit size_byte references
left unchanged for now.
2002-07-15 00:01:34 +00:00
Jason Rumney
51f635c4cf include sys/file.h. 2002-05-03 20:35:38 +00:00
Stefan Monnier
44c7a52627 (sys_spawnve): Update call to openp. 2002-04-30 01:02:26 +00:00
Jason Rumney
09ed9d8823 (syms_of_w32proc): Get true file attributes by default. 2002-04-28 18:53:48 +00:00
Juanma Barranquero
804d894aa5 (syms_of_ntproc): Doc fix. 2002-02-26 10:01:38 +00:00
Pavel Janík
4838e624ad Include <config.h>. 2002-01-01 19:15:26 +00:00
Jason Rumney
33f096701c Change doc-string comments to new style'. [w/doc:' keyword]. Doc fixes. 2001-11-12 23:57:09 +00:00
Andrew Innes
f45320928a (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
CHECK_NUMBER_CDR.
2001-11-05 23:15:36 +00:00
Pavel Janík
b782650360 Update usage of CHECK_ macros (remove unused second argument). 2001-11-02 20:46:55 +00:00
Stefan Monnier
c0ec53ad99 Update calls to openp. 2001-10-12 03:37:43 +00:00
Andrew Innes
a55a5f3c86 (create_child): Add new parameter is_gui_app.
(w32_executable_type): Add new parameter is_gui_app.
(sys_spawnve): Use it.
(sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
SIGQUIT.  This matches better how the signals are interpreted by
MSVC compiled programs.
(syms_of_ntproc): Update docstring.
2001-06-11 11:00:24 +00:00
Eli Zaretskii
e7c15bba65 Include syssignal.h, to avoid compiler warnings. 2001-05-12 10:51:09 +00:00
Gerd Moellmann
dbb7002916 (sys_spawnve): Quote more chars for Cygwin. 2001-04-10 12:14:49 +00:00
Jason Rumney
b67af52a8f (syms_of_ntproc): Doc fix for w32-downcase-file-names. 2000-11-21 18:23:50 +00:00
Andrew Innes
11c22fffa0 (compare_env): Convert to uppercase for comparison,
not lowercase, to match how the native Windows shell works.
2000-09-03 17:50:12 +00:00
Andrew Innes
42c95ffbe9 (IsValidLocale): Extern missing from mingw32 headers.
(compare_env):
(find_child_console): Fix compile warning.
(create_child): Remove reference to security
descriptor, which isn't needed and doesn't compile with mingw32.
2000-08-22 23:39:00 +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
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
Ken Raeburn
8e713be64c Use XCAR and XCDR instead of explicit member references. 1999-09-12 07:05:34 +00:00
Andrew Innes
8b031dcc5f (sys_select): Call MsgWaitForMultipleObjects instead
of WaitForMultipleObjects when user input is allowed, so we can
handle incoming window messages.  Call drain_message_queue when
there are messages waiting; this ensures that windows created
indirectly from the lisp thread get processed properly, and don't
hang other applications by failing to respond to broadcasts.
1999-07-01 19:47:32 +00:00
Andrew Innes
f446016fdb (sys_kill): Attach to current foreground thread
when grabbing focus; necessary on NT 5.0.
1999-05-02 10:27:27 +00:00
Andrew Innes
a7325b562f (w32_executable_type): Relax the check to identify
cygwin-compiled applications, because the exact dll name varies
with release.  Now only require the name to start "cygwin".
1999-01-17 19:24:42 +00:00
Andrew Innes
82e7c0a907 (Vw32_start_process_inherit_error_mode): New variable.
(create_child): Use it.
(syms_of_ntproc): Defvar it.  Also fix docstrings for
w32-start-process-share-console and w32-start-process-show-window.
1998-12-28 19:33:57 +00:00
Geoff Voelker
0eaf592609 (sys_kill): Set extended key flag when faking
Ctrl-Break keystrokes.
(Fw32_get_locale_info): Allow LONGFORM parameter to specify an
arbitrary locale property using a numerical index.
(Vw32_valid_codepages): New variable.
(enum_codepage_fn):
(Fw32_get_valid_codepages):
(Fw32_get_console_codepage):
(Fw32_set_console_codepage):
(Fw32_get_console_output_codepage):
(Fw32_set_console_output_codepage):
(Fw32_get_codepage_charset):
(Fw32_get_valid_keyboard_layouts):
(Fw32_get_keyboard_layout):
(Fw32_set_keyboard_layout): New functions, exposing Windows locale
handling functions.
(syms_of_ntproc): Register them.
1998-11-10 20:50:40 +00:00
Geoff Voelker
a5b56dcda1 (sys_spawnve): Place Emacs pid in EM_PARENT_PROCESS_ID. 1998-05-30 23:41:48 +00:00
Richard M. Stallman
86143765b7 (sys_select): Always wait on interrupt_handle, so that
user can break out of `accept-process-input' (for instance) by typing C-g.
1998-05-15 20:55:26 +00:00
Geoff Voelker
80874ef71c (sys_kill): Fix indenting. 1998-04-23 23:43:22 +00:00
Geoff Voelker
ef79fbba2f (w32_executable_type): Properly cast dos_header when
making size comparison.
(sys_spawnve): Update comments.
(sys_select): Ignore children dead children with pending input.
Delay sending SIGCHLD until all output has been read.
(sys_kill): Sleep to allow focus change events to propagate.
Use TerminateProcess on Win95.
(int_from_hex, enum_locale_fn, Fw32_get_valid_locale_ids):
New functions.
(Vw32_valid_locale_ids): New variable.
(Fw32_set_current_locale): Send message to input thread.
(syms_of_ntproc): defsubr Sw32_get_valid_locale_ids.
1998-04-17 05:10:29 +00:00
Karl Heuer
09522567d8 Delete incorrect prototype of report_file_error. 1998-04-09 17:07:32 +00:00
Geoff Voelker
b2fc9f3d6b Include w32heap.h.
(Vw32_start_process_share_console, Vw32_generate_fake_inodes,
Vw32_get_true_file_attributes, Qhigh, Qlow, process_dir):
New variables.
(find_child_console, set_process_dir, Fw32_short_file_name,
Fw32_long_file_name, Fw32_set_process_priority, Fw32_get_locale_info,
Fw32_get_current_locale_id, Fw32_get_default_local_id,
Fw32_set_current_locale): New functions.
(CORRECT_DIR_SEPS): New macro.
(create_child): Create a new console if subprocs don't share parent's.
(reap_subprocess): Don't check for dos subprocesses.
Add debug support.
(sys_wait): Ignore socket child_procs.
Check for quit while waiting.
(w32_executable_type): Renamed from w32_is_dos_binary.
Check for dos and Cygnus executables.
(sys_spawnve): Always use cmdproxy if spawning a dos app.
Use quotes to quote arguments for Cygnus apps, backslashes otherwise.
Handle escape characters.  Escape quotes at start and end, too.
(sys_select): Treat null timeout as infinite.
Add handles of child processes.
Loop over handles round robin to ensure fairness.
(sys_kill): Send ctrl-break and ctrl-c keystrokes to subprocesses
on SIGINT if not sharing consoles, otherwise generate ctrl-break event.
On other termination signals, send WM_QUIT message to Win95 apps
and WM_CLOSE to NT apps.
(syms_of_ntproc): Intern new symbols.  defsubr new functions.
DEFVAR new variables.
1997-09-03 01:05:33 +00:00
Geoff Voelker
e9e23e2348 Change all uses of win95, winnt, and win32
into Windows 95, Windows NT, and W32, respectively.
Expand "win" substring in variables referring to Microsoft Windows
constructs into "windows".
Canonicalize header comments to use same terminology.
1997-01-20 00:38:22 +00:00
Geoff Voelker
d9709fde35 (compare_env, merge_and_sort_env): New functions.
(sys_spawnve): Sort environment variables for subprocess.
(ppid_env_var_buffer): Variable deleted.
1997-01-04 22:26:26 +00:00
Geoff Voelker
489f937121 Use new names for w32 files 1996-11-19 07:04:49 +00:00
Geoff Voelker
fbd6baedb5 Change identifiers of the form win32* to w32*. 1996-11-19 04:59:23 +00:00
Richard M. Stallman
0ecf7d369a (Vwin32_start_process_show_window): New variable.
(create_child): Conditionally force subprocess to hide window.
(syms_of_ntproc): DEFVAR it.
1996-08-31 20:13:29 +00:00
Richard M. Stallman
57445e592a (restrict_dos_process): Variable deleted.
(sys_spawnve): Restrict DOS processes on NT as well.
1996-06-12 18:20:11 +00:00
Richard M. Stallman
de05443f3b (restrict_dos_process): Renamed from can_run_dos_process.
(sys_spawnve): Refer to restrict_dos_process.
1996-06-12 16:02:09 +00:00