1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-11 16:08:13 +00:00
Commit Graph

1847 Commits

Author SHA1 Message Date
Kenichi Handa
d3e4228575 merge trunk 2012-10-11 20:29:47 +09:00
Kenichi Handa
cde44a7728 Re-generate charsets. Adjust for the change of admin/charset/mapfiles/*.gz 2012-10-11 20:26:26 +09:00
Daniel Colascione
e08348a0e6 Changelog entries for cygw32 2012-10-07 23:58:40 -08:00
Jan Djärv
335f5ae444 Check for OSX >= 10.4 to match what the maunal says and what we actually support.
* configure.ac: Check that OSX is 10.4 or newer.

* etc/NEWS (NextStep/OSX port changes): OSX 10.4 or newer is required.

* src/nsfns.m (Fns_list_services): Remove comment and check for OSX < 10.4.
(ns_do_applescript): Remove check for >= MAC_OS_X_VERSION_10_4.

* src/nsimage.m (setPixmapData, getPixelAtX, setAlphaAtX): Remove onTiger.

* src/nsmenu.m (fillWithWidgetValue:): Remove code for < MAC_OS_X_VERSION_10_2.

* src/nsselect.m (ns_string_from_pasteboard): Remove check for >=
MAC_OS_X_VERSION_10_4.

* src/nsterm.h (MAC_OS_X_VERSION_10_3, onTiger): Remove.
(EmacsApp): Remove check for >= MAC_OS_X_VERSION_10_4.
(struct nsfont_info): Remove check for >= MAC_OS_X_VERSION_10_3.
2012-10-07 12:07:23 +02:00
Paul Eggert
c622b48f78 Improve sys_siglist detection.
* configure.ac (sys_siglist): Look for its decl in <signal.h>.
Otherwise, it's not found in either Fedora 17 or Solaris 11.
* src/sysdep.c (sys_siglist, init_signals): Use _sys_siglist if it's
defined as a macro, as is done in Solaris.
(sys_siglist_entries): New macro.
(save_strsignal): Use it.
* src/syssignal.h (safe_strsignal): Now ATTRIBUTE_CONST, to pacify
GCC 4.7.2 on Fedora 17 with the fixed sys_siglist detection.
2012-10-06 19:26:03 -07:00
Paul Eggert
7509f454d2 Move ChangeLog entry to proper file. 2012-10-04 00:23:35 -07:00
Paul Eggert
bb1dfdadd5 Merge from gnulib. 2012-10-04 00:15:42 -07:00
Paul Eggert
2b794d6940 Port timers to OpenBSD, plus check for timer failures.
OpenBSD problem reported by Han Boetes.
* profiler.c (setup_cpu_timer): Check for failure of timer_settime
and/or setitimer.
(Fprofiler_cpu_stop): Don't assume HAVE_SETITIMER.
* syssignal.h (HAVE_ITIMERSPEC): New macro.  This is for platforms
like OpenBSD, which has timer_settime but does not declare it.
OpenBSD does not define SIGEV_SIGNAL, so use that when deciding
whether to use itimerspec-related primitives.  All uses of
HAVE_TIMER_SETTIME replaced with HAVE_ITIMERSPEC.
2012-10-03 17:10:47 -07:00
Paul Eggert
65788e2e93 Merge from gnulib. 2012-09-29 21:19:32 -07:00
Paul Eggert
89d17fd0f2 Link with LIB_TIMER_TIME as needed. 2012-09-27 16:02:23 -07:00
Paul Eggert
a615a3aeef Check more robustly for timer_settime.
This should fix an OS X build problem reported by Ivan Andrus in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00671.html>.
* admin/merge-gnulib (GNULIB_MODULES): Add timer-time.
* configure.ac (gl_THREADLIB): Define to empty, since Emacs
does threads its own way.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* m4/timer_time.m4: New file, from gnulib.
* src/atimer.c (alarm_timer, alarm_timer_ok, set_alarm, init_atimer):
Use HAVE_TIMER_SETTIME, not SIGEV_SIGNAL, to decide whether to
call timer_settime.
2012-09-26 18:06:23 -07:00
Paul Eggert
c462dda8c8 * Makefile.in (bootstrap): Set MAKEFILE_NAME when building Makefile,
to avoid problems with recursion when using GNU make.
2012-09-23 02:18:24 -07:00
Paul Eggert
bbe099e709 * Makefile.in (bootstrap): Simplify build procedure.
Suggested by Wolfgang Jenker in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00456.html>.
2012-09-22 03:59:13 -07:00
Paul Eggert
e41c05e55d Merge from gnulib. 2012-09-22 02:46:20 -07:00
Tassilo Horn
db8a5a189e New feature: set optimal slice from BoundingBox information.
* doc-view.el (doc-view-mode-map): Add keybinding.
(doc-view-menu): Add menu entry.
(doc-view-set-slice): Adapt docstring.
(doc-view-get-bounding-box, doc-view-guess-paper-size)
(doc-view-scale-bounding-box)
(doc-view-set-slice-from-bounding-box): New functions.
(doc-view-paper-sizes): New defvar.

* doc/emacs/misc.texi (DocView Slicing): Document new slice from
BoundingBox feature.
2012-09-19 19:35:18 +02:00
Jan Djärv
5fb91e7197 * configure.ac (HAVE_GTK): Mention if we use GTK2 or GTK3. 2012-09-18 20:13:01 +02:00
Andreas Schwab
d3612ac370 * Makefile.in (bootstrap): Revert last change. Run config.status
after config.status --recheck, run configure from $(srcdir).
(config.status): Run configure from $(srcdir).
2012-09-18 00:43:12 +02:00
Paul Eggert
dee26dfa11 * Makefile.in: Run autogen/copy_autogen if autogen.sh fails,
to create 'configure'; problem reported by Andreas Schwab in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00438.html>.
* autogen.sh: Exit with status 1 when failing due to missing tools,
reverting the 2012-09-10 change to this file.
* autogen/copy_autogen: Fail if one of the subsidiary actions fail.
Use 'cp -f' for the build-aux files, since the destinations are
typically read-only.
2012-09-17 15:35:28 -07:00
Paul Eggert
50bfc8243c * Makefile.in: Fix build error on FreeBSD.
($(MAKEFILE_NAME)): Pass MAKE='$(MAKE)' to config.status's env.
Suggested by Wolfgang Jenker in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00430.html>.
(MAKE_CONFIG_STATUS): Remove.  Remaining use expanded.
This undoes part of the 2012-09-10 patch.
(bootstrap): Run ./configure, rather than trying to run config.status
if it exists.  That builds src/epaths.h more reliably.
2012-09-17 14:33:14 -07:00
Paul Eggert
eeceac9312 Remove no-longer-needed Solaris 2.4 vfork bug workaround.
The workaround was for improving performance on Solaris 2.4, but
is getting in the way now.  Emacs will still work if someone is
still running Solaris 2.4 in a museum somewhere; Sun dropped
support for Solaris 2.4 in 2003.
* configure.ac (ac_cv_func_vfork_works): Default to 'no' on
Solaris 2.4, so that AC_FUNC_VFORK doesn't think vfork works.
* src/callproc.c (Fcall_process) [HAVE_WORKING_VFORK]:
* src/process.c (create_process) [HAVE_WORKING_VFORK]:
Omit now-unnecessary workaround for the Solaris 2.4 vfork bug,
since Emacs no longer uses vfork on that platform.
2012-09-16 18:02:11 -07:00
Glenn Morris
78f83752f5 Reduce the number of versioned files storing the short copyright string
* configure.ac (copyright): New output variable.
(COPYRIGHT): New AC_DEFINE.

* admin/admin.el (set-copyright): No more need to set copyrights for
nextstep, or .c files.  Add configure.ac and config.nt.

* lib-src/ebrowse.c (version):
* lib-src/etags.c (print_version): Use COPYRIGHT.

* nextstep/templates/Info-gnustep.plist.in:
* nextstep/templates/InfoPlist.strings.in:
* nextstep/templates/Info.plist.in: Let configure set copyright.

* nt/config.nt (COPYRIGHT): New.

* src/emacs.c: Use COPYRIGHT.
2012-09-16 17:56:08 -07:00
Paul Eggert
0caaedb1c3 Remove configure's --without-sync-input option.
When auditing signal-handling in preparation for cleaning it up,
I found that SYNC_INPUT has race conditions and would be a real
pain to fix.  Since it's an undocumented and deprecated
configure-time option, now seems like a good time to remove it.
Also see <http://bugs.gnu.org/11080#16>.
* configure.ac (SYNC_INPUT, BROKEN_SA_RESTART): Remove.
* admin/CPP-DEFINES (BROKEN_SA_RESTART, SA_RESTART): Remove.
* etc/TODO (Make SYNC_INPUT the default): Remove, as the code now
behaves as if SYNC_INPUT is always true.
* src/alloc.c (_bytes_used, __malloc_extra_blocks, _malloc_internal)
(_free_internal) [!DOUG_LEA_MALLOC]: Remove decls.
(alloc_mutex) [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]:
(malloc_hysteresis):
(check_depth) [XMALLOC_OVERRUN_CHECK]:
(MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT):
(__malloc_hook, __realloc_hook, __free_hook, BYTES_USED)
(dont_register_blocks, bytes_used_when_reconsidered)
(bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc)
(emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc):
[!SYSTEM_MALLOC && !SYNC_INPUT]:
Remove. All uses removed.
(MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different
implementation, one that depends on whether the new macro
XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT
is defined.
* src/atimer.c (run_timers, handle_alarm_signal):
* src/keyboard.c (pending_signal, poll_for_input_1, poll_for_input)
(handle_async_input, process_pending_signals)
(handle_input_available_signal, init_keyboard):
* src/nsterm.m (ns_read_socket):
* src/process.c (wait_reading_process_output):
* src/regex.c (immediate_quit, IMMEDIATE_QUIT_CHECK):
* src/sysdep.c (emacs_sigaction_init) [SA_RESTART]:
(emacs_write):
* src/xterm.c (XTread_socket):
Assume SYNC_INPUT.
* src/conf_post.h (SA_RESTART) [IRIX6_5]: Do not #undef.
* src/eval.c (handling_signal): Remove.  All uses removed.
* src/lisp.h (ELSE_PENDING_SIGNALS): Remove.
All uses replaced with the SYNC_INPUT version.
(reset_malloc_hooks, uninterrupt_malloc, handling_signal):
Remove decls.
* src/sysdep.c, src/syssignal.h (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
Now static.

Fixes: debbugs:12450
2012-09-16 14:43:55 -07:00
Glenn Morris
92f7c6f1a3 Add missing nextstep file from previous change. 2012-09-16 11:51:39 -07:00
Glenn Morris
83da1b5565 Increase compartmentalization of Nextstep builds rules,
and store Emacs version number in fewer versioned files.

* configure.ac (ns_appsrc): Use relative names.
(ns_frag): Remove.
(Info-gnustep.plist, Emacs.desktop, Info.plist, InfoPlist.strings)
(nextstep/Makefile): Generate these nextstep files.
(SUBDIR_MAKEFILES): Add nextstep.

* Makefile.in (clean, distclean, bootstrap-clean): Add nextstep.

* make-dist (nextstep/templates): Add directory.
(nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj): Remove.
(nextstep/Cocoa/Emacs.base/Contents)
(nextstep/GNUstep/Emacs.base/Resources): Update contents.

* .bzrignore: Add some nextstep files.

* admin/admin.el (set-version): No more need to set nextstep versions.
(set-copyright): Update for moved nextstep files.

* nextstep/Makefile.in: New file.
* nextstep/templates: New directory.
* nextstep/templates/Emacs.desktop.in, nextstep/templates/Info-gnustep.plist.in:
* nextstep/templates/Info.plist.in, nextstep/templates/InfoPlist.strings.in:
Move here from various Cocoa/, GNUstep/ locations.
Let configure set the version number.
* nextstep/Cocoa/Emacs.base/Contents/Info.plist:
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:
* nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:
* nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop: Move to templates/.
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj: Remove directory.

* src/Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables.
(ns_frag): Remove.
(ns-app): Move here from ns.mk, and simplify.
(clean): Simplify nextstep entry.
* src/ns.mk: Remove file.
2012-09-16 11:49:00 -07:00
Paul Eggert
0328b6de4a Port better to POSIX hosts lacking _setjmp.
* configure.ac (HAVE__SETJMP, HAVE_SIGSETJMP): New symbols.
(_setjmp, _longjmp): Remove.
* src/lisp.h: Include <setjmp.h> here, since we use its symbols here.
All instances of '#include <setjmp.h>' removed, if the
only reason for the instance was because "lisp.h" was included.
(sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols.
Unless otherwise specified, replace all uses of jmp_buf, _setjmp,
and _longjmp with the new symbols.  Emacs already uses _setjmp if
available, so this change affects only POSIXish hosts that have
sigsetjmp but not _setjmp, such as some versions of Solaris and
Unixware.  (Also, POSIX-2008 marks _setjmp as obsolescent.)
* src/image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros.
(png_load_body) [HAVE_PNG]:
(PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]:
(PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]:
Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp,
since PNG requires jmp_buf.  This is the only exception to the
general rule that we now use sys_setjmp and sys_longjmp.
This exception is OK since this code does not change the signal
mask or longjmp out of a signal handler.

Fixes: debbugs:12446
2012-09-15 00:06:56 -07:00
Paul Eggert
2af0342954 Fix glitches with 'configure --without-sync-input'.
* configure.ac (--without-sync-input): Fix typo in usage message.
* alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]:
Include "syssignal.h", for 'main_thread'.
2012-09-14 15:01:19 -07:00
Paul Eggert
e3141fcf84 * configure.ac: Port to hosts lacking gtk.
(PKG_CHECK_MODULES): Capture pkg-config diagnostics
better, in particular, problems in invoking pkg-config itself.
This is useful on hosts that don't have pkg-config.
(GTK_MODULES): Do not exit 'configure' simply because gtk3
and gtk2 are both missing.  Problem found on Solaris 8.
2012-09-14 11:56:19 -07:00
Jan Djärv
4d0b77fc57 * configure.ac: Report Gtk+ 3 as GTK. 2012-09-13 14:02:00 +02:00
Jan Djärv
2c484e7585 * configure.ac: Reorder Xaw3d messages. 2012-09-13 08:27:21 +02:00
Paul Eggert
4a4bbad214 Simplify SIGIO usage.
The code that dealt with SIGIO was crufty and confusing, e.g., it
played tricks like "#undef SIGIO" but these tricks were not used
consistently.  Simplify mostly by not #undeffing standard symbols,
e.g., use "defined USABLE_SIGIO" (our symbol, which we can define
or not as we please) rather than "defined SIGIO" (standard symbol
that we probably shouldn't #undef).
* configure.ac (NO_TERMIO, BROKEN_FIONREAD, BROKEN_SIGAIO)
(BROKEN_SIGPOLL, BROKEN_SIGPTY): Remove.
(USABLE_FIONREAD, USABLE_SIGIO): New symbols.  All uses of
'defined SIGIO' replaced with 'defined USABLE_SIGIO', with no need
to #undef SIGIO now (which was error-prone).  Likewise, all uses
of 'defined FIONREAD' replaced with 'defined USABLE_FIONREAD'.
* src/admin/CPP_DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL)
(BROKEN_SIGPTY, NO_TERMIO): Remove.
* src/conf_post.h [USG5_4]: Do not include <sys/wait.h> here.
Modules that need it can include it.
[USG5_4 && emacs]: Likewise, do not include the streams stuff here.
* src/dispextern.h (ignore_sigio): New decl.
* src/emacs.c (shut_down_emacs): Invoke unrequest_sigio
unconditionally, since it's now a no-op if !USABLE_SIGIO.
* src/emacs.c (shut_down_emacs):
* src/keyboard.c (kbd_buffer_store_event_hold):
Use ignore_sigio rather than invoking 'signal' directly.
* src/keyboard.c (USABLE_FIONREAD && USG5_4): Include <sys/filio.h>,
for FIONREAD.
(FIONREAD, SIGIO): Do not #undef.
(tty_read_avail_input): Use #error rather than a syntax error.
* src/process.c [USG5_4]: Include <sys/stream.h> and <sys/stropts.h>,
for I_PIPE, used by SETUP_SLAVE_PTY.
(DATAGRAM_SOCKETS): Simplify defn, based on USABLE_FIONREAD.
* src/sysdep.c (croak): Remove; no longer needed.  This bit of
temporary code, with Fred N. Fish's comment that it's temporary,
has been in Emacs since at least 1992!
(init_sigio, reset_sigio, request_sigio, unrequest_sigio):
Arrange for them to be no-ops in all cases when ! USABLE_SIGIO.
* src/syssignal.h (croak): Remove decl.
(SIGIO, SIGPOO, SIGAIO, SIGPTY): Do not #undef; that's too fragile.
* src/systty.h [!NO_TERMIO]: Do not include <termio.h>; no longer needed
now that we're termios-only.
(FIONREAD, ASYNC) [BROKEN_FIONREAD]: Do not #undef.
* src/term.c (dissociate_if_controlling_tty): Use #error rather than
a run-time error.

Fixes: debbugs:12408
2012-09-12 19:21:28 -07:00
Jan Djärv
d673aedc2f * configure.ac: No --with-x-toolkit given: Try gtk3 toolkit first
and then gtk2 if not found.
--with-x-toolkit=gtk|yes: As above, but fail if gtk2 or gt3 not found.
--with-x-toolkit=gtk2: Only try gtk2, fail if not found.
--with-x-toolkit=gtk3: Only try gtk3, fail if not found.
2012-09-12 22:21:39 +02:00
Glenn Morris
9d9edd4bae Be more explicit about some Makefile dependencies
* Makefile.in (install-arch-dep, install-arch-indep, install-doc):
Be more explicit about dependencies, for parallel `make install'.

It is not so unreasonable to run `make -j# install' from a clean state
for a self-contained NS build, where the "installation" happens within
the build tree.
2012-09-11 00:45:38 -07:00
Paul Eggert
c990426a98 Simplify, document, and port floating-point.
The porting part of this patch fixes bugs on non-IEEE platforms
with frexp, ldexp, logb.
* admin/CPP-DEFINES (HAVE_CBRT, HAVE_LOGB, logb): Remove.
* configure.ac (logb, cbrt): Do not check for these functions,
as they are not being used.
* doc/lispref/numbers.texi (Float Basics, Arithmetic Operations, Math Functions):
Document that / and mod (with floating point arguments), along
with asin, acos, log, log10, expt and sqrt, return special values
instead of signaling exceptions.
(Float Basics): Document that logb operates on the absolute value
of its argument.
(Math Functions): Document that (log ARG BASE) also returns NaN if
BASE is negative.  Document that (expt X Y) returns NaN if X is a
finite negative number and Y a finite non-integer.
* etc/NEWS: Document NaNs versus signaling-error change.
* src/data.c, src/lisp.h (Qdomain_error, Qsingularity_error, Qunderflow_error):
Now static.
* src/floatfns.c: Simplify discussion of functions that Emacs doesn't
support, by removing commented-out code and briefly listing the
C89 functions excluded.  The commented-out stuff was confusing
maintenance, e.g., we thought we needed cbrt but it was commented out.
(logb): Remove decl; no longer needed.
(isfinite): New macro, if not already supplied.
(isnan): Don't replace any existing macro.
(Ffrexp, Fldexp): Define even if !HAVE_COPYSIGN, as frexp and ldexp
are present on all C89 platforms.
(Ffrexp): Do not special-case zero, as frexp does the right thing
for that case.
(Flogb): Do not use logb, as it doesn't have the desired meaning
on hosts that use non-base-2 floating point.  Instead, stick with
frexp, which is C89 anyway.  Do not pass an infinity or a NaN to
frexp, to avoid getting an unspecified result.
2012-09-10 19:28:27 -07:00
Paul Eggert
b8b0239fd0 Improve robustness of 'make bootstrap'.
Run autogen.sh after bootstrap-clean, to avoid bzr pull issues.
* INSTALL, README: Document autogen.sh.
* Makefile.in (Makefile): Mark it as precious, since it's updated
atomically.
(MAKE_CONFIG_STATUS): New macro.
(config.status, bootstrap): Use it.  This causes 'make bootstrap'
to run config.status with the --recheck option, which is more
appropriate for a bootstrap.
(bootstrap): Run autogen.sh right after cleaning.  Don't worry
about failures due to missing tools.
* autogen.sh: Exit with status 101 when failing due to missing tools.
* make-dist: Distribute autogen.sh.

Fixes: debbugs:12376
2012-09-09 18:03:27 -07:00
Paul Eggert
f6196b87e1 Assume C89 or later for math functions.
This simplifies the code, and makes it a bit smaller and faster,
and (most important) makes it easier to clean up signal handling
since we can stop worring about floating-point exceptions in
library code.  That was a problem before C89, but the problem
went away many years ago on all practical Emacs targets.
* configure.ac (frexp, fmod): Remove checks for these functions,
as we now assume them.
(FLOAT_CHECK_DOMAIN, HAVE_INVERSE_HYPERBOLIC, NO_MATHERR)
(HAVE_EXCEPTION):
Remove; no longer needed.
* admin/CPP-DEFINES (HAVE_FMOD, HAVE_FREXP, FLOAT_CHECK_DOMAIN)
(HAVE_INVERSE_HYPERBOLIC, NO_MATHERR): Remove.
* src/data.c, src/image.c, src/lread.c, src/print.c:
Don't include <math.h>; no longer needed.
* src/data.c, src/floatfns.c (IEEE_FLOATING_POINT): Don't worry that it
might be autoconfigured, as that never happens.
* src/data.c (fmod):
* src/doprnt.c (DBL_MAX_10_EXP):
* src/print.c (DBL_DIG):
Remove.  C89 or later always defines these.
* src/floatfns.c (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CHECK_DOMAIN)
(in_float, float_error_arg, float_error_arg2, float_error_fn_name)
(arith_error, domain_error, domain_error2):
Remove all this pre-C89 cruft.  Do not include <errno.h> as that's
no longer needed -- we simply return what C returns.  All uses removed.
(IN_FLOAT, IN_FLOAT2): Remove.  All uses replaced with
the wrapped code.
(FLOAT_TO_INT, FLOAT_TO_INT2, range_error, range_error2):
Remove.  All uses expanded, as these macros are no longer used
more than once and are now more trouble than they're worth.
(Ftan): Use tan, not sin / cos.
(Flogb): Assume C89 frexp.
(fmod_float): Assume C89 fmod.
(matherr) [HAVE_MATHERR]: Remove; no longer needed.
(init_floatfns): Remove.  All uses removed.
2012-09-09 09:06:33 -07:00
Paul Eggert
1a4f1e9b48 More signal-handler cleanup.
* configure.ac (FLOAT_CHECK_DOMAIN): Comment fix (Bug#12327).
* src/floatfns.c: Comment fix.
* src/lisp.h (force_auto_save_soon): Declare regardless of SIGDANGER.
SIGDANGER might not be in scope so "#ifdef SIGDANGER" is not right,
and anyway the declaration is harmless even if SIGDANGER is not defined.
* src/syssignal.h (SIGIO): Also #undef if (! defined FIONREAD ||
defined BROKEN_FIONREAD).  systty.h formerly did this, but other
source files not surprisingly expected syssignal.h to define, or
not define, SIGIO, and it's cleaner to do it that way, for consistency.
Include <sys/ioctl.h>, for FIONREAD.
* src/systty.h (SIGIO): Do not #undef here; it's now syssignal.h's job.
This eliminates a problem whereby other files mysteriously had
to include "syssignal.h" before including "systty.h" if they
wanted to use "#ifdef SIGIO".
2012-09-07 01:46:44 -07:00
Paul Eggert
2fe282993c Signal-handler cleanup.
Emacs's signal handlers were written in the old 4.2BSD style with
sigblock and sigmask and so forth, and this led to some
inefficiencies and confusion.  Rewrite these to use
pthread_sigmask etc. without copying signal sets around.  Also,
get rid of the confusing macros 'SIGNAL_THREAD_CHECK' and
'signal', and instead use functions that do not attempt to take
over the system name space.  This patch causes Emacs's text
segment to shrink by 0.7% on my platform, Fedora 17 x86-64.
* configure.ac (PTY_OPEN, PTY_TTY_NAME_SPRINTF):
Adjust to syssignal.h changes.
(SIGNAL_H_AB): Remove; no longer needed.
* src/alloc.c, src/emacsgtkfixed.c, src/nsfns.m, src/widget.c, src/xmenu.c:
Do not include <signal.h> or "syssignal.h", as these
modules do not use signals.
* src/atimer.c, src/callproc.c, src/data.c, src/dispnew.c, src/emacs.c:
* src/floatfns.c, src/gtkutil.c, src/keyboard.c, src/process.c, src/sound.c:
* src/sysdep.c, src/term.c, src/xterm.c:
Do not include <signal.h>, as "syssignal.h" does that for us now.
* src/atimer.c (sigmask_atimers): New function.
(block_atimers, unblock_atimers): New functions,
replacing the old macros BLOCK_ATIMERS and UNBLOCK_ATIMERS.
All uses replaced.
* src/conf_post.h [SIGNAL_H_AHB]: Do not include <signal.h>;
no longer needed here.
* src/emacs.c (main): Inspect existing signal handler with sigaction,
so that there's	no need to block and unblock SIGHUP.
* src/sysdep.c (struct save_signal): New member 'action', replacing
old member 'handler'.
(save_signal_handlers, restore_signal_handlers):
Use sigaction instead of 'signal' to save and restore.
(get_set_sighandler, set_sighandler) [!WINDOWSNT]:
New function.  All users of 'signal' modified to use set_sighandler
if they're writeonly, and to use sys_signal if they're read+write.
(emacs_sigaction_init, forwarded_signal): New functions.
(sys_signal): Remove.  All uses replaced by calls to sigaction
and emacs_sigaction_init, or by direct calls to 'signal'.
(sys_sigmask) [!__GNUC__]: Remove; no longer needed.
(sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove;
all uses replaced by pthread_sigmask etc. calls.
* src/syssignal.h: Include <signal.h>.
(emacs_sigaction_init, forwarded_signal): New decls.
(SIGMASKTYPE): Remove.  All uses replaced by its definiens, sigset_t.
(SIGEMPTYMASK): Remove; all uses replaced by its definiens, empty_mask.
(sigmask, sys_sigmask): Remove; no longer needed.
(sigpause): Remove.  All uses replaced by its definiens, sigsuspend.
(sigblock, sigunblock, sigfree):
(sigsetmask) [!defined sigsetmask]:
Remove.  All uses replaced by pthread_sigmask.
(signal): Remove.  Its remaining uses (with SIG_DFL and SIG_IGN)
no longer need to be replaced, and its typical old uses
are now done via emacs_sigaction_init and sigaction.
(sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove decls.
(sys_sigdel): Remove; unused.
(NSIG): Remove a FIXME; the code's fine.  Remove an unnecessary ifdef.

Fixes: debbugs:12327
2012-09-06 18:27:44 -07:00
Paul Eggert
1088b9226e Simplify redefinition of 'abort' (Bug#12316).
Do not try to redefine the 'abort' function.  Instead, redo
the code so that it calls 'emacs_abort' rather than 'abort'.
This removes the need for the NO_ABORT configure-time macro
and makes it easier to change the abort code to do a backtrace.
* configure.ac (NO_ABRT): Remove.
* admin/CPP-DEFINES (NO_ABORT): Remove.
* nt/inc/ms-w32.h (w32_abort) [HAVE_NTGUI]: Remove.
* src/.gdbinit: Just stop at emacs_abort, not at w32_abort or abort.
* src/emacs.c (abort) [!DOS_NT && !NO_ABORT]:
Remove; sysdep.c's emacs_abort now takes its place.
* src/lisp.h (emacs_abort): New decl.  All calls from Emacs code to
'abort' changed to use 'emacs_abort'.
* src/msdos.c (dos_abort) [defined abort]: Remove; not used.
(abort) [!defined abort]: Rename to ...
(emacs_abort): ... new name.
* src/sysdep.c (emacs_abort) [!HAVE_NTGUI]: New function, taking
the place of the old 'abort' in emacs.c.
* src/w32.c, src/w32fns.c (abort): Do not #undef.
* src/w32.c (emacs_abort): Rename from w32_abort.
2012-09-04 10:34:54 -07:00
Paul Eggert
7b6c362efe * configure.ac (_setjmp, _longjmp): Check by compiling
instead of by guessing.  The guesses were wrong for
recent versions of Solaris, such as Solaris 11.
2012-09-03 23:25:44 -07:00
Paul Eggert
79a7bafe62 * configure.ac (WARN_CFLAGS): Omit -Wjump-misses-init.
It generates false alarms in doc.c, regex.c, xdisp.c.  See
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00040.html>.
2012-09-03 12:34:49 -07:00
Paul Eggert
7f50777729 Merge from gnulib.
This incorporates:
2012-08-29 stdbool: be more compatible with mixed C/C++ compiles
2011-11-30 manywarnings: update the list of "all" warnings
2012-09-03 02:26:56 -07:00
Jan Djärv
f278d339c9 * configure.ac (HAVE_GOBJECT): Check for gobject-2.0.
Fixes: debbugs:12332
2012-09-02 13:13:24 +02:00
Paul Eggert
2d3800d2cf * configure.ac (_FORTIFY_SOURCE): Define only when optimizing.
This ports to glibc 2.15 or later, when configured with
--enable-gcc-warnings.  See Eric Blake in
<http://lists.gnu.org/archive/html/bug-grep/2012-09/msg00000.html>.
2012-09-01 11:54:38 -07:00
Daniel Colascione
17a2cbbd76 Refactor window-system configuration
This change streamlines the window system selection code in
configure.in and moves many common function declarations from
window-specific headers to frame.h.  It introduces a new TERM_HEADER
macro in config.h: we set this macro to the right header to use for
the window system for which we're compiling Emacs and have source
files include it indirectly.  This way, we don't have to teach every
file about every window system.
2012-08-31 22:38:52 -08:00
Paul Eggert
6e8aca60a8 * configure.ac (CFLAGS): Prefer -g3 to -g if -g3 works
and if the user has not specified CFLAGS.  -g3 simplifies
debugging, since it makes macros visible to the debugger.
2012-08-25 21:37:40 -07:00
Juanma Barranquero
f06029796a lib/makefile.w32-in ($(BLD)/execinfo.$(O)): Update dependencies. 2012-08-25 12:04:17 +02:00
Eli Zaretskii
391ceac53a MS-Windows adaptations for 2012-08-25T04:04:08Z!eggert@cs.ucla.edu and 2012-08-25T04:27:32Z!eggert@cs.ucla.edu.
lib/makefile.w32-in ($(BLD)/execinfo.$(O), execinfo.h): New targets.
 (GNULIBOBJS): Add $(BLD)/execinfo.$(O).
 src/makefile.w32-in ($(BLD)/alloc.$(O)): Depend on $(GNU_LIB)/execinfo.h.
2012-08-25 08:55:32 +03:00
Paul Eggert
f4a681b077 On assertion failure, print backtrace if available.
Merge from gnulib, incorporating:
2012-08-24 execinfo: port to FreeBSD
2012-08-22 execinfo: new module
* admin/merge-gnulib (GNULIB_MODULES): Add execinfo.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4: New files.
* src/alloc.c [ENABLE_CHECKING]: Include <execinfo.h>.
(die) [ENABLE_CHECKING]: Print a backtrace if available.
* src/Makefile.in (LIB_EXECINFO): New macro.
(LIBES): Use it.
2012-08-24 21:04:08 -07:00
Glenn Morris
5af9cb6be0 Add option to not create bin/emacs link to bin/emacs-VERSION
* Makefile.in (install-arch-dep): If NO_BIN_LINK is non-null,
do not create the bin/emacs link. 

* etc/NEWS: Mention this.

Fixes: debbugs:12011
2012-08-21 23:55:44 -07:00
Paul Eggert
01b13eb7fa Merge from gnulib. 2012-08-21 07:37:56 -07:00
Glenn Morris
9aa0092cdd Use symlink in installed bin/ directory, where supported
* configure.ac (AC_PROG_LN_S): Test for ln.

* Makefile.in (LN_S): New, set by configure.
(install-arch-dep): Use $LN_S.
2012-08-20 18:12:35 -04:00
Paul Eggert
562d4436bc Merge from gnulib.
2012-08-19 ignore-value, stat-time, timespec: omit AC_C_INLINE
2012-08-19 mktime, sys_select: avoid 'static inline'
2012-08-19 gnulib-tool: Fix indentation.
2012-08-19 16:31:24 -07:00
Paul Eggert
51e6d6b2f5 * lib/sigprocmask.c, m4/signalblocking.m4: Remove.
These files have been unused since the 2012-06-22 patch that
introduced high-resolution time stamps.
2012-08-18 14:36:13 -07:00
Jan Beich
1598ef28c1 Fix pty handling on FreeBSD 8.0 (tiny change)
* configure.ac (PTY_OPEN): Try posix_openpt on gnu-linux,
gnu-kfreebsd, freebsd, and netbsd.

Fixes: debbugs:12040
2012-08-17 00:20:10 -07:00
Paul Eggert
76d0e68f8d Merge from gnulib.
This incorporates:
2012-08-05 extern-inline: also ignore -Wmissing-declarations
2012-08-13 20:15:52 -07:00
Juanma Barranquero
5723992258 * lib/makefile.w32-in (STAT_TIME_H): New macro.
(FTOASTR_C, $(BLD)/stat-time.$(O), $(BLD)/timespec.$(O))
($(BLD)/u64.$(O)): Update dependencies.
2012-08-10 23:29:38 +02:00
Glenn Morris
9374581a24 Move DIRECTORY_SEP from lisp.h to config.h
* configure.ac (DIRECTORY_SEP): Move here from src/lisp.h.

* src/lisp.h (DIRECTORY_SEP): Let configure set it.

* nt/config.nt (DIRECTORY_SEP): Move here from src/lisp.h.

* lib-src/movemail.c (DIRECTORY_SEP, IS_DIRECTORY_SEP):
* lib-src/make-docfile.c (DIRECTORY_SEP, IS_DIRECTORY_SEP):
* lib-src/emacsclient.c (DIRECTORY_SEP, IS_DIRECTORY_SEP, IS_DEVICE_SEP):
Remove (they are in config.h now).
2012-08-09 20:02:10 -04:00
Dmitry Antipov
da3d210583 Fix and document recently introduced configuration options.
* configure.ac (--disable-features): Rename to --without-all.
(OPTION_DEFAULT_ON): Change to use with_features.
* INSTALL: Fix description.
* etc/NEWS: Mention --without-all and --enable-link-time-optimization.
2012-08-08 20:17:15 +04:00
Dmitry Antipov
c30d4aef54 * configure.ac: New option --disable-features.
(OPTION_DEFAULT_ON): Change to use enable_features.
* INSTALL: Explain --disable-features.
2012-08-07 08:16:47 +04:00
Glenn Morris
7d732d1a24 Set a minimum automake version
* configure.ac: Require automake 1.11 (fairly arbitrarily).
* autogen.sh (automake_min): Get it from configure.ac.
2012-08-06 21:03:44 -04:00
Glenn Morris
a4fe537621 Grammar fixes 2012-08-06 17:05:25 -04:00
Glenn Morris
1db4583ad2 Guard against potential configure bug wrt HAVE_GETWD
* configure.ac (BROKEN_GETWD) [unixware]: New define.

* src/sysdep.c: Respect BROKEN_GETWD.
2012-08-06 16:29:45 -04:00
Glenn Morris
1c6f11f42a Remove GNU_LIBRARY_PENDING_OUTPUT_COUNT
* configure.ac (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Remove.
(PENDING_OUTPUT_COUNT): Absorb GNU_LIBRARY_PENDING_OUTPUT_COUNT.
(DISPNEW_NEEDS_STDIO_EXT): New define.

* src/dispnew.c (GNU_LIBRARY_PENDING_OUTPUT_COUNT, PENDING_OUTPUT_COUNT):
Let configure handle it.
(stdio_ext.h) [DISPNEW_NEEDS_STDIO_EXT]: Include it.

* nt/config.nt (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Remove.
(PENDING_OUTPUT_COUNT): Define it as dispnew.c used to.

* admin/CPP-DEFINES (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Remove.
2012-08-06 16:22:22 -04:00
Michael Albinus
68b0c113f6 * INSTALL: Explain, how to disable D-Bus at all. (Bug#12112) 2012-08-05 14:53:48 +02:00
Ulrich Müller
32d9ba9ac2 * configure.ac: Disable paxctl if binaries don't have a PT_PAX_FLAGS header.
Fixes: debbugs:11979
2012-08-04 22:00:52 -07:00
Eli Zaretskii
fddc1855e2 Adapt lib/makefile.w32-in to latest gnulib imports.
lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/stat-time.$(O),
 $(BLD)/timespec.$(O), and $(BLD)/u64.$(O).
 (SHA512_H): Don't mention u64.h twice.
 ($(BLD)/stat-time.$(O), ($(BLD)/timespec.$(O), ($(BLD)/u64.$(O)):
 New targets.
2012-08-03 13:02:48 +03:00
Eli Zaretskii
bff2a4b8f2 Fix a typo in top-level ChangeLog. 2012-08-03 12:00:42 +03:00
Paul Eggert
f35ef0edee Merge from gnulib.
2012-08-02 stat-time, timespec, u64: support naive out-of-dir builds
2012-08-02 17:42:11 -07:00
YAMAMOTO Mitsuharu
d784422152 * lib/Makefile.am (DEFAULT_INCLUDES): Add -I$(top_srcdir)/lib for out-of-tree build. 2012-08-02 19:39:47 +09:00
Glenn Morris
d66b744dc3 * src/s/: Remove empty directory.
* make-dist: Remove src/s.
2012-08-01 23:21:48 -07:00
Glenn Morris
837b365b2a Move NT-specific include file to the NT include directory
* nt/inc/ms-w32.h: Move here from ../src/s.
* nt/config.nt (config_opsysfile): Change to <ms-w32.h>.

* s/ms-w32.h: Move to ../nt/inc.
* src/makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H):
Update for new ms-w32.h location.

* lib-src/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location.

* lib/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location.

* lisp/emacs-lisp/authors.el (authors-renamed-files-alist): Add ms-w32.h.
2012-08-01 23:19:48 -07:00
Paul Eggert
a0d4efe9c3 Merge from gnulib, for extern-inline.
2012-08-01 extern-inline: new module
2012-08-01 stat-time, timespec, u64, utimens: use extern-inline
* lib/stat-time.c, lib/utimespec.c, lib/u64.c, m4/extern-inline.m4:
New files.  The new .c files are for instantiating extern inline
functions.

Fixes: debbugs:12116
2012-08-01 21:46:10 -07:00
Paul Eggert
13294f9517 Port to Solaris 8.
Without this change, 'configure' fails because the recently-added
wait3 prototype in config.h messes up later 'configure' tests.
Fix this problem by droping wait3 and WRETCODE, as they're
no longer needed on hosts that are current porting targets.
* configure.ac (wait3, WRETCODE): Remove, fixing a FIXME.
All uses changed to waitpid and WEXITSTATUS.
* src/syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
2012-08-01 21:14:48 -07:00
Paul Eggert
3f750e43e8 Avoid needless autoheader after autogen.sh.
* src/stamp-h.in: Remove from bzr repository; no longer needed there.
* .bzrignore: Add it.
* autogen.sh: Create it.
2012-08-01 18:59:19 -07:00
Glenn Morris
ae21c275a8 * configure.ac (DOS_NT, MSDOS): New system type templates. 2012-08-01 08:00:49 -07:00
Ulrich Müller
fca64dbda1 Tweak FreeBSD LIB_STANDARD, START_FILES
* configure.ac (LIB_STANDARD, START_FILES) [FreeBSD]:
Don't include crtbegin.o and crtend.o.

Fixes: debbugs:12047
2012-08-01 00:20:52 -07:00
Glenn Morris
ca35a5f7f2 * configure.ac (INTERNAL_TERMINAL): New. 2012-07-31 22:02:47 -04:00
Glenn Morris
b72c9a8cad * configure.ac (FLOAT_CHECK_DOMAIN, HAVE_INVERSE_HYPERBOLIC): New. 2012-07-31 21:53:04 -04:00
Glenn Morris
5c0c0e8a1a Move definitions of directory and device separators to configure
* configure.ac (DEVICE_SEP, IS_DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP):
Move here from src/lisp.h.

* src/lisp.h (IS_DIRECTORY_SEP, IS_DEVICE_SEP, IS_ANY_SEP):
Move to configure.ac.
2012-07-31 21:43:08 -04:00
Juanma Barranquero
552a99b4cb Adapt Windows port to recent changes in autogen/config.in.
* lib-src/makefile.w32-in (CONFIG_H): Update dependencies.
(CONF_POST_H): New macro.

* lib/makefile.w32-in (CONFIG_H): Update dependencies.
(CONF_POST_H): New macro.

* nt/config.nt: Sync with autogen/config.in.
Remove code moved to conf_post.h and include <conf_post.h>
(NULL_DEVICE, SEPCHAR, SIGNAL_H_AHB, TIOCSIGSEND, USER_FULL_NAME)
(USG5_4, WRETCODE, _longjmp, _setjmp, wait3): New macros.

* src/makefile.w32-in (CONFIG_H): Update dependencies.
(CONF_POST_H): New macro.

* src/s/ms-w32.h (SEPCHAR, NULL_DEVICE): Remove; moved to nt/config.nt.
2012-08-01 02:29:59 +02:00
Glenn Morris
bc96620af4 * configure.ac (S_FILE): Remove output variable.
* src/Makefile.in (S_FILE): No longer set by configure.

* msdos/sed1v2.inp (S_FILE): Update for format change.
2012-07-31 19:20:25 -04:00
Glenn Morris
68169a3349 * configure.ac (opsysfile): Use AH_TEMPLATE. Doc fix. 2012-07-31 19:12:24 -04:00
Glenn Morris
b2c7a10681 * configure.ac (NULL_DEVICE, SEPCHAR, USER_FULL_NAME): Move here from src.
* src/editfns.c (USER_FULL_NAME):
* src/emacs.c (SEPCHAR):
* src/process.h (NULL_DEVICE): Let configure set them.
2012-07-31 18:24:49 -04:00
Glenn Morris
8d8e2dfea4 Move AMPERSAND_FULL_NAME, subprocesses from conf_post.h to configure.ac
* configure.ac (AMPERSAND_FULL_NAME, subprocesses): Move here from conf_post.h.

* src/conf_post.h (AMPERSAND_FULL_NAME, subprocesses): Move to configure.ac.
2012-07-31 13:50:52 -04:00
Dmitry Antipov
c09bfb2f14 Miscellaneous fixes for non-default X toolkits.
* configure.ac (MOTIF): Check for /usr/include/openmotif
and /usr/(lib|lib64)/openmotif if --with-x-toolkit=motif.
* lwlib/lwlib-Xm.c (make_menu_in_widget): Remove unused variable.
* src/xfns.c (Fx_file_dialog): Change to SSDATA to avoid warnings.
* src/xterm.c (x_frame_of_widget): Remove redundant prototype.
Move under #ifdef USE_LUCID.
(x_create_toolkit_scroll_bar): Adjust scroll_bar_name
definition and usage to avoid warnings.
2012-07-31 15:37:38 +04:00
Andreas Schwab
57ae02b1db * Makefile.in (install-arch-indep): Avoid eval. 2012-07-31 09:58:08 +02:00
Glenn Morris
b3a5630057 * configure.ac (opsysfile, S_FILE): Now they are always empty. 2012-07-30 23:52:13 -07:00
Glenn Morris
cd8bac79f6 * configure.ac (opsysfile): Forgot to set it to empty on sol2-10
when removing src/s/sol2-6.h yesterday.
2012-07-30 23:46:42 -07:00
Glenn Morris
268e2432c9 Remove src/s/usg5-4-common.h
* configure.ac (USG5_4): Reintroduce this.
(opsysfile): Set to empty on irix6-5, sol2*, and unixware.

* src/conf_post.h [USG5_4]: Move remaining contents of s/usg5-4-common.h here.
* src/s/usg5-4-common.h: Remove file.
2012-07-30 23:43:37 -07:00
Glenn Morris
400d5621b8 Move wait3, WRETCODE from src/s to configure
* configure.ac (wait3, WRETCODE): Move here from src/s/usg5-4-common.h.

* s/usg5-4-common.h (wait3, WRETCODE): Let configure set them.
2012-07-30 23:35:08 -07:00
Glenn Morris
7552f3ee02 Remove src/s/irix6-5.h
* configure.ac (opsysfile): Set to s/usg5-4-common.h on irix6-5.

* src/conf_post.h [IRIX6_5]: Move remaining contents of s/irix6-5.h here.

* src/s/irix6-5.h: Remove file.
2012-07-30 23:19:40 -07:00
Glenn Morris
6a3818523e Remove src/s/darwin.h
* configure.ac (opsysfile): Set to empty on darwin.

* src/conf_post.h [DARWIN_OS]: Move remaining contents of src/s/darwin.h here.

* src/s/darwin.h: Remove file.
2012-07-30 21:38:04 -04:00
Glenn Morris
c1529dedfc Remove src/s/hpux10-20.h
* configure.ac (opsysfile): Set to empty on hpux*.

* src/conf_post.h [HPUX]: Move random, srandom here from s/hpux10-20.h.

* src/s/hpux10-20.h: Remove file, which is now empty.
2012-07-30 21:32:19 -04:00
Glenn Morris
b429a4eee4 Use an include file in configure.ac's AH_BOTTOM
* configure.ac (AH_BOTTOM): Use an include file, so that the
contents do not get processed by autoheader.  Eg this prevents undefs
being commented out, and is the recommended technique from the
autoconf manual.

* src/conf_post.h: New, split from configure.ac's AH_BOTTOM.

* src/Makefile.in (config_h): Add conf_post.h.
* src/makefile.w32-in (CONFIG_H): Add conf_post.h.
2012-07-30 17:20:43 -04:00
Paul Eggert
8f25abd317 Do not overwrite config.status while executing it.
* Makefile.in (MAKEFILE_NAME): New macro.
($(MAKEFILE_NAME)): Rename rule from Makefile.
* configure.ac (epaths): Set MAKEFILE_NAME to a bogus value,
so that GNU 'make' isn't tempted to make the Makefile and then
regenerate config.status while config.status is running.

Fixes: debbugs:11214
2012-07-30 13:34:58 -07:00
Paul Eggert
0aee69126f Update .PHONY listings in makefiles. 2012-07-30 09:20:35 -07:00
Glenn Morris
b65e7c462a Move TIOCSIGSEND from src/s to configure
* configure.ac (TIOCSIGSEND): Move here from src/s.

* src/s/usg5-4-common.h (TIOCSIGSEND): Let configure set it.
* src/s/irix6-5.h (TIOCSIGSEND): No more need to undefine.
2012-07-30 07:52:08 -07:00
Glenn Morris
32bac6d6e8 Empty src/s/netbsd.h and remove the file
* configure.ac (SIGNAL_H_AHB): New hack macro.
(opsysfile): Set to empty on netbsd, openbsd.
(AH_BOTTOM): Include signal.h if SIGNAL_H_AHB is defined.

* src/s/netbsd.h: Let configure include signal.h if needed.
Remove file, which is now empty.
2012-07-30 07:46:48 -07:00
Glenn Morris
0a763bd17b Move _longjmp, _setjmp from src/s to configure
* configure.ac (_longjmp, _setjmp): Move here from src/s.

* src/s/usg5-4-common.h (_longjmp, _setjmp): Let configure set them.
* src/s/irix6-5.h (_longjmp, _setjmp): No more need to undefine.
2012-07-30 07:30:20 -07:00
Jan Djärv
847bb9eb74 * Makefile.in (install-arch-indep): Remove sh -x. 2012-07-30 09:51:29 +02:00
Glenn Morris
227f5bd0b4 Remove s/aix4-2.h
* configure.ac (opsysfile): Set to empty on aix4-2.

* src/s/aix4-2.h: Remove empty file.
2012-07-29 23:34:22 -07:00
Glenn Morris
abc7ec5494 * configure.ac (opsysfile): Tweak message for null case.
(The autoconf manual says this is portable.)
2012-07-29 23:24:20 -07:00
Glenn Morris
d34d6ffc97 Remove some empty src/s files.
* configure.ac (opsysfile): Set to empty on freebsd, gnu-linux,
gnu-kfreebsd; and to usg5-4-common.h on sol2*, unixware.

* src/s/freebsd.h, src/s/gnu-linux.h, src/s/sol2-6.h, src/s/unixware.h:
Remove empty files.
2012-07-29 23:18:28 -07:00
Paul Eggert
dc5493f11d Merge from gnulib, incorporating:
* doc/misc/texinfo.tex: Update to 2012-07-29.17 version.
2012-07-29 23:07:22 -07:00
Jan Djärv
ffd817eb10 * Makefile.in (install-arch-indep): Handle space in locallisppath.
* src/lread.c (init_lread): Remove if-statement in ifdef HAVE_NS before
setting sitelisp.

Fixes: debbugs:12010
2012-07-29 18:55:02 +02:00
Paul Eggert
e32a579975 Use Gnulib stdalign and environ modules (Bug#9772, Bug#9960).
* .bzrignore: Add lib/stdalign.h.
* config.bat: Do not set NO_DECL_ALIGN; no longer needed.
Copy lib/stdalign.in.h to lib/stdalign.in-h as needed.
* configure.ac (HAVE_ATTRIBUTE_ALIGNED): Remove the code that
fiddles with this, as gnulib now does this for us.
* admin/merge-gnulib: Add environ, stdalign.
* m4/environ.m4: New file, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/stdalign.in.h, m4/stdalign.m4: New files, from gnulib.
* sed2v2.inp (HAVE_ATTRIBUTE_ALIGNED): Remove edit.
* sedlibmk.inp (STDALIGN_H, @GL_GENERATE_STDALIGN_H_TRUE@)
(GL_GENERATE_STDALIGN_H_FALSE): New edits.
* nt/config.nt (HAVE_ATTRIBUTE_ALIGNED): Remove.
* src/alloc.c (XMALLOC_BASE_ALIGNMENT, GC_POINTER_ALIGNMENT, pure_alloc):
Simplify by using alignof.
(pure_alloc) [! USE_LSB_TAG]: Don't over-align EMACS_INT values.
* src/lisp.h: Include <stdalign.h>.
(GCALIGNMENT): New macro and constant.
(DECL_ALIGN): Remove.  All uses replaced by alignas (GCALIGNMENT).
(USE_LSB_TAG): ifdef on alignas, not on DECL_ALIGN.
(stdalign): New macro, if not already defined.
2012-07-28 16:05:32 -07:00
Dmitry Antipov
441efe9fdd Fix toolkit configuration report.
* configure.ac (USE_X_TOOLKIT): Report toolkit as GTK3 if
--with-x-toolkit=gtk3 is used.
2012-07-17 11:30:25 +04:00
Paul Eggert
5dad233cb8 Fix regression with pthread_sigmask on FreeBSD.
* configure.ac: Configure gnulib at the end, not before running
pkg-config.  This restores the behavior before 2012-06-22, when
higher-resolution time stamps were added, and fixes a bug whereby
LIB_PTHREAD was not used and gnulib's part of 'configure'
therefore incorrectly assumed that pthread_sigmask wasn't working.
Fix the problem with -lrt and clock_gettime a different way.
This should complete the fix for Bug#11884.
(pre_PKG_CONFIG_CFLAGS, pre_PKG_CONFIG_LIBS): New shell vars.
2012-07-16 19:09:58 -07:00
Paul Eggert
b6e9e0ffac Merge from gnulib.
2012-07-15 pthread_sigmask: fix bug on FreeBSD 9 (Bug#11884)
2012-07-11 gettext: do not assume '#define ... defined ...' behavior
2012-07-15 11:18:37 -07:00
Juanma Barranquero
ed9265fc7d Fix typos in ChangeLogs. 2012-07-14 04:08:32 +02:00
Glenn Morris
5b3f250f88 Move GC_SETJMP_WORKS, GC_MARK_STACK from src/s to configure
* configure.ac (GC_SETJMP_WORKS, GC_MARK_STACK): Move here from src/s.
(AH_BOTTOM): Move GC_SETJMP_WORKS GCC fallback to main body.

* src/s/aix4-2.h, src/s/freebsd.h, src/s/gnu-linux.h, src/s/hpux10-20.h:
* src/s/irix6-5.h, src/s/netbsd.h, src/s/sol2-6.h, src/s/unixware.h:
Let configure set GC_SETJMP_WORKS, GC_MARK_STACK.
2012-07-13 20:04:10 -04:00
Glenn Morris
5b63334279 Move GC_MARK_SECONDARY_STACK from src/s to configure
* configure.ac (GC_MARK_SECONDARY_STACK): Move here from src/s.

* src/s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Let configure set it.
2012-07-13 17:54:35 -04:00
Glenn Morris
32fb4bb69b Remove some src/s files that are now empty
* configure.ac (opsysfile): Set to empty on gnu, cygwin.

* src/s/bsd-common, src/s/cygwin.h: Remove empty files.
* src/s/freebsd.h, src/s/netbsd.h: Do not include bsd-common.h.
2012-07-12 19:38:30 -07:00
Glenn Morris
983188fd54 Move "system type" macros from src/s to configure
* configure.ac (BSD4_2, BSD_SYSTEM, USG, USG5, _AIX, CYGWIN)
(DARWIN_OS, GNU_LINUX, HPUX, IRIX6_5, SOLARIS2):
Move "system type" macros here from src/s.
(BSD_SYSTEM_AHB): New hack macro.
(AH_BOTTOM): Set BSD_SYSTEM, using BSD_SYSTEM_AHB.

* src/s/usg5-4-common.h (USG, USG5):
* src/s/template.h (USG5, USG, HPUX, BSD4_2, BSD_SYSTEM):
* src/s/sol2-6.h (SOLARIS2):
* src/s/irix6-5.h (IRIX6_5):
* src/s/hpux10-20.h (USG, USG5, HPUX):
* src/s/gnu-linux.h (USG, GNU_LINUX):
* src/s/freebsd.h (BSD_SYSTEM):
* src/s/darwin.h (BSD4_2, BSD_SYSTEM, DARWIN_OS):
* src/s/cygwin.h (CYGWIN):
* src/s/bsd-common.h (BSD_SYSTEM, BSD4_2):
* src/s/aix4-2.h (USG, USG5, _AIX): Move "system type" macros to configure.
2012-07-12 19:34:05 -07:00
Glenn Morris
739ae01050 Move NSIG_MINIMUM from src/s to configure
* configure.ac (NSIG_MINIMUM): Move here from src/s.

* src/s/usg5-4-common.h (NSIG_MINIMUM): Let configure set it.
2012-07-12 21:19:06 -04:00
Glenn Morris
dbee57935d Move ULIMIT_BREAK_VALUE from src/s to configure
* configure.ac (ULIMIT_BREAK_VALUE): Move here from src/s.

* src/s/gnu-linux.h, src/s/irix6-5.h: Let configure set ULIMIT_BREAK_VALUE.
2012-07-12 20:19:10 -04:00
Glenn Morris
4fae5a7a91 Move darwin.h's SYSTEM_PURESIZE_EXTRA setting to configure
* configure.ac (AH_BOTTOM) [DARWIN_OS]: Move SYSTEM_PURESIZE_EXTRA
setting here from src/s/darwin.h.

* src/s/darwin.h (SYSTEM_PURESIZE_EXTRA): Move to configure.
2012-07-12 20:00:23 -04:00
Glenn Morris
ba9e4b84ac Move NO_EDITRES from src/s to configure
* configure.ac (NO_EDITRES): Move here from src/s.

* src/s/aix4-2.h, src/s/hpux10-20.h: Let configure set NO_EDITRES.
2012-07-12 17:14:13 -04:00
Glenn Morris
3e91a053d9 Move UNIX98_PTYS from src/s to configure
* configure.ac (UNIX98_PTYS): Move here from src/s.

* src/s/gnu-linux.h (UNIX98_PTYS): Let configure set it.
2012-07-12 15:48:21 -04:00
Glenn Morris
3f922c3769 Move PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF from src/s to configure
* configure.ac (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Move here from src/s.

* src/s/aix4-2.h, src/s/cygwin.h, src/s/darwin.h:
* src/s/gnu-linux.h, src/s/hpux10-20.h, src/s/irix6-5.h:
* src/s/sol2-6.h, src/s/unixware.h, src/s/usg5-4-common.h:
Move PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF to configure.
2012-07-12 00:43:05 -07:00
Glenn Morris
0ab7b23ae0 Move PTY_OPEN from src/s to configure
* configure.ac (PTY_OPEN) Move here from src/s.

* src/s/cygwin.h, src/s/darwin.h, src/s/gnu-linux.h, src/s/irix6-5.h:
Move PTY_OPEN to configure.
2012-07-12 00:10:44 -07:00
Glenn Morris
6e7778482f Move FIRST_PTY_LETTER, PTY_ITERATION from src/s to configure
* configure.ac (FIRST_PTY_LETTER PTY_ITERATION): Move here from src/s.

* src/s/aix4-2.h, src/s/bsd-common.h, src/s/cygwin.h, src/s/darwin.h:
* src/s/gnu-linux.h, src/s/hpux10-20.h, src/s/irix6-5.h, src/s/template.h:
* src/s/usg5-4-common.h: Move FIRST_PTY_LETTER, PTY_ITERATION to configure.
2012-07-11 23:34:40 -07:00
Glenn Morris
42bd17194c Move more things from src/s to configure
* configure.ac (BROKEN_GET_CURRENT_DIR_NAME, BROKEN_PTY_READ_AFTER_EAGAIN)
(G_SLICE_ALWAYS_MALLOC): Move here from src/s.

* src/s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN):
* src/s/cygwin.h (G_SLICE_ALWAYS_MALLOC):
* src/s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Let configure set them.
2012-07-11 22:14:29 -04:00
Glenn Morris
7ccad0028b Move more stuff from src/s to configure
* configure.ac (PREFER_VSUSP, RUN_TIME_REMAP, SETPGRP_RELEASES_CTTY)
(TAB3, TABDLY, RUN_TIME_REMAP, XOS_NEEDS_TIME_H): Move here from src/s.

* src/s/bsd-common.h, src/s/darwin.h: Move TAB3 to configure.

* src/s/hpux10-20.h, src/s/sol2-6.h: Move XOS_NEEDS_TIME_H to configure.

* src/s/irix6-5.h (SETPGRP_RELEASES_CTTY, PREFER_VSUSP):
* src/s/hpux10-20.h (RUN_TIME_REMAP):
* src/s/bsd-common.h (TABDLY): Move to configure.
2012-07-11 21:49:28 -04:00
Glenn Morris
ea0bbd1767 Move some AIX defines from src/s to configure
* configure.ac (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPOLL)
(BROKEN_SIGPTY): Move here from src/s.

* src/s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
(BROKEN_SIGPOLL): Let configure set them.

* src/s/syssignal.h: Comment fix.
2012-07-11 21:18:45 -04:00
Glenn Morris
c5564388a3 Move NO_ABORT from src/s to configure
* configure.ac (NO_ABORT): Move here from src/s.

* src/s/darwin.h (NO_ABORT): Let configure set it.
2012-07-11 21:14:56 -04:00
Glenn Morris
51c3b9b4b8 Move setting of NO_MATHERR for Darwin from src/s to configure
* configure.ac (NO_MATHERR): Unconditionally define for Darwin;
as src/s/darwin.h used to.

* src/s/darwin.h (NO_MATHERR): Let configure set it.
2012-07-11 21:11:37 -04:00
Glenn Morris
308aab7949 Move NARROWPROTO from src/s to configure
* configure.ac (NARROWPROTO): Move here from src/s.

* src/s/bsd-common.h, src/s/cygwin.h, src/s/gnu-linux.h, src/s/irix6-5.h:
* src/s/template.h: Move NARROWPROTO to configure.
2012-07-11 20:49:24 -04:00
Glenn Morris
ee1cf5cfae All platforms using configure support HAVE_PTYS and HAVE_SOCKETS
* configure.ac (HAVE_PTYS, HAVE_SOCKETS): Define unconditionally.

* src/s/aix4-2.h, src/s/bsd-common.h, src/s/cygwin.h, src/s/darwin.h:
* src/s/gnu-linux.h, src/s/hpux10-20.h, src/s/template.h:
* src/s/usg5-4-common.h: Move HAVE_PTYS and HAVE_SOCKETS to configure.
2012-07-11 19:40:59 -04:00
Glenn Morris
c43fb4c32d Move INTERRUPT_INPUT from src/s to configure
* configure.ac (INTERRUPT_INPUT): Move here from src/s.

* src/s/darwin.h, src/s/gnu-linux.h, src/s/template.h:
Move INTERRUPT_INPUT to configure.
2012-07-11 13:04:19 -04:00
Glenn Morris
09f4e3b014 Move SIGNALS_VIA_CHARACTERS from src/s to configure
* configure.ac (SIGNALS_VIA_CHARACTERS): Move here from src/s.

* src/s/aix4-2.h, src/s/bsd-common.h, src/s/cygwin.h, src/s/gnu-linux.h:
* src/s/irix6-5.h: Move SIGNALS_VIA_CHARACTERS to configure.
2012-07-11 00:28:27 -07:00
Paul Eggert
554fef512f * configure.ac (tzset): Remove redundant check. 2012-07-11 00:23:59 -07:00
Glenn Morris
172bedefc9 All the cool platforms support CLASH_DETECTION...
* configure.ac (CLASH_DETECTION): Define unconditionally.
Every platform using configure supports it.

* src/s/aix4-2.h, src/s/bsd-common.h, src/s/cygwin.h, src/s/darwin.h:
* src/s/gnu-linux.h, src/s/hpux10-20.h, src/s/template.h:
* src/s/usg5-4-common.h: Move CLASH_DETECTION to configure.

* etc/PROBLEMS: Recommend customizing create-lockfiles rather than
recompiling with CLASH_DETECTION unset.
2012-07-11 00:07:19 -07:00
Paul Eggert
bb3522608f Assume mkdir, rmdir. 2012-07-11 00:05:21 -07:00
Glenn Morris
249685df40 Remove src/s/gnu.h
* configure.ac (opsysfile): Use bsd-common on gnu systems.

* src/s/gnu.h: Remove file, which is now empty.
2012-07-10 23:55:30 -07:00
Glenn Morris
c8add24e86 Move GNU_LIBRARY_PENDING_OUTPUT_COUNT from src/s to configure
* configure.ac (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Move here from src/s.

* src/s/gnu.h, src/s/gnu-linux.h:
Move GNU_LIBRARY_PENDING_OUTPUT_COUNT to configure.
2012-07-10 23:52:48 -07:00
Paul Eggert
57054ddd44 Assume rename. 2012-07-10 23:09:09 -07:00
Paul Eggert
5ebbef1dc0 Assume strerror. 2012-07-10 22:44:06 -07:00
Glenn Morris
9d596af370 Move DONT_REOPEN_PTY from src/s to configure
* configure.ac (DONT_REOPEN_PTY): Move here from src/s.

* src/s/darwin.h, src/s/freebsd.h, src/s/netbsd.h:
Move DONT_REOPEN_PTY to configure.
2012-07-10 22:29:13 -04:00
Glenn Morris
20e94fdd8e Let configure set DEFAULT_SOUND_DEVICE
* configure.ac (DEFAULT_SOUND_DEVICE): New definition.

* src/sound.c (DEFAULT_SOUND_DEVICE) [!WINDOWSNT]:
* src/s/netbsd.h (DEFAULT_SOUND_DEVICE): Let configure set it.
2012-07-10 22:16:25 -04:00
Paul Eggert
22ffb97351 Remove "#define unix" that is no longer needed (Bug#11905).
Merge from gnulib to make "#define unix" unnecessary, incorporating:
2012-07-10 getloadavg: clean out old Emacs and Autoconf cruft
2012-07-09 getopt: Simplify after Emacs changed.
* src/s/aix4-2.h (unix): Remove; no longer needed.
2012-07-10 17:01:21 -07:00
Glenn Morris
d02eb359e6 Move PENDING_OUTPUT_COUNT from src/s to configure
* configure.ac (PENDING_OUTPUT_COUNT): Move here from src/s.

* src/s/cygwin.h, src/s/darwin.h, src/s/freebsd.h, src/s/netbsd.h:
* src/s/unixware.h: Move PENDING_OUTPUT_COUNT definition to configure.
2012-07-10 00:37:17 -07:00
Glenn Morris
882cf227ab Move DATA_START, DATA_SEG_BITS from src/s to configure
* configure.ac (DATA_START, DATA_SEG_BITS): Move here from src/s.

* src/s/irix6-5.h (DATA_START, DATA_SEG_BITS):
* src/s/hpux10-20.h (DATA_SEG_BITS, DATA_START):
* src/s/gnu.h (DATA_START): Move definitions to configure.
2012-07-10 00:15:05 -07:00
Andreas Schwab
cda158b40d * configure.ac (PNG_DEPSTRUCT): Define this instead of
PNG_DEPRECATED.
2012-07-10 00:06:31 +02:00
Paul Eggert
5994c1836b Add GCC-style 'const' attribute to functions that can use it. 2012-07-09 09:38:45 -07:00
Juanma Barranquero
52331d2c41 lib/makefile.w32-in: Rework dependencies.
(GNU_LIB, NT_INC, C_CTYPE_H, MS_W32_H, CONFIG_H, FILEMODE_H)
(FTOASTR_H, FTOASTR_C, GETOPT_INT_H, MD5_H, SHA1_H, SHA256_H)
(U64_H, SHA512_H): New macros.
(SRC): Redefine to point to src/, not current directory.
($(BLD)/c-ctype.$(O), $(BLD)/c-strcasecmp.$(O))
($(BLD)/c-strncasecmp.$(O), $(BLD)/dtoastr.$(O))
($(BLD)/dtotimespec.$(O), $(BLD)/getopt.$(O), $(BLD)/getopt1.$(O))
($(BLD)/gettime.$(O), $(BLD)/strftime.$(O), $(BLD)/time_r.$(O))
($(BLD)/timespec-add.$(O), $(BLD)/timespec-sub.$(O), $(BLD)/md5.$(O))
($(BLD)/sha1.$(O), $(BLD)/sha256.$(O), $(BLD)/sha512.$(O))
($(BLD)/filemode.$(O)): Update dependencies.
2012-07-09 17:37:43 +02:00
Paul Eggert
2f93ecceb9 Merge from gnulib. 2012-07-09 01:34:39 -07:00
Paul Eggert
61a116066f Mention coordinates of recent Autoconf change, thanks to Stefano Lattarini. 2012-07-08 21:58:55 -07:00
Paul Eggert
c4444d16dc Rename configure.in to configure.ac.
Fixes: debbugs:11603
2012-07-08 21:52:49 -07:00
Paul Eggert
0ccb0b0983 Restore deprecation warnings, except for older libpng.
* configure.in (WARN_CFLAGS): Remove -Wno-deprecated-declarations.
(HAVE_LIBPNG_PNG_H): Don't bother checking for this if we have png.h.
(PNG_DEPRECATED): Define when compiling with older PNG versions.
2012-07-08 13:03:56 -07:00