Use Gnulib stdalign and environ modules (Bug#9772, Bug#9960).
[bpt/emacs.git] / src / ChangeLog
index 06633ba..cc112f4 100644 (file)
@@ -1,3 +1,127 @@
+2012-07-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use Gnulib stdalign module (Bug#9772, Bug#9960).
+       * 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.
+       * 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  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix non-ASCII input in non-GUI frames on MS-Windows.  (Bug#12055)
+       * w32inevt.c: Include w32inevt.h.
+       (w32_read_console_input): New inline function, calls either
+       ReadConsoleInputA or ReadConsoleInputW, depending on the value of
+       w32_console_unicode_input.
+       (fill_queue): Call w32_read_console_input instead of ReadConsoleInput.
+       (w32_kbd_patch_key, key_event): Use the codepage returned by
+       GetConsoleCP, rather than the ANSI codepage returned by GetLocaleInfo.
+       (key_event): use uChar.UnicodeChar only if
+       w32_console_unicode_input is non-zero.
+
+       * w32console.c: Include w32heap.h.
+       <w32_console_unicode_input>: New global variable.
+       (initialize_w32_display): Set w32_console_unicode_input to 1 on NT
+       family of Windows, zero otherwise.
+
+       * w32inevt.h: Declare w32_console_unicode_input.
+
+       * xdisp.c (init_iterator): Don't reference tip_frame in a build
+       --without-x.  (Bug#11742)
+
+2012-07-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust GDB to reflect pvec_type changes (Bug#12036).
+       * .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the
+       2012-07-04 changes to pseudovector representation.  Problem
+       reported by Eli Zaretskii in <http://bugs.gnu.org/12036#30>.
+
+2012-07-27  Michael Albinus  <michael.albinus@gmx.de>
+
+       * dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS): Canonicalize session
+       bus address.
+       (xd_close_bus, Fdbus_init_bus): Handle reference counter properly.
+
+2012-07-27  Eli Zaretskii  <eliz@gnu.org>
+
+       * alloc.c (listn): Fix the order the arguments are consed onto the
+       list.
+
+       * lisp.h (enum constype): Use CONSTYPE_HEAP and CONSTYPE_PURE for
+       enumeration constants, as PURE and HEAP are too general, and clash
+       with other headers and sources, such as gmalloc.c and the
+       MS-Windows system headers.  All users changed.
+
+2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Revert last save_excursion_save and save_excursion_restore changes.
+       * alloc.c, editfns.c, marker.c, lisp.h: Revert.
+       Lots of crashes reported by Chong Yidong <cyd@gnu.org>.
+
+2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Fix recently-introduced typos in Windows port.
+       Reported by Martin Rudalics <rudalics@gmx.at>.
+       * w32.c (init_environment): Replace comma with semicolon.
+       * w32fns.c (syms_of_w32fns): Add missing parenthesis.
+
+2012-07-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve GDB symbol export (Bug#12036).
+       * .gdbinit (xgetptr, xgetint, xgettype): Set $bugfix in different
+       arms of an 'if', not using conditional expressions; otherwise GDB
+       complains about the types in the unevaluated arm when the argument
+       is an integer literal.
+       (xgetint): Simplify expression.
+       * alloc.c (gdb_make_enums_visible): New constant.  This ports to
+       GCC 3.4.2 the export of symbols to GDB.  Problem reported by Eli
+       Zaretskii in <http://bugs.gnu.org/12036#13>.
+       * lisp.h (PUBLISH_TO_GDB): Remove.  All uses removed.  No longer
+       needed now that we have gdb_make_enums_visible.
+       (enum CHECK_LISP_OBJECT_TYPE, enum Lisp_Bits, enum More_Lisp_Bits)
+       (enum enum_USE_LSB_TAG):
+       New enum types, packaging up enums that need to be exported to GDB.
+
+2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Utility function to make a list from specified amount of objects.
+       * lisp.h (enum constype): New datatype.
+       (listn): New prototype.
+       * alloc.c (listn): New function.
+       (Fmemory_use_count, syms_of_alloc): Use it.
+       * buffer.c (syms_of_buffer): Likewise.
+       * callint.c (syms_of_callint): Likewise.
+       * charset.c (define_charset_internal): Likewise.
+       * coding.c (syms_of_coding): Likewise.
+       * keymap.c (syms_of_keymap): Likewise.
+       * search.c (syms_of_search): Likewise.
+       * syntax.c (syms_of_syntax): Likewise.
+       * w32.c (init_environment): Likewise.
+       * w32fns.c (Fw32_battery_status, syms_of_w32fns): Likewise.
+       * xdisp.c (syms_of_xdisp): Likewise.
+       * xfns.c (syms_of_xfns): Likewise.
+
+2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Fast save_excursion_save and save_excursion_restore.
+       * lisp.h (struct Lisp_Excursion): New data type.
+       (PVEC_EXCURSION): New pseudovector type.
+       (XEXCURSION, XSETEXCURSION, EXCURSIONP): Convenient macros
+       to deal with it.  Adjust comments.
+       (init_marker, attach_marker): New prototype.
+       (unchain_marker): Adjust prototype.
+       * marker.c (attach_marker): Change to global.
+       (init_marker): New function.
+       * alloc.c (Fmake_marker, build_marker): Use it.
+       (build_marker): More easserts.
+       (mark_object): Handle struct Lisp_Excursion.
+       * editfns.c (save_excursion_save, save_excursion_restore):
+       Reimplement to use struct Lisp_Excursion.  Add comments.
+
 2012-07-26  Paul Eggert  <eggert@cs.ucla.edu>
 
        Fix export of symbols to GDB (Bug#12036).
@@ -7,7 +131,8 @@
        the fix for 12036 would have avoided some of the problems noted in
        <http://bugs.gnu.org/12036#13> by Eli Zaretskii, as the scope problems
        would have been more obvious.
-       * emacs.c (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS)
+       * emacs.c: Do not include <verify.h>; no longer needed.
+       (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS)
        (gdb_GCTYPEBITS, gdb_USE_LSB_TAG)
        (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG):
        Remove; now done in lisp.h.