* configure.in (LD_SWITCH_X_SITE_AUX): Use AC_SUBST only, not AC_DEFINE as well.
(LD_SWITCH_X_SITE_AUX_RPATH): New output variable.
* nt/config.nt (LD_SWITCH_X_SITE_AUX): Remove.
* src/s/gnu-linux.h (LD_SWITCH_SYSTEM): Use LD_SWITCH_X_SITE_AUX as a shell
variable.
* src/s/netbsd.h (LD_SWITCH_SYSTEM_tmp): Remove.
(LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH.
* src/s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Remove.
(LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH instead of
LD_SWITCH_SYSTEM_tmp.
* src/Makefile.in (LD_SWITCH_X_SITE_AUX, LD_SWITCH_X_SITE_AUX_RPATH):
New variables, set by configure.
* configure.in (LD_SWITCH_SYSTEM_TEMACS): New output variable.
* src/s/aix4-2.h (LD_SWITCH_SYSTEM_TEMACS): Move to configure.in.
* src/s/darwin.h (HEADERPAD_EXTRA, LIBS_NSGUI): Remove.
(LD_SWITCH_SYSTEM_TEMACS): Move to configure.in.
* src/Makefile.in (LD_SWITCH_SYSTEM_TEMACS): New variable, set by configure.
(TEMACS_LDFLAGS): Use $LD_SWITCH_SYSTEM_TEMACS.
* configure.in (C_SWITCH_MACHINE, C_SWITCH_SYSTEM): New output
variables, replacing c_switch_machine, c_switch_system.
* src/s/aix4-2.h (C_SWITCH_SYSTEM):
* src/m/alpha.h (C_SWITCH_MACHINE):
Move to configure.in.
* src/Makefile.in (C_SWITCH_MACHINE, C_SWITCH_SYSTEM):
New variables, set by configure.
(ALL_CFLAGS): Use $C_SWITCH_MACHINE and $C_SWITCH_SYSTEM in place of
$c_switch_machine and $c_switch_system.
* lib-src/Makefile.in: Use @C_SWITCH_SYSTEM@, @C_SWITCH_MACHINE@
rather than @c_switch_system@, @c_switch_machine@.
* 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.
* 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.
* 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.
* 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.
* 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.
* configure.in (GPM_MOUSE_SUPPORT): New output variable.
* src/Makefile.in (GPM_MOUSE_SUPPORT): New, set by configure.
(MOUSE_SUPPORT) [!HAVE_MOUSE]: Use $GPM_MOUSE_SUPPORT.
* configure.in (LIBXMU): New output variable.
* src/Makefile.in (LIBXMU): Set with configure, not cpp.
* src/s/aix4-2.h (LIBXMU):
* src/s/hpux10-20.h (LIBXMU):
Remove definition, now set in configure.
See discussion in bug#5655.
* configure.in (machine, canonical): On amdx86-64, check for a 32-bit
userland and maybe change values to i386 (move test from s/amdx86-64.h).
* src/m/amdx86-64.h [i386]: Move this test to configure.in.
* configure.in (LIBXTR6): New output variable. Move unixware special
case here from src/s/unixware.h.
* src/Makefile.in (LIBXTR6): Set with configure, not cpp.
* src/s/unixware.h (NEED_LIBW): Remove definition.
* admin/CPP-DEFINES: Remove NEED_LIBW.