-2014-04-03 Daniel Colascione <dancol@dancol.org>
+2014-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
- * alloc.c (detect_suspicious_free): Split actual stack capturing
- out into new function for easier breakpoint setting.
- (note_suspicious_free): New function.
+ * 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-03 Daniel Colascione <dancol@dancol.org>
+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>
- In all places below, change expressions of the form sizeof(arr) /
- sizeof(arr[0]) to EARRAYSIZE(arr).
+ 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.
- * xterm.c (x_term_init): See above.
+2014-04-16 Eli Zaretskii <eliz@gnu.org>
- * xfns.c (best_xim_style): See above.
+ * keyboard.c (Fopen_dribble_file): Encode the dribble file-name
+ before passing it to system APIs.
- * xfaces.c (Fdump_colors): See above.
+2014-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
- * w32fns.c (w32_default_color_map): See above.
+ * bytecode.c (exec_byte_code): Rework the volatiles. Most importantly,
+ make sure stack.byte_string_start is not de-adjusted by pushhandler.
- * w32.c:
- (init_environment): See above.
- (N_ENV_VARS): See above.
+2014-04-16 Paul Eggert <eggert@cs.ucla.edu>
- * unexcw.c (read_exe_header): See above.
+ * keyboard.c (Fopen_dribble_file): Avoid some races. (Bug#17187)
- * term.c (term_get_fkeys_1): See above.
+2014-04-15 Paul Eggert <eggert@cs.ucla.edu>
- * sysdep.c (init_baud_rate): See above.
+ 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.
- * nsterm.m (ns_convert_key): See above.
+2014-04-12 Eli Zaretskii <eliz@gnu.org>
- * nsfns.m (get_geometry_from_preferences): See above.
+ * 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)
- * msdos.c (dos_set_window_size): See above.
- (init_environment): See above.
+ * indent.c (Fvertical_motion): Handle correctly the case when the
+ display string is preceded by an empty line.
- * macfont.m (mac_font_get_glyph_for_cid): See above.
- (macfont_store_descriptor_attributes): See above.
- (macfont_create_attributes_with_spec): See above.
- (mac_ctfont_get_glyph_for_cid): See above.
+ * w32.c (sys_umask) <WRITE_USER>: Remove redundant constant, and
+ use S_IWRITE instead.
- * keyboard.c (command_loop_1): See above.
- (read_menu_command): See above.
- (make_lispy_event): See above.
- (NUM_MOD_NAMES): See above.
- (read_key_sequence_vs): See above.
- (Fcurrent_input_mode): See above.
- (syms_of_keyboard): See above.
+2014-04-11 Glenn Morris <rgm@gnu.org>
- * image.c (xpm_str_to_color_key): See above.
+ * keyboard.c (Fopen_dribble_file): Make file private. (Bug#17187)
- * fringe.c (MAX_STANDARD_FRINGE_BITMAPS): See above.
+2014-04-11 Ken Brown <kbrown@cornell.edu>
- * frame.c (x_set_frame_parameters): See above.
+ * Makefile.in (EMACS_MANIFEST): Revert last change.
- * fileio.c (Ffile_selinux_context): See above.
+2014-04-10 Daniel Colascione <dancol@dancol.org>
- * emacs.c (sort_args): See above.
+ * puresize.h (BASE_PURESIZE): Increase.
- * dosfns.c ():
- (msdos_stdcolor_name): See above.
+2014-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
- * dired.c (file_attributes): See above.
+ * keyboard.c (syms_of_keyboard): Make deactivate-mark buffer-local.
- * chartab.c:
- (uniprop_decoder_count,uniprop_encode_count): See above.
+ * 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 (EARRAYSIZE): New macro.
+ * 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)
+ (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.
(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.
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).