Paul Eggert [Sat, 16 Apr 2011 15:24:20 +0000 (08:24 -0700)]
* xterm.c: Fix problems found by static analysis with other toolkits.
(toolkit_scroll_bar_interaction): Define and use only if USE_X_TOOLKIT.
(x_dispatch_event): Declare static only if !USE_GTK && USE_X_TOOLKIT.
Define if USE_GTK || (HAVE_MENUS && USE_X_TOOLKIT); USE_MOTIF need
not be part of this test.
(SET_SAVED_BUTTON_EVENT): Define only if USE_X_TOOLKIT || USE_GTK.
* xterm.h (x_dispatch_event): Use USE_GTK, not USE_MOTIF, when testing
whether to declare.
* xterm.c, xterm.h (x_mouse_leave): Bring this function back, but only if
defined HAVE_MENUS && !defined USE_X_TOOLKIT && !defined USE_GTK.
Paul Eggert [Sat, 16 Apr 2011 08:25:42 +0000 (01:25 -0700)]
Modernize to C89, for better static checking.
* Activate.c (XMenuActivate): Callback's first arg is readonly.
* AddPane.c (XMenuAddPane): Label is readonly. Rename local
to avoid shadowing.
* AddSel.c (XMenuAddSelection): Help arg is readonly. Rename local.
* Create.c (atoi, atof): Remove decls; include <stdlib.h>.
(MAX_INACT_PNUM, TILE_BUF_SIZE): Remove; unused.
(x_get_resource_string): Args are readonly.
(XAllocDisplayColor): colorName is readonly.
(XMenuCreate): def_env is readonly. Remove unused locals. Avoid
"else;".
* Destroy.c (XMenuDestroy): Return void.
* Error.c (XMenuError): Remove const pointer.
* EvHand.c (XMenuEventHandler): Return void.
* FindPane.c, FindSel.c: Include <string.h>.
* InsPane.c (XMenuInsertPane): Rename local to avoid shadowing.
* InsSel.c (XMenuInsertSelection): Likewise.
* Internal.c (toggle_color, BUFFER_SIZE): Remove; unused.
(_XMErrorList): Now const.
(_XMWinQueInit, _XMRecomputeGlobals, _XMTransToOrigin, _XMRefreshPane):
(_XMRefreshSelection): Return void.
(_XMWinQueFlush, _XMRefreshSelection): Rename locals to avoid
shadowing.
(_XMWinQueFlush): Use stack, not heap. Don't use uninitialized var.
* SetAEQ.c (XMenuSetAEQ): Now returns void.
* SetFrz.c (XMenuSetFreeze): Likewise.
* X10.h (XAssoc): Use void * for generic pointer.
* XDelAssoc.c: Include XMenuInt.h rather than duplicating part of it.
* XDestAssoc.c, XMakeAssoc.c: Likewise.
* XDestAssoc.c (XDestroyAssocTable): Return void.
* XMakeAssoc.c (XMakeAssoc): Use void * for generic pointer.
* XMenu.h, XMenuInt.h: Adjust to signature changes. Use const
for pointers to readonly storage.
* insque.c: Include XMenuInt.h, to check our own signature.
(emacs_insque, emacs_remque): Use void * for generic pointers.
Ben Key [Fri, 15 Apr 2011 22:48:00 +0000 (17:48 -0500)]
Modified the code that parses the --cflags and --ldflags options to support parameters that include the = character as long as they are enclosed in quotes.
Stefan Monnier [Fri, 15 Apr 2011 13:50:04 +0000 (10:50 -0300)]
Use completion-at-point for mailalias.el
* lisp/mail/mailalias.el: Use lexical-binding.
(pattern, mailalias-done): Declare dynamic.
(mail-completion-at-point-function): New function, from mail-complete.
(mail-complete): Use it.
(mail-completion-expand): New function.
(mail-get-names): Use it.
(mail-directory, mail-directory-process, mail-directory-stream):
Don't use `pattern' for lexically bound arg.
* lisp/mail/sendmail.el (mail-mode-map): Use completion-at-point.
(mail-mode): Setup mailalias completion here instead.
Stefan Monnier [Fri, 15 Apr 2011 12:42:51 +0000 (09:42 -0300)]
* lisp/gnus/gnus-draft.el (gnus-draft-setup): New arg `dont-pop'.
(gnus-draft-send): Use it to avoid popping
up frames from gnus-group-send-queue.
* lisp/gnus/gnus.el (gnus-splash-svg-color-symbols): Don't use insert-file
from Lisp.
* lisp/gnus/message.el (message-bogus-system-names): Replace ^...$ => \`...\'.
Stefan Monnier [Fri, 15 Apr 2011 12:30:15 +0000 (09:30 -0300)]
* lisp/emacs-lisp/bytecomp.el (byte-temp-output-buffer-show)
(byte-save-window-excursion, byte-temp-output-buffer-setup)
(byte-interactive-p): Define them again, for use when inlining old code.
Stefan Monnier [Fri, 15 Apr 2011 01:44:00 +0000 (22:44 -0300)]
* lisp/progmodes/gud.el (gud-gdb): Use completion-at-point instead of
gud-gdb-complete-command.
(gud-gdb-completions): New function, from gud-gdb-complete-command.
(gud-gdb-completion-at-point): New function.
(gud-gdb-completions): Remove.
Michael Albinus [Thu, 14 Apr 2011 18:58:45 +0000 (20:58 +0200)]
* net/tramp-sh.el (tramp-sh-handle-file-attributes): Handle the
case when the scripts fail. Use `tramp-do-file-attributes-with-ls'
then.
(tramp-do-copy-or-rename-file-out-of-band): Do not check any
longer, whether`executable-find' is bound.
Paul Eggert [Thu, 14 Apr 2011 06:15:53 +0000 (23:15 -0700)]
2011-04-14 Paul Eggert <eggert@cs.ucla.edu>
* alloc.c (refill_memory_reserve): Now static if
!defined REL_ALLOC || defined SYSTEM_MALLOC.
* lisp.h (refill_memory_reserve): Declare only if not static.
Paul Eggert [Thu, 14 Apr 2011 02:52:33 +0000 (19:52 -0700)]
* 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_SYSTEMM.
* dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes):
(tty_turn_off_highlight, get_tty_terminal): Remove decls.
Paul Eggert [Thu, 14 Apr 2011 01:36:53 +0000 (18:36 -0700)]
* 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.
Paul Eggert [Thu, 14 Apr 2011 00:44:47 +0000 (17:44 -0700)]
* 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): Now static.
(adjust_after_replace_noundo): Remove; unused.
* lisp.h (adjust_after_replace, adjust_after_replace_noundo):
Remove decls.
Stefan Monnier [Thu, 14 Apr 2011 00:16:11 +0000 (21:16 -0300)]
* lisp/minibuffer.el (completion-in-region-mode-predicate)
(completion-in-region-mode--predicate): New vars.
(completion-in-region, completion-in-region--postch)
(completion-in-region-mode): Use them.
(completion--capf-wrapper): Also return the hook function.
(completion-at-point, completion-help-at-point):
Adjust and provide a predicate.
Paul Eggert [Wed, 13 Apr 2011 23:44:57 +0000 (16:44 -0700)]
* 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.
Paul Eggert [Wed, 13 Apr 2011 23:35:33 +0000 (16:35 -0700)]
* 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.
Paul Eggert [Wed, 13 Apr 2011 23:22:35 +0000 (16:22 -0700)]
* 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.
Paul Eggert [Wed, 13 Apr 2011 22:50:03 +0000 (15:50 -0700)]
* emacs.c: Make symbols static if they're not exported.
(malloc_state_ptr, malloc_using_checking, syms_of_emacs):
(fatal_error_code, fatal_error_signal_hook, standard_args):
Now static.
(fatal_error_signal): Now static, unless FLOAT_CATCH_SIGKILL.
(DEFINE_DUMMY_FUNCTION): Mark function as externally visible.
(__CTOR_LIST__, __DTOR_LIST__): Now externally visible.
* lisp.h (fatal_error_signal_hook): Remove decl.
(fatal_error_signal): Declare only if FLOAT_CATCH_SIGKILL.
Paul Eggert [Wed, 13 Apr 2011 22:28:14 +0000 (15:28 -0700)]
* editfns.c: Move a (normally-unused) function to its only use.
* editfns.c, lisp.h (get_operating_system_release): Remove.
* process.c (init_process) [DARWIN_OS]: Do it inline, as it is not
worth the hassle of breaking this out.