Remove no-longer-needed Solaris 2.4 vfork bug workaround.
[bpt/emacs.git] / src / ChangeLog
index 88e385c..daabdd7 100644 (file)
@@ -1,8 +1,155 @@
-2012-09-15  Kenichi Handa  <handa@gnu.org>
+2012-09-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       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.
+       * callproc.c (Fcall_process) [HAVE_WORKING_VFORK]:
+       * 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-17  Glenn Morris  <rgm@gnu.org>
+
+       * emacs.c: Use COPYRIGHT.
+
+2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove configure's --without-sync-input option (Bug#12450).
+       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>.
+       * 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.
+       * atimer.c (run_timers, handle_alarm_signal):
+       * keyboard.c (pending_signal, poll_for_input_1, poll_for_input)
+       (handle_async_input, process_pending_signals)
+       (handle_input_available_signal, init_keyboard):
+       * nsterm.m (ns_read_socket):
+       * process.c (wait_reading_process_output):
+       * regex.c (immediate_quit, IMMEDIATE_QUIT_CHECK):
+       * sysdep.c (emacs_sigaction_init) [SA_RESTART]:
+       (emacs_write):
+       * xterm.c (XTread_socket):
+       Assume SYNC_INPUT.
+       * conf_post.h (SA_RESTART) [IRIX6_5]: Do not #undef.
+       * eval.c (handling_signal): Remove.  All uses removed.
+       * lisp.h (ELSE_PENDING_SIGNALS): Remove.
+       All uses replaced with the SYNC_INPUT version.
+       (reset_malloc_hooks, uninterrupt_malloc, handling_signal):
+       Remove decls.
+       * sysdep.c, syssignal.h (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
+       Now static.
+
+       * font.c (Ffont_shape_gstring): Remove unused local.
+
+2012-09-16  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (clean): No longer run nextstep's clean.
+
+       * 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.
+       * ns.mk: Remove file.
+
+2012-09-16  Kenichi Handa  <handa@gnu.org>
+
+       * font.c (Ffont_shape_gstring): Fix previous change; GLYPHs may
+       not covert the last few charactes.
+
+2012-09-16  Kenichi Handa  <handa@gnu.org>
 
        * font.c (Ffont_shape_gstring): Don't adjust grapheme cluster
        here, but just check the validity of glyphs in the glyph-string.
 
+2012-09-16  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (Fwindow_parameter, Fset_window_parameter): Accept
+       any window as argument (Bug#12452).
+
+2012-09-16  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfns.m (Fx_open_connection): Move initialization of ns_*_types
+       to ns_term_init to avoid memory leak.
+
+       * nsterm.m (ns_update_begin): Initialize bp after lcokFocus, use
+       explicit retain/release.
+       (ns_term_init): Only allow one display.  Initialize outerpool and
+       ns_*_types.
+
+2012-09-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port _setjmp fix to POSIXish hosts as well as Microsoft.
+       * image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as
+       it's needed on POSIXish hosts that lack _setjmp.  Attempt to solve
+       the Microsoft problem in a different way, by altering ../nt/config.nt.
+
+2012-09-15  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32xfns.c:
+       * w32uniscribe.c:
+       * w32term.c:
+       * w32select.c:
+       * w32reg.c:
+       * w32proc.c:
+       * w32menu.c:
+       * w32inevt.c:
+       * w32heap.c:
+       * w32font.c:
+       * w32fns.c:
+       * w32console.c:
+       * w32.c:
+       * w16select.c: Remove inclusion of setjmp.h, as it is now included
+       by lisp.h.  This completes removal of setjmp.h inclusion
+       erroneously announced in the previous commit.  (Bug#12446)
+
+       * lisp.h [!HAVE__SETJMP, !HAVE_SIGSETJMP]: Make the commentary
+       more accurate.
+
+       * image.c (_setjmp) [!HAVE__SETJMP]: Define only if 'setjmp' is
+       not defined as a macro.  The latter happens on MS-Windows.
+       (Bug#12446)
+
+2012-09-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port better to POSIX hosts lacking _setjmp (Bug#12446).
+       * lisp.h: Include <setjmp.h> here, since we use its symbols here.
+       Some 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.)
+       * 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.
+
 2012-09-14  Paul Eggert  <eggert@cs.ucla.edu>
 
        * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]: