]> code.delx.au - gnu-emacs/commitdiff
Merge from emacs-24; up to 2014-06-26T06:55:15Z!rgm@gnu.org
authorGlenn Morris <rgm@gnu.org>
Mon, 28 Jul 2014 09:39:09 +0000 (05:39 -0400)
committerGlenn Morris <rgm@gnu.org>
Mon, 28 Jul 2014 09:39:09 +0000 (05:39 -0400)
13 files changed:
1  2 
doc/misc/ChangeLog
doc/misc/todo-mode.texi
etc/NEWS
lisp/ChangeLog
lisp/files.el
lisp/progmodes/prolog.el
lisp/progmodes/python.el
lisp/vc/vc-hooks.el
lisp/window.el
src/.gdbinit
src/ChangeLog
src/dispnew.c
src/window.c

index d78543183df5387d87e048d280e0be25412e06bc,0ad35d3803a7a748d2fa11b8aa7201e869112626..261f81f8b2f3d826a7fc1979813cb6df1c2f16ec
@@@ -1,9 -1,9 +1,14 @@@
 -2014-07-25  Stephen Berman  <stephen.berman@gmx.net>
++2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
+       * todo-mode.texi (Marked Items): Correct omission of item deletion
+       from commands applying to both todo and done items.
 -2014-07-04  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-18  Albert Krewinkel  <albert+gnus@zeitkraut.de>
 +
 +      * gnus.texi (Posting Styles): Document the possibility to perform
 +      string replacements when matching against headers.
 +
 +2014-07-09  Stephen Berman  <stephen.berman@gmx.net>
  
        * todo-mode.texi (Levels of Organization): Comment out statement
        that Emacs recognizes todo files by their extension, since this
Simple merge
diff --cc etc/NEWS
Simple merge
diff --cc lisp/ChangeLog
index 23e66fe3158446f457b63bfcd1f9e1c7d1a6bb0b,f68ee42680da9d92cadf0ec20407af003b5d82a4..1d00a180e9c35127f0de9d432c755b260f00c45f
 -2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
 -
 -      * doc-view.el (doc-view-open-text): Don't require that the
 -      document is saved in a file (e.g., email attachment).
 -
 -2014-07-27  Eli Zaretskii  <eliz@gnu.org>
