+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>
+
+ * 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
+ function cells contain valid lisp objects. (Modified version of
+ patch from Dmitry).
+
+ * alloc.c (detect_suspicious_free): Split actual stack capturing
+ out into new function for easier breakpoint setting.
+ (note_suspicious_free): New function.
+
+2014-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp.h (struct Lisp_Symbol): New bitfield `pinned'.
+
+ * alloc.c: Keep track of symbols referenced from pure space (bug#17168).
+ (symbol_block_pinned): New var.
+ (Fmake_symbol): Initialize `pinned'.
+ (purecopy): New function, extracted from Fpurecopy. Mark symbols as
+ pinned and signal an error for un-purifiable objects.
+ (pure_cons): Use it.
+ (Fpurecopy): Use it, except for objects that can't be purified.
+ (mark_pinned_symbols): New function.
+ (Fgarbage_collect): Use it.
+ (gc_sweep): Remove hack made unnecessary.
+
+2014-04-07 Glenn Morris <rgm@gnu.org>
+
+ * keyboard.c (Fopen_dribble_file): Doc tweak.
+
+2014-04-07 Ken Brown <kbrown@cornell.edu>
+
+ * Makefile.in (EMACS_MANIFEST): Update comment. (Bug#17176)
+
+2014-04-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * alloc.c: Simplify by removing use of HAVE_EXECINFO_H.
+ We have a substitute execinfo.h on hosts that lack it.
+ (suspicious_free_history): Make it EXTERNALLY_VISIBLE so it
+ isn't optimized away.
+
+2014-04-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ Prefer 'ARRAYELTS (x)' to 'sizeof x / sizeof *x'.
+ * alloc.c (memory_full):
+ * charset.c (syms_of_charset):
+ * doc.c (Fsnarf_documentation):
+ * emacs.c (main):
+ * font.c (BUILD_STYLE_TABLE):
+ * keyboard.c (make_lispy_event):
+ * profiler.c (setup_cpu_timer):
+ * xgselect.c (xg_select):
+ * xterm.c (record_event, STORE_KEYSYM_FOR_DEBUG):
+ Use ARRAYELTS.
+ * font.c (FONT_PROPERTY_TABLE_SIZE): Remove.
+ Replace the only use with ARRAYELTS (font_property_table).
+ * xfaces.c (DIM): Remove. All uses replaced by ARRAYELTS.
+
+2014-04-03 Daniel Colascione <dancol@dancol.org>
+
+ * xterm.c (x_term_init):
+ * xfns.c (best_xim_style):
+ * xfaces.c (Fdump_colors):
+ * w32fns.c (w32_default_color_map):
+ * w32.c (init_environment, N_ENV_VARS):
+ * unexcw.c (read_exe_header):
+ * term.c (term_get_fkeys_1):
+ * sysdep.c (init_baud_rate):
+ * nsterm.m (ns_convert_key):
+ * nsfns.m (get_geometry_from_preferences):
+ * msdos.c (dos_set_window_size, init_environment):
+ * macfont.m (mac_font_get_glyph_for_cid)
+ (macfont_store_descriptor_attributes)
+ (macfont_create_attributes_with_spec, mac_ctfont_get_glyph_for_cid):
+ * keyboard.c (command_loop_1, read_menu_command, make_lispy_event)
+ (NUM_MOD_NAMES, read_key_sequence_vs, Fcurrent_input_mode)
+ (syms_of_keyboard):
+ * image.c (xpm_str_to_color_key):
+ * fringe.c (MAX_STANDARD_FRINGE_BITMAPS):
+ * frame.c (x_set_frame_parameters):
+ * fileio.c (Ffile_selinux_context):
+ * emacs.c (sort_args):
+ * dosfns.c (msdos_stdcolor_name):
+ * dired.c (file_attributes):
+ * chartab.c (uniprop_decoder_count, uniprop_encode_count):
+ Change expressions of the form sizeof(arr) / sizeof(arr[0])
+ to ARRAYELTS (arr).
+
+2014-04-02 Daniel Colascione <dancol@dancol.org>
+
+ * data.c (Ffset): Abort if we're trying to set a function call to
+ a dead lisp object.
+
+ * lisp.h (ARRAYELTS): New macro.
+
+ * alloc.c: Include execinfo.h if available.
+ (SUSPICIOUS_OBJECT_CHECKING): New macro; define unconditionally.
+ (suspicious_free_record): New structure.
+ (suspicious_objects, suspicious_object_index)
+ (suspicious_free_history, suspicious_free_history_index):
+ New variables.
+ (find_suspicious_object_in_range, detect_suspicious_free)
+ (Fsuspicious_object): New functions.
+ (cleanup_vector): Call find_suspicious_object_in_range.
+
+2014-04-02 Martin Rudalics <rudalics@gmx.at>
+
+ * xterm.c (x_new_font): Don't calculate non-toolkit scrollbar
+ width from font width (Bug#17163).
+
+ * frame.c (x_set_frame_parameters): Calculate default values of
+ new frame sizes only after all other frame parameters have been
+ processed (Bug#17142).
+
+2014-04-02 Ken Brown <kbrown@cornell.edu>
+
+ * conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Set to 10000.
+ (Bug#17112)
+
+2014-04-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * xterm.c (x_draw_image_glyph_string): Adjust image background
+ width accordingly when its x position is adjusted. (Bug#17115)
+
+2014-04-02 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * font.c (font_list_entities): Do not add empty vector to font cache.
+ (font_matching_entity): Likewise. If matching entity is found, insert
+ 1-item vector with this entity instead of entity itself (Bug#17125).
+
+ * xterm.c (x_term_init) [USE_LUCID]: Fix minor memory leak.
+
+2014-04-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fns.c (validate_subarray): Rename from validate_substring,
+ since it works for vectors too. New arg ARRAY. Optimize for the
+ non-nil case. Instead of returning bool, throw an error if out of
+ range, so that the caller needn't do that. All uses changed.
+ Report original values if out of range.
+ (Fsubstring, Fsubstring_no_properties, secure_hash):
+ Also optimize the case where FROM is 0 or TO is the size.
+
+2014-03-31 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * search.c (Freplace_match): Use make_specified_string.
+ * xterm.c, w32term.c (x_set_glyph_string_gc): Use emacs_abort
+ to catch bogus override face of glyph strings.
+ * fns.c (Fsubstring, Fsubstring_no_properties, secure_hash):
+ Move common substring range checking code to...
+ (validate_substring): ...this function.
+
+2014-03-31 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsmenu.m (free_frame_tool_bar): Set wait_for_tool_bar = NO (Bug#16976)
+
+2014-03-30 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (updateFrameSize:): If waiting for the tool bar and tool
+ bar is zero height, just return (Bug#16976).
+ (initFrameFromEmacs:): Initialize wait_for_tool_bar.
+
+ * nsterm.h (EmacsView): Add wait_for_tool_bar.
+
+ * nsmenu.m (update_frame_tool_bar): Return early if view or toolbar
+ is nil. If waiting for toolbar to complete, force a redraw.
+
+2014-03-28 Glenn Morris <rgm@gnu.org>
+
+ * emacs.c (emacs_version): Use PACKAGE_VERSION rather than VERSION.
+ (emacs_bugreport): New variable.
+ (usage_message): Use PACKAGE_BUGREPORT.
+ (syms_of_emacs) <report-emacs-bug-address>: New variable.
+
+ * emacs.c (syms_of_emacs) <system-configuration-features>: New var.
+
+2014-03-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port recent signal-related changes to FreeBSD.
+ Problem reported by Herbert J. Skuhra.
+ * lisp.h (block_tty_out_signal, unblock_tty_out_signal):
+ Move decls from here ...
+ * syssignal.h: ... to here, so that lisp.h doesn't depend on signal.h.
+
+2014-03-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * w32term.c (x_draw_image_glyph_string): Fix computation of height
+ and width of image background when it is displayed with a 'box'
+ face. (Bug#17115)
+
+2014-03-27 Paul Eggert <eggert@penguin.cs.ucla.edu>
+
+ More backward-compatible fix to char-equal core dump (Bug#17011).
+ * editfns.c (Fchar_equal): In unibyte buffers, assume values in
+ range 128-255 are raw bytes. Suggested by Eli Zaretskii.
+
+2014-03-27 Juanma Barranquero <lekktu@gmail.com>
+
+ * image.c (init_svg_functions): When loading SVG-related libraries,
+ free already loaded libraries if the initialization fails.
+ (rsvg_handle_set_size_callback): Remove declaration, unused.
+
+2014-03-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix core dump in char-equal (Bug#17011).
+ * editfns.c (Fchar_equal): Do not use MAKE_CHAR_MULTIBYTE in
+ unibyte buffers, as we can't tell whether the characters are
+ actually unibyte.
+
+ * insdel.c (adjust_markers_for_delete): Remove unused local.
+
+2014-03-26 Barry O'Reilly <gundaetiapo@gmail.com>
+
+ Have (MARKER . ADJUSTMENT) undo records always be immediately
+ after their corresponding (TEXT . POS) record in undo list.
+ (Bug#16818)
+ * lisp.h (record-delete): New arg record_markers.
+ (record_marker_adjustment): No longer needed outside undo.c.
+ * insdel.c (adjust_markers_for_delete): Move calculation of marker
+ adjustments to undo.c's record_marker_adjustments. Note that
+ fileio.c's decide_coding_unwind is another caller to
+ adjust_markers_for_delete. Because it has undo list bound to t,
+ it does not rely on adjust_markers_for_delete to record marker
+ adjustments.
+ (del_range_2): Swap call to record_delete and
+ adjust_markers_for_delete so as undo marker adjustments are
+ recorded before current deletion's adjustments, as before.
+ (adjust_after_replace):
+ (replace_range): Pass value for new record_markers arg to
+ delete_record.
+ * undo.c (record_marker_adjustment): Rename to
+ record_marker_adjustments and made static.
+ (record_delete): Check record_markers arg and call
+ record_marker_adjustments.
+ (record_change): Pass value for new record_markers arg to
+ delete_record.
+ (record_point): at_boundary calculation no longer needs to account
+ for marker adjustments.
+
+2014-03-26 Martin Rudalics <rudalics@gmx.at>
+
+ * w32term.c (x_set_window_size): Refine fix from 2014-03-14
+ (Bug#17077).
+
+2014-03-26 Glenn Morris <rgm@gnu.org>
+
+ * fileio.c (Ffile_symlink_p): Doc fix. (Bug#17073)
+
+2014-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * buffer.c (struct sortvec): Add field `spriority'.
+ (compare_overlays): Use it.
+ (sort_overlays): Set it.
+
+2014-03-26 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (redisplay_window): If all previous attempts to find the
+ cursor row failed, try a few alternatives before falling back to
+ the top-most row of the window. Use row_containing_pos. (Bug#17047)
+
+2014-03-26 Juanma Barranquero <lekktu@gmail.com>
+
+ * image.c (x_bitmap_height, x_bitmap_width) [HAVE_X_WINDOWS]:
+ * sysdep.c (reset_sigio) [!DOS_NT]: Declare conditionally.
+
+ * keyboard.c (read_decoded_event_from_main_queue): #ifdef out
+ variables on Windows.
+
+ * w32fns.c (Ffile_system_info): Use parenthesis in and/or expression.
+
+ * w32.c (unsetenv): Remove unused var `retval'.
+ (emacs_gnutls_pull): Remove unused vars `fdset' and `timeout'.
+
+ * w32notify.c (watch_worker): Remove unnecesary var sleep_result.
+ (start_watching): Remove unused var `thr'.
+
+ * w32proc.c (sys_spawnve): Comment out unused vars `first', `last'.
+ (find_child_console): Remove unnecesary var `thread_id'.
+
+ * w32term.c (w32_read_socket): Comment out unused vars `row', `columns'.
+ (x_focus_frame): #ifdef 0 unused variable `dpyinfo'.
+
2014-03-26 Glenn Morris <rgm@gnu.org>
* filelock.c (Flock_buffer): Doc tweak.
Split gc_sweep into discrete functions for legibility and better
stack traces.
- * alloc.c (sweep_strings,sweep_vectors): Add NO_INLINE
+ * alloc.c (sweep_strings, sweep_vectors): Add NO_INLINE
(sweep_vectors): Fix typo in comment.
- (sweep_conses,sweep_floats,sweep_intervals)
- (sweep_symbols,sweep_misc,sweep_buffers): New functions.
+ (sweep_conses, sweep_floats, sweep_intervals)
+ (sweep_symbols, sweep_misc, sweep_buffers): New functions.
(gc_sweep): Call new functions, to which existing functionality is
moved.
* fns.c (sweep_weak_hash_tables): Add NO_INLINE.
* alloc.c (lisp_align_malloc, allocate_string_data)
(allocate_vectorlike): Allow mmap allocation of lisp objects.
- (pointers_fit_in_lispobj_p,mmap_lisp_allowed_p): New functions.
+ (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): New functions.
2014-03-21 Eli Zaretskii <eliz@gnu.org>
* frame.c (delete_frame): Block/unblock input to overcome race
condition (Bug#15475).
-2013-09-29 Andreas Politz <politza@hochschule-trier.de> (tiny change)
+2013-09-29 Andreas Politz <politza@hochschule-trier.de>
* frame.c (delete_frame): Record selected frame only after
calling Qdelete_frame_functions (Bug#15477).