• Kim F. Storm's avatar
    (Voverflow_newline_into_fringe): New variable. · 88e6b646
    Kim F. Storm authored
    (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
    (move_it_in_display_line_to): Overflow newline into fringe for
    rows that are exactly as wide as the window.
    (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
    (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
    (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
    (fringe_bitmaps): Add new bitmaps.
    (draw_fringe_bitmap): Make extern.  Remove WHICH arg.
    Select proper bitmap for cursor in fringe when appropriate.
    Handle alignment of bitmap to top or bottom of row.
    (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
    done by update_window_fringes.
    (update_window_fringes, draw_window_fringes): New functions.
    (redisplay_internal): Call update_window_fringes in case only
    cursor row is updated.
    (redisplay_window): Call update_window_fringes.
    Explicitly call draw_window_fringes if redisplay was done using
    the current matrix or the overlay arrow is in the window.
    (try_window_reusing_current_matrix): Mark scrolled rows for
    fringe update (to update buffer-boundaries / scrolling icons).
    (find_last_unchanged_at_beg_row): Handle exact width lines line
    continued lines.
    (display_line): Overflow newline into fringe for rows that are
    exactly as wide as the window.  Don't append space for newline
    in this case.
    (notice_overwritten_cursor): Explicitly clear cursor bitmap
    in fringe as if it had been overwritten.
    (erase_phys_cursor): Erase cursor bitmap in fringe.
    (syms_of_xdisp): Mark show-trailing-whitespace and
    void-text-area-pointer as user options.
    DEFVAR_LISP Voverflow_newline_into_fringe.  Enable by default.
    88e6b646
xdisp.c 649 KB