1. 20 Mar, 2014 1 commit
  2. 09 Mar, 2014 1 commit
    • Martin Rudalics's avatar
      Update docs for window dividers and `window-text-pixel-size'. · 7e940b65
      Martin Rudalics authored
      * xdisp.c (Fwindow_text_pixel_size): Adjust doc-string.
      * elisp.texi (Top): Rename section "Width" to "Size of Displayed
      * text.texi (Primitive Indent):
      * strings.texi (String Basics):
      * sequences.texi (Sequence Functions): Update references
      * display.texi (Size of Displayed Text): Rename section from
      "Width".  Add description for `window-text-pixel-size'.
      (Window Dividers): Reword description of window dividers.
      * frames.texi (Layout Parameters): Improve description of window
      divider parameters.
      * windows.texi (Window Sizes): Add descriptions of
      `window-mode-line-height' and `window-header-line-height'.
      (Coordinates and Windows): Mention window dividers.
  3. 08 Mar, 2014 2 commits
    • Eli Zaretskii's avatar
      src/xdisp.c (Fmove_point_visually): Fix previous change. · 281ae180
      Eli Zaretskii authored
      Fixes: debbugs:16961
    • Eli Zaretskii's avatar
      Fix more failures of visual-order cursor movement under word-wrap (bug#16961). · 2c65ad21
      Eli Zaretskii authored
       src/xdisp.c (move_it_in_display_line_to): If word-wrap is ON, and
       there's a valid wrap point in the display line, the last glyph
       cannot "just barely fit" on this row, because display_line doesn't
       let it.  Instead, proceed as if the last glyph didn't fit, so that
       we eventually back up the iterator to the wrap point.  This avoids
       delusional behavior of move_it_to, whereby it proceeds to the next
       display line, but sets current_x to zero for all the glyphs that
       without word-wrap would fit on the previous display line.  One
       result was that visual-order cursor movement behaved erratically
       under word-wrap.
       (Fmove_point_visually): Add code to find the x coordinate of the
       last character before wrap point, under word-wrap on a TTY.
  4. 07 Mar, 2014 1 commit
  5. 28 Feb, 2014 1 commit
  6. 27 Feb, 2014 2 commits
    • 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
    • Eli Zaretskii's avatar
      Fix bug #16870 with 'box' face in display strings. · 11de63ed
      Eli Zaretskii authored
       src/xdisp.c (pop_it): Restore the it->face_box_p flag which could be
       reset by the face of the object just displayed.  See also bug#76.
       (get_next_display_element): If the string came from a display
       property, examine the box face attribute at it->position, not at
       it->current.pos, since the latter was not updated yet.
       (handle_face_prop): Improve commentary.
  7. 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.
  8. 21 Feb, 2014 1 commit
  9. 20 Feb, 2014 3 commits
  10. 19 Feb, 2014 1 commit
  11. 08 Feb, 2014 1 commit
  12. 07 Feb, 2014 1 commit
  13. 05 Feb, 2014 3 commits
  14. 04 Feb, 2014 1 commit
    • Martin Rudalics's avatar
      Improve window dividers code. · 764ec9e5
      Martin Rudalics authored
      * faces.el (window-divider): New default value.  Rewrite
      (window-divider-first-pixel, window-divider-last-pixel): New
      * dispextern.h (face_id): Add WINDOW_DIVIDER_FIRST_PIXEL_FACE_ID
      * w32term.c (w32_draw_window_divider): Handle first and last
      pixels specially.
      * w32term.h (w32_fill_area_abs): New function.
      * xdisp.c (x_draw_right_divider): Don't draw over bottom
      * xfaces.c (realize_basic_faces): Handle new face ids.
      * xfns.c (Fx_create_frame): Call x_default_parameter for right
      and bottom divider width.
      * xterm.c (x_draw_window_divider): Handle first and last pixels
  15. 28 Jan, 2014 1 commit
    • Martin Rudalics's avatar
      Fix Fwindow_text_pixel_size and fit-frame-to-buffer. · 1dcb169c
      Martin Rudalics authored
      * xdisp.c (last_max_ascent): Re-remove after erroneously
      reintroducing it on 2013-11-30 and abolishing Dmitry's removal
      from 2013-03-29.
      (move_it_to): Re-remove reference to last_max_ascent.
      (Fwindow_text_pixel_size): Add iterator's max_ascent and
      max_descent here instead of calling line_bottom_y.  Fix
      * window.el (fit-frame-to-buffer): Fix calculations for margins and
      height constraints.
  16. 25 Jan, 2014 1 commit
  17. 24 Jan, 2014 1 commit
  18. 13 Jan, 2014 1 commit
  19. 11 Jan, 2014 3 commits
    • Eli Zaretskii's avatar
      Fix bug #16347 with updating redisplay of company-mode's "tooltip". · 02013850
      Eli Zaretskii authored
       src/xdisp.c (try_window_id): Don't use this function's optimizations
       if overlays in the buffer displayed by the window have changed
       since last redisplay.
       (message_dolog): Fix indentation.
    • Eli Zaretskii's avatar
    • 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
      * 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.
  20. 06 Jan, 2014 1 commit
  21. 01 Jan, 2014 2 commits
    • Eli Zaretskii's avatar
      Fix bug #16265 with buffer caches when modifying text in indirect buffers. · c10e9ece
      Eli Zaretskii authored
       src/search.c (newline_cache_on_off, find_newline): In indirect
       buffers, use the newline cache of the base buffer.
       src/insdel.c (invalidate_buffer_caches): If BUF is an indirect
       buffer, invalidate the caches of its base buffer.
       src/indent.c (width_run_cache_on_off, compute_motion): In indirect
       buffers, use the width-run cache of the base buffer.
       src/xdisp.c (redisplay_window): When the window displays an indirect
       buffer, and the character widths in the display table have
       changed, invalidate the width-run cache of the corresponding base
       src/fileio.c (Finsert_file_contents): When invalidating the newline
       cache, consider the case of inserting into indirect buffer.
       src/bidi.c (bidi_paragraph_cache_on_off, bidi_find_paragraph_start):
       In indirect buffers, use the paragraph cache of the base buffer.
    • Paul Eggert's avatar
  22. 31 Dec, 2013 1 commit
    • 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
      (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
  23. 23 Dec, 2013 2 commits
  24. 19 Dec, 2013 2 commits
  25. 16 Dec, 2013 3 commits
  26. 15 Dec, 2013 2 commits
    • Eli Zaretskii's avatar
      Fix bug #16151 with background of display margins. · cdeb10ce
      Eli Zaretskii authored
       src/xdisp.c (extend_face_to_end_of_line): Extend background of
       non-default face in margin areas as well.  (Bug#16151)
       (display_line): Call extend_face_to_end_of_line for continued
       lines as well, if the display margins have non-zero width.
       (set_glyph_string_background_width): When needed, set the
       extends_to_end_of_line_p flag on glyph strings to be drawn in
       margin areas, not only in the text area.
    • Paul Eggert's avatar
      Use bool for boolean (GLYPH_DEBUG case). · b4dd49e0
      Paul Eggert authored
      * xdisp.c (trace_redisplay_p) [GLYPH_DEBUG]:
      Use bool for boolean.
      * dispextern.h (IF_DEBUG): Properly parenthesize and convert to void.
      Args must now be expressions; all callers changed.