+2012-06-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * 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.