* xmenu.c (menu_help_callback): Pointer type fixes.
[bpt/emacs.git] / src / ChangeLog
index e2efafb..8eedcae 100644 (file)
@@ -1,4 +1,276 @@
-2011-04-13  Paul Eggert  <eggert@cs.ucla.edu>
+2011-04-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xmenu.c (menu_help_callback): Pointer type fixes.
+       Use const pointers when pointing at readonly data.  Avoid pointer
+       signedness clashes.
+       (FALSE): Remove unused macro.
+       (update_frame_menubar): Remove unused decl.
+
+       * xfns.c (Fx_hide_tip): Move locals to avoid shadowing.
+
+       * menu.c (push_submenu_start, push_submenu_end): Do not define unless
+       USE_X_TOOLKIT || USE_GTK || HAVE_NS || defined HAVE_NTGUI.
+       (single_menu_item): Rename local to avoid shadowing.
+
+       * keyboard.c (make_lispy_event): Remove unused local var.
+
+       * frame.c, frame.h (x_get_resource_string): Bring this back, but
+       only if HAVE_X_WINDOWS && !USE_X_TOOLKIT.
+
+       * bitmaps: Change bitmaps from unsigned char back to the X11
+       compatible char.  Avoid the old compiler warnings about
+       out-of-range initializers by using, for example, '\xab' rather
+       than 0xab.
+
+       * xgselect.c (xgselect_initialize): Check vs interface
+       even if ! (defined (USE_GTK) || defined (HAVE_GCONF)).
+
+       * xmenu.c (xmenu_show): Rename parm to avoid shadowing.
+
+       * xterm.c (x_create_toolkit_scroll_bar): Use const * for pointers
+       to read-only memory.
+
+       * fns.c (vector): Remove; this old hack is no longer needed.
+
+       * xsmfns.c (create_client_leader_window): Rename shadowing arg.
+       Remove unused var.
+       (gdk_x11_set_sm_client_id) [!USE_GTK]: Don't define.
+
+       * xrdb.c (x_load_resources): Omit unused local.
+
+       * xfns.c (free_frame_menubar, atof): Remove duplicate decls.
+       (x_window): Rename locals to avoid shadowing.
+       (USG): Use the kludged USG macro, to pacify gcc.
+
+       * xterm.c (x_alloc_nearest_color_for_widget): Remove; unused.
+       (x_term_init): Remove local to avoid shadowing.
+
+       * xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl.
+
+       * xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if
+       USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then.
+
+2011-04-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT.
+
+       emacs_write: Accept and return EMACS_INT for sizes.
+       See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html
+       et seq.
+       * gnutls.c, gnutls.h (emacs_gnutls_read, emacs_gnutls_write):
+       Accept and return EMACS_INT.
+       (emacs_gnutls_write): Return the number of bytes written on
+       partial writes.
+       * sysdep.c, lisp.h (emacs_read, emacs_write): Likewise.
+       (emacs_read, emacs_write): Remove check for negative size, as the
+       Emacs source code has been audited now.
+       * sysdep.c (MAX_RW_COUNT): New macro, to work around kernel bugs.
+       (emacs_read, emacs_write): Use it.
+       * process.c (send_process): Adjust to the new signatures of
+       emacs_write and emacs_gnutls_write.  Do not attempt to store
+       a byte offset into an 'int'; it might overflow.
+       See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00483.html
+
+       * sound.c: Don't assume sizes fit in 'int'.
+       (struct sound_device.period_size, alsa_period_size):
+       Return EMACS_INT, not int.
+       (struct sound_device.write, vox_write, alsa_write):
+       Accept EMACS_INT, not int.
+       (wav_play, au_play): Use EMACS_INT to store sizes and to
+       record read return values.
+
+2011-04-15  Ben Key  <bkey76@gmail.com>
+
+       * keyboard.c (Qundefined):  Don't declare static since it is
+       used in nsfns.m.
+       * xfaces.c (Qbold, Qexpanded, Qitalic, Qcondensed):  Don't
+       declare static since they are used in nsfont.m.
+
+2011-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * process.c (Qprocessp): Don't declare static.
+       * lisp.h (Qprocessp): Declare again.
+
+2011-04-15  Juanma Barranquero  <lekktu@gmail.com>
+
+       * font.c (Qopentype): Don't make static (used from w32uniscribe.c).
+
+2011-04-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve C-level modularity by making more things 'static'.
+
+       Don't publish debugger-only interfaces to other modules.
+       * lisp.h (safe_debug_print, debug_output_compilation_hack):
+       (verify_bytepos, count_markers): Move decls to the only modules
+       that need them.
+       * region-cache.h (pp_cache): Likewise.
+       * window.h (check_all_windows): Likewise.
+       * marker.c, print.c, region-cache.c, window.c: Decls moved here.
+
+       * sysdep.c (croak): Now static, if
+       defined TIOCNOTTY || defined USG5 || defined CYGWIN.
+       * syssignal.h (croak): Declare only if not static.
+
+       * alloc.c (refill_memory_reserve): Now static if
+       !defined REL_ALLOC || defined SYSTEM_MALLOC.
+       * lisp.h (refill_memory_reserve): Declare only if not static.
+
+       * xsettings.c, xsettings.h (xsettings_get_system_normal_font):
+       Define only if USE_LUCID.
+
+       * xrdb.c (x_customization_string, x_rm_string): Now static.
+
+       * xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF.
+       * xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF.
+
+       * xdisp.c (draw_row_with_mouse_face): Now static.
+       * dispextern.h (draw_row_with_mouse_fave): Remove decl.
+
+       * window.h (check_all_windows): Mark externally visible.
+
+       * window.c (window_deletion_count): Now static.
+
+       * undo.c: Make symbols static if they're not exported.
+       (last_undo_buffer, last_boundary_position, pending_boundary):
+       Now static.
+
+       * textprop.c (interval_insert_behind_hooks): Now static.
+       (interval_insert_in_front_hooks): Likewise.
+
+       * term.c: Make symbols static if they're not exported.
+       (tty_turn_off_highlight, get_tty_terminal, max_frame_cols):
+       (max_frame_lines, tty_set_terminal_modes):
+       (tty_reset_terminal_modes, tty_turn_off_highlight):
+       (get_tty_terminal): Now static.
+       (term_mouse_moveto): Do not define if HAVE_WINDOW_SYSTEM.
+       * termhooks.h (term_mouse_moveto): Do not declare if
+       HAVE_WINDOW_SYSTEM.
+       * dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes):
+       (tty_turn_off_highlight, get_tty_terminal): Remove decls.
+
+       * sysdep.c: Make symbols static if they're not exported.
+       (emacs_get_tty, emacs_set_tty, old_fcntl_flags, old_fcntl_owner):
+       Now static.
+       (sigprocmask_set, full_mask): Remove; unused.
+       (wait_debugging): Mark as visible.
+       * syssignal.h (SIGFULLMASK, full_mask): Remove decls.
+       * systty.h (emacs_get_tty, emacs_set_tty): Remove decls.
+
+       * syntax.c (syntax_temp): Define only if !__GNUC__.
+
+       * sound.c (current_sound_device, current_sound): Now static.
+
+       * search.c (searchbufs, searchbuf_head): Now static.
+
+       * scroll.c (scroll_cost): Remove; unused.
+       * dispextern.h (scroll_cost): Remove decl.
+
+       * region-cache.h (pp_cache): Mark as externally visible.
+
+       * process.c: Make symbols static if they're not exported.
+       (process_tick, update_tick, create_process, chan_process):
+       (Vprocess_alist, proc_buffered_char, datagram_access):
+       (fd_callback_data, send_process_frame, process_sent_to): Now static.
+       (deactivate_process): Mark defn as static, as well as decl.
+       * lisp.h (create_process): Remove decl.
+       * process.h (chan_process, Vprocess_alist): Remove decls.
+
+       * print.c: Make symbols static if they're not exported.
+       (print_depth, new_backquote_output, being_printed, print_buffer):
+       (print_buffer_size, print_buffer_pos, print_buffer_pos_byte):
+       (print_interval, print_number_index, initial_stderr_stream):
+       Now static.
+       * lisp.h (Fprinc): Remove decl.
+       (debug_output_compilation_hack): Mark as externally visible.
+
+       * sysdep.c (croak): Move decl from here to syssignal.h.
+       * syssignal.h (croak): Put it here, so the API can be checked when
+       'croak' is called from dissociate_if_controlling_tty.
+
+       * minibuf.c: Make symbols static if they're not exported.
+       (minibuf_save_list, choose_minibuf_frame): Now static.
+       * lisp.h (choose_minibuf_frame): Remove decl.
+
+       * lisp.h (verify_bytepos, count_markers): Mark as externally visible.
+
+       * lread.c: Make symbols static if they're not exported.
+       (read_objects, initial_obarray, oblookup_last_bucket_number):
+       Now static.
+       (make_symbol): Remove; unused.
+       * lisp.h (initial_obarray, make_symbol): Remove decls.
+
+       * keyboard.c: Make symbols static if they're not exported.
+       (single_kboard, recent_keys_index, total_keys, recent_keys):
+       (this_command_key_count_reset, raw_keybuf, raw_keybuf_count):
+       (this_single_command_key_start, echoing, last_auto_save):
+       (read_key_sequence_cmd, dribble, recursive_edit_unwind):
+       (command_loop, echo_now, keyboard_init_hook, help_char_p):
+       (quit_throw_to_read_char, command_loop_2, top_level_1, poll_timer):
+       (Vlispy_mouse_stem, double_click_count):
+       Now static.
+       (force_auto_save_soon): Define only if SIGDANGER.
+       (ignore_mouse_drag_p): Now static if
+       !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS.
+       (print_help): Remove; unused.
+       (stop_character, last_timer_event): Mark as externally visible.
+       * keyboard.h (ignore_mouse_drag_p): Declare only if
+       defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS.
+       (echo_now, help_char_p, quit_throw_to_read_char): Remove decls.
+       * lisp.h (echoing): Remove decl.
+       (force_auto_save_soon): Declare only if SIGDANGER.
+       * xdisp.c (redisplay_window): Simplify code, to make it more
+       obvious that ignore_mouse_drag_p is not accessed if !defined
+       USE_GTK && !defined HAVE_NS.
+
+       * intervals.c: Make symbols static if they're not exported.
+       (merge_properties_sticky, merge_interval_right, delete_interval):
+       Now static.
+       * intervals.h (merge_interval_right, delete_interval): Remove decls.
+
+       * insdel.c: Make symbols static if they're not exported.
+       However, leave prepare_to_modify_buffer alone.  It's never
+       called from outside this function, but that appears to be a bug.
+       (combine_after_change_list, combine_after_change_buffer):
+       (adjust_after_replace, signal_before_change): Now static.
+       (adjust_after_replace_noundo): Remove; unused.
+       * lisp.h (adjust_after_replace, adjust_after_replace_noundo):
+       (signal_before_change): Remove decls.
+
+       * indent.c (val_compute_motion, val_vmotion): Now static.
+
+       * image.c: Make symbols static if they're not exported.
+       * dispextern.h (x_create_bitmap_from_xpm_data): Do not declare
+       if USE_GTK.
+       * image.c (x_create_bitmap_from_xpm_data): Do not define if USE_GTK.
+       (xpm_color_cache, ct_table, ct_colors_allocated): Now static.
+
+       * fringe.c (standard_bitmaps): Now static.
+       (max_used_fringe_bitmap): Now static, unless HAVE_NS.
+
+       * frame.c: Make symbols static if they're not exported.
+       (x_report_frame_params, make_terminal_frame): Now static.
+       (get_frame_param): Now static, unless HAVE_NS.
+       (x_fullscreen_adjust): Define if WINDOWSNT, not if HAVE_WINDOW_SYSTEM.
+       (x_get_resource_string): Remove; not used.
+       * frame.h (make_terminal_frame, x_report_frame_params):
+       (x_get_resource_string); Remove decls.
+       (x_fullscreen_adjust): Declare only if WINDOWSNT.
+       * lisp.h (get_frame_param): Declare only if HAVE_NS.
+
+       * font.c, fontset.c: Make symbols static if they're not exported.
+       * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): New macro.
+       (FACE_SUITABLE_FOR_CHAR_P): Use it.
+       * font.c (font_close_object): Now static.
+       * font.h (font_close_object): Remove.
+       * fontset.c (FONTSET_OBJLIST): Remove.
+       (free_realized_fontset) #if-0 the body, which does nothing.
+       (face_suitable_for_char_p): #if-0, as it's never called.
+       * fontset.h (face_suitable_for_char_p): Remove decl.
+       * xfaces.c (face_at_string_position): Use
+       FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P,
+       since 0 is always ASCII.
+
+       * fns.c (weak_hash_tables): Now static.
 
        * fileio.c: Make symbols static if they're not exported.
        (auto_saving, auto_save_mode_bits, auto_save_error_occurred):
        (xic_create_fontsetname): Declare only if HAVE_X_WINDOWS &&
        USE_X_TOOLKIT.
 
