* marker.c (MARKER_DEBUG): Move marker debugging code under
#ifdef MARKER_DEBUG because byte_char_debug_check is too slow
for bootstrap with --enable-checking (~3x slowdown reported
by Juanma Barranquero <lekktu@gmail.com>).
(verify_bytepos): Move under #ifdef MARKER_DEBUG.
* configure.in (WARN_CFLAGS): Remove -Wno-deprecated-declarations.
(HAVE_LIBPNG_PNG_H): Don't bother checking for this if we have png.h.
(PNG_DEPRECATED): Define when compiling with older PNG versions.
src/ xdisp.c (display_line): Add commentary about displaying
truncation glyphs on GUI frames.
(produce_special_glyphs): Move here from term.c.
src/term.c (produce_special_glyphs): Move to xdisp.c.
src/dispextern.h (produce_special_glyphs): Move prototype to xdisp.c
section.
* src/lread.c (load_path_check): New function, split from init_lread.
(init_lread): Reorganize. Motivation:
If EMACSLOADPATH is set, check/warn about that rather than the
defaults, which we are not going to use. Hence we can remove
the turn_off_warning and WINDOWSNT || HAVE_NS tests.
Don't warn if site-lisp directories are missing.
If not installed, start from a blank load-path, since
PATH_LOADSEARCH refers to the eventual installation directories.
src/xdisp.c (init_iterator): Get dimensions of truncation and
continuation glyphs even if on GUI frames. Adjust
it->last_visible_x on GUI frames when the left or right fringes,
or both, are absent.
(start_display, move_it_in_display_line_to): Handle the case of a
GUI frame without a fringe to display continuation or truncation
glyphs.
(insert_left_trunc_glyphs): Support GUI frames: make sure
truncation glyphs overwrite enough glyphs from the current line to
have sufficient space in pixels.
(display_line): Support truncation and continuation glyphs on GUI
frames. If some spare pixels are left on the line after inserting
the truncation glyphs, fill that space with a stretch glyph of a
suitably computed width.
src/term.c (produce_special_glyphs): Call PRODUCE_GLYPHS, not
produce_glyphs, to support GUI sessions.
This works better on hosts where time_t is unsigned, and where
float-time is applied to the (negative) difference between two times.
* editfns.c (decode_time_components): Last arg is now double *,
not int *, and means to store all the result as a double, without
worrying about whether the seconds part fits in time_t.
All callers changed.
(lisp_time_argument): Remove last int * arg, as it's no longer needed.
All callers changed.
(Ffloat_time): Do not fail merely because the specified time falls
outside of time_t range.
* configure.in: (getwd): Don't check for it on unixware.
(random, rint): Don't check for these on hpux.
(res_init, libresolv): Don't check for these on darwin.
* src/s/darwin.h (HAVE_RES_INIT, HAVE_LIBRESOLV):
* src/s/hpux10-20.h (HAVE_RINT, HAVE_RANDOM):
* src/s/unixware.h (HAVE_GETWD): Move undefs to configure (effectively).
All Windows-specific code moved to src/s/ms-w32.h.
* src/s/ms-w32.h: Settings not specific to Windows moved to nt/config.nt.
Windows-specific code from nt/config.nt moved here.
Obsolete settings removed.
(wait_reading_process_output): Don't get the time of day
when gobbling data immediately and not waiting, as there's no need
for it in that case. This removes a FIXME.