+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).
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.