-2011-04-12  Paul Eggert  <eggert@cs.ucla.edu>
-
        * ftxfont.c: Make symbols static if they're not exported.
        (ftxfont_driver): Export only if !defined HAVE_XFT && def8ined
        HAVE_FREETYPE.
        * lisp.h (circular_list_error, FOREACH): Remove; unused.
        * data.c (circular_list_error): Remove.
 
-2011-04-11  Paul Eggert  <eggert@cs.ucla.edu>
-
        * commands.h (last_point_position, last_point_position_buffer):
        (last_point_position_window): Remove decls.
        * keyboard.c: Make these variables static.
        to see whether these functions can be called from other modules.
        DEFUN now defines a static function.  To make the function external
        so that it can be used in other C modules, use the new macro DEFUE.
-       * lisp.h (DEFINE_FUNC): New macro, with the old contents of DEFUN.
-       (DEFUN): Rewrite in terms of DEFINE_FUNC.  It now generates a
-       static function definition.  Use DEFUE if you want an extern one.
-       (DEFUE, INFUN): New macros.
-       (Funibyte_char_to_multibyte, Fsyntax_table_p, Finit_image_library):
+       * lisp.h (Funibyte_char_to_multibyte, Fsyntax_table_p):
+       (Finit_image_library):
        (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
        (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
        (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
        (Fset_window_margins, Fset_window_vscroll): New forward static decls.
        * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
 
-2011-04-10  Paul Eggert  <eggert@cs.ucla.edu>
-
        * editfns.c (Fformat): Remove unreachable code.
 
+2011-04-14  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * fileio.c (Finsert_file_contents): Fix typo in 2005-05-13
+       change.  (Bug#8496)
+
+2011-04-13  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (handle_invisible_prop): Don't call bidi_paragraph_init
+       when at ZV.  (Bug#8487)
+
+2011-04-12  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * charset.c (Fclear_charset_maps): Use xfree instead of free.
+       (Bug#8437)
+       * keyboard.c (parse_tool_bar_item): Likewise.
+       * sound.c (sound_cleanup, alsa_close): Likewise.
+       * termcap.c (tgetent): Likewise.
+       * xfns.c (x_default_font_parameter): Likewise.
+       * xsettings.c (read_and_apply_settings): Likewise.
+
+       * alloc.c (overrun_check_malloc, overrun_check_realloc)
+       (overrun_check_free): Protoize.
+
+2011-04-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * sysdep.c (emacs_read, emacs_write): Check for negative sizes
+       since callers should never pass a negative size.
+       Change the signature to match that of plain 'read' and 'write'; see
+       <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00397.html>.
+       * lisp.h: Update prototypes of emacs_write and emacs_read.
+
+2011-04-11  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (redisplay_window): Don't try to determine the character
+       position of the scroll margin if the window start point w->startp
+       is outside the buffer's accessible region.  (Bug#8468)
+
+2011-04-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix write-region and its subroutines for buffers > 2GB.
+       * fileio.c (a_write, e_write): Modify declaration of arguments and
+       local variables to support buffers larger than 2GB.
+       (Fcopy_file): Use EMACS_INT for return value of emacs_read.
+
+       * sysdep.c (emacs_write, emacs_read): Use ssize_t for last
+       argument, local variables, and return value.
+
+       * lisp.h: Update prototypes of emacs_write and emacs_read.
+
+       * sound.c (vox_write): Use ssize_t for return value of emacs_write.
+
 2011-04-10  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack.
+
        Fix more problems found by GCC 4.6.0's static checks.
 
        * xdisp.c (vmessage): Use a better test for character truncation.
        * xselect.c (x_decline_selection_request)
        (x_reply_selection_request): Avoid type-punned deref of X events.
 
-2011-04-09  Eli Zaretskii  <eliz@emacstest.gnu.org>
+2011-04-09  Eli Zaretskii  <eliz@gnu.org>
 
        Fix some uses of `int' instead of EMACS_INT.
        * search.c (string_match_1, fast_string_match)