1. 01 Jan, 2015 1 commit
  2. 18 Dec, 2014 1 commit
  3. 15 Nov, 2014 1 commit
  4. 03 Nov, 2014 1 commit
  5. 29 Sep, 2014 1 commit
    • Eli Zaretskii's avatar
      Fix bug #18545 with lack of scrolling a window when point goes out of view. · 5bb6d037
      Eli Zaretskii authored
       src/xdisp.c (cursor_row_fully_visible_p): Update commentary.
       (redisplay_window): Treat the frame's frozen_window_starts flag
       the same way as the optional_new_start flag for the window: only
       obey it if the glyph row showing point will be fully visible.
       Likewise when the window start is in a continuation line.  If,
       after trying everything under the 'force_start' label, point is
       still not fully visible, give up and scroll the window.  Add
       debugging traces.
       src/window.c (Frecenter): Set the window's redisplay flag.
      5bb6d037
  6. 11 Sep, 2014 1 commit
  7. 09 Aug, 2014 1 commit
  8. 08 Aug, 2014 1 commit
    • Martin Rudalics's avatar
      Fix some doc-strings in window.c (Bug#18112) (Bug#18194). · 8faa5ee7
      Martin Rudalics authored
      * window.c (Fwindow_valid_p): Fix doc-string (Bug#18194).
      (Fwindow_new_total, Fwindow_normal_size, Fwindow_new_normal)
      (Fwindow_new_pixel, Fset_window_new_pixel)
      (Fset_window_new_total, Fset_window_new_normal)
      (Fwindow_resize_apply): Fix doc-strings (see Bug#18112).
      8faa5ee7
  9. 27 Jul, 2014 1 commit
  10. 04 Jul, 2014 1 commit
    • Eli Zaretskii's avatar
      Fix bug #17905 with display of point in partially visible line at end of window. · 5b5953c0
      Eli Zaretskii authored
       src/xdisp.c (redisplay_window): If redisplay of a window ends up
       with point in a partially visible line at end of the window, make
       sure the amended position of point actually has smaller Y
       coordinate; if not, give up and scroll the display.
       src/window.c (window_scroll_pixel_based): When point ends up at the
       last fully visible line, don't let move_it_to stop at the left
       edge of the line and dupe us into thinking point is inside the
       scroll margin.
      5b5953c0
  11. 16 Apr, 2014 1 commit
  12. 07 Mar, 2014 1 commit
    • Martin Rudalics's avatar
      Update docs for select-window and buffer-list-update-hook. · 2c6053e8
      Martin Rudalics authored
      * buffer.c (Vbuffer_list_update_hook): Doc-string fix.
      * window.c (Fselect_window): Explain NORECORD and
      `buffer-list-update-hook' in doc-string.
      * buffers.texi (The Buffer List): Rename node to Buffer List.
      Describe `buffer-list-update-hook'.
      * elisp.texi (Top): "The Buffer List" renamed to "Buffer List".
      Add node for Window Dividers.
      * hooks.texi (Standard Hooks): Add reference to
      `buffer-list-update-hook'.
      * windows.texi (Selecting Windows): Update description of
      `select-window'.
      2c6053e8
  13. 06 Mar, 2014 1 commit
    • Martin Rudalics's avatar
      More window code related fixes and documentation changes. · cac0a1d6
      Martin Rudalics authored
      * window.c (Fother_window_for_scrolling): Check that
      Vother_window_scroll_buffer is a buffer.
      * window.el (fit-frame-to-buffer, fit-frame-to-buffer-margins):
      Fix doc-strings.
      (fit-frame-to-buffer): New argument ONLY.  Remove dependency on
      fit-frame-to-buffer variable.  Fix doc-string.
      (fit-window-to-buffer): Set ONLY argument in call of
      fit-frame-to-buffer.  Fix doc-string.
      * frames.texi (Size and Position): Rewrite entries for
      `fit-frame-to-buffer' and `fit-frame-to-buffer-margins'.  Add
      description for `fit-frame-to-buffer-sizes'.
      * windows.texi (Resizing Windows): Add descriptions for
      pixelwise resizing.  Add entries for `window-resize-pixelwise'
      and `fit-window-to-buffer-horizontally'.  Rewrite
      `fit-window-to-buffer' entry.
      cac0a1d6
  14. 05 Mar, 2014 1 commit
    • Martin Rudalics's avatar
      Various window code related fixes and documentation changes. · e1a2cb1c
      Martin Rudalics authored
      * dispnew.c (change_frame_size_1): Add new_lines instead of
      new_height, the latter may be still zero if passed as such.
      * window.c (Fwindow_pixel_height): Mention bottom divider in
      doc-string.
      * window.el (window-min-height, window-min-width): Rewrite
      doc-strings.
      (window-body-size): Add PIXELWISE argument to make it consistent
      with its callees.
      * display.texi (Window Dividers): New section.
      * frames.texi (Layout Parameters): Add right-divider-width and
      bottom-divider-width.
      * windows.texi (Window Sizes): Redraw schematic and rewrite its
      description.  Rewrite descriptions of `window-total-height',
      `window-total-width', `window-total-size', `window-body-height',
      `window-body-width' and `window-size-fixed'.  Add descriptions
      for `window-pixel-height', `window-pixel-width',
      `window-min-height' and `window-min-width'.  Remove description
      of `window-size-fixed-p' moving part of it to that of
      `window-size-fixed'.
      (Resizing Windows): Mention dividers when talking about minimum
      sizes.
      e1a2cb1c
  15. 01 Mar, 2014 1 commit
  16. 27 Feb, 2014 1 commit
    • Martin Rudalics's avatar
      More fixes for mouse glyph calculations (Bug#16647). · 653b6ea3
      Martin Rudalics authored
      More fixes for mouse glyph calculations (Bug#16647).
      * window.c (coordinates_in_window): In intersection of
      horizontal and vertical window dividers prefer the horizontal
      one.  Add some extra parens to last fix.
      (window_relative_x_coord): Return x-coordinate for header and
      mode line too.
      * xdisp.c (remember_mouse_glyph): In text area don't extend
      glyph into mode line to show the vertical drag cursor there
      immediately.  Subdivide mouse glyphs in right fringes to show a
      horizontal drag cursor as soon as we enter the "grabbable width"
      portion.  Handle vertical border case separately.  Do not
      subdivide window divider areas.
      (note_mouse_highlight): On bottom divider of bottommost windows
      show vertical drag cursor only when the minibuffer window can be
      resized.
      653b6ea3
  17. 26 Feb, 2014 1 commit
    • Martin Rudalics's avatar
      Fixes around Bug#16647. · aea124c4
      Martin Rudalics authored
      * xdisp.c (remember_mouse_glyph): Handle ON_RIGHT_DIVIDER and
      ON_BOTTOM_DIVIDER cases.
      * window.c (coordinates_in_window): Return ON_VERTICAL_BORDER
      only if the window has no right divider.
      (Fcoordinates_in_window_p): Fix doc-string.
      aea124c4
  18. 22 Feb, 2014 1 commit
    • Glenn Morris's avatar
      Misc small frame/window doc · ca58fa73
      Glenn Morris authored
      * src/frame.c (frame-alpha-lower-limit, frame-resize-pixelwise):
      * src/window.c (window-resize-pixelwise): Doc fixes.
      
      * etc/NEWS: Related edits.
      This including unmarking some items marked as ---, where it it not
      clear to me that no doc updates are needed.
      ca58fa73
  19. 21 Feb, 2014 1 commit
    • Martin Rudalics's avatar
      Fix handling of window-min-height/-width (Bug#16738). · 8dd3e94f
      Martin Rudalics authored
      * window.el (window--dump-window, window--dump-frame): New
      functions.
      (window--min-size-1): Account for window dividers.  When
      window-resize-pixelwise is nil, delay rounding till after the
      sum of the window components has been calculated.
      (window--min-delta-1, window--max-delta-1): When PIXELWISE is
      nil make sure at least one text line and two text columns remain
      fully visible.
      (window-resize): Signal an error when window-resize-apply fails.
      (window--resize-child-windows): Fix calculation of by how many
      pixels a window can still be shrunk via window-new-normal.
      (adjust-window-trailing-edge): Call window--resizable with
      correct TRAIL argument.
      8dd3e94f
  20. 07 Feb, 2014 2 commits
  21. 22 Jan, 2014 1 commit
    • Martin Rudalics's avatar
      Fixes in window size functions around Bug#16430 and Bug#16470. · 6cb4da45
      Martin Rudalics authored
      * window.c (Fwindow_pixel_width, Fwindow_pixel_height)
      (Fwindow_mode_line_height, Fwindow_header_line_height)
      (Fwindow_right_divider_width, Fwindow_bottom_divider_width):
      Minor doc-string adjustments.
      (Fwindow_total_height, Fwindow_total_width): New argument ROUND.
      Rewrite doc-strings.
      (window_body_height, window_body_width): Do not count partially
      visible lines/columns when PIXELWISE is nil (Bug#16470).
      (Qfloor, Qceiling): New symbols.
      * window.el (window-total-size, window-size): New argument
      ROUND.
      (window--min-delta-1, window-min-delta, window--max-delta-1): Be
      more conservative when calculating the numbers of lines or
      columns a window can shrink (Bug#16430).
      (fit-window-to-buffer): Simplify code.
      * term.el (term-window-width): Call window-body-width again.
      6cb4da45
  22. 11 Jan, 2014 1 commit
    • Martin Rudalics's avatar
      Fix handling of internal borders (Bug#16348). · 7d7ccb88
      Martin Rudalics authored
      * dispnew.c (adjust_frame_glyphs_for_window_redisplay): Remove
      internal border width from pixel width of windows.
      (change_frame_size_1): Don't return early when frame's pixel
      size changes - we still have to record the new sizes in the
      frame structure.
      * w32fns.c (x_set_tool_bar_lines): Clear internal border width
      also when toolbar gets larger.
      * window.c (check_frame_size): Include internal_border_width in
      check.
      * xdisp.c (Ftool_bar_height): Fix doc-string typo.
      * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): In
      non-toolkit/non-GTK version clear internal border.
      * xterm.c (x_clear_under_internal_border): New function for
      non-toolkit/non-GTK version.
      (x_after_update_window_line): In non-toolkit/non-GTK version
      don't do that.
      (handle_one_xevent, x_set_window_size): Call
      x_clear_under_internal_border in non-toolkit/non-GTK version.
      * xterm.h (x_clear_under_internal_border): Extern it.
      7d7ccb88
  23. 02 Jan, 2014 1 commit
    • Martin Rudalics's avatar
      Further adjust frame/window scrollbar width calculations. · 44c5e192
      Martin Rudalics authored
      * window.c (apply_window_adjustment): Set
      windows_or_buffers_changed.
      (Fwindow_scroll_bars): Return actual scrollbar width.
      * xfns.c (x_set_scroll_bar_default_width): Rename wid to unit.
      For non-toolkit builds again use 14 as minimum width and set
      FRAME_CONFIG_SCROLL_BAR_WIDTH accordingly.
      * xterm.c (XTset_vertical_scroll_bar): Take width from
      WINDOW_SCROLL_BAR_AREA_WIDTH.
      (x_new_font): Rename wid to unit.  Base calculation of new
      scrollbar width on toolkit used and make it analogous to that of
      x_set_scroll_bar_default_width.
      * w32fns.c (x_set_scroll_bar_default_width): Rename wid to unit.
      (Fx_create_frame): Call x_set_scroll_bar_default_width instead
      of GetSystemMetrics.
      * w32term.c (w32_set_vertical_scroll_bar): Take width from
      WINDOW_SCROLL_BAR_AREA_WIDTH.
      (x_new_font): Make it correspond to changes in xterm.c.
      44c5e192
  24. 01 Jan, 2014 1 commit
  25. 31 Dec, 2013 2 commits
    • Martin Rudalics's avatar
      Fix last change of grow_mini_window. · 91415fb1
      Martin Rudalics authored
      * window.c (grow_mini_window): Fix last change.
      91415fb1
    • Martin Rudalics's avatar
      Some more fixes following pixelwise resize changes including one for Bug#16306. · 9b3c0a16
      Martin Rudalics authored
      * gtkutil.c (x_wm_set_size_hint): Have size hints respect value
      of frame_resize_pixelwise.
      * widget.c (pixel_to_text_size): New function.
      (update_wm_hints): Have size hints respect value of
      frame_resize_pixelwise.
      (EmacsFrameResize): Alway process resize requests pixelwise.
      * window.c (grow_mini_window): Make sure mini window is at least
      one line tall.
      * xdisp.c (display_menu_bar): Make sure menubar extends till
      right end of frame.
      * xfns.c (x_set_menu_bar_lines): Resize frame windows pixelwise.
      (x_set_tool_bar_lines): Calculate pixelwise.
      * xterm.c (x_wm_set_size_hint): Have size hints respect value of
      frame_resize_pixelwise.
      9b3c0a16
  26. 26 Dec, 2013 1 commit
    • Martin Rudalics's avatar
      Some more tinkering with Bug#16051. · 0cbab19e
      Martin Rudalics authored
      * window.c (resize_frame_windows): Don't let the size of the
      root window drop below the frame's default character size.
      Never ever delete any subwindows - let the window manager do the
      clipping.
      
      * w32fns.c (x_set_tool_bar_lines): Rewrite calculation of number
      of toolbar lines needed when they exceed the height of the root
      window.
      (unwind_create_frame_1): New function.
      (Fx_create_frame): Generally inhibit calling the window
      configuration change hook here.  Remove extra call to
      change_frame_size - it's not needed when we don't run the
      configuration change hook.
      0cbab19e
  27. 22 Dec, 2013 1 commit
  28. 20 Dec, 2013 1 commit
    • Martin Rudalics's avatar
      Some more fixes for pixelwise resizing. · c44de18d
      Martin Rudalics authored
      Remove scroll_bar_actual_width from frames.
      * frame.h (struct frame): Remove scroll_bar_actual_width slot.
      * frame.c (Fscroll_bar_width): Return scroll bar area width.
      (x_figure_window_size):
      * nsterm.m (x_set_window_size):
      * widget.c (set_frame_size):
      * w32term.c (x_set_window_size):
      * xterm.c (x_set_window_size, x_set_window_size_1): Don't set
      scroll_bar_actual_width.
      
      Convert scroll_bar members to integers on Windows.
      * w32term.h (struct scroll_bar): Convert top, left, width,
      height, start, end and dragging to integers.
      * w32fns.c (w32_createscrollbar): Remove XINT conversions for
      scroll_bar members.
      * w32term.c (w32_set_scroll_bar_thumb)
      (w32_scroll_bar_handle_click): Remove XINT conversions for
      scroll_bar members.  Treat bar->dragging as integer.
      (x_scroll_bar_create): Call ALLOCATE_PSEUDOVECTOR with "top" as
      first element.  Remove XINT conversions for scroll_bar members.
      (w32_set_vertical_scroll_bar, x_scroll_bar_report_motion):
      Remove XINT conversions for scroll_bar members.
      
      Fix assignment for new window total sizes.
      * window.c (Fwindow_resize_apply_total): Assign values for
      minibuffer window.
      * window.el (window--pixel-to-size): Remove function.
      (window--pixel-to-total-1, window--pixel-to-total): Fix
      calculation of new total sizes.
      c44de18d
  29. 11 Dec, 2013 1 commit
    • Martin Rudalics's avatar
      Various fixes around Bug#16013. · d94c40c1
      Martin Rudalics authored
      * window.c (resize_frame_windows): Don't return immediately when
      the root window's size doesn't change - the minibuffer window
      may still have to be repositioned/resized.
      * xfns.c (Fx_create_frame): Always change the frame size after
      initializing the frame's faces.
      * xterm.c (handle_one_xevent): Don't set pixel sizes here,
      change_frame_size should already have done it.
      (x_new_font): Assign new tool- and menu-bar heights.
      (x_set_window_size_1): Account for tool- and menu-bar heights
      (Bug#16013). Don't set pixel sizes since change_frame_size
      should already have done it.
      d94c40c1
  30. 08 Dec, 2013 1 commit
  31. 04 Dec, 2013 2 commits
    • Stefan Monnier's avatar
      * src/window.c (select_window): Call second wset_redisplay before we change · 22800ae9
      Stefan Monnier authored
      selected_window.
      
      Fixes: debbugs:16034
      22800ae9
    • Stefan Monnier's avatar
      * src/window.c (window_scroll): Mark window for redisplay. · 5961ad6c
      Stefan Monnier authored
      (scroll_command, Fscroll_other_window): Don't cause redisplay now that
      window_scroll takes care of it.
      (Fset_window_point, Fdelete_other_windows_internal)
      (set_window_buffer, Fwindow_resize_apply, resize_frame_windows)
      (Fsplit_window_internal, Fdelete_window_internal)
      (Fresize_mini_window_internal, Fset_window_configuration)
      (apply_window_adjustment): Use fset_redisplay and wset_redisplay to
      cause redisplay instead of forcing a complete redisplay.
      * src/xdisp.c (wset_redisplay): Don't set windows_or_buffers_changed if
      we're only affecting the selected_window.
      
      Fixes: debbugs:16034
      5961ad6c
  32. 03 Dec, 2013 3 commits
    • Paul Eggert's avatar
      Minor integer overflow fixes. · 2654ac09
      Paul Eggert authored
      * window.c (Fset_window_new_pixel): Don't let new_pixel go negative.
      This improves on the previous fix to this function.
      (window_resize_check): When summing up pixel counts, don't rely on
      undefined behavior if the sum overflows.
      
      Fixes: debbugs:16033
      2654ac09
    • Martin Rudalics's avatar
      Fix issues related to pixelwise resizing. (Bug#16013) (Bug#16033) · 7303a0ae
      Martin Rudalics authored
      * window.c (Fset_window_new_pixel): Don't choke at negative
      argument value (Bug#16033).
      
      * xfns.c (Fx_create_frame): Add another call to change_frame_size
      to avoid crash in window_box_height.
      
      * gtkutil.h: Fix external declaration of xg_frame_set_char_size.
      * gtkutil.c (xg_frame_set_char_size, style_changed_cb): Fix size
      calculation.
      * xterm.c (x_set_window_size): Fix size calculation (Bug#16013).
      7303a0ae
    • Paul Eggert's avatar
      Minor integer overflow fixes. · 25636e13
      Paul Eggert authored
      * window.c (Fset_window_new_pixel, grow_mini_window):
      * xdisp.c (Fwindow_text_pixel_size):
      Avoid undefined behavior on signed integer overflow.
      * xfns.c (x_set_mouse_color):
      Check that drag shape fits in 'unsigned', since that's what X wants.
      25636e13
  33. 01 Dec, 2013 1 commit
  34. 30 Nov, 2013 2 commits