src/w32term.c (x_set_glyph_string_clipping): Don't pass uninitialized region to Combi...
[bpt/emacs.git] / src / ChangeLog
index e68f478..ae40e46 100644 (file)
@@ -1,9 +1,258 @@
-2011-03-16  Paul Eggert  <eggert@cs.ucla.edu>
+2011-03-24  Juanma Barranquero  <lekktu@gmail.com>
+
+       * w32term.c (x_set_glyph_string_clipping):
+       Don't pass uninitialized region to CombineRgn.
+
+2011-03-23  Juanma Barranquero  <lekktu@gmail.com>
+
+       * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
+       (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
+       (Fx_close_connection): Remove unused variable `i'.
+
+       * w32font.c (w32font_draw): Return number of glyphs.
+       (w32font_open_internal): Remove unused variable `i'.
+       (w32font_driver): Add missing initializer.
+
+       * w32menu.c (utf8to16): Remove unused variable `utf16'.
+       (fill_in_menu): Remove unused variable `items_added'.
+
+       * w32term.c (last_mouse_press_frame): Remove static global variable.
+       (w32_clip_to_row): Remove unused variable `f'.
+       (x_delete_terminal): Remove unused variable `i'.
+
+       * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
+       (NOTHING): Remove unused static global variable.
+       (uniscribe_check_otf): Remove unused variable `table'.
+       (uniscribe_font_driver): Add missing initializers.
+
+2011-03-23  Julien Danjou  <julien@danjou.info>
+
+       * term.c (Fsuspend_tty, Fresume_tty):
+       * minibuf.c (read_minibuf, run_exit_minibuf_hook):
+       * window.c (temp_output_buffer_show):
+       * insdel.c (signal_before_change):
+       * frame.c (Fhandle_switch_frame):
+       * fileio.c (Fdo_auto_save):
+       * emacs.c (Fkill_emacs):
+       * editfns.c (save_excursion_restore):
+       * cmds.c (internal_self_insert):
+       * callint.c (Fcall_interactively):
+       * buffer.c (Fkill_all_local_variables):
+       * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
+       Use Frun_hooks.
+       (command_loop_1): Use Frun_hooks. Call safe_run_hooks
+       unconditionnaly since it does the check itself.
+
+2011-03-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix more problems found by GCC 4.5.2's static checks.
+
+       * coding.c (encode_coding_raw_text): Avoid unnecessary test
+       the first time through the loop, since we know p0 < p1 then.
+       This also avoids a gcc -Wstrict-overflow warning.
+
+       * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow
+       leading to a memory leak, possible in functions like
+       load_charset_map_from_file that can allocate an unbounded number
+       of objects (Bug#8318).
+
+       * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
+       that could (at least in theory) be that large.
+
+       * xdisp.c (message_log_check_duplicate): Return unsigned long, not int.
+       This is less likely to overflow, and avoids undefined behavior if
+       overflow does occur.  All callers changed.  Use strtoul to scan
+       for the unsigned long integer.
+       (pint2hrstr): Simplify and tune code slightly.
+       This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow.
+
+       * scroll.c (do_scrolling): Work around GCC bug 48228.
+       See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228>.
+
+       * frame.c (Fmodify_frame_parameters): Simplify loop counter.
+       This also avoids a warning with gcc -Wstrict-overflow.
+       (validate_x_resource_name): Simplify count usage.
+       This also avoids a warning with gcc -Wstrict-overflow.
+
+       * fileio.c (Fcopy_file): Report error if fchown or fchmod
+       fail (Bug#8306).
+
+       * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303).
+
+       * process.c (Fmake_network_process): Use socklen_t, not int,
+       where POSIX says socklen_t is required in portable programs.
+       This fixes a porting bug on hosts like 64-bit HP-UX, where
+       socklen_t is wider than int (Bug#8277).
+       (Fmake_network_process, server_accept_connection):
+       (wait_reading_process_output, read_process_output):
+       Likewise.
+
+       * process.c: Rename or move locals to avoid shadowing.
+       (list_processes_1, Fmake_network_process):
+       (read_process_output_error_handler, exec_sentinel_error_handler):
+       Rename or move locals.
+       (Fmake_network_process): Define label "retry_connect" only if needed.
+       (Fnetwork_interface_info): Fix pointer signedness.
+       (process_send_signal): Add cast to avoid pointer signedness problem.
+       (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
+       (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298).
+
+       Make tparam.h and terminfo.c consistent.
+       * cm.c (tputs, tgoto, BC, UP): Remove extern decls.  Include
+       tparam.h instead, since it declares them.
+       * cm.h (PC): Remove extern decl; tparam.h now does this.
+       * deps.mk (cm.o, terminfo.o): Depend on tparam.h.
+       * terminfo.c: Include tparam.h, to check interfaces.
+       (tparm): Make 1st arg a const pointer in decl.  Put it at top level.
+       (tparam): Adjust signature to match interface in tparam.h;
+       this removes some undefined behavior.  Check that outstring and len
+       are zero, which they always are with Emacs.
+       * tparam.h (PC, BC, UP): New extern decls.
+
+       * xftfont.c (xftfont_shape): Now static, and defined only if needed.
+       (xftfont_open): Rename locals to avoid shadowing.
+
+       * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness.
+       (ftfont_otf_capability, ftfont_shape): Omit decls if not needed.
+       (OTF_TAG_SYM): Omit macro if not needed.
+       (ftfont_list): Remove unused local.
+       (get_adstyle_property, ftfont_pattern_entity):
+       (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point):
+       Rename locals to avoid shadowing.
+
+       * xfont.c (xfont_list_family): Mark var as initialized.
+
+       * xml.c (make_dom): Now static.
+
+       * composite.c (composition_compute_stop_pos): Rename local to
+       avoid shadowing.
+       (composition_reseat_it): Remove unused locals.
+       (find_automatic_composition, composition_adjust_point): Likewise.
+       (composition_update_it): Mark var as initialized.
+       (find_automatic_composition): Mark vars as initialized,
+       with a FIXME (Bug#8290).
+
+       character.h: Rename locals to avoid shadowing.
+       * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE):
+       (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE):
+       (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS):
+       (BUF_DEC_POS): Be more systematic about renaming local temporaries
+       to avoid shadowing.
+
+       * textprop.c (property_change_between_p): Remove; unused.
+
+       * intervals.c (interval_start_pos): Now static.
+
+       * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
+
+       * atimer.c (start_atimer, append_atimer_lists, set_alarm): Rename
+       locals to avoid shadowing.
+
+       * sound.c (wav_play, au_play, Fplay_sound_internal):
+       Fix pointer signedness.
+       (alsa_choose_format): Remove unused local var.
+       (wav_play): Initialize a variable to 0, to prevent undefined
+       behavior (Bug#8278).
+
+       * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
+
+       * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
+
+       * callproc.c (Fcall_process): Use 'volatile' to avoid vfork
+       clobbering (Bug#8298).
+       * sysdep.c (sys_subshell): Likewise.
+       Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out.
+
+       * lisp.h (child_setup): Now NO_RETURN unless DOS_NT.
+       This should get cleaned up, so that child_setup has the
+       same signature on all platforms.
+
+       * callproc.c (call_process_cleanup): Now static.
+       (relocate_fd): Rename locals to avoid shadowing.
+
+2011-03-22  Chong Yidong  <cyd@stupidchicken.com>
+
+       * xterm.c (x_clear_frame): Remove XClearWindow call.  This appears
+       not to be necessary, and produces flickering.
+
+2011-03-20  Glenn Morris  <rgm@gnu.org>
+
+       * config.in: Remove file.
+
+2011-03-20  Juanma Barranquero  <lekktu@gmail.com>
+
+       * minibuf.c (Vcompleting_read_function): Don't declare, global variables
+       are now in src/globals.h.
+       (syms_of_minibuf): Remove spurious & from previous change.
+
+2011-03-20  Leo  <sdl.web@gmail.com>
+
+       * minibuf.c (completing-read-function): New variable.
+       (completing-read-default): Rename from completing-read.
+       (completing-read): Call completing-read-function.
+
+2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
+
+       * xfaces.c (Fx_load_color_file):
+       Read color file from absolute filename (bug#8250).
+
+2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
+
+       * makefile.w32-in: Update dependencies.
+
+2011-03-17  Eli Zaretskii  <eliz@gnu.org>
+
+       * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
+
+2011-03-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix more problems found by GCC 4.5.2's static checks.
+
+       * process.c (make_serial_process_unwind, send_process_trap):
+       (sigchld_handler): Now static.
+
+       * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
+       That way, the code declares only the vars that it needs.
+       * s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
+       * s/cygwin.h (PTY_ITERATION): Likewise.
+       * s/darwin.h (PTY_ITERATION): Likewise.
+       * s/gnu-linux.h (PTY_ITERATION): Likewise.
+
+       * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
+       * process.c (allocate_pty): Don't declare stb unless it's needed.
+
+       * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else".
+       (CONSTANTLIM): Remove; unused.
+       (METER_CODE, Bscan_buffer, Bread_char, Bset_mark):
+       Define only if needed.
+
+       * unexelf.c (unexec): Name an expression,
+       to avoid gcc -Wbad-function-cast warning.
+       Use a different way to cause a compilation error if anyone uses
+       n rather than nn, a way that does not involve shadowing.
+       (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused.
+
+       * deps.mk (unexalpha.o): Remove; unused.
+
+       New file unexec.h, the (simple) interface for unexec (Bug#8267).
+       * unexec.h: New file.
+       * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
+       (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
+       Depend on unexec.h.
+       * emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
+       * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
+       * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
+       Change as necessary to match prototype in unexec.h.
+
+       * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
+       shadowing.
+       (back_comment, skip_chars): Mark vars as initialized.
 
        * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS):
        Rename locals to avoid shadowing.
 
        * lread.c (read1): Rewrite so as not to use empty "else".
+       (Fload, readevalloop, read1): Rename locals to avoid shadowing.
 
        * print.c (Fredirect_debugging_output): Fix pointer signedess.
 
        Rename or remove local vars to avoid shadowing.
        (Ftranslate_region_internal): Mark var as initialized.
 
-2011-03-15  Paul Eggert  <eggert@cs.ucla.edu>
-
        * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
        avoid shadowing.
 
        (fix_start_end_in_overlays): Likewise.  This function should be
        simplified by using pointers-to-pointers, but that's a different
        matter.
-
-2011-03-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * buffer.c (switch_to_buffer_1): Now static.
+       (switch_to_buffer_1): Now static.
        (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte):
        (report_overlay_modification): Rename locals to avoid shadowing.
 
        if GCC considers string literals to be constants.
        (Fdbus_register_service, Fdbus_register_method): Remove unused vars.
 
+2011-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
+       (print_preprocess, print_object): New macro to fix last change.
+
+       * print.c (print_preprocess): Don't forget font objects.
+
+2011-03-16  Juanma Barranquero  <lekktu@gmail.com>
+
+       * emacs.c (USAGE3): Doc fixes.
+
+2011-03-15  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * coding.c (detect_coding_iso_2022): Reorganize code to clarify
+       structure.
+
+2011-03-14  Juanma Barranquero  <lekktu@gmail.com>
+
+       * lisp.h (VWindow_system, Qfile_name_history):
+       * keyboard.h (lispy_function_keys) [WINDOWSNT]:
+       * w32term.h (w32_system_caret_hwnd, w32_system_caret_height)
+       (w32_system_caret_x, w32_system_caret_y): Declare extern.
+
+       * w32select.c: Don't #include "keyboard.h".
+       (run_protected): Add extern declaration for waiting_for_input.
+
+       * w32.c (Qlocal, noninteractive1, inhibit_window_system):
+       * w32console.c (detect_input_pending, read_input_pending)
+       (encode_terminal_code):
+       * w32fns.c (quit_char, lispy_function_keys, Qtooltip)
+       (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x)
+       (w32_system_caret_y, Qfile_name_history):
+       * w32font.c (w32font_driver, QCantialias, QCotf, QClang):
+       * w32inevt.c (reinvoke_input_signal, lispy_function_keys):
+       * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map)
+       (Qoverriding_terminal_local_map, Qmenu_bar_update_hook):
+       * w32proc.c (Qlocal, report_file_error):
+       * w32term.c (Vwindow_system, updating_frame):
+       * w32uniscribe.c (initialized, uniscribe_font_driver):
+       Remove unneeded extern declarations.
+
+2011-03-14  Chong Yidong  <cyd@stupidchicken.com>
+
+       * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
+
 2011-03-13  Chong Yidong  <cyd@stupidchicken.com>
 
        * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
 
 2011-03-12  Eli Zaretskii  <eliz@gnu.org>
 
-       * termcap.c [MSDOS]: Include "msdos.h.
+       * termcap.c [MSDOS]: Include "msdos.h".
        (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent):
        Constify `char *' arguments and their references according to
        prototypes in tparam.h.
        (POSIX_SIGNALS): Do not define.
 
        Remove support for old UNIX System V systems.
-       * s/unixware.h: Add the contents of s/usg-5-4-2.h.
-       * s/usg-5-4-2.h: Remove.
+       * s/unixware.h: Add the contents of s/usg5-4-2.h.
+       * s/usg5-4-2.h: Remove.
 
        Remove support for Solaris on PPC and for old versions.
        * s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h.