+2012-06-19 Chong Yidong <cyd@gnu.org>
+
+ * frame.c (delete_frame): When selecting a frame on a different
+ text terminal, do not alter the terminal's top-frame.
+
+ * xdisp.c (format_mode_line_unwind_data): Record the target
+ frame's selected window and its terminal's top-frame.
+ (unwind_format_mode_line): Restore them.
+ (x_consider_frame_title, display_mode_line, Fformat_mode_line):
+ Callers changed.
+ (x_consider_frame_title): Do not condition on HAVE_WINDOW_SYSTEM,
+ since tty frames can be explicitly named.
+ (prepare_menu_bars): Likewise.
+
+ * term.c (Ftty_top_frame): New function.
+
+2012-06-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port byte-code-meter to modern targets.
+ * bytecode.c (METER_CODE) [BYTE_CODE_METER]: Don't assume
+ !CHECK_LISP_OBJECT_TYPE && !USE_LSB_TAG. Problem with
+ CHECK_LISP_OBJECT_TYPE reported by Dmitry Andropov in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00282.html>.
+ (METER_1, METER_2): Simplify.
+
+2012-06-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * data.c (Fdefalias): Return `symbol' (bug#11686).
+
+2012-06-18 Martin Rudalics <rudalics@gmx.at>
+
+ * buffer.c (Fkill_buffer): Don't throw an error when the buffer
+ gets killed during executing of this function (Bug#11665).
+ Try to always return Qt when the buffer has been actually killed.
+ (Vkill_buffer_query_functions): In doc-string say that functions
+ run by this hook should not change the current buffer.
+
+2012-06-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix recently-introduced process.c problems found by static checking.
+ * process.c (write_queue_push, write_queue_pop, send_process):
+ Use ptrdiff_t, not int or EMACS_INT, for buffer lengths and offsets.
+ (write_queue_pop): Fix pointer signedness problem.
+ (send_process): Remove unused local.
+
+2012-06-17 Chong Yidong <cyd@gnu.org>
+
+ * xdisp.c (redisplay_internal): No need to redisplay terminal
+ frames that are not on top.
+
+2012-06-17 Troels Nielsen <bn.troels@gmail.com>
+
+ * process.c (make_process): Initialize write_queue.
+ (write_queue_push, write_queue_pop): New functions.
+ (send_process): Use them to maintain correct ordering of process
+ writes (Bug#10815).
+
+2012-06-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (eassert): Assume C89 or later.
+ This removes the need for CHECK.
+ (CHECK): Remove. Its comments about always evaluating its
+ argument were confusing, as 'eassert' typically does not evaluate
+ its argument.
+
+ * coding.c (produce_chars): Use ptrdiff_t, not int.
+
+ * xterm.c (x_draw_underwave): Check for integer overflow.
+ This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64.
+
+2012-06-17 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't
+ referenced (Bug#11583).
+
+2012-06-16 Aurelien Aptel <aurelien.aptel@gmail.com>
+
+ Implement wave-style variant of underlining.
+ * dispextern.h (face_underline_type): New enum.
+ (face): Add field for underline type.
+ * nsterm.m (ns_draw_underwave): New function.
+ (ns_draw_text_decoration): Use it.
+ * w32term.c (w32_restore_glyph_string_clip, w32_draw_underwave):
+ New functions.
+ (x_draw_glyph_string): Use them.
+ * xfaces.c (Qline, Qwave): New Lisp objects.
+ (check_lface_attrs, merge_face_ref)
+ (Finternal_set_lisp_face_attribute, realize_x_face):
+ Handle wave-style underline face attributes.
+ * xterm.c (x_draw_underwave): New function.
+ (x_draw_glyph_string): Use it.
+
+2012-06-16 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/fringe.$(O))
+ ($(BLD)/xml.$(O), $(BLD)/intervals.$(O), $(BLD)/macros.$(O))
+ ($(BLD)/minibuf.$(O), $(BLD)/regex.$(O), $(BLD)/region-cache.$(O))
+ ($(BLD)/textprop.$(O), $(BLD)/undo.$(O), $(BLD)/window.$(O))
+ ($(BLD)/w32select.$(O)): Update dependencies.
+
+2012-06-16 Andreas Schwab <schwab@linux-m68k.org>
+
+ * buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline.
+ (BUF_FETCH_MULTIBYTE_CHAR): Likewise.
+ * character.c (_fetch_multibyte_char_p): Remove.
+ * alloc.c: Include "character.h" before "buffer.h".
+ * bidi.c: Likewise.
+ * buffer.c: Likewise.
+ * bytecode.c: Likewise.
+ * callint.c: Likewise.
+ * callproc.c: Likewise.
+ * casefiddle.c: Likewise.
+ * casetab.c: Likewise.
+ * category.c: Likewise.
+ * cmds.c: Likewise.
+ * coding.c: Likewise.
+ * composite.c: Likewise.
+ * dired.c: Likewise.
+ * dispnew.c: Likewise.
+ * doc.c: Likewise.
+ * dosfns.c: Likewise.
+ * editfns.c: Likewise.
+ * emacs.c: Likewise.
+ * fileio.c: Likewise.
+ * filelock.c: Likewise.
+ * font.c: Likewise.
+ * fontset.c: Likewise.
+ * fringe.c: Likewise.
+ * indent.c: Likewise.
+ * insdel.c: Likewise.
+ * intervals.c: Likewise.
+ * keyboard.c: Likewise.
+ * keymap.c: Likewise.
+ * lread.c: Likewise.
+ * macros.c: Likewise.
+ * marker.c: Likewise.
+ * minibuf.c: Likewise.
+ * nsfns.m: Likewise.
+ * nsmenu.m: Likewise.
+ * print.c: Likewise.
+ * process.c: Likewise.
+ * regex.c: Likewise.
+ * region-cache.c: Likewise.
+ * search.c: Likewise.
+ * syntax.c: Likewise.
+ * term.c: Likewise.
+ * textprop.c: Likewise.
+ * undo.c: Likewise.
+ * unexsol.c: Likewise.
+ * w16select.c: Likewise.
+ * w32fns.c: Likewise.
+ * w32menu.c: Likewise.
+ * window.c: Likewise.
+ * xdisp.c: Likewise.
+ * xfns.c: Likewise.
+ * xmenu.c: Likewise.
+ * xml.c: Likewise.
+ * xselect.c: Likewise.
+
+2012-06-16 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (set_cursor_from_row): Don't dereference glyphs_end.
+ If all the glyphs of the glyph row came from strings, and we have no
+ cursor positioning clues, put the cursor on the first glyph of the
+ row.
+ (handle_face_prop): Use chunk-relative overlay string index when
+ indexing into it->string_overlays array. (Bug#11653)
+ (set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, not
+ the rightmost. (Bug#11720)
+
+2012-06-16 Andreas Schwab <schwab@linux-m68k.org>
+
+ * category.h (CHAR_HAS_CATEGORY): Define as inline.
+ (CATEGORY_MEMBER): Enforce 1/0 value.
+ * category.c (_temp_category_set): Remove.
+
+2012-06-16 Eli Zaretskii <eliz@gnu.org>
+
+ * window.c (Fdelete_other_windows_internal)
+ (Fdelete_window_internal): Don't access frame's mouse highlight
+ info of the initial frame. (Bug#11677)
+
+2012-06-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * .gdbinit (xgetint): Fix recently-introduced paren typo.
+ Assume USE_2_TAGS_FOR_INTS.
+ (xreload): Adjust $tagmask width to match recent lisp.h change.
+
+ Simplify lisp.h in minor ways that should not affect code.
+ * lisp.h (USE_2_TAGS_FOR_INTS): Remove, as it was always defined.
+ (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P)
+ (LISP_INT1_TAG, enum Lisp_Type, XINT, XUINT, make_number):
+ Simplify under the assumption that USE_2_TAGS_FOR_INTS is defined.
+ (INTTYPEBITS): New macro, for clarity.
+ (INTMASK, MOST_POSITIVE_FIXNUM): Use it.
+ (LISP_INT1_TAG, LISP_STRING_TAG, LISP_INT_TAG_P):
+ Simplify now that USE_LSB_TAG is always defined.
+ (TYPEMASK, XINT) [USE_LSB_TAG]: Remove unnecessary cast.
+ (make_number) [!USE_LSB_TAG]: Use INTMASK; that's simpler.
+
+2012-06-13 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/data.$(O)): Update dependencies.
+
+2012-06-13 Glenn Morris <rgm@gnu.org>
+
+ * s/bsd-common.h (BSD4_3):
+ * s/usg5-4-common.h (USG5_4): No longer define; unused.
+
+2012-06-13 Andreas Schwab <schwab@linux-m68k.org>
+
+ * lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]: Define as struct
+ instead of union.
+ (XLI, XIL): Define.
+ (XHASH, XTYPE, XINT, XUINT, make_number, XSET, XPNTR, XUNTAG):
+ Use them.
+ * emacs.c (gdb_use_struct): Rename from gdb_use_union.
+ * .gdbinit: Check gdb_use_struct instead of gdb_use_union.
+ * alloc.c (widen_to_Lisp_Object): Remove.
+ (mark_memory): Use XIL instead of widen_to_Lisp_Object.
+ * frame.c (delete_frame): Remove outdated comment.
+ * w32fns.c (Fw32_register_hot_key): Use XLI instead of checking
+ USE_LISP_UNION_TYPE.
+ (Fw32_unregister_hot_key): Likewise.
+ (Fw32_toggle_lock_key): Likewise.
+ * w32menu.c (add_menu_item): Likewise.
+ (w32_menu_display_help): Use XIL instead of checking
+ USE_LISP_UNION_TYPE.
+ * w32heap.c (allocate_heap): Don't check USE_LISP_UNION_TYPE.
+ (init_heap): Likewise.
+ * w32term.c (w32_read_socket): Update comment.
+
+2012-06-13 Glenn Morris <rgm@gnu.org>
+
+ * s/usg5-4-common.h, src/s/unixware.h:
+ Remove define/undef of HAVE_SYSV_SIGPAUSE (not used since 2010-05-04).
+
+ * s/gnu.h (POSIX_SIGNALS): Remove (not used since 2010-05-04).
+
+2012-06-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604)
+ * alloc.c (make_number) [!defined make_number]:
+ Remove, as lisp.h always defines this now.
+ (mark_maybe_pointer): Simplify since USE_LSB_TAG is always defined now.
+ (roundup_size): Verify that it is a power of 2.
+ * data.c (Fmake_variable_buffer_local, Fmake_local_variable):
+ * ftfont.c (ftfont_driver): Use LISP_INITIALLY_ZERO.
+ * lisp.h (USE_LSB_TAG): Allow the builder to compile with
+ -DUSE_LSB_TAG=0, to override the automatically-selected default.
+ USE_LSB_TAG now is always defined to be either 0 or 1.
+ All uses changed.
+ (union Lisp_Object): Don't worry about WORDS_BIGENDIAN; the
+ code works fine either way, and efficiency is not a concern here,
+ as the union type is for debugging, not for production.
+ (LISP_MAKE_RVALUE, make_number) [USE_LISP_UNION_TYPE]:
+ Use an inline function on all platforms when using the union type,
+ since this is simpler and 'static inline' can be used portably
+ within Emacs now.
+ (LISP_INITIALLY_ZERO): New macro.
+ (XFASTINT, XSETFASTINT) [USE_LISP_UNION_TYPE]: Remove.
+ (XSET) [USE_LISP_UNION_TYPE]: Don't overparenthesize.
+
+2012-06-12 Glenn Morris <rgm@gnu.org>
+
+ * s/gnu-kfreebsd.h, s/hpux11.h, s/openbsd.h, s/sol2-10.h: Remove files.
+
+ * s/gnu-linux.h (HAVE_PROCFS): Move to configure.
+
+ * s/hpux10-20.h, s/openbsd.h, s/usg5-4-common.h:
+ Move BROKEN_SIGIO to configure.
+
+ * s/bsd-common.h, s/darwin.h, s/gnu-kfreebsd.h, s/hpux10-20.h:
+ Move NO_TERMIO to configure.
+
+2012-06-12 Chong Yidong <cyd@gnu.org>
+
+ * image.c (imagemagick_load_image): Use MagickFlattenImage if
+ MagickMergeImageLayers is undefined. Use pixel pusher loop if
+ MagickExportImagePixels is undefined.
+
+2012-06-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * image.c (imagemagick_load_image): Remove unused label.
+
+2012-06-11 Glenn Morris <rgm@gnu.org>
+
+ * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
+ * s/gnu-kfreebsd.h, s/gnu-linux.h, s/gnu.h, s/hpux10-20.h:
+ * s/irix6-5.h, s/ms-w32.h, s/msdos.h, s/template.h:
+ * s/usg5-4-common.h: Move SYSTEM_TYPE to configure.
+
+2012-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * alloc.c (make_byte_code): New function.
+ (Fmake_byte_code): Use it. Don't purify here.
+ * lread.c (read1): Use it as well to avoid extra allocation.
+
+2012-06-11 Chong Yidong <cyd@gnu.org>
+
+ * image.c (imagemagick_load_image): Implement transparency.
+
+2012-06-10 Andreas Schwab <schwab@linux-m68k.org>
+
+ * regex.c (at_begline_loc_p): Also recognize `(?N:' and correctly
+ account for preceding backslashes. (Bug#11663)
+
+2012-06-09 Chong Yidong <cyd@gnu.org>
+
+ * term.c: Support italics in capable terminals (Bug#9652).
+ (no_color_bit): Replace unused NC_BLINK with NC_ITALIC.
+ (turn_on_face): Output using TS_enter_italic_mode if available.
+ Don't handle unused blinking and alt-charset cases.
+ (turn_off_face): Handle italic case; discard unused tty_blinking_p
+ and tty_alt_charset_p cases.
+ (tty_capable_p, init_tty): Support italics.
+
+ * termchar.h (struct tty_display_info): Add field for italics.
+ Remove unused blink field.
+
+ * xfaces.c (tty_supports_face_attributes_p, realize_tty_face):
+ Handle slant.
+
+ * dispextern.h: Replace unused TTY_CAP_BLINK with TTY_CAP_ITALIC.
+ (struct face): Remove unused fields tty_dim_p, tty_blinking_p, and
+ tty_alt_charset_p. Add tty_italic_p.
+
+2012-06-09 Michael Albinus <michael.albinus@gmx.de>
+
+ * dbusbind.c (XD_BASIC_DBUS_TYPE): Use dbus_type_is_valid and
+ dbus_type_is_basic if available.
+ (xd_extract_signed, xd_extract_unsigned): Rename from
+ extract_signed and extract_unsigned, respectively. Adapt callers.
+
+2012-06-09 Chong Yidong <cyd@gnu.org>
+
+ * xfaces.c (face_for_overlay_string): Handle face remapping (Bug#2066).
+
+ * fringe.c (Fset_fringe_bitmap_face): Handle the noninteractive
+ case (Bug#9752).
+
+2012-06-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xdisp.c (vmessage): Treat frame message as multibyte.
+ Without this change, (let ((§ 1)) (make-variable-buffer-local '§))
+ would generate the diagnostic "Making \302\247 buffer-local while
+ let-bound!".
+
+2012-06-08 Eli Zaretskii <eliz@gnu.org>
+
+ * dispnew.c (showing_window_margins_p): Undo last change, which
+ was done due to an inadvertent commit.
+ (adjust_frame_glyphs_for_frame_redisplay): Do call
+ showing_window_margins_p.
+
+2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fmake_var_non_special): New primitive.
+ (syms_of_eval): Defsubr it.
+ * lread.c (syms_of_lread): Mark `values' as lexically scoped.
+
+2012-06-08 Juanma Barranquero <lekktu@gmail.com>
+
+ * dispnew.c (showing_window_margins_p): Wrap in #if 0 to prevent unused
+ function warning (the only call is inside #if 0 since 2012-06-08T08:44:45Z!eliz@gnu.org).
+
+2012-06-08 Eli Zaretskii <eliz@gnu.org>
+
+ * alloc.c (allocate_vectorlike): Fix last change.
+
+2012-06-08 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Block-based vector allocation of small vectors.
+ * lisp.h (struct vectorlike_header): New field `nbytes',
+ adjust comment accordingly.
+ * alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK'
+ to denote vector blocks. Adjust users (live_vector_p,
+ mark_maybe_pointer, valid_lisp_object_p) accordingly.
+ (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG.
+ (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES),
+ (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX),
+ (VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST),
+ (VECTOR_SIZE, VECTOR_IN_BLOCK): New macros.
+ (roundup_size): New constant.
+ (struct vector_block): New data type.
+ (vector_blocks, vector_free_lists, zero_vector): New variables.
+ (all_vectors): Rename to `large_vectors'.
+ (allocate_vector_from_block, init_vectors, allocate_vector_from_block)
+ (sweep_vectors): New functions.
+ (allocate_vectorlike): Return `zero_vector' as the only vector of
+ 0 items. Allocate new vector from block if vector size is less than
+ or equal to VBLOCK_BYTES_MAX.
+ (Fgarbage_collect): Move all vector sweeping code to sweep_vectors.
+ (init_alloc_once): Add call to init_vectors.
+
+2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fmacroexpand): Stop if the macro returns the same form.
+
+2012-06-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doprnt.c (doprnt): Truncate multibyte char correctly.
+ Without this change, doprnt (buf, 2, "%s", FORMAT_END, AP)
+ would mishandle a string argument "Xc" if X was a multibyte
+ character of length 2: it would truncate after X's first byte
+ rather than including all of X.
+
+2012-06-06 Chong Yidong <cyd@gnu.org>
+
+ * buffer.c (word_wrap): Doc fix.
+
+2012-06-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xdisp.c (note_mode_line_or_margin_highlight): Pacify gcc -Wall.
+
+2012-06-03 Glenn Morris <rgm@gnu.org>
+
+ * xdisp.c (tool-bar-style): Doc fix.
+
+2012-06-03 Ulrich Müller <ulm@gentoo.org>
+
+ * Makefile.in (PAXCTL): Define.
+ (temacs$(EXEEXT)): Disable memory randomization for the temacs
+ binary via PaX flags if the paxctl utility is available.
+ (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)):
+ Restore PaX flags to their default. (Bug#11398)
+
+2012-06-03 Chong Yidong <cyd@gnu.org>
+
+ * xdisp.c (decode_mode_spec_coding): Display a space for a unibyte
+ buffer (Bug#11226).
+
+2012-06-03 Chong Yidong <cyd@gnu.org>
+
+ * xdisp.c (calc_pixel_width_or_height): Use Fbuffer_local_value.
+ (note_mode_line_or_margin_highlight): If there is no help echo,
+ use mode-line-default-help-echo. Handle the case where the mouse
+ position is past the end of the mode line string.
+
+ * buffer.c (buffer_local_value_1): New function, split from
+ Fbuffer_local_value; can return Qunbound.
+ (Fbuffer_local_value): Use it.
+ (Vmode_line_format): Docstring tweaks.
+
+2012-06-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * sysdep.c (system_process_attributes): Improve comment.
+
+2012-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keyboard.c: Export real-this-command to Elisp.
+ (syms_of_keyboard): Rename real_this_command to Vreal_this_command
+ and DEFVAR it. Update all users.
+
+2012-06-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * minibuf.c (Fassoc_string): Remove duplicate declaration.
+
+ * sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
+ Convert pctcpu and pctmem to Lisp float properly.
+ Let the compiler fold better, as 100.0/0x8000 is exact.
+
+2012-06-02 Andreas Schwab <schwab@linux-m68k.org>
+
+ * alloc.c (CONS_BLOCK_SIZE): Account for padding at the end of
+ cons_block.
+
+2012-06-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xfns.c (x_set_tool_bar_lines) [USE_GTK]: Adjust to bitfield change.
+
+2012-06-01 Dmitry Antipov <dmantipov@yandex.ru>
+
+ For a 'struct window', replace some Lisp_Object fields to
+ bitfields where appropriate, remove unused fields.
+ * window.h (struct window): Remove unused 'last_mark_x' and
+ 'last_mark_y' fields. Rename 'mini_p' field to 'mini',
+ change it's type from Lisp_Object to bitfield.
+ Change type of 'force_start', 'optional_new_start',
+ 'last_had_star', 'update_mode_line' and 'start_at_line_beg'
+ fields from Lisp_Object to bitfield. Adjust users accordingly.
+
+2012-05-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ Pacify gcc -Wdouble-precision when using Xaw.
+ * xterm.c (xaw_jump_callback, x_set_toolkit_scroll_bar_thumb)
+ [HAVE_X_WINDOWS && USE_TOOLKIT_SCROLL_BARS && !USE_MOTIF && !USE_GTK]:
+ Use 'float' consistently, rather than 'float' in most places
+ and 'double' in a couple of places.
+
+2012-05-31 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (handle_stop): Detect whether we have overlay strings
+ loaded by testing it->current.overlay_string_index to be
+ non-negative, instead of checking whether n_overlay_strings is
+ positive. (Bug#11587)
+
+2012-05-31 Chong Yidong <cyd@gnu.org>
+
+ * keymap.c (describe_map_tree): Revert 2011-07-07 change (Bug#1169).
+
+ * doc.c (Fsubstitute_command_keys): Doc fix.
+
+2012-05-31 Eli Zaretskii <eliz@gnu.org>
+
+ * search.c (search_buffer): Remove calls to
+ r_alloc_inhibit_buffer_relocation, as it is now called by
+ maybe_unify_char, which was the cause of relocation of buffer text
+ in bug#11519.
+
+2012-05-31 Eli Zaretskii <eliz@gnu.org>
+
+ * charset.c (maybe_unify_char): Inhibit relocation of buffer text
+ for the duration of call to load_charset, to avoid problems with
+ callers of maybe_unify_char that access buffer text through C
+ pointers.
+
+ * ralloc.c (r_alloc_inhibit_buffer_relocation): Increment and
+ decrement the inhibition flag, instead of just setting or
+ resetting it.
+
+2012-05-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove obsolete '#define static' cruft.
+ * s/hpux10-20.h (_FILE_OFFSET_BITS): Don't #undef.
+ This #undef was "temporary" in 2000; it is no longer needed
+ now that '#define static' has gone away.
+ * xfns.c, xterm.h (gray_bitmap_width, gray_bitmap_height)
+ (gray_bitmap_bits): Remove; no longer needed.
+ All uses replaced with definiens.
+ * xterm.c: Include "bitmaps/gray.xbm".
+
+2012-05-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ Clean up __executable_start, monstartup when --enable-profiling.
+ The following changes affect the code only when profiling.
+ * dispnew.c (__executable_start): Rename from safe_bcopy.
+ Define only on platforms that need it.
+ * emacs.c: Include <sys/gmon.h> when profiling.
+ (_mcleanup): Remove decl, since <sys/gmon.h> does it now.
+ (__executable_start): Remove decl, since lisp.h does it now.
+ (safe_bcopy): Remove decl; no longer has that name.
+ (main): Coalesce #if into single bit of code, for simplicity.
+ Cast pointers to uintptr_t, since standard libraries want integers
+ and not pointers.
+ * lisp.h (__executable_start): New decl.
+
+2012-05-31 Glenn Morris <rgm@gnu.org>
+
+ * image.c (Fimagemagick_types): Doc fix.
+
+2012-05-30 Jim Meyering <meyering@redhat.com>
+
+ * callproc.c (Fcall_process_region): Include directory component
+ in mkstemp error message (Bug#11586).
+
+2012-05-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * alloc.c, lisp.h (make_pure_vector): Now static.
+
+2012-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function):
+ Move to byte-run.el.
+ (Fautoload): Do the hash-doc more carefully.
+ * data.c (Fdefalias): Purify definition, except for keymaps.
+ (Qdefun): Move from eval.c.
+ * lisp.h (Qdefun): Remove.
+ * lread.c (read1): Tiny simplification.
+
+2012-05-29 Troels Nielsen <bn.troels@gmail.com>
+
+ Do not create empty overlays with the evaporate property (Bug#9642).
+ * buffer.c (Fmove_overlay): Reinstate the earlier fix for
+ Bug#9642, but explicitly check that the buffer the overlay would
+ be moved to is live and rearrange lines to make sure that errors
+ will not put the overlay in an inconsistent state.
+ (Fdelete_overlay): Cosmetics.
+
+2012-05-28 Eli Zaretskii <eliz@gnu.org>
+
+ * w32term.c (my_bring_window_to_top): New function.
+ (x_raise_frame): Use handle returned by DeferWindowPos, which
+ could be different from the original one.
+ Call my_bring_window_to_top instead of my_set_foreground_window.
+ (Bug#11513)
+
+ * w32fns.c (w32_wnd_proc): Accept and process WM_EMACS_BRINGTOTOP
+ by calling BringWindowToTop.
+
+ * w32term.h (WM_EMACS_BRINGTOTOP): New message.
+ (WM_EMACS_END): Increase by one.
+
+2012-05-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bidi.c (bidi_mirror_char): Put eassert before conversion to int.
+ This avoids undefined behavior that might cause the eassert
+ to not catch an out-of-range value.
+
+2012-05-28 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/w32inevt.$(O), $(BLD)/w32console.$(O)):
+ Update dependencies.
+
+2012-05-27 Eli Zaretskii <eliz@gnu.org>
+
+ * bidi.c (bidi_mirror_char): Fix last change.
+
+2012-05-27 Andreas Schwab <schwab@linux-m68k.org>
+
+ * unexmacosx.c (copy_data_segment): Truncate after 16 characters
+ when referring to sectname field in printf format.
+
+2012-05-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h [REL_ALLOC]: Omit duplicate prototypes.
+ Only r_alloc_inhibit_buffer_relocation needed to be added;
+ the others were already declared.
+
+ * bidi.c (bidi_mirror_char): Don't possibly truncate the integer
+ before checking whether it's out of range. Put the check inside
+ eassert. See
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00485.html>.
+
+2012-05-27 Ken Brown <kbrown@cornell.edu>
+
+ * callproc.c (Fcall_process): Restore a line that was accidentally
+ commented out in the 2011-02-13 change (bug#11547).
+
+2012-05-27 Eli Zaretskii <eliz@gnu.org>
+
+ * lisp.h [REL_ALLOC]: Add prototypes for external functions
+ defined on ralloc.c.
+
+ * buffer.c [REL_ALLOC]: Remove prototypes of
+ r_alloc_reset_variable, r_alloc, r_re_alloc, and r_alloc_free,
+ they are now on lisp.h.
+
+ * ralloc.c (r_alloc_inhibit_buffer_relocation): New function.
+
+ * search.c (search_buffer): Use it to inhibit relocation of buffer
+ text while re_search_2 is doing its job, because re_search_2 is
+ passed C pointers to buffer text. (Bug#11519)
+
+ * msdos.c (internal_terminal_init) <Vwindow_system_version>:
+ Update value to 24.
+
+ * xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator
+ state after an additional call to move_it_in_display_line_to, keep
+ the values of it->max_ascent and it->max_descent found for the
+ entire line.
+ (pos_visible_p): Revert the comparison against bottom_y to what it
+ was in revid eliz@gnu.org-20120513182235-4p6386j761ld0nwb.
+ (Bug#11464)
+
+2012-05-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix coding-related core dumps with gcc -ftrapv.
+ The code was computing A - B, where A and B are pointers, and B is
+ random garbage. This can lead to core dumps on platforms that
+ have special pointer registers, and it also leads to core dumps on
+ x86-64 when compiled with gcc -ftrapv. The fix is to compute
+ A - B only when B is initialized properly.
+ * coding.c (coding_set_source, coding_set_destination): Return void.
+ (coding_change_source, coding_change_destinations): New functions,
+ with the old behaviors of coding_set_source and coding_set_destination.
+ All callers that need an offset changed to use these new functions.
+
+2012-05-26 Glenn Morris <rgm@gnu.org>
+
+ * nsterm.m (ns_init_paths): Don't mess with INFOPATH. (Bug#2791)
+
2012-05-26 Eli Zaretskii <eliz@gnu.org>
Extend mouse support on W32 text-mode console.
- * xdisp.c (draw_row_with_mouse_face): Call
- tty_draw_row_with_mouse_face for WINDOWSNT as well.
+ * xdisp.c (draw_row_with_mouse_face):
+ Call tty_draw_row_with_mouse_face for WINDOWSNT as well.
* w32console.c: Include window.h.
- (w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face): New
- functions.
+ (w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face):
+ New functions.
(initialize_w32_display): Initialize mouse-highlight data.
* w32inevt.c: Include termchar.h and window.h.
(marker_byte_position, Fbuffer_has_markers_at):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fset_marker, set_marker_restricted): Don't assume fixnum fits in int.
- * menu.c (ensure_menu_items): Renamed from grow_menu_items.
+ * menu.c (ensure_menu_items): Rename from grow_menu_items.
It now merely ensures that the menu is large enough, without
necessarily growing it, as this avoids some integer overflow issues.
All callers changed.
* xdisp.c (handle_single_display_spec): Return 1 for left-margin
and right-margin display specs even if the spec is invalid or we
- are on a TTY, and thus unable to display on the fringes. That's
- because the text with the property will not be displayed anyway,
+ are on a TTY, and thus unable to display on the fringes.
+ That's because the text with the property will not be displayed anyway,
so we need to signal to the caller that this is a "replacing"
display spec. This fixes display when the spec is invalid or we
are on a TTY.