* configure.in (LIBXT_OTHER, LIBX_OTHER): New output variables.
* src/Makefile.in (LIBX_EXTRA, LIBX_BASE): New variables.
(LIBXT_OTHER, LIBX_OTHER): New, set by configure.
(LIBXT): Set with configure, not cpp.
(LIBX): Remove.
(LIBES): Replace $LIBX with $LIBX_BASE and $LIBX_OTHER.
* mml.el (mml-mode): Use define-minor-mode.
* gnus-undo.el (gnus-undo-mode-map): Initialize in declaration.
(gnus-undo-mode): Use define-minor-mode.
* gnus-sum.el (gnus-dead-summary-mode-map): Initialize in declaration.
(gnus-dead-summary-mode): Use define-minor-mode.
* gnus-salt.el (gnus-pick-mode-map, gnus-binary-mode-map):
Initialize in declaration.
(gnus-pick-mode, gnus-binary-mode): Use define-minor-mode.
* gnus-ml.el (gnus-mailing-list-mode-map): Initialize in declaration.
(gnus-mailing-list-mode): Use define-minor-mode.
* gnus-draft.el (gnus-draft-mode-map): Initialize in declaration.
(gnus-draft-mode): Use define-minor-mode.
* gnus-dired.el (gnus-dired-mode-map): Initialize in declaration.
(gnus-dired-mode): Use define-minor-mode.
* simple.el (with-wrapper-hook): Move.
(buffer-substring-filters): Mark obsolete.
(filter-buffer-substring-functions): New variable.
(buffer-substring-filters): Use it. Remove unused arg `noprops'.
* cedet/semantic/util-modes.el:
(semantic-minor-modes-format): New var to replace...
(semantic-minor-modes-status): Remove.
(semantic-mode-line-update): Construct a mode-line spec rather than
a static string so that mouse buttons can be used on individual minor
modes and so that semantic-mode-line-update only needs to be called
when global settings are changed.
(semantic-add-minor-mode, semantic-toggle-minor-mode-globally):
Call semantic-mode-line-update.
(semantic-toggle-minor-mode-globally): Don't assume mode is on
minor-mode-alist, check semantic-minor-mode-alist as well.
(semantic-stickyfunc-mode, semantic-show-parser-state-auto-marker)
(semantic-show-parser-state-marker, semantic-show-parser-state-mode)
(semantic-show-unmatched-syntax-mode, semantic-highlight-edits-mode):
* cedet/semantic/mru-bookmark.el (semantic-mru-bookmark-mode):
* cedet/semantic/idle.el (semantic-idle-scheduler-mode)
(define-semantic-idle-service, semantic-idle-summary-mode):
* cedet/semantic/decorate/mode.el (semantic-decoration-mode):
Don't call semantic-mode-line-update any more.
* cedet/srecode/mode.el (srecode-minor-mode,global-srecode-minor-mode):
Use define-minor-mode.
* cedet/semantic/util-modes.el (semantic-add-minor-mode):
Remove unused arg `keymap' and code redundant with define-minor-mode.
(semantic-toggle-minor-mode-globally): Only handle arg -1 and 1.
(semantic-stickyfunc-mode, global-semantic-show-unmatched-syntax-mode)
(semantic-highlight-func-mode, global-semantic-show-parser-state-mode)
(global-semantic-highlight-edits-mode, semantic-highlight-edits-mode)
(semantic-show-unmatched-syntax-mode, semantic-show-parser-state-mode)
(global-semantic-stickyfunc-mode, global-semantic-highlight-func-mode):
Use define-minor-mode.
(semantic-stickyfunc-mode-setup, semantic-highlight-edits-mode-setup)
(semantic-show-unmatched-syntax-mode-setup)
(semantic-show-parser-state-mode-setup)
(semantic-highlight-func-mode-setup): Inline into sole caller.
* cedet/semantic/mru-bookmark.el (global-semantic-mru-bookmark-mode)
(semantic-mru-bookmark-mode): Use define-minor-mode.
(semantic-mru-bookmark-mode-setup): Inline into sole caller.
* cedet/semantic/idle.el (define-semantic-idle-service):
Use define-minor-mode and inline setup function into its sole caller.
(semantic-idle-scheduler-mode-setup)
(semantic-idle-summary-mode-setup): Inline into sole caller.
(global-semantic-idle-scheduler-mode, semantic-idle-scheduler-mode):
Use define-minor-mode.
* cedet/semantic/decorate/mode.el (global-semantic-decoration-mode)
(semantic-decoration-mode): Use define-minor-mode.
(semantic-decoration-mode-setup): Inline into sole caller.
* cedet/ede/dired.el (ede-dired-minor-mode): Initialize in declaration.
(ede-dired-minor-mode): Use define-minor-mode and derived-mode-p.
(ede-dired-add-to-target): Use dolist.
* Makefile.in (LD_SWITCH_MACHINE): Remove definition, unused.
(TEMACS_LDFLAGS): Do not use LD_SWITCH_MACHINE.
* configure.in (LD_SWITCH_MACHINE, ld_switch_machine): Remove, unused.
(ac_link): Do not use ld_switch_machine.
xdisp.c (find_row_end): New function, refactored from display_line.
(display_line): Use it.
(extend_face_to_end_of_line): In almost-filled rows, extend only
if the row is R2L and not continued.
(display_line): Fix prepending of truncation glyphs to R2L rows.
Preserve overlay and string info in row->end.
(insert_left_trunc_glyphs): Support addition of left truncation
glyphs to R2L rows.
(set_cursor_from_row): Don't place cursor on the vertical border
glyph between adjacent windows. Fix a crash when a display string
is continued to the next line. Don't return zero if cursor was
found by `cursor' property of a display string.
(try_cursor_movement): Don't assume that row->end == (row+1)->start,
test for that explicitly.
xdisp.c (set_cursor_from_row): Don't place cursor on the vertical border
glyph between adjacent windows.
(try_cursor_movement): Don't assume that row->end == (row+1)->start,
test for that explicitly.
xdisp.c (display_line): Fix prepending of truncation glyphs to R2L rows.
(insert_left_trunc_glyphs): Support addition of left truncation glyphs
to R2L rows.
* net/tramp.el (tramp-inline-compress-start-size): New defcustom.
(tramp-copy-size-limit): Allow also nil.
(tramp-inline-compress-commands): New defconst.
(tramp-find-inline-compress, tramp-get-inline-compress)
(tramp-get-inline-coding): New defuns.
(tramp-get-remote-coding, tramp-get-local-coding): Removed,
replaced by `tramp-get-inline-coding'.
(tramp-handle-file-local-copy, tramp-handle-write-region)
(tramp-method-out-of-band-p): Use `tramp-get-inline-coding'.
* configure.in (OTHER_OBJ): Remove.
(PRE_ALLOC_OBJ, POST_ALLOC_OBJ): New output variables.
* configure: Regenerate.
* src/Makefile.in (gmallocobj, rallocobj, vmlimitobj): Initialize to null,
for clarity.
(OTHER_OBJ): Remove.
(PRE_ALLOC_OBJ, POST_ALLOC_OBJ): New, set by configure.
(otherobj): Use PRE_ALLOC_OBJ, POST_ALLOC_OBJ rather than OTHER_OBJ.
* progmodes/etags.el (tags-completion-at-point-function):
Remove left over interactive spec. Add autoloading stub.
(complete-tag): Use tags-completion-at-point-function.
* configure.in (OTHER_OBJ): Always include vm-limit.o on Cygwin.
Elsewhere, maybe include it.
* src/Makefile.in (vmlimitobj) [!SYSTEM_MALLOC]: New variable.
(OTHER_OBJ): Define as a separate variable, for clarity.
* configure: Regenerate.
* configure.in (TOOLKIT_LIBW) [HAVE_GTK]: Set to $GTK_LIBS.
(OLDXMENU, LIBXMENU): New output variables.
* src/Makefile.in (OLDXMENU, LIBXMENU) [HAVE_MENUS]:
Set with configure, not cpp.
(LIBW): Remove, replace with $TOOLKIT_LIBW.
(completion-at-point-functions): Use it.
* cedet/semantic.el (semantic-completion-at-point-function): New function.
(semantic-mode): Use semantic-completion-at-point-function for
completion-at-point-functions instead.
* progmodes/etags.el (complete-tag): Revert last change.
* eval.c (Fautoload): Set doc to a unique number rather than to 0.
Remove unused var `args'.
* lisp.h (XSETCARFASTINT, XSETCDRFASTINT): Remove.
(LOADHIST_ATTACH): Wrap with do...while to avoid surprises for callers.
* doc.c (store_function_docstring): Use XSETCAR.