+2011-06-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * vm-limit.c (check_memory_limits): Fix incorrect extern function decls.
+ * mem-limits.h (SIZE): Remove; no longer used.
+
2011-06-13 Paul Eggert <eggert@cs.ucla.edu>
+ * xterm.c (x_alloc_nearest_color_1): Prefer int to long when int works.
+
+ Remove unnecessary casts.
+ * xterm.c (x_term_init):
+ * xfns.c (x_set_border_pixel):
+ * widget.c (create_frame_gcs): Remove casts to unsigned long etc.
+ These aren't needed now that we assume ANSI C.
+
+ * sound.c (Fplay_sound_internal): Remove cast to unsigned long.
+ It's more likely to cause problems (due to unsigned overflow)
+ than to cure them.
+
+ * dired.c (Ffile_attributes): Don't use 32-bit hack on 64-bit hosts.
+
+ * unexelf.c (unexec): Don't assume BSS addr fits in unsigned.
+
+ * xterm.c (handle_one_xevent): Omit unnecessary casts to unsigned.
+
+ * keyboard.c (modify_event_symbol): Don't limit alist len to UINT_MAX.
+
+ * lisp.h (CHAR_TABLE_SET): Omit now-redundant test.
+
+ * lread.c (Fload): Don't compare a possibly-garbage time_t value.
+
+ GLYPH_CODE_FACE returns EMACS_INT, not int.
+ * dispextern.h (merge_faces):
+ * xfaces.c (merge_faces):
+ * xdisp.c (get_next_display_element, next_element_from_display_vector):
+ Don't assume EMACS_INT fits in int.
+
+ * character.h (CHAR_VALID_P): Remove unused parameter.
+ * fontset.c, lisp.h, xdisp.c: All uses changed.
+
+ * editfns.c (Ftranslate_region_internal): Omit redundant test.
+
* fns.c (concat): Minor tuning based on overflow analysis.
This doesn't fix any bugs. Use int to hold character, instead
of constantly refetching from Emacs object. Use XFASTINT, not
arguments are no wider than unsigned, as a compile-time check
to prevent future regressions in this area.
* data.c (Faset):
- * editfns.c (Fchar_to_string, general_insert_function, Finsert_char):
+ * editfns.c (Fchar_to_string, general_insert_function, Finsert_char)
(Fsubst_char_in_region):
* fns.c (concat):
* xdisp.c (decode_mode_spec_coding):
characters. Without this test, these functions did the wrong
thing with wildly out-of-range values on 64-bit hosts.
-2011-06-12 Paul Eggert <eggert@cs.ucla.edu>
-
Remove incorrect casts to 'unsigned' that lose info on 64-bit hosts.
These casts should not be needed on 32-bit hosts, either.
* keyboard.c (read_char):
This fixes comparison bugs on 64-bit hosts.
(ASCII_CHAR_P): Use it.
* casefiddle.c (casify_object):
- * character.h (ASCII_BYTE_P, CHAR_VALID_P):
+ * character.h (ASCII_BYTE_P, CHAR_VALID_P)
(SINGLE_BYTE_CHAR_P, CHAR_STRING):
* composite.h (COMPOSITION_ENCODE_RULE_VALID):
* dispextern.h (FACE_FROM_ID):
* keyboard.c (read_char): Use UNSIGNED_CMP.
-2011-06-11 Paul Eggert <eggert@cs.ucla.edu>
-
* xmenu.c (dialog_selection_callback) [!USE_GTK]: Cast to intptr_t,
not to EMACS_INT, to avoid GCC warning.
The cast incorrectly truncated 64-bit byte offsets to 32 bits, and
isn't needed on 32-bit machines.
- * buffer.c (Fgenerate_new_buffer_name): Use EMACS_INT for count, not int.
+ * buffer.c (Fgenerate_new_buffer_name):
+ Use EMACS_INT for count, not int.
(advance_to_char_boundary): Return EMACS_INT, not int.
* data.c (Qcompiled_function): Now static.
* alloc.c: Use EMACS_INT, not int, to count objects.
(total_conses, total_markers, total_symbols, total_vector_size)
(total_free_conses, total_free_markers, total_free_symbols)
- (total_free_floats, total_floats, total_free_intervals, total_intervals)
- (total_strings, total_free_strings):
+ (total_free_floats, total_floats, total_free_intervals)
+ (total_intervals, total_strings, total_free_strings):
Now EMACS_INT, not int. All uses changed.
(Fgarbage_collect): Compute overall total using a double, so that
integer overflow is less likely to be a problem. Check for overflow
* alloc.c (Fmake_string): Check for out-of-range init.
+2011-06-12 Martin Rudalics <rudalics@gmx.at>
+
+ * frame.c (make_frame): Call other_buffer_safely instead of
+ other_buffer.
+
+ * window.c (temp_output_buffer_show): Call display_buffer with
+ second argument Vtemp_buffer_show_specifiers and reset latter
+ immediately after the call.
+ (Vtemp_buffer_show_specifiers): New variable.
+ (auto_window_vscroll_p, next_screen_context_lines)
+ (Vscroll_preserve_screen_position): Remove leading asterisks from
+ doc-strings.
+
+2011-06-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix minor problems found by GCC 4.6.0 static checking.
+ * buffer.c (Qclone_number): Remove for now, as it's unused.
+ (record_buffer, Funrecord_buffer): Rename local to avoid shadowing.
+ (record_buffer): Remove unused local.
+ * frame.c (other_visible_frames, frame_buffer_list): Now static.
+ (set_frame_buffer_list): Remove; unused.
+ * frame.h (other_visible_frames): Remove decl.
+ * keyboard.h (menu_items_inuse): Declare only if USE_GTK || USE_MOTIF.
+ * lisp.h (frame_buffer_list, set_frame_buffer_list): Remove decls.
+ (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): Declare only
+ if HAVE_GPM.
+ * menu.c (menu_items_inuse): Now static unless USE_GTK || USE_MOTIF.
+ * process.c (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
+ Define only if HAVE_GPM.
+ * widget.c (EmacsFrameResize, emacsFrameClassRec): Now static.
+ (update_hints_inhibit): Remove; never set. All uses removed.
+ * widgetprv.h (emacsFrameClassRec): Remove decl.
+ * window.c (delete_deletable_window): Now returns void, since it
+ wasn't returning anything.
+ (compare_window_configurations): Remove unused locals.
+ * xfns.c (x_set_scroll_bar_default_width): Remove unused locals.
+ * xmenu.c (x_menu_set_in_use): Define only if USE_GTK || USE_MOTIF.
+ (dialog_selection_callback) [!USE_GTK]: Prefer intptr_t for integers
+ the same widths as pointers. This follows up on the 2011-05-06 patch.
+ * xterm.c (x_alloc_lighter_color_for_widget): Define only if USE_LUCID.
+ * xterm.h: Likewise.
+ (x_menu_set_in_use): Declare only if USE_GTK || USE_MOTIF.
+
+2011-06-12 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in: Update dependencies.
+ (LISP_H): Add lib/intprops.h.
+
+2011-06-11 Chong Yidong <cyd@stupidchicken.com>
+
+ * image.c (gif_load): Add animation frame delay to the metadata.
+ (syms_of_image): Use DEFSYM. New symbol `delay'.
+
+2011-06-11 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (delete_deletable_window): Re-add.
+ (Fset_window_configuration): Rewrite to handle dead buffers and
+ consequently deletable windows.
+ (window_tree, Fwindow_tree): Remove. Supply functionality in
+ window.el.
+ (compare_window_configurations): Simplify code.
+
+2011-06-11 Andreas Schwab <schwab@linux-m68k.org>
+
+ * image.c (imagemagick_load_image): Fix type mismatch.
+ (Fimagemagick_types): Likewise.
+
+ * window.h (replace_buffer_in_windows): Declare.
+
+2011-06-11 Martin Rudalics <rudalics@gmx.at>
+
+ * buffer.c: New Lisp objects Qbuffer_list_update_hook and
+ Qclone_number. Remove external declaration of Qdelete_window.
+ (Fbuffer_list): Rewrite doc-string. Minor restructuring of
+ code.
+ (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): Run
+ Qbuffer_list_update_hook if allowed.
+ (Fother_buffer): Rewrite doc-string. Major rewrite for new
+ buffer list implementation.
+ (other_buffer_safely): New function.
+ (Fkill_buffer): Replace call to replace_buffer_in_all_windows by
+ calls to replace_buffer_in_windows and
+ replace_buffer_in_windows_safely. Run Qbuffer_list_update_hook
+ if allowed.
+ (record_buffer): Inhibit quitting and rewrite using quittable
+ functions. Run Qbuffer_list_update_hook if allowed.
+ (Frecord_buffer, Funrecord_buffer): New functions.
+ (switch_to_buffer_1, Fswitch_to_buffer): Remove. Move
+ switch-to-buffer to window.el.
+ (bury-buffer): Move to window.el.
+ (Vbuffer_list_update_hook): New variable.
+
+ * lisp.h (other_buffer_safely): Add prototype in buffer.c
+ section.
+
+ * window.h (resize_frame_windows): Move up in code.
+ (Fwindow_frame): Remove EXFUN.
+ (replace_buffer_in_all_windows): Remove prototype.
+ (replace_buffer_in_windows_safely): Add prototype.
+
+ * window.c: Declare Qdelete_window static again. Move down
+ declaration of select_count.
+ (Fnext_window, Fprevious_window): Rewrite doc-strings.
+ (Fother_window): Move to window.el.
+ (window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER
+ cases. Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case.
+ (Fdelete_windows_on, Freplace_buffer_in_windows): Move to
+ window.el.
+ (replace_buffer_in_windows): Implement by calling
+ Qreplace_buffer_in_windows.
+ (replace_buffer_in_all_windows): Remove with some functionality
+ moved into replace_buffer_in_windows_safely.
+ (replace_buffer_in_windows_safely): New function.
+ (select_window_norecord, select_frame_norecord): Move in front
+ of run_window_configuration_change_hook. Remove now obsolete
+ declarations.
+ (Fset_window_buffer): Rewrite doc-string. Call
+ Qrecord_window_buffer.
+ (keys_of_window): Move binding for other-window to window.el.
+
2011-06-11 Chong Yidong <cyd@stupidchicken.com>
* dispextern.h (struct image): Replace data member, whose int_val