X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/a32d40405d31edd2ce4349b95277306554fb54a4..a25f4dfafb02f162dcfca3729b37ed2bbcfe44e0:/src/ChangeLog diff --git a/src/ChangeLog b/src/ChangeLog index a1a5abe87c..1fbc25e07c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,247 @@ +2011-04-12 Paul Eggert + + * lisp.h (circular_list_error, FOREACH): Remove; unused. + * data.c (circular_list_error): Remove. + +2011-04-11 Paul Eggert + + * commands.h (last_point_position, last_point_position_buffer): + (last_point_position_window): Remove decls. + * keyboard.c: Make these variables static. + + * coding.h (coding, code_convert_region, encode_coding_gap): Remove + decls. + * coding.c (Vsjis_coding_system, Vbig5_coding_system): + (iso_code_class, detect_coding, code_convert_region): Now static. + (encode_coding_gap): Remove; unused. + + * chartab.c (chartab_chars, chartab_bits): Now static. + + * charset.h (charset_iso_8859_1): Remove decl. + * charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump): + Now static. + + * ccl.h (check_ccl_update, Vccl_program_table): Remove decls. + * ccl.c (Vccl_program_table): Now static. + (check_ccl_update): Remove; unused. + + * category.c (SET_CATEGORY_SET, set_category_set): Move here. + * category.h: ... from here. + * category.c (check_category_table, set_category_set): Now static. + + * casetab.c (Vascii_upcase_table, Vascii_eqv_table): Now static. + * lisp.h: Remove these decls. + + * buffer.c (buffer_count): Remove unused var. + + * bidi.c (bidi_dump_cached_states): Mark as externally visible, + so that it's not optimized away. + (bidi_ignore_explicit_marks_for_paragraph_level): Likewise. + * dispextern.h (bidi_dump_cached_states): Remove, since it's + exported only to the debugger. + + * atimer.c (alarm_signal_handler, run_all_atimers): Now static. + * atimer.h (run_all_atimers): Removed; not exported. + + font.c: Make copy_font_spec and merge_font_spec ordinary C functions. + * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it + was inaccessible from Lisp. + (merge_font_spec): Likewise, renaming from Fmerge_font_spec. + * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses. + + alloc.c: Import and export fewer symbols, and remove unused items. + * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING + is defined. + (suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that + it's not optimized away by whole-program optimization. + (message_enable_multibyte, free_misc): Remove. + (catchlist, handlerlist, mark_backtrace): + Declare only if BYTE_MARK_STACK. + (mark_byte_stack): Likewise, fixing a ifdef-vs-if typo. + * alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined. + (message_enable_multibyte): Remove decl. + (free_misc, interval_free_list, float_block, float_block_index): + (n_float_blocks, float_free_list, cons_block, cons_block_index): + (cons_free_list, last_marked_index): + Now static. + (suppress_checking, die): Define only if ENABLE_CHECKING is defined. + * eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK. + (mark_backtrace): Define only if BYTE_MARK_STACK. + * xdisp.c (message_enable_multibyte): Now static. + + Declare Lisp_Object Q* variables to be 'static' if not exproted. + This makes it easier for human readers (and static analyzers) + to see whether these variables are used from other modules. + * alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c: + * ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c: + * data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c: + * font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c: + * lread.c, macros.c, minibuf.c, print.c, process.c, search.c: + * sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c: + * xmenu.c, xselect.c: + Declare Q* vars static if they are not used in other modules. + * ccl.h, character.h, charset.h, coding.h, composite.h, font.h: + * frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h: + Remove decls of unexported vars. + * keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro. + + * lisp.h (DEFINE_FUNC): Make sname 'static'. + + Make Emacs functions such as Fatom 'static' by default. + This makes it easier for human readers (and static analyzers) + 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): + (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer): + (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute): + (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes): + Remove decls, since these functions are now static. + (Funintern, Fget_internal_run_time): New decls, since these functions + were already external. + + * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c: + * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c: + * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c: + * fns.c, font.c, fontset.c, frame.c, image.c, indent.c: + * keyboard.c, keymap.c, lread.c: + * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c: + * syntax.c, term.c, terminal.c, textprop.c, undo.c: + * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c: + Mark functions with DEFUE instead of DEFUN, + if they are used in other modules. + * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward + decls for now-static functions. + * buffer.h (Fdelete_overlay): Remove decl. + * callproc.c (Fgetenv_internal): Mark as internal. + * composite.c (Fremove_list_of_text_properties): Remove decl. + (Fcomposition_get_gstring): New forward static decl. + * composite.h (Fcomposite_get_gstring): Remove decl. + * dired.c (Ffile_attributes): New forward static decl. + * doc.c (Fdocumntation_property): New forward static decl. + * eval.c (Ffetch_bytecode): New forward static decl. + (Funintern): Remove extern decl; now in .h file where it belongs. + * fileio.c (Fmake_symbolic_link): New forward static decl. + * image.c (Finit_image_library): New forward static decl. + * insdel.c (Fcombine_after_change_execute): Make forward decl static. + * intervals.h (Fprevious_property_change): + (Fremove_list_of_text_properties): Remove decls. + * keyboard.c (Fthis_command_keys): Remove decl. + (Fcommand_execute): New forward static decl. + * keymap.c (Flookup_key): New forward static decl. + (Fcopy_keymap): Now static. + * keymap.h (Flookup_key): Remove decl. + * process.c (Fget_process): New forward static decl. + (Fprocess_datagram_address): Mark as internal. + * syntax.c (Fsyntax_table_p): New forward static decl. + (skip_chars): Remove duplicate decl. + * textprop.c (Fprevious_property_change): New forward static decl. + * window.c (Fset_window_fringes, Fset_window_scroll_bars): + Now internal. + (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 + + * editfns.c (Fformat): Remove unreachable code. + +2011-04-10 Paul Eggert + + Fix more problems found by GCC 4.6.0's static checks. + + * xdisp.c (vmessage): Use a better test for character truncation. + + * charset.c (load_charset_map): <, not <=, for optimization, + and to avoid potential problems with integer overflow. + * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise. + * casetab.c (set_identity, shuffle): Likewise. + * editfns.c (Fformat): Likewise. + * syntax.c (skip_chars): Likewise. + + * xmenu.c (set_frame_menubar): Allocate smaller local vectors. + This also lets GCC 4.6.0 generate slightly better loop code. + + * callint.c (Fcall_interactively): <, not <=, for optimization. + (Fcall_interactively): Count the number of arguments produced, + not the number of arguments given. This is simpler and lets GCC + 4.6.0 generate slightly better code. + + * ftfont.c: Distingish more carefully between FcChar8 and char. + The previous code passed unsigned char * to a functions like + strlen and xstrcasecmp that expect char *, which does not + conform to the C standard. + (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for + arguments to FcPatternGetString, and explicitly cast FcChar8 * to + char * when the C standard requires it. + + * keyboard.c (read_char): Remove unused var. + + * eval.c: Port to Windows vsnprintf (Bug#8435). + Include . + (SIZE_MAX): Define if the headers do not. + (verror): Do not give up if vsnprintf returns a negative count. + Instead, grow the buffer. This ports to Windows vsnprintf, which + does not conform to C99. Problem reported by Eli Zaretskii. + Also, simplify the allocation scheme, by avoiding the need for + calling realloc, and removing the ALLOCATED variable. + + * eval.c (verror): Initial buffer size is 4000 (not 200) bytes. + + Remove invocations of doprnt, as Emacs now uses vsnprintf. + But keep the doprint source code for now, as we might revamp it + and use it again (Bug#8435). + * lisp.h (doprnt): Remove. + * Makefile.in (base_obj): Remove doprnt.o. + * deps.mk (doprnt.o): Remove. + + error: Print 32- and 64-bit integers portably (Bug#8435). + Without this change, on typical 64-bit hosts error ("...%d...", N) + was used to print both 32- and 64-bit integers N, which relied on + undefined behavior. + * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd): + New macro. + * lisp.h (error, verror): Mark as printf-like functions. + * eval.c (verror): Use vsnprintf, not doprnt, to do the real work. + Report overflow in size calculations when allocating printf buffer. + Do not truncate output string at its first null byte. + * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work. + Truncate the output at a character boundary, since vsnprintf does not + do that. + * charset.c (check_iso_charset_parameter): Convert internal + character to string before calling 'error', since %c now has the + printf meaning. + * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int + overflow when computing char to be passed to 'error'. Do not + pass Lisp_Object to 'error'; pass the integer instead. + * nsfns.m (Fns_do_applescript): Use int, not long, since it's + formatted with plain %d. + + * eval.c (internal_lisp_condition_case): Don't pass spurious arg. + + * keyboard.c (access_keymap_keyremap): Print func name, not garbage. + + * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int. + + * xterm.c (x_catch_errors): Remove duplicate declaration. + + * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too. + + * xdisp.c, lisp.h (message_nolog): Remove; unused. + +2011-04-10 Jim Meyering + + use ssize_t and size_t for read- and write-like emacs_gnutls_* functions + * gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like: + return ssize_t not "int", and use size_t as the buffer length. + (emacs_gnutls_write): Likewise, and make the buffer pointer "const". + * gnutls.h: Update declarations. + * process.c (read_process_output): Use ssize_t, to match. + (send_process): Likewise. + 2011-04-09 Chong Yidong * image.c (Fimagemagick_types): Doc fix, and comment cleanup.