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.
Stefan Monnier [Wed, 13 Apr 2011 17:56:47 +0000 (14:56 -0300)]
Preserve arg names for advice of subr and lexical functions.
* lisp/help-fns.el (help-function-arglist): Consolidate the subr and
new-byte-code cases. Add argument `preserve-names' to extract names
from the docstring when needed.
* lisp/emacs-lisp/advice.el (ad-define-subr-args, ad-undefine-subr-args)
(ad-subr-args-defined-p, ad-get-subr-args, ad-subr-arglist): Remove.
(ad-arglist): Use help-function-arglist's new arg.
(ad-definition-type): Use cond.
lisp/autorevert.el: Use `remote-file-name-inhibit-cache'.
* autorevert.el (auto-revert-handler):
Bind `remote-file-name-inhibit-cache', not `tramp-cache-inhibit-cache',
which was removed in 2010-10-02T13:21:43Z!michael.albinus@gmx.de.
Don't quote lambda.
gnus.texi (Window Layout): @itemize @code doesn't exist. It's @table @code.
gnus-registry.el (gnus-registry--split-fancy-with-parent-internal): Fix logic bug.
(gnus-registry-post-process-groups): Fix logging of no results and quote sender and subject.
network-stream.el (network-stream-open-starttls): Only do opportunistic STARTTLS upgrades if we have built-in gnutls support. Upgrades via gnutls-cli are too slow to be done opportunistically.
gnus-start.el (gnus-get-unread-articles): Slight cleanup.
(gnus-read-active-for-groups): Don't try to finish getting stuff where we had no early-data returned.
(gnus-get-unread-articles): Add a sanity check so that we don't issue two async commands to the same server at the same time.
gnus-sum.el (gnus-summary-select-article-buffer): Doc fix.
gnus-registry.el (gnus-registry-remake-db): Put the warning on a "warning" level.
Paul Eggert [Tue, 12 Apr 2011 08:12:01 +0000 (01:12 -0700)]
* sysdep.c (emacs_read, emacs_write): Check for negative sizes
since callers should never pass a negative size.
Change the signature to match that of plain 'read' and 'write'; see
<http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00397.html>.
* lisp.h: Update prototypes of emacs_write and emacs_read.
gnus-registry.el (gnus-registry-action): Remove properties and simplify subject in `gnus-registry-handle-action'.
(gnus-registry-spool-action): Get subject and sender from message if they are not passed in.
(gnus-registry-handle-action): Remove properties and simplify subject consistently.
Eli Zaretskii [Mon, 11 Apr 2011 16:39:09 +0000 (19:39 +0300)]
Fix bug #8468 with redisplay and scroll-margin > 0.
src/xdisp.c (redisplay_window): Don't try to determine the character
position of the scroll margin if the window start point w->startp
is outside the buffer's accessible region.
Eli Zaretskii [Mon, 11 Apr 2011 15:59:30 +0000 (18:59 +0300)]
Fix bug #8468 with redisplay when scroll-margin > 0.
src/xdisp.c (redisplay_window): Don't try to determine the character
position of the scroll margin if the window start point w->startp
is outside the buffer's accessible region.
Paul Eggert [Mon, 11 Apr 2011 06:13:04 +0000 (23:13 -0700)]
* 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.
Paul Eggert [Mon, 11 Apr 2011 05:58:27 +0000 (22:58 -0700)]
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.
Paul Eggert [Mon, 11 Apr 2011 04:39:49 +0000 (21:39 -0700)]
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.
Paul Eggert [Mon, 11 Apr 2011 03:39:45 +0000 (20:39 -0700)]
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.
Paul Eggert [Mon, 11 Apr 2011 01:41:15 +0000 (18:41 -0700)]
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.