1. 28 Nov, 2019 1 commit
    • Eli Zaretskii's avatar
      Allow disabling the BPA part of bidi reordering · 5629af9c
      Eli Zaretskii authored
      * src/xdisp.c (syms_of_xdisp): New variable 'bidi-inhibit-bpa'.
      * src/bidi.c (bidi_paired_bracket_type): If 'bidi-inhibit-bpa'
      is non-nil, return BIDI_BRACKET_NONE for all characters.
      
      * lisp/frame.el: Add 'bidi-inhibit-bpa' to the list of
      variables whose changes require redisplay.  (Bug#38407)
      5629af9c
  2. 27 Nov, 2019 1 commit
    • Mattias Engdegård's avatar
      Mouse rectangular region selection (bug#38013) · 4eb7db5d
      Mattias Engdegård authored
      Make it possible to select a rectangular region using the mouse.
      The standard binding is C-M-mouse-1.
      
      * lisp/mouse.el (mouse-scroll-subr): Add ADJUST argument.
      (mouse-drag-region-rectangle): New.
      * lisp/rect.el (rectangle--reset-point-crutches): New.
      (rectangle--reset-crutches): Use 'rectangle--reset-point-crutches'.
      * src/xdisp.c (remember_mouse_glyph, syms_of_xdisp):
      Add 'mouse-fine-grained-tracking'.
      * doc/lispref/commands.texi (Motion Events):
      Document 'mouse-fine-grained-tracking'.
      * doc/emacs/frames.texi (Mouse Commands):
      * doc/emacs/killing.texi (Rectangles):
      * etc/NEWS: Document rectangular selection with the mouse.
      4eb7db5d
  3. 23 Nov, 2019 2 commits
    • Paul Eggert's avatar
      Add eassert check for bad default face · 5a3e96b1
      Paul Eggert authored
      * src/xdisp.c (append_space_for_newline): Add an eassert check
      that default_face is not null, by calling FACE_FROM_ID instead of
      FACE_FROM_ID_OR_NULL.  Initialize a local only if needed.
      5a3e96b1
    • Eli Zaretskii's avatar
      Fix cursor display at EOL before extended face · 1265e947
      Eli Zaretskii authored
      * src/xdisp.c (extend_face_to_end_of_line): Make sure the
      character position of the stretch glyph inserted to extend the
      face is zero, as various other parts of the display code rely
      on that.  (Bug#38330)
      1265e947
  4. 16 Nov, 2019 1 commit
    • Eli Zaretskii's avatar
      Fix display of R2L text · 99271ea8
      Eli Zaretskii authored
      * src/xdisp.c (extend_face_to_end_of_line): Fix padding of R2L
      screen lines with stretch glyph on the left.  (Bug#38233)
      99271ea8
  5. 15 Nov, 2019 1 commit
    • Eli Zaretskii's avatar
      Fix a recent change in xdisp.c · 81d3f1b6
      Eli Zaretskii authored
      * src/xdisp.c (tty_handle_tab_bar_click): Revert the last
      change which made this work only in the HAVE_NTGUI build.
      This function is needed by any build which supports a  mouse
      on TTY frames.
      81d3f1b6
  6. 14 Nov, 2019 1 commit
    • Paul Eggert's avatar
      In Cairo builds, omit some unnecessary functions · 2241f7ca
      Paul Eggert authored
      * src/font.c (fset_font_data, font_put_frame_data)
      (font_get_frame_data):
      * src/ftfont.c (ftfont_open, ftfont_close)
      (ftfont_encode_char, ftfont_glyph_metrics)
      (ftfont_text_extents, ftfont_driver):
      Define only if USE_CAIRO.
      * src/xdisp.c (tty_handle_tab_bar_click):
      Define only if HAVE_NTGUI && !CYGWIN.
      2241f7ca
  7. 29 Oct, 2019 1 commit
  8. 20 Oct, 2019 1 commit
    • Juanma Barranquero's avatar
      lisp/*.el: Fix typos and improve some docstrings · 41ba8231
      Juanma Barranquero authored
      * lisp/auth-source.el (auth-source-backend-parse-parameters)
      (auth-source-search-collection)
      (auth-source-secrets-listify-pattern)
      (auth-source--decode-octal-string, auth-source-plstore-search):
      * lisp/registry.el (registry-lookup)
      (registry-lookup-breaks-before-lexbind)
      (registry-lookup-secondary, registry-lookup-secondary-value)
      (registry-search, registry-delete, registry-size, registry-full)
      (registry-insert, registry-reindex, registry-prune)
      (registry-collect-prune-candidates):
      * lisp/subr.el (nbutlast, process-live-p):
      * lisp/tab-bar.el (tab-bar-list):
      * lisp/cedet/ede/linux.el (ede-linux--get-archs)
      (ede-linux--include-path, ede-linux-load):
      * lisp/erc/erc-log.el (erc-log-all-but-server-buffers):
      * lisp/erc/erc-pcomplete.el (pcomplete-erc-commands)
      (pcomplete-erc-ops, pcomplete-erc-not-ops, pcomplete-erc-nicks)
      (pcomplete-erc-all-nicks, pcomplete-erc-channels)
      (pcomplete-erc-command-name, pcomplete-erc-parse-arguments):
      * lisp/eshell/em-term.el (eshell-visual-command-p):
      * lisp/gnus/gnus-cache.el (gnus-cache-fully-p):
      * lisp/gnus/nnmail.el (nnmail-get-active)
      (nnmail-fancy-expiry-target):
      * lisp/mail/mail-utils.el (mail-string-delete):
      * lisp/mail/supercite.el (sc-hdr, sc-valid-index-p):
      * lisp/net/ange-ftp.el (ange-ftp-use-smart-gateway-p):
      * lisp/net/nsm.el (nsm-save-fingerprint-maybe)
      (nsm-network-same-subnet, nsm-should-check):
      * lisp/net/rcirc.el (rcirc-looking-at-input):
      * lisp/net/tramp-cache.el (tramp-get-hash-table):
      * lisp/net/tramp-compat.el (tramp-compat-process-running-p):
      * lisp/net/tramp-smb.el (tramp-smb-get-share)
      (tramp-smb-get-localname, tramp-smb-read-file-entry)
      (tramp-smb-get-cifs-capabilities, tramp-smb-get-stat-capability):
      * lisp/net/zeroconf.el (zeroconf-list-service-names)
      (zeroconf-list-service-types, zeroconf-list-services)
      (zeroconf-get-host, zeroconf-get-domain)
      (zeroconf-get-host-domain):
      * lisp/nxml/rng-xsd.el (rng-xsd-compile)
      (rng-xsd-make-date-time-regexp, rng-xsd-convert-date-time):
      * lisp/obsolete/erc-hecomplete.el (erc-hecomplete)
      (erc-command-list, erc-complete-at-prompt):
      * lisp/org/ob-scheme.el (org-babel-scheme-get-buffer-impl):
      * lisp/org/ob-shell.el (org-babel--variable-assignments:sh-generic)
      (org-babel--variable-assignments:bash_array)
      (org-babel--variable-assignments:bash_assoc)
      (org-babel--variable-assignments:bash):
      * lisp/org/org-clock.el (org-day-of-week):
      * lisp/progmodes/cperl-mode.el (cperl-char-ends-sub-keyword-p):
      * lisp/progmodes/gud.el (gud-find-c-expr, gud-innermost-expr)
      (gud-prev-expr, gud-next-expr):
      * lisp/textmodes/table.el (table--at-cell-p, table--probe-cell)
      (table--get-cell-justify-property)
      (table--get-cell-valign-property)
      (table--put-cell-justify-property)
      (table--put-cell-valign-property): Fix typos.
      
      * lisp/so-long.el (fboundp): Doc fix.
      (so-long-mode-line-info, so-long-mode)
      (so-long--check-header-modes): Fix typos.
      
      * lisp/emulation/viper-mous.el (viper-surrounding-word)
      (viper-mouse-click-get-word): Fix typos.
      (viper-mouse-click-search-word): Doc fix.
      
      * lisp/erc/erc-backend.el (erc-forward-word, erc-word-at-arg-p)
      (erc-bounds-of-word-at-point): Fix typos.
      (erc-decode-string-from-target, define-erc-response-handler):
      Refill docstring.
      
      * lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC): Fix typo.
      (erc-dcc-get-host, erc-dcc-auto-mask-p, erc-dcc-get-file):
      Doc fixes.
      
      * lisp/erc/erc-networks.el (erc-network-name): Fix typo.
      (erc-determine-network): Refill docstring.
      
      * lisp/net/dbus.el (dbus-list-hash-table)
      (dbus-string-to-byte-array, dbus-byte-array-to-string)
      (dbus-check-event): Fix typos.
      (dbus-introspect-get-property): Doc fix.
      
      * lisp/net/tramp-adb.el (tramp-adb-file-name-handler):
      Rename ARGS to ARGUMENTS.  Doc fix.
      (tramp-adb-sh-fix-ls-output, tramp-adb-execute-adb-command)
      (tramp-adb-find-test-command): Fix typos.
      
      * lisp/net/tramp.el (tramp-set-completion-function)
      (tramp-get-completion-function)
      (tramp-completion-dissect-file-name)
      (tramp-completion-dissect-file-name1)
      (tramp-get-completion-methods, tramp-get-completion-user-host)
      (tramp-get-inode, tramp-get-device, tramp-mode-string-to-int)
      (tramp-call-process, tramp-call-process-region)
      (tramp-process-lines): Fix typos.
      (tramp-interrupt-process): Doc fix.
      
      * lisp/org/ob-core.el (org-babel-named-src-block-regexp-for-name)
      (org-babel-named-data-regexp-for-name): Doc fix.
      (org-babel-src-block-names, org-babel-result-names): Fix typos.
      
      * lisp/progmodes/inf-lisp.el (lisp-input-filter): Doc fix.
      (lisp-fn-called-at-pt): Fix typo.
      
      * lisp/progmodes/xref.el (xref-backend-identifier-at-point):
      Doc fix.
      (xref-backend-identifier-completion-table): Fix typo.
      41ba8231
  9. 19 Oct, 2019 1 commit
    • Eli Zaretskii's avatar
      A better fix for tab-line mouse highlight on TTY frames · 2a3577ba
      Eli Zaretskii authored
      * src/dispnew.c (mode_line_string):
      * src/xdisp.c (note_mode_line_or_margin_highlight): Remove
      recently-added workarounds for incorrect TTY mouse highlight:
      they are no longer needed.
      (mark_window_display_accurate_1): Set the header_line_p and
      tab_line_p flags of the window's current_matrix if the window
      displays these.
      (display_mode_line): Set the header_line_p and tab_line_p
      flags of the window's desired_matrix if the window displays
      these.  (Bug#37807)
      2a3577ba
  10. 18 Oct, 2019 2 commits
    • Paul Eggert's avatar
      Pacify x86 GCC 9 in tab bar code · f9744a5f
      Paul Eggert authored
      * src/xdisp.c (tty_get_tab_bar_item): Simplify a bit.  This
      pacifies --enable-gcc-warnings with x86 GCC 9.2.1 20190827
      (Red Hat 9.2.1-1) when combined with -fsanitize=undefined.
      f9744a5f
    • Eli Zaretskii's avatar
      Fix mouse highlight with tab-line on TTY frames · 2c9128ce
      Eli Zaretskii authored
      * src/xdisp.c (note_mode_line_or_margin_highlight):
      * src/dispnew.c (mode_line_string): Fix mouse highlight on TTY
      frames when both header line and tab-line are displayed.
      (Bug#37807)
      2c9128ce
  11. 14 Oct, 2019 16 commits
  12. 13 Oct, 2019 2 commits
  13. 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
  14. 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
  15. 07 Oct, 2019 2 commits
  16. 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
  17. 05 Oct, 2019 1 commit
  18. 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
  19. 01 Oct, 2019 1 commit