++2014-07-28  Eli Zaretskii  <eliz@gnu.org>
+       * window.el (window--pixel-to-total): Use FRAME's root window, not
+       that of the selected frame.  (Bug#18112, Bug#16674)
 -2014-07-27  Andreas Schwab  <schwab@linux-m68k.org>
++2014-07-28  Andreas Schwab  <schwab@linux-m68k.org>
+       * textmodes/tex-mode.el (tex-font-lock-verb): Doc fix.
+       (Bug#18117)
 -2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
++2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
+       * progmodes/python.el (inferior-python-mode): Doc fix.
 -2014-07-25  Stephen Berman  <stephen.berman@gmx.net>
++2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
+       * calendar/todo-mode.el (todo-edit-item--next-key): If next key is
+       not a character, ignore it instead of raising an error.
 -2014-07-25  Stephen Berman  <stephen.berman@gmx.net>
 -
+       * calendar/todo-mode.el: Fix handling of marked items and make
+       minor code improvements.
+       (todo-edit-item): If there are marked items, ensure user can only
+       invoke editing commands that work with marked items.
+       (todo-edit-item--text): When there are marked items, make it a
+       noop if invoked with point not on an item; otherwise, ensure it
+       applies only to item at point.
+       (todo-item-undone): If there are marked not-done items, return
+       point to its original position before signaling user error.
+       (todo--user-error-if-marked-done-item): New function.
+       (todo-edit-item--header, todo-edit-item--diary-inclusion)
+       (todo-item-done): Use it.
 -2014-07-25  Glenn Morris  <rgm@gnu.org>
++2014-07-28  Glenn Morris  <rgm@gnu.org>
+       * files.el (toggle-read-only): Re-add basic doc-string.
+       * vc/vc-hooks.el (vc-toggle-read-only): Tweak obsolescence mesage.
+       * progmodes/prolog.el (prolog-mode-keybindings-edit):
+       Replace missing `switch-to-prolog' with `run-prolog'.
+       (switch-to-prolog): Define as (obsolete) alias, as in 23.4.
 -2014-07-22  Stephen Berman  <stephen.berman@gmx.net>
++2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
+       * calendar/todo-mode.el (todo-set-top-priorities): Fix overwriting
+       of file-wide setting when changing category-wide setting.
 +2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
 +
 +      * doc-view.el (doc-view-open-text): Don't require that the
 +      document is saved in a file (e.g., email attachment).
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Parse completion input in a iPython friendly way.  (Bug#18084)
 +      * progmodes/python.el
 +      (python-shell-completion-at-point): Rename from
 +      python-shell-completion-complete-at-point.
 +      (inferior-python-mode): Use it.
 +      (python-completion-at-point): Rename from
 +      python-completion-complete-at-point.  Parse input up to first
 +      backward occurrence of whitespace, open-paren, close-paren or
 +      string delimiter.
 +      (python-mode): Use it.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Prevent Python process shell buffer to pop twice.
 +      * progmodes/python.el (python-shell-switch-to-shell): Do not call
 +      pop-to-buffer.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el
 +      (python-shell-with-shell-buffer): New macro.
 +      (python-shell-font-lock-get-or-create-buffer)
 +      (python-shell-font-lock-kill-buffer)
 +      (python-shell-font-lock-with-font-lock-buffer)
 +      (python-shell-font-lock-cleanup-buffer)
 +      (python-shell-font-lock-toggle): Use it.
 +      (python-shell-font-lock-turn-on)
 +      (python-shell-font-lock-turn-off): Use it.  Make command.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Grab all Python process output before inferior-python-mode hooks.
 +      * progmodes/python.el (inferior-python-mode): Call
 +      accept-process-output and sit-for to ensure all output for process
 +      has been received before running hooks.
 +      (python-shell-internal-get-or-create-process): Cleanup
 +      accept-process-output and sit-for calls.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      More robust shell startup and code setup.
 +      * progmodes/python.el (python-shell-make-comint): Remove
 +      accept-process-output call.
 +      (python-shell-get-buffer): Return current buffer if major-mode is
 +      inferior-python-mode.
 +      (python-shell-get-or-create-process): Use it.
 +      (python-shell-send-setup-code): Send all setup code in one string,
 +      output success message and accept-process-output.
 +
 +2014-07-27  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * scroll-bar.el (scroll-bar-toolkit-horizontal-scroll): Add
 +      rudimentary support for bidirectional text.
 +
 +2014-07-27  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.el (frame-notice-user-settings): Rewrite using
 +      frame-initial-frame-tool-bar-height.
 +      * menu-bar.el (menu-bar-horizontal-scroll-bar)
 +      (menu-bar-no-horizontal-scroll-bar): New functions.
 +      (menu-bar-showhide-scroll-bar-menu): Add bindings for horizontal
 +      scroll bars.
 +      * scroll-bar.el (scroll-bar-lines)
 +      (set-horizontal-scroll-bar-mode)
 +      (get-horizontal-scroll-bar-mode, horizontal-scroll-bar-mode)
 +      (scroll-bar-horizontal-drag-1, scroll-bar-horizontal-drag)
 +      (scroll-bar-toolkit-horizontal-scroll): New functions.
 +      (horizontal-scroll-bar-mode)
 +      (previous-horizontal-scroll-bar-mode)
 +      (horizontal-scroll-bar-mode-explicit): New variables.
 +      (horizontal-scroll-bar-mode): New option.
 +      (toggle-horizontal-scroll-bar): Do something.
 +      (top-level): Bind horizontal-scroll-bar mouse-1.
 +      * startup.el (tool-bar-originally-present): Remove variable.
 +      (command-line): Don't set tool-bar-originally-present.
 +      * window.el (window-min-height): Update doc-string.
 +      (window--dump-frame): Dump horizontal scroll bar values.
 +      (window--min-size-1): Handle minibuffer window separately.
 +      Count in margins and horizontal scroll bar.  Return safe value
 +      iff IGNORE equals 'safe.
 +      (frame-windows-min-size): New function (used by frame resizing
 +      routines).
 +      (fit-frame-to-buffer, fit-window-to-buffer): Count in horizontal
 +      scroll bars.
 +      (window--sanitize-window-sizes): New function.
 +      (window-split-min-size): Remove.
 +      (split-window): Count divider-width.  Don't use
 +      `window-split-min-size' any more.  Reword error messages.
 +      Sanitize windows sizes after splitting.
 +
 +2014-07-27  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      Use `defvar-local' more.
 +      * progmodes/hideshow.el
 +      (hs-c-start-regexp, hs-block-start-regexp)
 +      (hs-block-start-mdata-select, hs-block-end-regexp)
 +      (hs-forward-sexp-func, hs-adjust-block-beginning): ...here;
 +      remove corresponding `make-variable-buffer-local' top-level calls.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Cleanup error signals.  (Bug#18067)
 +      * progmodes/python.el
 +      (python-indent-shift-left): Use user-error instead.
 +      (python-shell-prompt-detect): Use lwarn with python group.
 +      (python-completion-complete-at-point)
 +      (python-eldoc--get-doc-at-point): Don't signal error.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Support for packages in Python shell.  (Bug#13570)
 +      * progmodes/python.el (python-shell--package-depth): New var.
 +      (python-shell-package-enable): New command.
 +      (python-util-list-directories, python-util-list-files)
 +      (python-util-list-packages): New functions.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Faster comint output.  (Bug#16875)
 +      * progmodes/python.el:
 +      (python-comint-output-filter-function): Make obsolete.
 +      (python-comint-postoutput-scroll-to-bottom): New function.
 +      (inferior-python-mode): Set comint-output-filter-functions to a
 +      minimum.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el (python-shell-font-lock-post-command-hook):
 +      Safeguard current point and undo history.
 +
 +2014-07-26  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Robust shell syntax highlighting.  (Bug#18084, Bug#16875)
 +      * progmodes/python.el:
 +      (python-shell-prompt-input-regexps): Add iPython block prompt.
 +      (python-shell-output-syntax-table): Delete var.
 +      (python-shell-font-lock-with-font-lock-buffer): New macro.
 +      (python-shell-font-lock-get-or-create-buffer)
 +      (python-shell-font-lock-kill-buffer)
 +      (python-shell-font-lock-cleanup-buffer)
 +      (python-shell-font-lock-post-command-hook)
 +      (python-shell-font-lock-turn-off): New functions.
 +      (python-shell-font-lock-turn-on): New function.
 +      (inferior-python-mode): Use it.
 +      (python-shell-font-lock-toggle): New command.
 +      (python-shell-font-lock-enable): Rename from
 +      python-shell-enable-font-lock.
 +      (run-python-internal): Use it.
 +      (python-shell-font-lock-comint-output-filter-function): New function.
 +      (python-shell-comint-end-of-output-p): New function.
 +      (python-shell-output-filter): Use it.
 +      (python-util-comint-last-prompt): New function.
 +      (python-util-text-properties-replace-name): New function.
 +
 +2014-07-25  Glenn Morris  <rgm@gnu.org>
 +
 +      * vc/ediff-init.el (ediff-toggle-read-only-function):
 +      * vc/ediff-util.el (ediff-toggle-read-only):
 +      Replace obsolete toggle-read-only with read-only-mode.
 +
 +2014-07-24  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-cache.el (tramp-flush-file-function): Wrap the code
 +      with `save-match-data'.  (Bug#18095)
 +
 +2014-07-21  Vincent Belaïche  <vincentb1@users.sourceforge.net>
 +
 +      * ses.el (ses-truncate-cell): Use cl-progv instead of eval in
 +      order to ensure that row and col are lexically bound inside the
 +      evaluated sexp.
 +
  2014-07-21  Glenn Morris  <rgm@gnu.org>
  
        * progmodes/hideif.el (hide-ifdef-mode-submap):
diff --cc lisp/files.el
Simple merge
Simple merge
index 7d882837abc7b98d08fa30cf118fb83683bb00df,60121ac6b41df13f45324d0b6e96bf9eee8290dd..b08da8da029631ed6cc3a6b83bb38359123f16ef
@@@ -2329,10 -2121,9 +2329,9 @@@ interpreter is run.  Variable
  `python-shell-prompt-regexp',
  `python-shell-prompt-output-regexp',
  `python-shell-prompt-block-regexp',
 -`python-shell-enable-font-lock',
 +`python-shell-font-lock-enable',
  `python-shell-completion-setup-code',
  `python-shell-completion-string-code',
- `python-shell-completion-module-string-code',
  `python-eldoc-setup-code', `python-eldoc-string-code',
  `python-ffap-setup-code' and `python-ffap-string-code' can
  customize this mode for different Python interpreters.
Simple merge
diff --cc lisp/window.el
Simple merge
diff --cc src/.gdbinit
Simple merge
diff --cc src/ChangeLog
index f74a46c4ad23147b0a0367b891d47af234ee1424,619efb479e6ab7d6e1339c8b7dcb9013830a55be..57d49594d7acf9a8ca7fd1e844dda160a2a9f7ba
  2014-07-28  Eli Zaretskii  <eliz@gnu.org>
  
 -2014-07-20  Jan Djärv  <jan.h.d@swipnet.se>
+       * .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.
 +
 +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
 +      horizontal_scroll_bar_type.
 +      * buffer.c (bset_scroll_bar_height)
 +      (bset_horizontal_scroll_bar_type): New functions.
 +      (Fbuffer_swap_text): Handle old_pointm field.
 +      (init_buffer_once): Set defaults for scroll_bar_height and
 +      horizontal_scroll_bar_type.
 +      (syms_of_buffer): New variables scroll_bar_height and
 +      horizontal_scroll_bar_type.
 +      * dispextern.h (window_part): Rename ON_SCROLL_BAR to
 +      ON_VERTICAL_SCROLL_BAR.  Add ON_HORIZONTAL_SCROLL_BAR.
 +      (set_vertical_scroll_bar): Remove prototype.
 +      (x_change_tool_bar_height): Add prototype.
 +      * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
 +      (window_to_frame_vpos, update_frame_1, scrolling, init_display):
 +      Use FRAME_TOTAL_COLS and FRAME_TOTAL_LINES instead of FRAME_COLS
 +      and FRAME_LINES.
 +      (adjust_frame_glyphs_for_window_redisplay): Rearrange lines.
 +      (update_window): Start mode_line_row->y after horizontal scroll
 +      bar.
 +      (change_frame_size_1): Call adjust_frame_size.
 +      (init_display): When changing the size of a tty frame do not
 +      pass height of menu bar.
 +      (Qframe_windows_min_size): New symbol.
 +      * frame.h (struct frame): List tool bar fields after menu bar
 +      fields.  Add official, total_lines, horizontal_scroll_bars,
 +      config_scroll_bar_height and config_scroll_bar_lines fields.
 +      (FRAME_HAS_HORIZONTAL_SCROLL_BARS)
 +      (FRAME_CONFIG_SCROLL_BAR_HEIGHT, FRAME_CONFIG_SCROLL_BAR_LINES)
 +      (FRAME_SCROLL_BAR_AREA_HEIGHT, FRAME_SCROLL_BAR_COLS)
 +      (FRAME_SCROLL_BAR_LINES, FRAME_TOTAL_LINES, SET_FRAME_LINES)
 +      (FRAME_WINDOWS_HEIGHT): New macros.
 +      (SET_FRAME_HEIGHT, FRAME_TEXT_LINES_TO_PIXEL_HEIGHT)
 +      (FRAME_PIXEL_Y_TO_LINE, FRAME_PIXEL_HEIGHT_TO_TEXT_LINES)
 +      (FRAME_TEXT_TO_PIXEL_HEIGHT): Separately count top margin and
 +      horizontal scroll bar.
 +      (frame_inhibit_resize, adjust_frame_size)
 +      (frame_windows_min_size): Add declarations.
 +      (Qscroll_bar_height, Qhorizontal_scroll_bars)
 +      (x_set_scroll_bar_default_height, x_set_left_fringe)
 +      (x_set_right_fringe, x_set_vertical_scroll_bars)
 +      (x_set_horizontal_scroll_bars, x_set_scroll_bar_width)
 +      (x_set_scroll_bar_height): Add external declarations.
 +      * frame.c: (frame_inhibit_resize, frame_windows_min_size)
 +      (adjust_frame_size): New functions.
 +      (make_frame): Initial horizontal_scroll_bars field.  Use
 +      SET_FRAME_LINES.  Don't allow horizontal scroll bar in
 +      minibuffer window.
 +      (make_initial_frame, make_terminal_frame): No horizontal scroll
 +      bar in initial and terminal frames.  Use adjust_frame_size.
 +      (Fframe_total_cols): Fix doc-string.
 +      (Fframe_total_lines, Fscroll_bar_height): New Lisp functions.
 +      (Fset_frame_height, Fset_frame_width, Fset_frame_size): Rewrite
 +      using adjust_frame_size.
 +      (Qscroll_bar_height, Qhorizontal_scroll_bars)
 +      (Qframe_windows_min_size): New symbols.
 +      (x_set_frame_parameters): Remove call of check_frame_size.
 +      (x_report_frame_params): Return scroll_bar_height value.
 +      (x_set_left_fringe, x_set_right_fringe): New functions.
 +      (adjust_frame_height, x_set_internal_border_width)
 +      (x_set_fringe_width): Remove.
 +      (x_set_internal_border_width, x_set_vertical_scroll_bars)
 +      (x_set_scroll_bar_width, x_set_right_divider_width)
 +      (x_set_bottom_divider_width): Rewrite using adjust_frame_size.
 +      (x_set_horizontal_scroll_bars, x_set_scroll_bar_height): New
 +      functions.
 +      (x_figure_window_size): Rewrite to make frame display the
 +      expected number of lines.
 +      (Vdefault_frame_scroll_bars): Rewrite doc-string.
 +      (Vdefault_frame_horizontal_scroll_bars)
 +      (Vframe_initial_frame_tool_bar_height)
 +      (frame_inhibit_implied_resize): New variables.
 +      * fringe.c (compute_fringe_widths): Remove.
 +      * gtkutil.h (YG_SB_MIN, YG_SB_MAX, YG_SB_RANGE): Define.
 +      (xg_create_horizontal_scroll_bar)
 +      (xg_update_horizontal_scrollbar_pos)
 +      (xg_set_toolkit_horizontal_scroll_bar_thumb)
 +      (xg_get_default_scrollbar_height)
 +      (xg_clear_under_internal_border): Extern.
 +      * gtkutil.c (xg_frame_resized): Don't call
 +      do_pending_window_change.
 +      (xg_frame_set_char_size): Use adjust_frame_size.
 +      (style_changed_cb): Call update_theme_scrollbar_height and
 +      x_set_scroll_bar_default_height.
 +      (x_wm_set_size_hint): Don't call check_frame_size.
 +      (update_theme_scrollbar_height)
 +      (xg_get_default_scrollbar_height)
 +      (xg_create_horizontal_scroll_bar)
 +      (xg_update_horizontal_scrollbar_pos)
 +      (xg_set_toolkit_horizontal_scroll_bar_thumb): New functions.
 +      (xg_create_scroll_bar): Set horizontal slot of bar.
 +      (xg_initialize): Call update_theme_scrollbar_height.
 +      (xg_clear_under_internal_border): No more static.
 +      * insdel.c (adjust_suspend_auto_hscroll): New function.
 +      (adjust_markers_for_delete, adjust_markers_for_insert)
 +      (adjust_markers_for_replace): Call adjust_suspend_auto_hscroll.
 +      * keyboard.c (readable_events, discard_mouse_events)
 +      (make_lispy_event): Handle horizontal scroll bar click events.
 +      (Fsuspend_emacs): When changing the size of a tty frame do not
 +      pass height of menu bar.
 +      (Qbefore_handle, Qhorizontal_handle, Qafter_handle, Qleft)
 +      (Qright, Qleftmost, Qrightmost): New symbols.
 +      * menu.c (Fx_popup_dialog): Use FRAME_TOTAL_LINES instead of
 +      FRAME_LINES.
 +      * minibuf.c (read_minibuf): Initialize suspend_auto_hscroll.
 +      * nsfns.m (x_set_internal_border_width): New function.
 +      * nsterm.m (ns_draw_fringe_bitmap, ns_set_vertical_scroll_bar):
 +      Remove extended fringe code.
 +      (x_set_window_size, x_new_font): Don't call
 +      compute_fringe_widths.
 +      * term.c (Fresume_tty): When changing the size of a tty frame do
 +      not pass height of menu bar.
 +      (clear_tty_hooks, set_tty_hooks): Clear
 +      horizontal_scroll_bar_hook.
 +      (init_tty): Frame has no horizontal scroll bars.
 +      * termhooks.h (enum scroll_bar_part): Add scroll_bar_move_ratio,
 +      scroll_bar_before_handle, scroll_bar_horizontal_handle,
 +      scroll_bar_after_handle, scroll_bar_left_arrow,
 +      scroll_bar_right_arrow, scroll_bar_to_leftmost and
 +      scroll_bar_to_rightmost entries.
 +      (enum event_kind): Add HORIZONTAL_SCROLL_BAR_CLICK_EVENT
 +      (struct terminal): Add set_horizontal_scroll_bar_hook.
 +      * w32console.c (initialize_w32_display): Clear
 +      horizontal_scroll_bar_hook.
 +      * w32fns.c (x_set_mouse_color): Use FRAME_W32_DISPLAY instead of
 +      FRAME_X_DISPLAY.
 +      (x_clear_under_internal_border, x_set_internal_border_width):
 +      New functions.
 +      (x_set_menu_bar_lines): Rewrite using frame_inhibit_resize.  Set
 +      windows_or_buffers_changed when adding the menu bar.
 +      (x_set_tool_bar_lines): Rewrite using adjust_frame_size.
 +      (x_change_tool_bar_height, x_set_scroll_bar_default_height)
 +      (w32_createhscrollbar): New functions.
 +      (w32_createscrollbar): Rename to w32_createvscrollbar.
 +      (w32_createwindow): Init WND_HSCROLLBAR_INDEX.
 +      (w32_name_of_message): Replace WM_EMACS_CREATESCROLLBAR by
 +      WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR.  Add
 +      WM_EMACS_SHOWCURSOR.
 +      (w32_wnd_proc): Handle WM_HSCROLL case.  In WM_WINDOWPOSCHANGING
 +      case do not artificially impose WM size hints.  Handle
 +      WM_EMACS_SHOWCURSOR case.  Replace WM_EMACS_CREATESCROLLBAR case
 +      by WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR
 +      cases.
 +      (my_create_tip_window): Replace WND_SCROLLBAR_INDEX by
 +      WND_VSCROLLBAR_INDEX and WND_HSCROLLBAR_INDEX.
 +      (unwind_create_frame_1): Remove.
 +      (Fx_create_frame): Make both scrollbars the system standard
 +      width and height.  Use official field of frame structure to
 +      inhibit running window-configuration-change-hook.
 +      (x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
 +      pixelwise.  Handle frame's official field.
 +      (w32_frame_parm_handlers): Remove x_set_fringe_width
 +      entries. Add x_set_scroll_bar_height,
 +      x_set_horizontal_scroll_bars, x_set_left_fringe and
 +      x_set_right_fringe.
 +      * w32inevt.c (resize_event, maybe_generate_resize_event): Do not
 +      pass height of menu bar to change_frame_size.
 +      * w32menu.c (set_frame_menubar): Rewrite using
 +      frame_inhibit_resize.
 +      * w32term.h (struct w32_display_info): Add
 +      horizontal_scroll_bar_cursor and cursor_display_counter.
 +      (struct scroll_bar): Add horizontal.
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
 +      (HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH)
 +      (HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_TOP_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_MIN_HANDLE): New macros.
 +      (WM_EMACS_CREATEVSCROLLBAR, WM_EMACS_CREATEHSCROLLBAR): Define
 +      instead of WM_EMACS_CREATESCROLLBAR.
 +      (WND_VSCROLLBAR_INDEX, WND_HSCROLLBAR_INDEX): Define instead of
 +      WND_SCROLLBAR_INDEX.
 +      * w32term.c (horizontal_scroll_bar_min_handle)
 +      (horizontal_scroll_bar_left_border)
 +      (horizontal_scroll_bar_right_border): New integers.
 +      (x_set_frame_alpha): Replace x_highlight_frame by
 +      w32_focus_frame.
 +      (x_window_to_scroll_bar): New argument "type".  Update callers
 +      accordingly.
 +      (w32_set_horizontal_scroll_bar_thumb)
 +      (x_horizontal_scroll_bar_report_motion)
 +      (w32_set_horizontal_scroll_bar)
 +      (w32_horizontal_scroll_bar_handle_click)
 +      (x_horizontal_scroll_bar_report_motion): New functions.
 +      (w32_mouse_position): Discriminate horizontal and vertical
 +      scrollbar cases.
 +      (my_create_scrollbar): Replace with two new functions
 +      my_create_vscrollbar and my_create_hscrollbar.
 +      (x_scroll_bar_create): New argument "horizontal".  Update
 +      callers accordingly.
 +      (x_scroll_bar_remove, w32_condemn_scroll_bars)
 +      (w32_redeem_scroll_bar, x_scroll_bar_clear): Handle horizontal
 +      scroll bar case.
 +      (w32_read_socket): Handle WM_HSCROLL cae.
 +      (x_new_font): Don't recompute fringe widths.  Use
 +      frame_inhibit_resize.  Calculate new menu bar height iff we
 +      build without toolkit.  Always clear under internal border.
 +      (x_set_window_size): Don't check frame size or recompute
 +      fringes.  Reset fullscreen status before applying sizes.  Always
 +      resize as requested by pixelwise argument.  Don't call
 +      do_pending_window_change.
 +      (x_wm_set_size_hint): Add call for FRAME_SCROLL_BAR_AREA_HEIGHT.
 +      (w32_initialize_display_info): Initialize dpyinfo's
 +      horizontal_scroll_bar_cursor entry.
 +      (w32_create_terminal): Add set_horizontal_scroll_bar_hook.
 +      (w32_initialize): Init horizontal_scroll_bar_min_handle and
 +      horizontal_scroll_bar_left_border.
 +      (w32fullscreen_hook): Intermittently resize window to normal
 +      when switching from fullscreen to maximized state.
 +      (run_window_configuration_change_hook): Don't run it if frame is
 +      not official yet.
 +      (unwind_change_frame): Remove.
 +      (Fset_window_configuration): Rewrite using frame's official field.
 +      * widget.c (set_frame_size): Don't call compute_fringe_widths.
 +      (EmacsFrameSetCharSize): Obey frame_inhibit_resize.
 +      * window.h (struct window): New fields old_pointm,
 +      horizontal_scroll_bar, horizontal_scroll_bar_type, hscroll_whole,
 +      scroll_bar_height and suspend_auto_hscroll.
 +      (wset_horizontal_scroll_bar, wset_horizontal_scroll_bar_type):
 +      New functions.
 +      (sanitize_window_sizes): Extern.
 +      (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P, WINDOW_PSEUDO_P)
 +      (WINDOW_TOPMOST_P, WINDOW_HAS_HORIZONTAL_SCROLL_BAR)
 +      (WINDOW_CONFIG_SCROLL_BAR_HEIGHT)
 +      (WINDOW_CONFIG_SCROLL_BAR_LINES)
 +      (WINDOW_SCROLL_BAR_LINES, WINDOW_SCROLL_BAR_AREA_HEIGHT): New
 +      macros.
 +      (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
 +      (WINDOW_FRINGE_COLS, WINDOW_FRINGE_EXTENDED_P): Remove macros.
 +      (WINDOW_VERTICAL_SCROLL_BAR_TYPE)
 +      (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
 +      (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
 +      (WINDOW_HAS_VERTICAL_SCROLL_BAR): Minor rewrite.
 +      (WINDOW_BOX_HEIGHT_NO_MODE_LINE, WINDOW_BOX_TEXT_HEIGHT)
 +      (WINDOW_SCROLL_BAR_AREA_Y): Count in scroll bar height.
 +      * window.c (wset_old_pointm, Fwindow_scroll_bar_height)
 +      (Fwindow_old_point, sanitize_window_sizes): New functions.
 +      (Qwindow_sanitize_window_sizes): New symbol.
 +      (window_body_height): Count in horizontal scroll bar.
 +      (set_window_hscroll, Fscroll_left, Fscroll_right): Set
 +      suspend_auto_hscroll slot.
 +      (Fwindow_inside_edges): Count fringes pixelwise.
 +      (coordinates_in_window, Fcoordinates_in_window_p): Consider
 +      horizontal scroll bar.
 +      (check_frame_size, adjust_window_margins): Remove functions and
 +      corresponding calls.
 +      (set_window_buffer): Initialize old_pointm and horizontal scroll
 +      bars.
 +      (temp_output_buffer_show): Reset hscroll related fields.
 +      Initialize old_pointm.
 +      (make_parent_window): Initialize old_pointm.
 +      (make_window): Initialize old_pointm, horizontal scroll bar type,
 +      and scroll bar height.
 +      (resize_frame_windows): Don't count top margin in new sizes.
 +      Don't use safe sizes when shrinking a frame; let the window
 +      manager do the clipping.
 +      (Fsplit_window_internal): Inherit horizontal scroll bar type and
 +      height.
 +      (Fdelete_window_internal): Unchain old_pointm marker.
 +      (window_scroll_pixel_based, Fscroll_other_window): Adjust
 +      old_pointm.
 +      (Fwindow_text_width, Fwindow_text_height): New argument
 +      "pixelwise".
 +      (struct saved_window): New fields, old_pointm, hscroll_whole,
 +      suspend_auto_hscroll, scroll_bar_height and
 +      horizontal_scroll_bar_type.
 +      (Fset_window_configuration, save_window_save): Set new fields of
 +      saved_window.
 +      (apply_window_adjustment): Don't call adjust_window_margins.
 +      (set_window_margins): Don't change margins if new sizes don't
 +      fit into window.
 +      (set_window_scroll_bars): New argument "horizontal_type".
 +      Handle horizontal scroll bars.  Don't change scroll bars if they
 +      don't fit into window.
 +      (Fset_window_scroll_bars): New argument "horizontal_type".
 +      (Fwindow_scroll_bars): Return values for horizontal scroll bars.
 +      (compare_window_configurations): Compare horizontal scroll bar
 +      settings.
 +      * xdisp.c (window_text_bottom_y, window_box_height): Count in
 +      horizontal scroll bar height.
 +      (pixel_to_glyph_coords, init_xdisp): Use FRAME_TOTAL_LINES
 +      instead of FRAME_LINES.
 +      (remember_mouse_glyph): Case ON_SCROLL_BAR changed to
 +      ON_VERTICAL_SCROLL_BAR.
 +      (with_echo_area_buffer): Initialize old_pointm.
 +      (with_echo_area_buffer_unwind_data): Store old_pointm values in
 +      vector.
 +      (unwind_with_echo_area_buffer): Handle old_pointm.
 +      (update_tool_bar): Set do_update when the tool bar window has at
 +      least one line (since this is what the user sets).
 +      (MAX_FRAME_TOOL_BAR_HEIGHT): Remove macro.
 +      (redisplay_tool_bar): Return early when toolbar has zero lines.
 +      Call x_change_tool_bar_height.  Don't use max_tool_bar_height.
 +      (hscroll_window_tree): Handle suspension of auto_hscroll and
 +      old_pointm.
 +      (set_horizontal_scroll_bar): New function.
 +      (redisplay_window): Set ignore_mouse_drag_p when tool bar has
 +      more than one line.  Handle horizontal scroll bars.
 +      (note_mouse_highlight): Handle horizontal scrol bars.
 +      (expose_frame): Set dimensions of XRectangle from frame's text
 +      sizes.
 +      (Vvoid_text_area_pointer): Update doc-string.
 +      * xfns.c (x_set_menu_bar_lines): Use adjust_frame_size.
 +      (x_change_tool_bar_height, x_set_scroll_bar_default_height)
 +      (x_set_internal_border_width): New functions.
 +      (x_set_tool_bar_lines): Call x_change_tool_bar_height.
 +      (unwind_create_frame_1): Remove.
 +      (Fx_create_frame): Handle horizontal scroll bars.  Use official
 +      field of frame structure to inhibit running
 +      window-configuration-change-hook.
 +      (x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
 +      pixelwise.  Handle frame's official field.
 +      (x_frame_parm_handlers): Add x_set_scroll_bar_height,
 +      x_set_horizontal_scroll_bars, x_set_left_fringe,
 +      x_set_right_fringe.
 +      * xmenu.c (update_frame_menubar, free_frame_menubar): Use
 +      adjust_frame_size.
 +      * xterm.h (struct x_display_info): Add
 +      horizontal_scroll_bar_cursor and Xatom_Horizontal_Scrollbar
 +      slots.
 +      (struct scroll_bar): Add horizontal slot.
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
 +      (HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH): New macros.
 +      (HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_TOP_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_MIN_HANDLE): Define.
 +      (x_clear_under_internal_border): Remove.
 +      * xterm.c (XTmouse_position): Handle horizontal scroll bars.
 +      (x_window_to_scroll_bar): New argument TYPE.  Update callers.
 +      (x_send_scroll_bar_event, x_scroll_bar_create): New arguments
 +      HORIZONTAL.  Update callers.
 +      (horizontal_action_hook_id): New action hook id.
 +      (x_horizontal_scroll_bar_to_input_event)
 +      (x_create_horizontal_toolkit_scroll_bar)
 +      (xt_horizontal_action_hook)
 +      (x_set_toolkit_horizontal_scroll_bar_thumb)
 +      (XTset_horizontal_scroll_bar, x_net_wm_state)
 +      (x_horizontal_scroll_bar_report_motion): New functions.
 +      (xg_scroll_callback, x_scroll_bar_handle_click): Handle
 +      horizontal scroll bars.
 +      (SCROLL_BAR_HORIZONTAL_NAME): Define.
 +      (XTset_vertical_scroll_bar): Attempt to clear areas not covered
 +      by scroll bar.
 +      (XTcondemn_scroll_bars, XTredeem_scroll_bar): Rewrite.  Handle
 +      horizontal scroll bars.
 +      (handle_one_xevent): Handle horizontal scroll bar events.  Call
 +      x_net_wm_state.
 +      (x_set_window_size_1, x_wm_set_size_hint): Don't call
 +      check_frame_size.
 +      (x_set_window_size): Don't call check_frame_size and
 +      do_pending_window_change.
 +      (x_term_init): Init horizontal_scroll_bar_cursor display info.
 +      (x_create_terminal): Add set_horizontal_scroll_bar_hook.
 +      (x_scroll_bar_set_handle): Add some checks when calling
 +      x_clear_area.
 +
 +2014-07-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Revert previous change.
 +      There is certainly nothing wrong with writing code like 'lo <= i
 +      && i <= hi', even if LO happens to a constant.  There isn't even
 +      anything wrong in general with writing 'a <= b' if A happens to
 +      be a constant.  At any rate stylistic changes shouldn't
 +      be done like this without discussion.
 +
 +2014-07-26  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * alloc.c (xnmalloc, xnrealloc, xpalloc, make_save_value)
 +      (Fgarbage_collect): Reorder conditions that are written backwards.
 +      * data.c (cons_to_unsigned): Likewise.
 +      * dispnew.c (update_frame_1, sit_for): Likewise.
 +      * fileio.c (file_offset): Likewise.
 +      * filelock.c (read_lock_data, lock_file): Likewise.
 +      * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
 +      Likewise.
 +      * font.c (font_intern_prop, font_style_symbolic): Likewise.
 +      * lisp.h (FIXNUM_OVERFLOW_P): Likewise.
 +      * lread.c (read1): Likewise.
 +      * minibuf.c (read_minibuf_noninteractive): Likewise.
 +      * nsterm.m (x_set_frame_alpha): Likewise.
 +      * process.c (wait_reading_process_output): Likewise.
 +      * region-cache.c (delete_cache_boundaries): Likewise.
 +      * xterm.c (x_set_frame_alpha): Likewise.
 +
 +2014-07-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * dispextern.h, xdisp.c (hourglass_shown_p, hourglass_atimer):
 +      Now static.
 +
 +2014-07-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * atimer.c (set_alarm) [HAVE_ITIMERSPEC]: Use TIMER_ABSTIME
 +      because atimer expiration is absolute rather than relative.
 +
 +2014-07-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32term.h (current_popup_menu, menubar_in_use): Move
 +      declarations from w32term.c.
 +
 +2014-07-25  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * w32fns.c (menubar_in_use): No more static.
 +      * w32term.c (current_popup_menu, menubar_in_use): Declare.
 +
 +2014-07-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Move hourglass machinery to RIF.
 +      * dispextern.h (struct redisplay_interface): New members
 +      show_hourglass and hide_hourglass.  Indent comments.
 +      (show_hourglass, hide_hourglass): Remove prototypes.
 +      * nsterm.m (show_hourgass, hide_hourglass): Refactor to ...
 +      (ns_show_hourglass, ns_hide_hourglass): ... new no-ops.
 +      (ns_redisplay_interface): Add them.
 +      * w32fns.c (show_hourglass, hide_hourglass): Refactor to ...
 +      * w32term.c (w32_show_hourglass, w32_hide_hourglass): ... these.
 +      (w32_arrow_cursor): New function to hack around non-GUI frames.
 +      (w32_redisplay_interface): Add new functions.
 +      * w32term.h (w32_arror_cursor): Add prototype.
 +      * xdisp.c (show_hourglass): New function, refactored out from
 +      platform-dependent code.
 +      (cancel_hourglass): Now call to RIF function.
 +      * xfns.c (show_hourglass, hide_hourglass): Refactor to ...
 +      * xterm.c (x_show_hourglass, x_hide_hourglass): ... these.
 +      (x_redisplay_interface): Add new functions.
 +
 +2014-07-24  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix error reported by Angelo Graziosi <angelo.graziosi@alice.it> in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00274.html>
 +      and complete previous change.
 +      * frame.c (adjust_frame_height): New function.
 +      (Fset_frame_height, Fset_frame_size): Use it.
 +      (x_set_frame_parameters): Take frame top margin into account.
 +
 +2014-07-23  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * frame.c (Fset_frame_height): Take frame top margin into account.
 +      Incorrect behavior was reported by Martin Rudalics <rudalics@gmx.at> in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00258.html>
 +
 +2014-07-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xterm.h (struct x_output) [USE_X_TOOLKIT || USE_GTK]: Define
 +      menubar_height as such.  Tweak comment.
 +      [USE_LUCID && USE_TOOLKIT_SCROLL_BARS]: Likewise for
 +      scroll_bar_top_shadow_pixel and scroll_bar_bottom_shadow_pixel.
 +      All related users changed.
 +      (FRAME_MENUBAR_HEIGHT) [!USE_X_TOOLKIT && !USE_GTK]: No-op.
 +      * xterm.c (handle_one_xevent):
 +      * gtkutil.c (xg_event_is_for_menubar):
 +      * xfns.c (x_window) [USE_X_TOOLKIT]:
 +      * xmenu.c (set_frame_menubar, free_frame_menubar): Prefer
 +      to use FRAME_MENUBAR_HEIGHT.
 +
 +2014-07-21  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * frame.c (Fframe_parameters): Always report frame height without
 +      menu and tool bar lines.
 +
 +2014-07-21  Jan Djärv  <jan.h.d@swipnet.se>
  
        * nsterm.m (applicationDidFinishLaunching:): Call
        antialiasThresholdDidChange, register for antialias changes (Bug#17534).
diff --cc src/dispnew.c
Simple merge
diff --cc src/window.c
Simple merge