Change unexec implementations to match prototype.
[bpt/emacs.git] / src / ChangeLog
index 6cacc45..acc3f03 100644 (file)
@@ -1,4 +1,134 @@
-2011-03-15  Paul Eggert  <eggert@cs.ucla.edu>
+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.
+
+       * lisp.h (debug_output_compilation_hack): Add decl here, to avoid
+       warning when compiling print.c.
+
+       * font.c (font_unparse_fcname): Abort in an "impossible" situation
+       instead of using an uninitialized var.
+       (font_sort_entities): Mark var as initialized.
+
+       * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing.
+
+       * font.c (font_unparse_xlfd): Don't mix pointers to variables with
+       pointers to constants.
+       (font_parse_fcname): Remove unused vars.
+       (font_delete_unmatched): Now static.
+       (font_get_spec): Remove; unused.
+       (font_style_to_value, font_prop_validate_style, font_unparse_fcname):
+       (font_update_drivers, Ffont_get_glyphs, font_add_log):
+       Rename or move locals to avoid shadowing.
+
+       * fns.c (require_nesting_list, require_unwind): Now static.
+       (Ffillarray): Rename locals to avoid shadowing.
+
+       * floatfns.c (domain_error2): Define only if needed.
+       (Ffrexp, Fldexp): Rename locals to avoid shadowing.
+
+       * alloc.c (mark_backtrace): Move decl from here ...
+       * lisp.h: ... to here, so that it can be checked.
+
+       * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static.
+       (Fdefvar): Rewrite so as not to use empty "else".
+       (lisp_indirect_variable): Name an expression,
+       to avoid gcc -Wbad-function-cast warning.
+       (Fdefvar): Rename locals to avoid shadowing.
+
+       * callint.c (quotify_arg, quotify_args): Now static.
+       (Fcall_interactively): Rename locals to avoid shadowing.
+       Use const pointer when appropriate.
+
+       * lisp.h (get_system_name, get_operating_system_release):
+       Move decls here, to check interfaces.
+       * process.c (get_operating_system_release): Move decl to lisp.h.
+       * xrdb.c (get_system_name): Likewise.
+       * editfns.c (init_editfns, Fuser_login_name, Fuser_uid):
+       (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts,
+       some of which prompt warnings from gcc -Wbad-function-cast.
+       (Fformat_time_string, Fencode_time, Finsert_char):
+       (Ftranslate_region_internal, Fformat):
+       Rename or remove local vars to avoid shadowing.
+       (Ftranslate_region_internal): Mark var as initialized.
+
+       * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
+       avoid shadowing.
+
+       * lisp.h (eassert): Check that the argument compiles, even if
+       ENABLE_CHECKING is not defined.
+
+       * data.c (Findirect_variable): Name an expression, to avoid
+       gcc -Wbad-function-cast warning.
+       (default_value, arithcompare, arith_driver, arith_error): Now static.
+       (store_symval_forwarding): Rename local to avoid shadowing.
+       (Fmake_variable_buffer_local, Fmake_local_variable): Mark
+       variables as initialized.
+       (do_blv_forwarding, do_symval_forwarding): Remove; unused.
+
+       * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST.
+       (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect):
+       Rename locals to avoid shadowing.
+       (mark_stack): Move local variables into the #ifdef region where
+       they're used.
+       (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if
+       ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not
+       needed otherwise.
+       (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS.
+       (GC_STRING_CHARS): Remove; not used.
+       (Fmemory_limit): Cast sbrk's returned value to char *.
+
+       * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this
+       avoids undefined behavior in theory.
+
+       * regex.c (IF_LINT): Add defn, for benefit of ../lib-src.
 
        Use functions, not macros, for up- and down-casing (Bug#8254).
        * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
@@ -9,7 +139,7 @@
        (upcase1): Likewise, for UPCASE_TABLE.
        (uppercasep, lowercasep, upcase): New static inline functions.
        * editfns.c (Fchar_equal): Remove no-longer-needed workaround for
-       the race-condition problem the old DOWNCASE.
+       the race-condition problem in the old DOWNCASE.
 
        * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT):
        Rename locals to avoid shadowing.
        Remove; unused.
 
        * search.c (boyer_moore): Rename locals to avoid shadowing.
-       * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
+       * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE):
+       (PREV_CHAR_BOUNDARY): Likewise.
 
        * search.c (simple_search): Remove unused var.
 
        (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.