1. 14 Oct, 2019 16 commits
  2. 13 Oct, 2019 2 commits
  3. 09 Oct, 2019 2 commits
    • Juanma Barranquero's avatar
      Implement offsets for absolute line numbers · 76a9f03c
      Juanma Barranquero authored
      * src/xdisp.c (syms_of_xdisp) <display-line-numbers-offset>:
      New variable to add an offset to absolute line numbers.
      (syms_of_xdisp) <display-line-numbers>: Mention it in docstring.
      (maybe_produce_line_number): Use it.
      
      * doc/emacs/display.texi (Display Custom): Document it.
      
      * etc/NEWS (value): Announce it.
      
      * lisp/frame.el: Add `display-line-numbers-offset' to list of
      variables which should trigger redisplay of the current buffer.
      76a9f03c
    • Juanma Barranquero's avatar
      Do not use tick faces beyond ZV (bug#37641) · 4b06250e
      Juanma Barranquero authored
      * src/xdisp.c (maybe_produce_line_number): Check beyond_zv
      before using a tick face for the line number.  Move all face
      selection code outside the loop that draws the line number.
      4b06250e
  4. 08 Oct, 2019 1 commit
    • Eli Zaretskii's avatar
      Fix crashes on TTY frames due to "C-x 6 f" · 6469f9cd
      Eli Zaretskii authored
      * src/xdisp.c (redisplay_internal): Revert the recent change
      regarding TTY frames' garbaged flag.  It is not needed.
      
      * src/dispnew.c (adjust_frame_glyphs_for_frame_redisplay):
      When returning due to mismatch between the desired and actual
      dimensions of the glyph matrix, set the frame's garbaged flag
      for TTY frames.  This avoids crashes when we are later called
      from redisplay.  Reported by Ergus <spacibba@aol.com>.
      6469f9cd
  5. 07 Oct, 2019 2 commits
  6. 06 Oct, 2019 2 commits
    • Juanma Barranquero's avatar
      Set alternate faces for some line numbers (bug#27734) · 8de2e69f
      Juanma Barranquero authored
      * lisp/faces.el (line-number-major-tick, line-number-minor-tick):
      New faces.
      * lisp/cus-start.el (display-line-numbers-major-tick)
      (display-line-numbers-minor-tick): Add customization info.
      * lisp/frame.el: Add `display-line-numbers-major-tick' and
      `display-line-numbers-minor-tick' to list of variables which
      should trigger redisplay of the current buffer.
      
      * src/xdisp.c (syms_of_xdisp) <display-line-numbers-major-tick>
      <display-line-numbers-major-tick>: Defvar new options.
      (syms_of_xdisp) <line-number-major-tick, line-number-minor-tick>:
      Defsym new faces.
      (maybe_produce_line_number): Use new faces for line numbers
      that are multiple of `display-line-numbers-major-tick' and
      `display-line-numbers-minor-tick'.
      
      * etc/NEWS (value): Announce new feature.
      * doc/emacs/display.texi (Display Custom): Describe it.  Wording by
      Robert Pluim <rpluim@gmail.com>
      8de2e69f
    • Eli Zaretskii's avatar
      Support mouse clicks on tab bar on TTY frames · ad76020a
      Eli Zaretskii authored
      This for now doesn't work on GPM.
      * src/xdisp.c (display_tab_bar): Make the loop over tab-bar
      items more efficient.
      (tab_bar_item_info, tool_bar_item_info): Correct data type for
      CHARPOS.
      (tty_get_tab_bar_item, tty_handle_tab_bar_click): New functions.
      (note_mouse_highlight): Handle help-echo of tab-bar tabs on
      TTY frames.
      * src/w32inevt.c (do_mouse_event): Call
      tty_handle_tab_bar_click to process mouse clicks on the tab bar.
      * src/termchar.h (tty_handle_tab_bar_click): Add prototype.
      * src/w32console.c (w32con_set_terminal_modes): Disable Quick
      Edit mode on entry, to make sure mouse events get reported to
      us.
      ad76020a
  7. 05 Oct, 2019 1 commit
  8. 04 Oct, 2019 1 commit
    • Paul Eggert's avatar
      Minor style tweaks for recent tab changes · 81c7f3af
      Paul Eggert authored
      * src/dispextern.h (MR_PARTIALLY_VISIBLE_AT_TOP):
      * src/window.c (Fwindow_mode_line_height)
      (Fwindow_header_line_height, Fwindow_tab_line_height)
      (Fwindow_right_divider_width, Fwindow_bottom_divider_width)
      (Fwindow_scroll_bar_width, Fwindow_scroll_bar_height):
      (Fset_window_configuration, Fcurrent_window_configuration):
      Omit unnecessary parens.
      * src/dispextern.h (CURRENT_MODE_LINE_HEIGHT)
      (CURRENT_HEADER_LINE_HEIGHT, CURRENT_TAB_LINE_HEIGHT):
      Add parens needed to make these macros function-like.
      * src/window.c (window_resize_check):
      * src/window.h (WINDOW_TAB_BAR_P):
      * src/xdisp.c (tab_bar_item_info): Reindent.
      * src/window.c (window_wants_mode_line)
      (window_wants_header_line, window_wants_tab_line):
      Simplify (a && b ? 1 : 0) to (a && b).
      81c7f3af
  9. 01 Oct, 2019 1 commit
  10. 27 Sep, 2019 1 commit
  11. 24 Sep, 2019 1 commit
  12. 22 Sep, 2019 1 commit
  13. 16 Sep, 2019 1 commit
  14. 15 Sep, 2019 2 commits
    • Juri Linkov's avatar
      Use images for new/close buttons in tab-bar and tab-line. · 6474abc3
      Juri Linkov authored
      * etc/images/tabs/new.xpm:
      * etc/images/tabs/close.xpm:
      New files.
      
      * lisp/tab-bar.el (tab-bar-separator): New face.
      (tab-bar-separator, tab-bar-button-new, tab-bar-button-close):
      Use display property with images in default values.
      
      * lisp/tab-line.el (tab-line-button-new, tab-line-button-close):
      Use display property with images in default values.
      
      * src/xdisp.c (tab_bar_item_info): Add new arg close_p and set it
      to the value of property `close' at charpos.
      (get_tab_bar_item): Add new arg close_p.
      (handle_tab_bar_click): Add ctrl_modifier when close_p is non-nil.
      (Fdump_tab_bar_row): Fix crash for non-X builds.
      6474abc3
    • Juri Linkov's avatar
      Fix assertion violations due to non-ASCII text in tabs · 8d30e1bc
      Juri Linkov authored
      * src/xdisp.c (tab_bar_height, redisplay_tab_bar)
      (display_tab_bar): If the Lisp string to be displayed in the
      tab-bar window is multibyte, tell the display
      engine to treat it as multibyte, instead of relying on the
      initial determination by init_iterator (which is based on the
      multibyteness of the current buffer).  (Bug#37385)
      8d30e1bc
  15. 13 Sep, 2019 1 commit
    • Eli Zaretskii's avatar
      Fix assertion violations due to non-ASCII text in menus · 5940ac63
      Eli Zaretskii authored
      * src/xdisp.c (tool_bar_height, redisplay_tool_bar)
      (display_menu_bar): If the Lisp string to be displayed in the
      menu-bar or tool-bar window is multibyte, tell the display
      engine to treat it as multibyte, instead of relying on the
      initial determination by init_iterator (which is based on the
      multibyteness of the current buffer).  (Bug#37385)
      5940ac63
  16. 05 Sep, 2019 1 commit
    • Juri Linkov's avatar
      Don't use hook pre-redisplay-functions. Set buffer-local tab-line-format. · 2a016475
      Juri Linkov authored
      * lisp/tab-line.el (tab-line-format): Move to C.
      (tab-line-update-window-parameter): Remove function.
      (global-tab-line-mode): Set the default value of tab-line-format.
      
      * src/buffer.c (syms_of_buffer): Define buffer-local variable
      tab-line-format.
      
      * src/buffer.h (struct buffer): Add tab_line_format_.
      
      * src/window.c (window_wants_tab_line):
      * src/xdisp.c (pos_visible_p, display_mode_lines):
      Check for buffer-local tab_line_format.
      2a016475
  17. 04 Sep, 2019 2 commits
  18. 03 Sep, 2019 2 commits
    • Juri Linkov's avatar
      Small fix for text-mode display · d1c14de9
      Juri Linkov authored
      d1c14de9
    • Juri Linkov's avatar
      Text-mode display of the tab-bar and emulation of clicking on a tty. · a365251d
      Juri Linkov authored
      * lisp/tab-bar.el (tab-bar-mouse): New command bound to mouse-1 on [tab-bar].
      
      * lisp/xt-mouse.el (xterm-mouse-event): Use `tab-bar' when clicking
      on the tab-bar that is on the second row below menu-bar.
      
      * src/frame.c (set_tab_bar_lines): New function.
      (frame_windows_min_size): Add FRAME_TAB_BAR_LINES.
      (make_initial_frame): Call set_tab_bar_lines.
      (store_frame_param): Call set_tab_bar_lines for Qtab_bar_lines prop.
      (Fframe_parameters): Call store_in_alist for Qtab_bar_lines.
      
      * src/xdisp.c (display_tab_bar): New function.
      (redisplay_window): Call display_tab_bar when `FRAME_WINDOW_P (f)'
      is NULL on a tty.
      a365251d