* configure.ac: If both --without-x and --enable-gcc-warnings are
specified, use -Wno-unused-variable, -Wno-unused-but-set-variable
and -Wno-unused-but-set-parameter.
* src/font.c (register_font_driver): Move check under HAVE_WINDOW_SYSTEM.
* src/font.h (struct font_driver): Move draw, get_bitmap and free_bitmap
members under HAVE_WINDOW_SYSTEM.
* src/keyboard.c (make_lispy_focus_out): Likewise.
(record_menu_key): Move under HAVE_MENUS.
* src/xdisp.c (toplevel): Move hourglass_shown_p, hourglass_atimer and
THIN_SPACE_WIDTH under HAVE_WINDOW_SYSTEM.
(syms_of_xdisp): Adjust user.
(window_box_edges): Define only if HAVE_WINDOW_SYSTEM.
(start_hourglass, cancel_hourglass):
* src/xfaces.c (toplevel): Likewise with PT_PER_INCH,
clear_font_table_count, CLEAR_FONT_TABLE_COUNT
and CLEAR_FONT_TABLE_NFONTS.
(set_font_frame_param, clear_face_gcs, realize_non_ascii_face):
Declare only if HAVE_WINDOW_SYSTEM.
(lface_same_font_attributes_p, clear_face_gcs): Define only
if HAVE_WINDOW_SYSTEM.
* Makefile.in (lib): Depend on am--refresh, to avoid a race.
(src): Remove duplicate dependency on FRC.
Invoke just one submake, not two. Avoid the need for 'pwd'.
* lwlib/Makefile.in (all): Put this first. Don't use double-colon
rules, as they are not portable according to POSIX. Mark as phony.
* oldXMenu/Makefile.in (all, tags): Don't use double-colon rules, as they
are not portable according to POSIX. Mark as phony.
* src/Makefile.in (config.status): Don't use double-colon rules, as
they are not portable according to POSIX. Fix shell typo with `;
I guess this rule has never been tested?
(VCSWITNESS): New macro, to override any environment var.
This code should use XDisplayMotionBufferSize to check display's
motion history first, and there are few other issues as well.
(x_scroll_bar_note_movement): Pass XMotionEvent rather than XEvent.
(handle_one_xevent): Adjust user.
(CLIP_TEXT_POS_FROM_MARKER): New macro.
* dispnew.c (buffer_posn_from_coords):
* window.c (Fwindow_end, displayed_window_lines):
* xdisp.c (redisplay_mode_lines): Use it.
src/w32.c (term_winsock): Call release_listen_threads before calling
WSACleanup.
(_sys_wait_accept): Wait for accept event in a loop with a finite
timeout, instead of waiting indefinitely. Will hopefully avoid
hanging during exit because WSACleanup deadlocks waiting for the
event object to be released.
src/w32proc.c (release_listen_threads): New function, signals all
the reader threads that listen for connections to stop waiting.
src/w32.h (release_listen_threads): Add prototype.
to avoid duplicated code and renders more respect to newline cache.
* lisp.h (scan_newline): Prefer ptrdiff_t to EMACS_INT.
* cmds.c (Fforward_line):
* indent.c (scan_for_column, Fcurrent_indentation, indented_beyond_p):
Use find_newline and avoid unnecessary point movements.
* search.c (scan_newline): Implement on top of find_newline.
Like EMACS_TIME, this portability layer is no longer needed, since
Emacs has been using fd_set as a portability layer for some time.
* sysselect.h (FD_SETSIZE): Rename from MAXDESC. All uses changed.
(SELECT_TYPE): Remove. All uses changed to fd_set.
(fd_set) [!FD_SET]: New typedef.
This portability layer is no longer needed, since Emacs has been
using struct timespec as a portability layer for some time.
Merge from gnulib, incorporating:
2013-08-27 timespec: new convenience constants and function
* src/atimer.h, src/buffer.h, src/dispextern.h, src/xgselect.h:
Include <time.h> rather than "systime.h"; that's all that's needed now.
* src/dispnew.c: Include <timespec.h> rather than "systime.h";
that's all that's needed now.
* src/systime.h (EMACS_TIME): Remove. All uses changed to struct timespec.
(EMACS_TIME_RESOLUTION): Remove. All uses changed to
TIMESPEC_RESOLUTION.
(LOG10_EMACS_TIME_RESOLUTION): Remove. All uses changed to
LOG10_TIMESPEC_RESOLUTION.
(EMACS_SECS, emacs_secs_addr): Remove. All uses changed to tv_sec.
(EMACS_NSECS): Remove. All uses changed to tv_nsec.
(make_emacs_time): Remove. All used changed to make_timespec.
(invalid_timespec): Rename from invalid_emacs_time. All uses changed.
(current_timespec): Rename from current_emacs_time. All uses changed.
(add_emacs_time): Remove. All uses changed to timespec_add.
(sub_emacs_time): Remove. All uses change dot timespec_sub.
(EMACS_TIME_SIGN): Remove. All uses changed to timespec_sign.
(timespec_valid_p): Rename from EMACS_TIME_VALID_P. All uses changed.
(EMACS_TIME_FROM_DOUBLE): Remove. All uses changed to dtotimespec.
(EMACS_TIME_TO_DOUBLE): Remove. All uses changed to timespectod.
(current_timespec): Rename from current_emacs_time. All uses changed.
(EMACS_TIME_EQ, EMACS_TIME_LT, EMACS_TIME_LE): Remove. All uses
changed to timespec_cmp.
* src/xgselect.c: Include <timespec.h>, since our .h files don't.
* nsterm.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
Remove the leftovers.
* gtkutil.c (toplevel): Do not declare Qxft but include
font.h to do so.
* image.c (toplevel): Do not declare Vlibrary_cache because
it's already done in lisp.h.