* src/fns.c (check_hash_table, get_key_arg, maybe_resize_hash_table)
[bpt/emacs.git] / src / ChangeLog
index 1d3d1f7..ee7543a 100644 (file)
@@ -1,3 +1,225 @@
+2012-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * fns.c (check_hash_table, get_key_arg, maybe_resize_hash_table)
+       (sweep_weak_table): Remove redundant prototypes.
+
+2012-10-01  Fabrice Popineau  <fabrice.popineau@gmail.com>
+
+       * emacs.c: Move the inclusion of TERM_HEADER after including
+       windows.h on WINDOWSNT.  This avoids compilation problems with
+       MSVC.
+
+2012-10-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * unexw32.c (OFFSET_TO_RVA, RVA_TO_OFFSET)
+       (RVA_TO_SECTION_OFFSET): Encode all macro arguments in parentheses.
+       (RVA_TO_PTR): Cast the result of RVA_TO_OFFSET to 'unsigned char *',
+       as the previous version used 'void *'.
+
+       * ralloc.c (ROUNDUP): Fix last change.
+       (MEM_ROUNDUP): Don't cast MEM_ALIGN, it is already of type
+       'size_t'.
+
+       * w32proc.c <disable_itimers>: New static flag.
+       (init_timers): Initialize it to zero, after creating the critical
+       sections used by the timer threads.
+       (term_timers): Set to 1 before deleting the critical sections.
+       (getitimer, setitimer): If disable_itimers is non-zero, return an
+       error indication without doing anything.  Reported by Fabrice
+       Popineau <fabrice.popineau@supelec.fr> as part of bug#12544.
+       (alarm) [HAVE_SETITIMER]: Be more conformant to the expected
+       return results.
+       [!HAVE_SETITIMER]: Behave as the previous version that didn't
+       support timers.
+
+       * emacs.c (shut_down_emacs) [WINDOWSNT]: Move the call to
+       term_ntproc after all the other bookkeeping, to get timers working
+       as long as possible.
+
+2012-10-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xdisp.c (syms_of_xdisp): Default message-log-max to 1000, not 100.
+       Suggested by Juri Linkov in
+       <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00821.html>.
+
+       Prefer plain 'static' to 'static inline' (Bug#12541).
+       With static functions, modern compilers inline pretty well by
+       themselves; advice from programmers often hurts as much as it helps.
+       On my host (x86-64, Fedora 17, GCC 4.7.2, default 'configure'),
+       this change shrinks the text size of the Emacs executable by 1.1%
+       without affecting CPU significantly in my benchmark.
+       * alloc.c (mem_find, live_string_p, live_cons_p, live_symbol_p)
+       (live_float_p, live_misc_p, live_vector_p, live_buffer_p)
+       (mark_maybe_object, mark_maybe_pointer, bounded_number):
+       * buffer.c (bset_abbrev_mode, bset_abbrev_table)
+       (bset_auto_fill_function, bset_auto_save_file_format)
+       (bset_auto_save_file_name, bset_backed_up, bset_begv_marker)
+       (bset_bidi_display_reordering, bset_buffer_file_coding_system)
+       (bset_cache_long_line_scans, bset_case_fold_search)
+       (bset_ctl_arrow, bset_cursor_in_non_selected_windows)
+       (bset_cursor_type, bset_display_table, bset_extra_line_spacing)
+       (bset_file_format, bset_file_truename, bset_fringe_cursor_alist)
+       (bset_fringe_indicator_alist, bset_fringes_outside_margins)
+       (bset_header_line_format, bset_indicate_buffer_boundaries)
+       (bset_indicate_empty_lines, bset_invisibility_spec)
+       (bset_left_fringe_width, bset_major_mode, bset_mark)
+       (bset_minor_modes, bset_mode_line_format, bset_mode_name)
+       (bset_name, bset_overwrite_mode, bset_pt_marker)
+       (bset_right_fringe_width, bset_save_length)
+       (bset_scroll_bar_width, bset_scroll_down_aggressively)
+       (bset_scroll_up_aggressively, bset_selective_display)
+       (bset_selective_display_ellipses, bset_vertical_scroll_bar_type)
+       (bset_word_wrap, bset_zv_marker, set_buffer_overlays_before)
+       (set_buffer_overlays_after):
+       * category.c (bset_category_table):
+       * charset.c (read_hex):
+       * coding.c (produce_composition, produce_charset)
+       (handle_composition_annotation, handle_charset_annotation)
+       (char_encodable_p):
+       * dispnew.c (swap_glyph_pointers, copy_row_except_pointers)
+       (assign_row, set_frame_matrix_frame, make_current)
+       (add_row_entry):
+       * eval.c (set_specpdl_symbol, set_specpdl_old_value):
+       * fns.c (maybe_resize_hash_table):
+       * frame.c (fset_buffer_predicate, fset_minibuffer_window):
+       * gmalloc.c (register_heapinfo):
+       * image.c (lookup_image_type):
+       * intervals.c (set_interval_object, set_interval_left)
+       (set_interval_right, copy_interval_parent, rotate_right)
+       (rotate_left, balance_possible_root_interval):
+       * keyboard.c (kset_echo_string, kset_kbd_queue)
+       (kset_keyboard_translate_table, kset_last_prefix_arg)
+       (kset_last_repeatable_command, kset_local_function_key_map)
+       (kset_overriding_terminal_local_map, kset_real_last_command)
+       (kset_system_key_syms, clear_event, set_prop):
+       * lread.c (digit_to_number):
+       * marker.c (attach_marker, live_buffer, set_marker_internal):
+       * nsterm.m (ns_compute_glyph_string_overhangs):
+       * process.c (pset_buffer, pset_command)
+       (pset_decode_coding_system, pset_decoding_buf)
+       (pset_encode_coding_system, pset_encoding_buf, pset_filter)
+       (pset_log, pset_mark, pset_name, pset_plist, pset_sentinel)
+       (pset_status, pset_tty_name, pset_type, pset_write_queue):
+       * syntax.c (bset_syntax_table, dec_bytepos):
+       * terminal.c (tset_param_alist):
+       * textprop.c (interval_has_some_properties)
+       (interval_has_some_properties_list):
+       * window.c (wset_combination_limit, wset_dedicated)
+       (wset_display_table, wset_hchild, wset_left_fringe_width)
+       (wset_left_margin_cols, wset_new_normal, wset_new_total)
+       (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm)
+       (wset_right_fringe_width, wset_right_margin_cols)
+       (wset_scroll_bar_width, wset_start, wset_temslot, wset_vchild)
+       (wset_vertical_scroll_bar_type, wset_window_parameters):
+       * xdisp.c (wset_base_line_number, wset_base_line_pos)
+       (wset_column_number_displayed, wset_region_showing)
+       (window_box_edges, run_window_scroll_functions)
+       (append_glyph_string_lists, prepend_glyph_string_lists)
+       (append_glyph_string, set_glyph_string_background_width)
+       (append_glyph, append_composite_glyph)
+       (take_vertical_position_into_account):
+       * xfaces.c (x_create_gc, x_free_gc, merge_face_vectors)
+       (face_attr_equal_p, lface_equal_p, hash_string_case_insensitive)
+       (lface_hash, lface_same_font_attributes_p, lookup_face):
+       * xml.c (libxml2_loaded_p):
+       * xterm.c (x_set_mode_line_face_gc, x_set_glyph_string_gc)
+       (x_set_glyph_string_clipping, x_clear_glyph_string_rect):
+       Now 'static', not 'static inline'.
+
+       * bidi.c: Tune.
+       (bidi_copy_it): Do the whole copy with a single memcpy.
+       (bidi_char_at_pos): Merge the two STRING_CHAR calls into one.
+
+       Revert the FOLLOW-SYMLINKS change for file-attributes.
+       Doing it right would require several changes to Tramp, and there's
+       not enough time to get that tested before the freeze today.
+       * dired.c (directory_files_internal, Ffile_attributes):
+       Undo last change.
+
+       * frame.c (x_report_frame_params): Port better to wider ints.
+       Do not assume that EMACS_UINT is the same width as uprintmax_t,
+       or that pointers can be printed in 15 decimal digits.
+       Avoid GCC warnings if EMACS_UINT is wider than a pointer.
+
+2012-09-30  Fabrice Popineau  <fabrice.popineau@supelec.fr>
+
+       Support x64 build on MS-Windows.
+       * w32term.h (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK): Define for x64.
+       (SET_SCROLL_BAR_W32_WINDOW): Cast ID to intptr_t, for
+       compatibility with x64.
+       (x_get_focus_frame): Add prototype.
+
+       * w32term.c (w32_draw_underwave): Don't use GCC extensions for
+       defining an XRectangle structure.
+
+       * w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer
+       arithmetics for compatibility with x64.
+
+       * w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for
+       compatibility with x64.
+
+       * w32heap.h: Adjust prototypes and declarations.
+
+       * w32heap.c (RVA_TO_PTR, allocate_heap, sbrk, init_heap)
+       (round_heap): Use DWORD_PTR, ptrdiff_t and size_t instead of
+       DWORD, long, and unsigned long, for compatibility with x64.
+       (allocate_heap) [_WIN64]: Reserve 32GB of memory.
+       (sbrk): Argument is now of type ptrdiff_t.
+
+       * w32fns.c (HMONITOR): Condition declaration on _WIN32_WINNT being
+       less than 0x0500.
+       (w32_msg_pump): Use WPARAM type for 'result'.
+
+       * w32.c (init_environment, get_emacs_configuration): Support AMD64
+       architecture.
+       (init_ntproc): Cast arguments of _open_osfhandle to intptr_t, for
+       compatibility with x64.
+
+       * vm-limit.c (lim_data): Now size_t.
+       (check_memory_limits): Adjust prototypes of real_morecore and
+       __morecore to receive argument of type ptrdiff_t.  Use size_t for
+       five_percent and data_size.
+
+       * unexw32.c: Use DWORD_PTR instead of DWORD for file-scope
+       variables, for compatibility with x64.
+       (rva_to_section, offset_to_section, relocate_offset)
+       (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET)
+       (PTR_TO_RVA, RVA_TO_PTR, OFFSET_TO_PTR, get_section_info)
+       (copy_executable_and_dump_data): Use DWORD_PTR instead of DWORD
+       for compatibility with x64.
+
+       * sysdep.c (STDERR_FILENO): Define if not already defined.
+
+       * ralloc.c (real_morecore): Argument type is now ptrdiff_t.
+       (__morecore): Argument type is now ptrdiff_t.
+       (ROUNDUP, MEM_ROUNDUP): Use size_t instead of 'unsigned long'.
+       (relinquish): Use ptrdiff_t type for 'excess'.
+       (r_alloc_sbrk): Argument type is now ptrdiff_t.
+
+       * makefile.w32-in (HEAPSIZE): Get value from EMACS_HEAPSIZE.
+       (bootstrap-temacs-CMD, bootstrap-temacs-SH): Use $(EMACS_PURESIZE)
+       instead of a literal number.
+
+       * gmalloc.c [WINDOWSNT]: Include w32heap.h.
+       (min): Define only if not already defined.
+
+       * frame.c (x_report_frame_params): Use EMACS_UINT for the return
+       value of FRAME_X_WINDOW, to fit a 64-bit pointer on 64-bit Windows
+       hosts.
+
+       * image.c (x_bitmap_pixmap): Return ptrdiff_t, not int, since
+       'bitmaps' is a pointer.
+
+       * dispextern.h (x_bitmap_pixmap): Adjust prototype.
+
+       * alloc.c (gdb_make_enums_visible): Now conditional on __GNUC__.
+
+2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       file-attributes has a new optional arg FOLLOW-SYMLINKS.
+       * dired.c (directory_files_internal, Ffile_attributes):
+       New arg follow_symlinks.  All uses changed.
+
 2012-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * .gdbinit (xbacktrace): Adjust to recent "struct backtrace" change.