1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-05 20:43:08 +00:00

184 Commits

Author SHA1 Message Date
John Marino
7e00831f51 * configure.ac: Add DragonFly BSD, mostly same as FreeBSD (tiny change)
Fixes: debbugs:14068
2013-04-18 10:12:21 -07:00
Glenn Morris
4f8902cd02 Replace AC_PROG_LN_S by a less strict configure test
* configure.ac (AC_PROG_LN_S): Remove, too restrictive.
(LN_S_FILEONLY): New output variable.
* Makefile.in (LN_S): Remove.
(LN_S_FILEONLY): New, set by configure.
(install-arch-dep): Use LN_S_FILEONLY rather than LN_S.
2013-04-17 22:03:53 -07:00
Ken Brown
e8bdb06e29 * configure.ac (canonical): Adapt to 64-bit Cygwin. 2013-04-12 09:00:57 -04:00
Ken Brown
ba3b2d88d8 Fix icon for the cygw32 build on 64-bit Cygwin. (Bug#12993)
* nt/emacs.rc: Use 64-bit manifest for 64-bit Cygwin build.

* configure.ac (W32_RES_LINK): Remove unnecessary linker directive
`-Wl,-bpe-i386', which is confusing in the 64-bit case.
2013-04-08 22:38:56 -04:00
Paul Eggert
876da980f8 Fix --enable-profiling bug introduced by 2013-02-25 change.
This bug was introduced by my 2013-02-25 change that simplified
data_start configuration.  Without this change, on GNU/Linux
an Emacs configured with --enable-profiling fails immediately
due to a profiler signal.
* configure.ac (LD_SWITCH_SYSTEM_TEMACS): Append -pg if profiling
and if not on GNU/Linux or FreeBSD.
* lib/Makefile.am (AM_CFLAGS): Add $(PROFILING_CFLAGS), so that
lib/*.o is profiled too.
* src/Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link
with these flags.  On platforms where special flags are needed
when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS.
(ALL_CFLAGS): Remove $(PROFILING_CFLAGS).
(.c.o, .m.o): Compile with $(PROFILING_CFLAGS).

Fixes: debbugs:13783
2013-04-06 23:21:40 -07:00
Paul Eggert
afeee3e578 * configure.ac (HAVE_XKBGETKEYBOARD): Remove; subsumed by HAVE_XKB.
All uses changed.
2013-03-26 22:13:31 -07:00
Jan Djärv
a4cedbf774 * configure.ac (HAVE_XKB): Define if Xkb is present.
* src/xterm.c: Include X11/XKBlib.h
(XTring_bell): Use XkbBell if HAVE_XKB.

Fixes: debbugs:14041
2013-03-25 18:58:35 +01:00
Paul Eggert
19151a7f8c Emacs crashes with ImageMagick 6.8.2-3 through 6.8.3-9.
* configure.ac (IMAGEMAGICK_MODULE): Reject 6.8.2.
We want to reject 6.8.2-3 through 6.8.3-9, but there seems to be
no way to do this in pkg-config, so make do with a reasonable
approximation.
* etc/PROBLEMS: Mention problem with ImageMagick 6.8.2-3 through 6.8.3-9.

Fixes: debbugs:13867
2013-03-17 22:26:56 -07:00
Paul Eggert
47d7532e09 File synchronization fixes.
* admin/CPP-DEFINES (BSD_SYSTEM, HAVE_FSYNC): Remove.
* admin/merge-gnulib (GNULIB_MODULES): Add fsync, fdatasync.
* configure.ac (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
(fsync): Remove check; now done by gnulib.
* lib/fdatasync.c, lib/fsync.c, m4/fdatasync.m4, m4/fsync.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib-src/Makefile.in (LIB_FDATASYNC): New macro.
(emacsclient${EXEEXT}): Use it.
* lib-src/emacsclient.c (main): Use fdatasync, not fsync, since we don't
care about metadata.  Keep trying if interrupted.
* lib-src/movemail.c (main, popmail): Don't worry about BSD_SYSTEM, since
fsync is available everywhere (or there is a substitute).  Don't
report an error if fsync returns EINVAL.
* nt/inc/ms-w32.h (fdatasync): New macro, suggested by Eli Zaretskii.
* src/Makefile.in (LIB_FDATASYNC): New macro.
(LIBES): Use it.
* src/conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
* src/fileio.c (Fwrite_region, write_region_inhibit_fsync):
Don't worry about HAVE_FSYNC, since a substitute fsync is
available if the system lacks one.
(Fwrite_regin): Retry fsync if interrupted.

Fixes: debbugs:13944
2013-03-13 11:42:22 -07:00
Glenn Morris
0bafabe7b2 Merge from emacs-24; up to 2012-12-25T11:37:21Z!dmantipov@yandex.ru 2013-03-06 00:01:47 -08:00
Paul Eggert
707431575a FILE's lock is now always .#FILE and may be a regular file.
* etc/NEWS: Document this.
* nt/inc/unistd.h (O_NOFOLLOW): New macro.
* src/filelock.c: Include <c-ctype.h>.
(MAX_LFINFO): New top-level constant.
(lock_info_type): Remove members pid, boot_time.  Add members at,
dot, colon.  Change user member to be the entire buffer, not a
pointer.  This allows us to handle the case where a foreign
pid or boot time exceeds the local range.  All uses changed.
(LINKS_MIGHT_NOT_WORK): New constant.
(FREE_LOCK_INFO): Remove, as the pieces no longer need freeing.
(defined_WINDOWSNT): Remove.
(MAKE_LOCK_NAME, file_in_lock_file_name):
Always use .#FILE (not .#-FILE) for the file lock,
even if it is a regular file.
(rename_lock_file): New function.
(create_lock_file): Use it.
(create_lock_file, read_lock_data):
Prefer a symbolic link for the lock file, falling back on a
regular file if symlinks don't work.  Do not try to create
symlinks on MS-Windows, due to security hassles.  Stick with
POSIXish functions (open, read, write, close, fchmod, readlink, symlink,
link, rename, unlink, mkstemp) when creating locks, as a GNUish
host may be using a Windowsish file system, and cannot use
MS-Windows-only system calls.  Fall back on mktemp if mkstemp
doesn't work.  Don't fail merely because of a symlink-contents
length limit in the current file system; fall back on regular
files.  Increase the symlink contents length limit to 8 KiB, this
should be big enough for any real use and doesn't crunch the
stack.
(create_lock_file, lock_file_1, read_lock_data):
Simplify allocation of lock file buffers now that they fit in 8 KiB.
(lock_file_1): Return error number, not bool.  All callers changed.
(ELOOP): New macro, if not already defined.
(read_lock_data): Return size of lock file contents, not Lisp object.
All callers changed.  Handle a race condition if some other process
replaces a regular-file lock with a symlink lock or vice versa,
while we're trying to read the lock.
(current_lock_owner): Parse contents more carefully, to help avoid
confusing a regular-file lock with some other application's use
of the file.  Check for lock file contents being too long, or
not parsing correctly.
(current_lock_owner, lock_file):
Allow foreign pid and boot times that exceed the local range.
(current_lock_owner, lock_if_free, lock_file):
Simplify allocation of lock file contents.
* src/w32.c (sys_rename_replace): New function, containing most of
the contents of the old sys_rename.
(sys_rename): Use it.
(fchmod): New dummy function.
* src/w32.h (sys_rename_replace, fchmod): New decls.

Fixes: debbugs:13807
2013-03-05 14:35:41 -08:00
Paul Eggert
3b108d19a0 * configure.ac (TERM_HEADER): Remove duplicate definition.
It can mess up 'configure' runs.

Fixes: debbugs:13872
2013-03-05 09:25:50 -08:00
Glenn Morris
d6ec407089 Bump version to 24.3 (only a release candidate at the moment) 2013-03-04 19:53:34 -08:00
Ken Brown
0e9467861c * configure.ac (HAVE_DATA_START): Fix test. (Bug#13818) 2013-02-27 22:19:51 -05:00
Paul Eggert
1ddc2bd6ff Simplify data_start configuration.
This is a followon simplification to the fix for Bug#13650.
* admin/CPP-DEFINES (DATA_START, ORDINARY_LINK): Remove.
* configure.ac (CRT_DIR, LIB_STANDARD, START_FILES, DATA_START)
(LD_FIRSTFLAG, ORDINARY_LINK, LIB_GCC): Remove.
(AC_CHECK_HEADERS_ONCE): Remove sys/resource.h, as it's
not always needed.
(HAVE_DATA_START): New macro.
* etc/PROBLEMS (LIBS_SYSTEM, LIBS_MACHINE, LIBS_STANDARD): Remove.
Remove legacy-systems section, as this stuff is no longer
applicable with current linking strategies.
* src/Makefile.in (LD_FIRSTFLAG, LIB_GCC, CRT_DIR, LIB_STANDARD)
(START_FILES): Remove.  All uses removed.
(otherobj): Remove $(VMLIMIT_OBJ), as it's now first.
(ALLOBJS): Move here from autodeps.mk, and with VMLIMITS_OBJ first.
(buildobj.h): Use it.
($(ALLOBJS)): Depend on globals.h.
(temacs$(EXEEXT)): Use $(ALLOBJS).
* src/autodeps.mk (ALLOBJS): Move to Makefile.in.
* src/deps.mk (vm-limit.o):
* src/makefile.w32-in ($(BLD)/vm-limit.$(O)):
Do not depend on mem-limits.h.
* src/emacs.c (__do_global_ctors, __do_global_ctors_aux)
(__do_global_dtors, __CTOR_LIST__, __DTOR_LIST__)
[__GNUC__ && !ORDINARY_LINK]: Remove.
* src/mem-limits.h, src/pre-crt0.c: Remove.
* src/unexaix.c, src/unexcoff.c: Don't include mem-limits.h.
* src/unexcoff.c (etext): New decl.
(make_hdr): Use it instead of start_of_data.
* src/vm-limit.c: Move most of mem-limits.h's contents here.
(data_start): New decl.  It's OK if this is approximate,
so simplify-away some unnecessary exactness.
(POINTER): Remove; all uses removed.
(data_space_start): Now char *, to avoid casts.
(exceeds_lisp_ptr): New function, replacing the old
EXCEEDS_LISP_PTR macro.  All uses changed.
(check_memory_limits): Simplify and remove casts.
(start_of_data) [!CANNOT_DUMP || !SYSTEM_MALLOC]: Remove.
(memory_warnings): Use data_start instead of start_of_data.

Fixes: debbugs:13783
2013-02-24 21:55:37 -08:00
Paul Eggert
648e5523fb Merge from emacs-24; up to 2012-12-19T13:01:16Z!michael.albinus@gmx.de 2013-02-14 22:35:54 -08:00
Paul Eggert
35b3a27e67 Fix AIX port.
* configure.ac (DATA_START, DATA_SEG_BITS): Set to 0x20000000 on AIX.
(GC_MARK_STACK): Do not set to GC_USE_GCPROS_AS_BEFORE, as that
runs afoul of some other bug in Emacs, and the default value
GC_MAKE_GCPROS_NOOPS has been tested and works.
* src/lisp.h (XPNTR) [!USE_LSB_TAG && DATA_SEG_BITS]:
Fix bug introduced in 2012-07-27 change.  DATA_SEG_BITS, if set,
was #undeffed earlier, so it cannot be used as a macro here.
Use the constant and not the macro.  Tested on AIX.
* src/unexaix.c: Revert 2013-02-11 and 2013-02-12 changes to this
file.  They're almost surely OK but we're just before a release so
we should avoid changes unless they're clearly needed.  Instead,
make the following minor change:
(ADDR_CORRECT): New macro.

Fixes: debbugs:13650
2013-02-14 12:05:10 -08:00
Glenn Morris
71b8431643 Tweak quoting in earlier configure.ac emacs_config_options change 2013-02-11 19:51:24 -05:00
Glenn Morris
1e8725cfae * configure.ac (emacs_config_options): Record some env vars. 2013-02-10 16:54:48 -08:00
Glenn Morris
8b0590de7e * configure.ac (emacs_config_options): Strip out the (internal) arguments
--no-create and --no-recursion.
2013-02-09 19:37:48 -08:00
Glenn Morris
4e0b84797f Bump version number to 24.2.93 2013-02-06 22:15:20 -08:00
Glenn Morris
cfbcc10b45 Backport configure.ac message tweak from trunk 2013-01-16 00:08:34 -08:00
Paul Eggert
c4e2ba0a60 * configure.ac: Document that --enable-gcc-warnings emits errors.
Fixes: debbugs:13448
2013-01-15 22:04:58 -08:00
Paul Eggert
444b01bb49 Enable conservative stack scanning for all architectures.
Suggested by Stefan Monnier in
<http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00183.html>.
* configure.ac (GC_MARK_STACK): Remove.
2013-01-11 21:21:06 -08:00
Glenn Morris
c4dd9efc9e Bump version to 24.2.92
Regenerate etc/AUTHORS and lisp/ldefs-boot.el
2013-01-09 18:45:32 -08:00
Glenn Morris
0a8bf3afca Merge from emacs-24; up to 2012-12-06T07:33:20Z!rgm@gnu.org 2013-01-02 18:37:57 -08:00
Glenn Morris
f0ddbf7b7f Add 2013 to more copyright years 2013-01-02 17:35:49 -08:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Jan Djärv
7ec363cf23 Silence Gtk deprecation warnings by default.
* configure.ac: New enable: --enable-gtk-deprecation-warnings, default off.
(HAVE_GTK3): If above enable is off, add
-DGDK_DISABLE_DEPRECATION_WARNINGS to GTK_CFLAGS.
2012-12-30 20:34:25 +01:00
Jan Djärv
8b745d925b Check for deprecated gtk tearoff menu item in configure.
* configure.ac: Check for GtkHandlebox.
Check for GtkTearoffMenuItem.

* src/gtkutil.c (TOOLBAR_TOP_WIDGET): New macro.
(xg_pack_tool_bar): Use TOOLBAR_TOP_WIDGET, condition out use of
handlebox_widget.  Set toolbar_in_hbox to false/true, set
toolbar_is_packed to true.
(xg_update_tool_bar_sizes): Use widget returned by TOOLBAR_TOP_WIDGET.
(update_frame_tool_bar): Check toolbar_is_packed for packing.
Show all on TOOLBAR_TOP_WIDGET.
(free_frame_tool_bar): Check toolbar_is_packed.  Use widget returned
by TOOLBAR_TOP_WIDGET.
(xg_change_toolbar_position): Use widget returned by TOOLBAR_TOP_WIDGET.
Check toolbar_is_packed.
(xg_have_tear_offs, tearoff_remove, tearoff_activate): Condition on
HAVE_GTK_TEAROFF_MENU_ITEM_NEW.
(xg_have_tear_offs): When ! HAVE_GTK_TEAROFF_MENU_ITEM_NEW, return
false.
(create_menus): Create tearoff only if HAVE_GTK_TEAROFF_MENU_ITEM_NEW.
(xg_update_menubar): Update title only if
HAVE_GTK_TEAROFF_MENU_ITEM_NEW.
(xg_update_submenu): Skip tearoff only if
HAVE_GTK_TEAROFF_MENU_ITEM_NEW.
(xg_initialize): Initialize xg_detached_menus only if
HAVE_GTK_TEAROFF_MENU_ITEM_NEW.
2012-12-30 20:08:15 +01:00
Jan Djärv
5a1d858bbc Check for deprecated gtk_handle_box in configure.
* configure.ac: Check for GtkHandlebox.

* src/gtkutil.c (TOOLBAR_TOP_WIDGET): New macro.
(xg_pack_tool_bar): Use TOOLBAR_TOP_WIDGET, condition out use of
handlebox_widget.  Set toolbar_in_hbox to false/true, set
toolbar_is_packed to true.
(xg_update_tool_bar_sizes): Use widget returned by TOOLBAR_TOP_WIDGET.
(update_frame_tool_bar): Check toolbar_is_packed for packing.
Show all on TOOLBAR_TOP_WIDGET.
(free_frame_tool_bar): Check toolbar_is_packed.  Use widget returned
by TOOLBAR_TOP_WIDGET.
(xg_change_toolbar_position): Use widget returned by TOOLBAR_TOP_WIDGET.
Check toolbar_is_packed.

* src/xterm.h (struct x_output): Surround handlebox_widget with
#ifdef HAVE_GTK_HANDLE_BOX_NEW.  toolbar_is_packed is new,
toolbar_in_hbox is bool.
2012-12-30 19:44:00 +01:00
Glenn Morris
d5e5e7b411 Merge from emacs-24; up to 2012-12-05T00:13:56Z!yamaoka@jpl.org 2012-12-30 10:09:01 -08:00
Andreas Schwab
2550c6e404 Properly configure GNUstep libraries
* configure.ac (TEMACS_LDFLAGS2): Don't define.
(LIBS_GNUSTEP): Set for GNUstep and substitute.
(LD_SWITCH_SYSTEM_TEMACS): Don't set for GNUstep.

* src/Makefile.in (TEMACS_LDFLAGS2): Remove.
(LIBS_GNUSTEP): Define.
(LIBES): Add $(LIBS_GNUSTEP).
(temacs$(EXEEXT)): Use $(LDFLAGS) instead of $(TEMACS_LDFLAGS2).
2012-12-29 20:37:32 +01:00
Glenn Morris
60f5e585bd configure.ac fix for double quotes in configure command-line
* configure.ac (emacs_config_options): New.
Use $@ rather than undocumented $ac_configure_args.
Replace any embedded double quotes.

Fixes: debbugs:13274
2012-12-27 09:59:21 -08:00
Glenn Morris
82e2a1f054 Merge from emacs-24; up to 2012-12-03T21:07:47Z!eggert@cs.ucla.edu 2012-12-27 00:21:08 -08:00
Paul Eggert
a8e1690bbd Revert static checking of stack smashing.
* configure.ac (WARN_CFLAGS): Omit -Wstack-protector when
configured with --enable-gcc-warnings.  -Wstack-protector causes
diagnostics to be issued on Ubuntu 12.10 x86-64.
2012-12-25 21:41:42 -08:00
Andreas Schwab
02e7729e7b Fixes: debbugs:13222
* configure.ac (SIGNALS_VIA_CHARACTERS): Also define for darwin.
2012-12-24 11:26:35 +01:00
Romain Francoise
7c3d167f48 Add support for preserving ACL entries of files.
* configure.ac (acl): New option.
	(HAVE_POSIX_ACL): Test for POSIX ACL support.  This is typically
	provided by libacl on GNU/Linux.

	* fileio.c (Ffile_acl, Fset_file_acl): New functions.
	(Fcopy_file): Change last arg to `preserve_extended_attributes'
	and copy ACL entries of file in addition to SELinux context if
	set.
	(syms_of_fileio): Add `file-acl' and `set-file-acl'.

	* Makefile.in (LIBACL_LIBS): New macro.
	(LIBES): Use it.

	* files.el (file-extended-attributes)
	(set-file-extended-attributes): New functions.
	(backup-buffer): Use them to handle both SELinux context and ACL
	entries.
	(backup-buffer-copy): Work with an alist of extended attributes,
	rather than an SELinux context.
	(basic-save-buffer-2): Ditto.

	* files.texi (File Attributes): Document ACL support and new
	`file-acl' function.
	(Changing Files): Mention argument name change of `copy-file' and
	document new function `set-file-acl'.
2012-12-16 19:22:27 +01:00
Chong Yidong
c0c3924918 Bump version to 24.2.91.
Regenerate ldefs-boot.el and AUTHORS.
2012-12-15 22:16:02 +08:00
Paul Eggert
97976f9f3f Fix permissions bugs with setgid directories etc.
* configure.ac (BSD4_2): Remove; no longer needed.
* admin/CPP-DEFINES (BSD4_2): Remove.
* doc/lispintro/emacs-lisp-intro.texi (Files List):
directory-files-and-attributes now outputs t for attribute that's
now a placeholder.
* doc/lispref/files.texi (Testing Accessibility): Document GROUP arg
of file-ownership-preserved-p.
(File Attributes): Document that 9th element is now
just a placeholder.
* doc/lispref/os.texi (User Identification): Document new functions group-gid,
group-real-gid.
* etc/NEWS: Document changes to file-attributes,
file-ownership-preserved-p.
Mention new functions group-gid, group-real-gid.
* lisp/files.el (backup-buffer): Don't rely on 9th output of
file-attributes, as it's now a placeholder.  Instead, use the new
optional arg of file-ownership-preserved-p.
(file-ownership-preserved-p): New optional arg GROUP.
Fix mishandling of setuid directories that would cause this
function to return t when it should have returned nil.
Document what happens if the file does not exist, and when
it's not known whether the ownership will be preserved.
* lisp/net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p):
Likewise.
(tramp-get-local-gid): Use group-gid for integer, as that's
faster and more reliable.
* src/dired.c (Ffile_attributes): Return t as the 9th attribute,
to mark it as a placeholder.  The old value was often wrong.
The only user of this attribute has been changed to use
file-ownership-preserved-p instead, with its new group arg.
* src/editfns.c (Fgroup_gid, Fgroup_real_gid): New functions.

Fixes: debbugs:13125
2012-12-14 10:59:00 -08:00
Paul Eggert
7e77303ee5 * configure.ac (HAVE_INOTIFY): Speed up configure-time test.
There's no need to test for any of three inotify functions,
since we use all three.  Check for just the first one.
2012-12-10 12:27:33 -08:00
Daniel Colascione
78f9ea875a Move fix for bug#12993 to trunk 2012-12-10 09:55:03 -08:00
Daniel Colascione
743fa5cbdd Move fix for cygw32 icon issue from emacs-24 branch to trunk as Stefan Monnier requests 2012-12-10 09:52:35 -08:00
Rüdiger Sonderfeld
81606b1050 Support filesystem notification through inotify on GNU/Linux.
configure.ac (inotify): New option.
 (HAVE_INOTIFY): Test for inotify.

 src/termhooks.h (enum event_kind) [HAVE_INOTIFY]: Add
 FILE_NOTIFY_EVENT.
 src/lisp.h (syms_of_inotify) [HAVE_INOTIFY]: Add prototype.
 src/keyboard.c (Qfile_inotify) [HAVE_INOTIFY]: New variable.
 (syms_of_keyboard): DEFSYM it.
 (kbd_buffer_get_event) [HAVE_INOTIFY]: Generate FILE_NOTIFY_EVENT.
 (make_lispy_event): Support FILE_NOTIFY_EVENT by generating
 Qfile_inotify events.
 (keys_of_keyboard) [HAVE_INOTIFY]: Bind file-inotify events in
 special-event-map to inotify-handle-event.
 src/emacs.c (main) [HAVE_INOTIFY]: Call syms_of_inotify.
 src/Makefile.in (base_obj): Add inotify.o.
 src/inotify.c: New file.

 lisp/subr.el (inotify-event-p, inotify-handle-event): New functions.

 test/automated/inotify-test.el: New test.
2012-12-10 06:17:21 -05:00
Daniel Colascione
1cf1bbd51e Compile Windows resources into cygw32 Emacs 2012-12-09 23:11:21 -08:00
Andreas Schwab
75d7aa242d * configure.ac: Fix source command in .gdbinit.
Don't quote $MAKEINFO.
2012-12-09 09:37:01 +01:00
Paul Eggert
3cc53d6024 Allow spaces in some configuration vars (Bug#13078).
* configure.ac (srcdir): Don't assume $PWD lacks spaces.
(srcdir, MAKEINFO, PKG_CONFIG, PKG_CONFIG_MIN_VERSION):
All uses quoted, to allow spaces in these vars.
2012-12-08 18:22:39 -08:00
Paul Eggert
7be78020e3 Simplify get_lim_data.
* admin/CPP-DEFINES (ULIMIT_BREAK_VALUE): Remove.
* configure.ac (ULIMIT_BREAK_VALUE): Remove.
* src/vm-limit.c (get_lim_data): Combine RLIMIT_AS and RLIMIT_DATA methods.
Remove USG and vlimit methods; no longer used these days.
Add #error catchall just in case.
2012-12-07 22:56:26 -08:00
Paul Eggert
d983a10b9a Assume POSIX 1003.1-1988 or later for signal.h.
Exceptions: do not assume SIGCONT, SIGSTOP, SIGTSTP, SIGTTIN,
SIGTTOU, SIGUSR1, SIGUSR2, as Microsoft platforms lack these.
* admin/CPP-DEFINES (SIGALRM, SIGCHLD, SIGHUP, SIGKILL, SIGPIPE, SIGQUIT):
Remove.
(SIGTRAP): Remove this one too, as config.h no longer defines it.
* admin/merge-gnulib (GNULIB_MODULES): Add sig2str.
* configure.ac (PTY_OPEN, PTY_TTY_NAME_SPRINTF):
Use SIGCHLD rather than SIGCLD.
* lib/sig2str.c, lib/sig2str.h, m4/sig2str.m4: New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/makefile.w32-in (GNULIBOBJS): Add $(BUILD)/sig2str.$(O).
* src/process.c [subprocesses]: Include <c-ctype.h>, <sig2str.h>.
(deleted_pid_list, Fdelete_process, create_process)
(record_child_status_change, handle_child_signal, deliver_child_signal)
(init_process_emacs, syms_of_process):
Assume SIGCHLD is defined.
(parse_signal): Remove.  All uses removed.
(abbr_to_signal): New static function.
(Fsignal_process): Use it to convert signal names to ints.
* src/sysdep.c (sys_suspend) [!DOS_NT]: Use kill (0, ...) rather than
kill (getpgrp (), ...).
(emacs_sigaction_init): Assume SIGCHLD is defined.
(init_signals): Assume SIGALRM, SIGCHLD, SIGHUP, SIGKILL,
SIGPIPE, and SIGQUIT are defined.  Do not worry about SIGCLD any more.
* src/syssignal.h (EMACS_KILLPG): Remove.
All uses replaced by 'kill' with a negative pid.
(SIGCHLD): Remove definition, as we now assume SIGCHLD.
* src/w32proc.c (sys_kill): Support negative pids compatibly with POSIX.

Fixes: debbugs:13026
2012-12-07 18:30:51 -08:00