+2014-08-09 Reuben Thomas <rrt@sc3d.org>
+
+ * process.c: Fix a comment typo.
+ * msdos.c:
+ * dosfns.c (init_dosfns): Remove support for DJGPP < 2.02.
+
+2014-08-09 Jan Djärv <jan.h.d@swipnet.se>
+
+ * widgetprv.h (EmacsFramePart): Remove font.
+
+ * widget.c (DEFAULT_FACE_FONT, EmacsFrameSetValues, setup_frame_gcs)
+ (resources, setup_frame_cursor_bits): Remove unused variables and
+ functions, esp. wrt. font (Bug#18227).
+
+2014-08-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xterm.c (x_delete_terminal): Plug file descriptor leak (Bug#17691).
+
+2014-08-07 Reuben Thomas <rrt@sc3d.org>
+
+ Refer to MS-DOS using the same name everywhere.
+
+ * editfns.c: Fix a couple of ``MS-DOG''s missed in the previous
+ commit.
+ * xfaces.c: ditto.
+
+2014-08-05 Martin Rudalics <rudalics@gmx.at>
+
+ * w32term.c (w32_redeem_scroll_bar):
+ * xterm.c (XTredeem_scroll_bar): Revert part of last change by
+ not redeeming scroll bars that have been turned off.
+
+2014-08-05 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * keyboard.c (safe_run_hooks): Follow the convenient style to bind
+ inhibit-quit to t and pass 2 args to safe_run_hook_funcall. See
+ <http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00077.html>.
+ (safe_run_hook_funcall): Adjust accordingly.
+
+2014-08-04 Martin Rudalics <rudalics@gmx.at>
+
+ * frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Condition
+ correctly according to toolkit used.
+ * frame.c (make_initial_frame, make_terminal_frame)
+ (x_set_horizontal_scroll_bars, x_set_scroll_bar_height)
+ (Vdefault_frame_horizontal_scroll_bars): Correctly condition
+ assignments according to presence of toolkit scrollbars.
+ * window.h (WINDOW_HAS_HORIZONTAL_SCROLL_BAR): Condition
+ correctly according to toolkit used.
+ * window.c (set_window_scroll_bars): Set horizontal scroll bar
+ only if toolkit supports it.
+ * w32term.c (w32_redeem_scroll_bar): Always redeem scroll bar if
+ present.
+ * xterm.c (x_scroll_bar_create): Initialize horizontal slot for
+ non-toolkit builds.
+ (XTredeem_scroll_bar): Always redeem scroll bar if present.
+
+2014-08-04 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * keyboard.c (safe_run_hook_funcall): Avoid consing around
+ Vinhibit_quit and prefer internal_condition_case_n to pass args.
+ (safe_run_hooks_error, safe_run_hooks_1): Adjust accordingly.
+ (safe_run_hooks): Remove comment which is not relevant any more.
+
+2014-08-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ Don't let big frames overrun the stack.
+ * dispnew.c (mirrored_line_dance, mirror_line_dance, scrolling):
+ Use SAFE_NALLOCA, not alloca.
+
+ Fix bug with clang + directory_files_internal + GC (Bug#16986).
+ * dired.c (directory_files_internal): Use a volatile variable
+ to prevent the compiler from optimizing away all copies of a local.
+ I wonder how many other GC-related bugs like this lurk elsewhere?
+
+ Avoid 100% CPU utilization on ssh session exit (Bug#17691).
+ * xterm.h (struct x_display_info): New member 'connection'.
+ * xterm.c (x_term_init, x_delete_terminal): Set and use it,
+ so that x_delete_terminal has a file descriptor to pass to
+ delete_keyboard_wait_descriptor.
+
+ Don't mishandle year-9999 dates (Bug#18176).
+ * editfns.c (decode_time_components): Store an invalid timespec
+ on overflow, instead of returning false, so that the caller can
+ distinguish overflow from other errors.
+ (lisp_time_argument, lisp_seconds_argument): If the time is out
+ of range, signal a time overflow instead of an invalid time spec.
+ * keyboard.c (decode_timer): Treat time overflow like other
+ timespec errors.
+
+ Avoid undefined behavior with signed left shift.
+ Caught by 'gcc -fsanitize=undefined'.
+ * dispextern.h, scroll.c (scrolling_max_lines_saved, scrolling_1):
+ * dispnew.c (line_hash_code, scrolling):
+ * scroll.c (calculate_scrolling, calculate_direct_scrolling):
+ Use 'unsigned', not 'int', for line hashes.
+ (scrolling_max_lines_saved): Avoid mystery constants for hash sizes.
+
+2014-08-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Make compare-strings more compatible with old behavior (Bug#17903).
+ * fns.c (Fcompare_strings): Silently bring too-large ends into range.
+
+2014-08-02 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (create_dialog): Force min spacing 10 between buttons.
+ Don't add label between left and right buttons (Bug#18129).
+
+2014-08-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ Make functions static that no longer need to be extern.
+ * frame.c, frame.h (set_menu_bar_lines):
+ * keyboard.c (Qleftmost, Qrightmost):
+ * xfns.c, frame.h, menu.h (x_set_menu_bar_lines, x_set_tool_bar_lines)
+ (x_set_internal_border_width):
+ Now static.
+
+2014-08-01 Eli Zaretskii <eliz@gnu.org>
+
+ Fix display of R2L lines when the last character fits only partially.
+ See http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00476.html
+ for the details.
+ * xdisp.c (extend_face_to_end_of_line): If the last glyph of an
+ R2L row is visible only partially, give the row a negative x
+ offset.
+ (display_line): Fix the calculation of the glyph whose pixel width
+ is used to decide whether the last produced glyph fits on the
+ line. When the last glyph fits only partially, give the row a
+ negative x offset.
+
+ Fix hscroll of R2L lines that begin with a TAB or another wide glyph.
+ * xdisp.c (append_stretch_glyph): In a R2L glyph row, decrease the
+ pixel width of the first glyph that is hscrolled from display.
+ (display_line): In R2L glyph rows, don't give a negative offset to
+ row->x when the first glyph begins before first_visible_x.
+
+ * xdisp.c (display_line): If called with iterator set up to write
+ to a marginal area, delay the call to handle_line_prefix until we
+ switch back to the text area. (Bug#18035)
+
+ * .gdbinit (xwindow): The members total_cols, total_lines,
+ left_col, and top_line are C integers (and has been so for the
+ last 1.5 years).
+
+2014-08-01 Andreas Schwab <schwab@suse.de>
+
+ * macros.c (Fstart_kbd_macro): Initialize kbd_macro_ptr and
+ kbd_macro_end together with kbd_macro_buffer. (Bug#18140)
+
+2014-08-01 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * atimer.c (toplevel) [HAVE_TIMERFD]: Include errno.h.
+ (timerfd_callback): Ignore weird events with no data. Add tight
+ assertions and comments.
+ (init_atimer) [HAVE_TIMERFD]: Add environment variable to optionally
+ disable timerfd-based timer. Use TFD_NONBLOCK for timer descriptor.
+
+2014-08-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * frame.c (x_set_frame_parameters): Fix typo in previous patch.
+ I had confused && with ||.
+
+2014-07-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify timerfd configuration and fix some minor glitches.
+ * atimer.c (TIMERFD_CREATE_FLAGS): Remove; we now assume TFD_CLOEXEC.
+ (alarm_timer, alarm_timer_ok, set_alarm, init_atimer):
+ Fall back on timer_create if timerfd_create fails at runtime.
+ (resolution) [HAVE_CLOCK_GETRES]: Remove; we now rely on the
+ kernel primitives to do resolution. All uses removed.
+ (timerfd) [!HAVE_TIMERFD]: Define to be -1, for convenience.
+ (turn_on_atimers): Clear timer_create-based timers too,
+ for consistency.
+
+ * frame.c (x_set_frame_parameters): Don't use uninitialized locals.
+ Without this change, the code can access the local variable 'width'
+ even when it has not been initialized, and likewise for 'height';
+ in either case this leads to undefined behavior.
+
+2014-07-30 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * xrdb.c (x_load_resources) [USE_MOTIF]: Although not strictly
+ necessary, put horizontal scroll bar resources as well. See
+ <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00430.html>.
+ * xterm.c (x_sync_with_move): Really wait 0.5s, not 0.0005s.
+
+2014-07-29 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * xrdb.c (x_load_resources) [!USE_MOTIF]: Put horizontal scroll bar
+ background value to match the resource of its vertical counterpart.
+
+2014-07-29 Martin Rudalics <rudalics@gmx.at>
+
+ * frame.c (adjust_frame_size): Use FRAME_WINDOW_P instead of
+ FRAME_X_WINDOW when calling x_set_window_size (Bug#18138).
+
+2014-07-28 Martin Rudalics <rudalics@gmx.at>
+
+ * frame.c (x_set_frame_parameters): Revert part of 2014-07-24
+ change that added the top margin height to the requested height
+ and revert (undocumented) part of 2014-07-28 change that changed
+ the logic of whether a size change occurred.
+
+2014-07-28 Eli Zaretskii <eliz@gnu.org>
+
+ * .gdbinit (xwindow): The members total_cols, total_lines,
+ left_col, and top_line are C integers (and has been so for the
+ last 1.5 years).
+
+ * .gdbinit (xsubchartable): The members 'depth' and 'min_char' are
+ now C integers.
+
+2014-07-28 Dmitry Antipov <dmantipov@yandex.ru>
+
+ On GNU/Linux, use timerfd for asynchronous timers.
+ * atimer.c (toplevel) [HAVE_TIMERFD]: Include sys/timerfd.h.
+ (toplevel): Rename alarm_timer_ok to special_timer_available.
+ [HAVE_TIMERFD]: Declare timerfd.
+ [HAVE_CLOCK_GETRES]: Declare resolution.
+ (start_atimer) [HAVE_CLOCK_GETRES]: Round up timestamp to
+ system timer resolution.
+ (set_alarm) [HAVE_TIMERFD]: Use timerfd_settime.
+ (timerfd_callback) [HAVE_TIMERFD]: New function.
+ (atimer_result, debug_timer_callback, Fdebug_timer_check)
+ [ENABLE_CHECKING]: New function for the sake of automated tests.
+ (init_atimer) [HAVE_TIMERFD]: Setup timerfd.
+ [HAVE_CLOCK_GETRES]: Likewise for system timer resolution.
+ [ENABLE_CHECKING]: Defsubr test function.
+ * atimer.h (timerfd_callback) [HAVE_TIMERFD]: Add prototype.
+ * lisp.h (add_timer_wait_descriptor) [HAVE_TIMERFD]: Likewise.
+ * process.c (add_timer_wait_descriptor) [HAVE_TIMERFD]: New function.
+
+ Fix --without-x build and pacify --enable-gcc-warnings.
+ Problems reported in Bug#18122 and Bug#18124.
+ * frame.c (get_frame_param): Define even if !HAVE_WINDOW_SYSTEM.
+ (frame_windows_min_size): Now static.
+ * frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS) [!HAVE_WINDOW_SYSTEM]:
+ Define as no-op.
+ (adjust_frame_size): Always declare prototype.
+
+ Fix Gnus-related issues reported by David Kastrup <dak@gnu.org> in
+ <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00370.html>.
+ * atimer.c (timerfd_callback): Always read expiration data.
+ Add comment.
+ (turn_on_atimers) [HAVE_TIMERFD]: Disarm timerfd timer.
+ * process.c (add_timer_wait_descriptor): Add timer descriptor
+ to input_wait_mask and non_process_wait_mask as well.
+
+2014-07-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * frame.c (x_set_frame_parameters): Don't use uninitialized locals.
+
+2014-07-27 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (applicationDidFinishLaunching antialiasThresholdDidChange):
+ Reinstate code removed by the prevoius commit to this file.
+
2014-07-27 Martin Rudalics <rudalics@gmx.at>
* buffer.h (struct buffer): New fields scroll_bar_height and
Avoid undefined behavior with huge regexp interval counts.
* regex.c (GET_INTERVAL_COUNT): Rename from 'GET_UNSIGNED_NUMBER',
since it's now specialized to interval counts. All uses changed.
- Do not assume wrapraound on signed integer overflow.
+ Do not assume wraparound on signed integer overflow.
(regex_compile): Simplify based on the above changes.
2013-12-12 Eli Zaretskii <eliz@gnu.org>