+2014-05-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ Don't assume that ImageMagick uses a 16-bit quantum (Bug#17519).
+ * image.c (imagemagick_load_image): Port to hosts that do not use
+ a 16-bit quantum, i.e., QuantumRange does not equal 65535.
+
+2014-05-21 Leo Liu <sdl.web@gmail.com>
+
+ * fns.c (Fnreverse): Accept strings for SEQ and update doc-string.
+
+2014-05-20 Michael Albinus <michael.albinus@gmx.de>
+
+ * dbusbind.c (xd_signature): Revert last 2 patches.
+
+2014-05-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ Allow any non-nil value to count as true in bool-vector.
+ Likewise for xd_signature in dbusbind.c.
+ This is more consistent with the usual practice in Emacs, which is
+ that any non-nil value counts as true.
+ * alloc.c (Fbool_vector): Don't require args to be t or nil.
+ * dbusbind.c (xd_signature): Likewise, for booleans.
+ * data.c, lisp.h (Qbooleanp):
+ * lisp.h (CHECK_BOOLEAN): Remove. All uses removed.
+
+2014-05-19 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * lisp.h (CHECK_BOOLEAN): New function.
+ * alloc.c (Fbool_vector): New function.
+ (syms_of_alloc): Defsubr it.
+ * data.c (Qbooleanp): New symbol.
+ (syms_of_data): DEFSYM it.
+ * dbusbind.c (xd_signature): Use CHECK_BOOLEAN.
+
+ * font.c (font_matching_entity): Extract font-entity object
+ from the vector of matching entities (Bug#17486).
+
+2014-05-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ Assume C99 or later (Bug#17487).
+ * bytecode.c (B__dummy__): Remove.
+ * conf_post.h (bool_bf) [!NS_IMPL_GNUSTEP]: Use bool.
+ (FLEXIBLE_ARRAY_MEMBER): Now always empty.
+ * dbusbind.c (XD_DEBUG_MESSAGE) [!DBUS_DEBUG]:
+ * regex.c (DEBUG_PRINT): Assume varargs macros.
+ * lisp.h (DEFUN_FUNCTION_INIT): Remove. All uses now assume C99.
+
+2014-05-17 Fabrice Popineau <fabrice.popineau@gmail.com>
+
+ * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Always map new
+ memory for every buffer that was dumped.
+
+2014-05-15 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * fns.c (Freverse): Allow vectors, bool vectors and strings.
+ (Fnreverse): Allow vectors and bool vectors.
+
+2014-05-14 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Minor cleanup for terminal setup.
+ * termhooks.h (create_terminal): Adjust prototype.
+ * terminal.c (create_terminal): Pass output method and RIF as args.
+ (init_initial_terminal):
+ * nsterm.m (ns_create_terminal):
+ * term.c (init_tty):
+ * w32term.c (w32_create_terminal):
+ * xterm.c (x_create_terminal): Adjust users.
+ Avoid redundant NULL initializers and add comments.
+
+2014-05-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ * keyboard.c (Qdeactivate_mark): Now static.
+
+2014-05-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ If available, use Xfixes extension to do pointer blanking.
+ * Makefile.in (XFIXES_CFLAGS, XFIXES_LIBS): New var.
+ * xfns.c (x_set_mouse_color): Do not call make_invisible_cursor here.
+ (make_invisible_cursor): Move to...
+ * xterm.c (make_invisible_cursor): ...here.
+ (x_probe_xfixes_extension, xfixes_toggle_visible_pointer)
+ (x_toggle_visible_pointer, x_setup_pointer_blanking): New functions.
+ (x_term_init): Call to x_setup_pointer_blanking.
+ (XTtoggle_invisible_pointer): Use blanking specific to this display.
+ * xterm.h (struct x_display_info): New member toggle_visible_pointer.
+
+2014-05-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * xdisp.c (draw_glyphs): Set clipping to highlight boundaries.
+
+2014-05-12 Glenn Morris <rgm@gnu.org>
+
+ * fileio.c (Ffile_executable_p): Doc tweak.
+
+2014-05-12 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xsettings.c (init_gsettings): Use g_settings_schema_source_lookup
+ instead of deprecated g_settings_list_schemas if possible (Bug#17434).
+
+2014-05-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * minibuf.c (read_minibuf): Avoid C99ism in previous patch (Bug#17430).
+
+2014-05-08 Jarek Czekalski <jarekczek@poczta.onet.pl>
+
+ Fix initialization of minibuffer history variable (Bug#17430).
+ * minibuf.c (read_minibuf): Initialize histval to Qnil if unbound.
+ Move the initialization up to prevent any "value void" message.
+
+2014-05-08 Samuel Bronson <naesten@gmail.com>
+
+ * keyboard.c (Frecursive_edit): Ensure inc&dec of command_loop_level
+ are matched (bug#17413).
+
+2014-05-08 Jarek Czekalski <jarekczek@poczta.onet.pl>
+
+ Stop tooltips pulling Emacs window to front (Bug#17408).
+ * w32fns.c (Fx_show_tip): Add SWP_NOOWNERZORDER flag to
+ SetWindowPos invocations.
+
+2014-05-08 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsselect.m (Fx_selection_exists_p): Just return Qnil if window system
+ not initialized (Bug#17398).
+
+2014-05-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * image.c: Include <png.h> before <setjmp.h> (Bug#17429).
+
+2014-05-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * image.c: Do not use libpng if HAVE_NS, as NS does its own thing.
+ [HAVE_NS]: Do not include png.h.
+ (x_query_frame_background_color): New function.
+ (png_load_body, imagemagick_load_image, svg_load_image): Use it.
+ (png_load_body): Coalesce duplicate code.
+
+2014-05-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Consult libpng-config more consistently (Bug#17339).
+ * Makefile.in (PNG_CFLAGS): New var.
+ (ALL_CFLAGS): Use it.
+ * image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
+ CFLAGS now handles this.
+
+2014-05-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ Handle systems without WCONTINUED consistently. (Bug#15110, 17339)
+ * process.c (handle_child_signal): Remove WCONTINUED ifdef,
+ because WCONTINUED is always defined now.
+ * syswait.h (WCONTINUED): Move here from ../lib-src/emacsclient.c.
+
+2014-05-03 Eli Zaretskii <eliz@gnu.org>
+
+ * buffer.c (overlay_strings): Fix the wording of the commentary.
+
+2014-05-01 Glenn Morris <rgm@gnu.org>
+
+ * floatfns.c (Fisnan):
+ * profiler.c (Fprofiler_cpu_running_p): Doc fix (replace `iff').
+
+2014-05-01 Eli Zaretskii <eliz@gnu.org>
+
+ * term.c (tty_menu_activate): A better initialization for cursor
+ coordinates.
+
+2014-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * intervals.c: Tighten assertions.
+ (create_root_interval): Make sure the interval is not empty.
+ (intervals_equal): Use booleans.
+ (rotate_right, rotate_left): Check LENGTHs rather than TOTAL_LENGTH.
+ (balance_an_interval): Sanity check LENGTHs and TOTAL_LENGTHs.
+ (balance_possible_root_interval): Simplify and use booleans.
+ (split_interval_right, split_interval_left): Check LENGTH, and remove
+ now redundant assertion.
+ (adjust_intervals_for_insertion): Remove now redundant assertions.
+ (delete_node, interval_deletion_adjustment)
+ (adjust_intervals_for_deletion, merge_interval_right)
+ (merge_interval_left): Check LENGTH rather than TOTAL_LENGTH.
+ (reproduce_interval): Make sure the interval is not empty.
+
+2014-04-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * term.c (tty_menu_activate): Don't assume row and col are initialized.
+ GCC 4.9.0 warned about this, and I couldn't easily prove to my own
+ satisfaction that they would always be initialized.
+
+2014-04-30 Eli Zaretskii <eliz@gnu.org>
+
+ * term.c (tty_menu_display): Move the cursor to the active menu item.
+ (tty_menu_activate): Return the cursor to the active menu item
+ after displaying the menu and after displaying help-echo. See
+ http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00402.html
+ for the details of why this is needed by screen readers and
+ Braille displays.
+
+2014-04-30 Glenn Morris <rgm@gnu.org>
+
+ * process.c (handle_child_signal):
+ Handle systems without WCONTINUED. (Bug#15110, 17339)
+
+2014-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * window.c (struct saved_window): Remove mark.
+ (Fset_window_configuration, save_window_save)
+ (compare_window_configurations): Don't touch marks any more.
+
+2014-04-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use bits_word for gcmarkbits.
+ * alloc.c (struct cons_block, struct float_block): On 64-bit hosts,
+ bits_word is typically a tad more efficient for mark bits than
+ unsigned is, so use bits_word. All uses changed.
+ * lisp.h (BITS_PER_INT): Remove; no longer used.
+
+ Avoid undefined behavior in signed left shift.
+ This ports to GCC 4.9.0 with -fsanitize=undefined.
+ * alloc.c (bool_vector_fill, SETMARKBIT, UNSETMARKBIT):
+ * data.c (Fash):
+ * regex.c (extract_number):
+ * lisp.h (make_number, XINT):
+ Do not shift a 1 bit left into a sign bit.
+ * alloc.c (struct cons_block, struct float_block): Use unsigned,
+ not int, for gcmarkbits. All uses changed.
+
+2014-04-25 Eli Zaretskii <eliz@gnu.org>
+
+ * search.c (Fnewline_cache_check): Don't try to count newlines
+ outside the buffer's restriction, as find_newline doesn't support that.
+
+2014-04-24 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * window.c (Fset_window_configuration): Deactivate the mark before
+ unsetting the mark.
+ (set_window_buffer): Ignore window_initialized.
+ (window_initialized): Remove.
+ * keyboard.c (Qdeactivate_mark): Not static any more.
+ * buffer.c (buffer_local_value): Rename from buffer_local_value_1.
+ Update all callers.
+
+2014-04-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * conf_post.h (ADDRESS_SANITIZER_WORKAROUND): Port to GCC 4.9.0
+ and to clang 3.4, which have fixed the bug. This should let us
+ run a bit faster on these platforms when address sanitization is
+ in effect.
+
+2014-04-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to GCC 4.9.0 with --enable-gcc-warnings.
+ * image.c (struct my_jpeg_error_mgr) [lint]: Remove member fp.
+ All uses removed.
+ (jpeg_load_body) [lint]: Add a 'volatile' to pacify a buggy GCC in
+ a way that also works with GCC 4.9.0.
+
+ * search.c (Fnewline_cache_check): Remove unused locals.
+
+2014-04-22 Eli Zaretskii <eliz@gnu.org>
+
+ * search.c (find_newline1): New subroutine.
+ (Fnewline_cache_check): New function.
+ (syms_of_search): Defsubr it.
+
+2014-04-22 Jarek Czekalski <jarekczek@poczta.onet.pl>
+
+ Fix freezing with scroll bars of GTK3 Toolkit (bug#15801).
+ * keyboard.c (unblock_input): Add comment.
+ * xgselect.c (xg_select): Prevent Glib main loop recursion.
+
+2014-04-22 Daniel Colascione <dancol@dancol.org>
+
+ * lread.c (readevalloop_eager_expand_eval): New function
+ that can recurse into toplevel forms.
+ (readevalloop): Call it.
+ * lisp.h: Declare Qprogn.
+ * callint.c (Qprogn): No longer static.
+
+2014-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * intervals.c (rotate_right, rotate_left): Fix up length computation.
+ Also change identifiers to match the comments, and add more assertions
+ (bug#16234).
+
+2014-04-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * emacs.c (close_output_streams): Don't clear and restore errno.
+
+2014-04-18 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xterm.c (x_make_frame_visible): Prevent endless loop when frame
+ never becomes visible, i.e. using XMonad (Bug#17237).
+
+2014-04-18 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (insert_left_trunc_glyphs): Ensure the left truncation
+ glyph is written to TEXT_AREA of the temporary glyph_row. (Bug#17288)
+ (Fline_pixel_height): Don't assume that the current buffer and the
+ selected window's buffer are one and the same. (Bug#17281)
+
+ * insdel.c (invalidate_buffer_caches): Invalidate the bidi
+ paragraph-start cache before the newline cache. (Bug#17269)
+
+2014-04-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * term.c (tty_send_additional_strings): No need to fflush here,
+ as callers fflush.
+ (tty_set_terminal_modes): fflush after sending additional strings,
+ not before.
+
+2014-04-17 Daniel Colascione <dancol@dancol.org>
+
+ * term.c (Qtty_mode_set_strings, Qtty_mode_reset_strings): New
+ symbols.
+ (tty_send_additional_strings): New function.
+ (tty_set_terminal_modes, tty_reset_terminal_modes): Use it.
+ (syms_of_term): Intern tty-mode-set-strings and
+ tty-mode-reset-strings.
+
+2014-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * window.c (save_window_save): Lookup window_point_insertion_type in
+ the right buffer (bug#15457).
+ (Qwindow_point_insertion_type): New var.
+ (syms_of_window): Initialize it.
+
+2014-04-16 Eli Zaretskii <eliz@gnu.org>
+
+ Fix the MSDOS build.
+ * unexcoff.c [MSDOS]: Include libc/atexit.h.
+ (copy_text_and_data): Zero out the atexit chain pointer before
+ dumping Emacs.
+
+ * termhooks.h (encode_terminal_code): Update prototype.
+
+ * term.c (encode_terminal_code) [DOS_NT]: Make it externally
+ visible for all DOS_NT ports, not just WINDOWSNT.
+ (syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS.
+
+ * sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD
+ unless it is defined.
+ (emacs_pipe) [MSDOS]: Redirect to 'pipe'.
+
+ * process.c (close_on_exec, accept4, process_socket): Move into
+ the "ifdef subprocesses" part.
+ (catch_child_signal): Condition by "ifdef subprocesses".
+ (syms_of_process) <Qinternal_default_process_sentinel>
+ <Qinternal_default_process_filter>: Condition by "ifdef subprocesses".
+
+ * msdos.h: Add prototypes for new functions.
+ (EINPROGRESS): Define.
+ (O_CLOEXEC): Define to zero.
+
+ * msdos.c (check_window_system): Remove unnecessary an
+ incompatible duplicate function.
+ (sys_opendir, readlinkat, faccessat, fstatat, unsetenv):
+ New functions in support of new functionality.
+
+ * menu.c (single_menu_item): Add visual indication of submenu
+ also for menus on MSDOS frames.
+ (Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS.
+
+ * lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define
+ when async subprocesses aren't supported.
+
+ * font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition.
+
+ * emacs.c (close_output_streams): Zero out errno before calling
+ close_stream.
+
+ * dired.c [MSDOS]: Include msdos.h.
+
+ * conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir.
+ (DATA_START) [MSDOS]: Define.
+ (SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K.
+
+ * callproc.c (block_child_signal, unblock_child_signal) [MSDOS]:
+ Ifdef away for MSDOS.
+ (record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS.
+ (call_process_cleanup) [MSDOS]: Ifdef away portions not relevant
+ for MSDOS.
+ (call_process) [MSDOS]: Fix call sequence of dostounix_filename.
+ Use temporary file template that is compatible with mkostemp.
+ Move vfork-related portions under #ifndef MSDOS.
+ (syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.
+
+2014-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * buffer.c (Foverlays_at): Add argument `sorted'.
+
+2014-04-16 Eli Zaretskii <eliz@gnu.org>
+
+ * insdel.c (invalidate_buffer_caches): When deleting or replacing
+ text, invalidate the bidi_paragraph_cache upto and including the
+ preceding newline.
+
+2014-04-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to IRIX 6.5 (Bug#9684).
+ * conf_post.h (INET6) [IRIX6_5]: Define.
+ (HAVE_GETADDRINFO) [IRIX6_5]: Undef.
+ * data.c (BITS_PER_ULL): Don't assume ULLONG_MAX is defined.
+
+2014-04-16 Eli Zaretskii <eliz@gnu.org>
+
+ * keyboard.c (Fopen_dribble_file): Encode the dribble file-name
+ before passing it to system APIs.
+
+2014-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * bytecode.c (exec_byte_code): Rework the volatiles. Most importantly,
+ make sure stack.byte_string_start is not de-adjusted by pushhandler.
+
+2014-04-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * keyboard.c (Fopen_dribble_file): Avoid some races. (Bug#17187)
+
+2014-04-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove DATA_SEG_BITS.
+ The DATA_SEG_BITS hack was needed for older 32 bit platforms.
+ As a result of this change, Emacs won't work on IRIX 6.5 with IRIX
+ cc, but that platform is so old that SGI itself stopped supporting
+ it in December 2013. If you still need Emacs on IRIX, please
+ either compile with GCC and port the undumping code, or run
+ './configure --with-wide-int'.
+ * alloc.c (gdb_make_enums_visible): Update to match lisp.h.
+ * lisp.h (GCTYPEBITS): Move definition up, and switch to the
+ DEFINE_GDB_SYMBOL_START way to define it.
+ (NONPOINTER_BITS): New macro.
+ (EMACS_INT): Use it.
+ [!USE_LSB_TAG && !WIDE_EMACS_INT]: Fail, and suggest reporting
+ the problem and/or configuring --with-wide-int.
+ (USE_LSB_TAG): Simplify, based on above changes.
+ (gdb_DATA_SEG_BITS): Remove. All uses removed.
+ * vm-limit.c (exceeds_lisp_ptr): Remove. All uses removed.
+
+2014-04-12 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (move_it_by_lines): If a large portion of buffer text is
+ covered by a display string that ends in a newline, and that cases
+ going back by DVPOS lines to hit the search limit, lift the limit
+ and go back until DVPOS is reached. (Bug#17244)
+
+ * indent.c (Fvertical_motion): Handle correctly the case when the
+ display string is preceded by an empty line.
+
+ * w32.c (sys_umask) <WRITE_USER>: Remove redundant constant, and
+ use S_IWRITE instead.
+
+2014-04-11 Glenn Morris <rgm@gnu.org>
+
+ * keyboard.c (Fopen_dribble_file): Make file private. (Bug#17187)
+
+2014-04-11 Ken Brown <kbrown@cornell.edu>
+
+ * Makefile.in (EMACS_MANIFEST): Revert last change.
+
+2014-04-10 Daniel Colascione <dancol@dancol.org>
+
+ * puresize.h (BASE_PURESIZE): Increase.
+
+2014-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keyboard.c (syms_of_keyboard): Make deactivate-mark buffer-local.
+
+ * insdel.c (prepare_to_modify_buffer_1): Cancel lock-file checks and
+ region handling (and don't call signal_before_change) if
+ inhibit_modification_hooks is set.
+ (signal_before_change): Don't check inhibit_modification_hooks any more.
+
2014-04-08 Daniel Colascione <dancol@dancol.org>
* alloc.c (sweep_symbols, mark_object): Assert that symbol
(adjust_after_replace):
(replace_range): Pass value for new record_markers arg to
delete_record.
- * undo.c (record_marker_adjustment): Renamed to
+ * undo.c (record_marker_adjustment): Rename to
record_marker_adjustments and made static.
(record_delete): Check record_markers arg and call
record_marker_adjustments.