]> git.eshelyaron.com Git - emacs.git/commit
Finish up native display of line numbers
authorEli Zaretskii <eliz@gnu.org>
Sat, 17 Jun 2017 14:42:44 +0000 (17:42 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 17 Jun 2017 14:42:44 +0000 (17:42 +0300)
commit7277c0fca7dab9f1b311c3eba5c42fd17acc3593
tree6426512a85cc8a16bd274bb93eaf857f440e40db
parentdaf78963ee96484df1ecb0c10e7c0040d7b544a5
Finish up native display of line numbers

* src/xdisp.c (maybe_produce_line_number): Produce a blank before
the number, for R2L rows.  Increment 'g' in the loop even if
glyph_row is NULL.  Accept 2nd argument FORCE and produce the
line-number glyphs if it is non-zero.
(move_it_in_display_line_to): Account for the space taken by the
line-number glyphs.  Call maybe_produce_line_number with 2nd
argument non-zero.
(set_cursor_from_row): Fix calculation of cursor X coordinate in
R2L rows with display-produced glyphs at the beginning.
(syms_of_xdisp) <line-number>: New face symbol.
<relative, display-line-width>: New symbols.
(maybe_produce_line_number): Use the line-number face for
displaying line numbers.  Support relative line-number display.
Support user-defined width for displaying line numbers.
(try_cursor_movement, try_window_id): Disable these optimizations
when displaying relative line numbers.
* src/dispextern.h (struct it): New member 'pt_lnum'.

* lisp/faces.el (line-number): New face.
* lisp/cus-start.el (standard): Provide customization forms for
display-line-numbers and display-line-width.
* lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
turn display-line-numbers on and off.

* etc/NEWS: Document the new feature.
etc/NEWS
lisp/cus-start.el
lisp/faces.el
lisp/menu-bar.el
src/dispextern.h
src/xdisp.c